Technology advances by leaps and bounds with each passing year, until what seemed like a miracle in the recent past is boringly commonplace today. Despite that evolution, however, one piece of technology seems not only resistant to change, but downright un-killable: the humble password.
We use passwords to access smartphones and tablets and PCs and ATMs and email and online shopping and social networks. We depend on them to keep us safe from all manner of hackers, casual thieves, snoopy relatives, and other nefarious characters. And while some tech companies have introduced variations on the theme—Google Android, for example, offers the option of tracing a pattern with your finger on a grid, rather than enter an alphanumerical passcode, in order to unlock a mobile device—the fundamentals of inputting numbers and characters into a field remain unchanged.
Even one of the creators of computer passwords is wondering what he helped wrought upon the world. "It's become kind of a nightmare," MIT professor emeritus Fernando Corbató told The Wall Street Journal.
SplashData compiled that list from files of stolen passwords posted online. They're all simple and easy to remember—convenient for whoever holds the account, yes, but also for the hacker seeking a way in.
Despite their weaknesses, it's unlikely that passwords will go away anytime soon. Apple and other firms have begun making strides in biometrics, such as thumbprint readers, but that technology hasn't yet reached a saturation point and probably won't for quite some time. Until something better comes along, the only solution is a poor one: craft the strongest passwords possible, never use the same password for multiple sites, and hope the sites you frequent are never (or at least rarely) hacked.
Passwords are certainly a nightmare. Even if you use different ones for different sites, there is still the burden of remembering them. Recording them compounds the problem, storing them on password managers is an incovenience for many. However, we are making strides: two factor authentication, near field technologies etc.


Hi! I just installed sopcast-player and wanted to run it, but nothing happens. I have VLC 2.2.1 installed. Does anyone know what I'am doing wrong?
if so post it back here with the Ubuntu release information and how you installed spocast-player.


"I am writing today with an update on the Personal Support Worker (PSW) payroll transition to PCG Public Partnerships LLC (PPL). Personal Support Worker (PSW) and employer enrollment with PPL has not gone as seamlessly as we would have liked. I'd like to acknowledge and thank everyone involved in this very difficult process.
CDDPs and Brokerages stepped up to get packets to employers and PSWs and have followed-up with them to get paperwork submitted. As we have worked with PPL to identify gaps in information, CDDPs and Brokerages again worked to fill in those gaps. Individuals and families have worked hard to complete necessary employer paperwork. And most importantly, PSWs have completed packets and tracked down information in the midst of the vital work they do with clients. All of this help has been instrumental, thank you.
Payroll transition to PPL: The payroll transition work began in August 2016. It included several changes to data systems, training and information sessions to CDDPs and Brokerages, and in-person information and enrollment sessions to help PSWs and employers complete necessary paperwork. Even with the extensive preparation, the transition to PPL has not been as smooth as we had expected. We are working with PPL to resolve the problems and have directed them to improve their customer service.
If you got a robocall from PPL: PPL recently did a robocall to notify employers and PSWs about missing paperwork. Some people who got the calls did not understand what they were supposed to do. If you are an employer of record, the call most likely was because of a problem with your Employer Identification Number. If you got the robocall you need to contact PPL right away to find out what is missing and get paperwork issues resolved.
Contingency plan extended: We have extended the contingency plan for payroll through the February 28 pay period. If the PSW and employer submitted accurate Social Security and Employer Identification Numbers, PSWs will get paid during the contingency period, even if other paperwork hasn't been completed. That contingency plan made it possible to pay 99.2 percent of PSWs on January 18, 2017.Until April, PPL is providing a list to CDDPs and Brokerages of PSWs not paid. If an administrative error caused the error it will be fixed and the PSW paid the next week. If additional information needs to be submitted, the PSW will need to contact PPL to find out what is missing. Please know that after the contingency plan ends, all required information from employers and PSWs will need to be complete and logged at PPL in order to issue paychecks on time.
Direct deposit and W-2s: We know there were issues with direct deposit for PSWs who had not submitted the needed documentation before December 22, 2016 for the first pay period. PSWs that submitted direct deposit documentation before December 22, 2016 should have received direct deposit for the first pay period. Due to legal restrictions, TNT was unable to provide direct deposit information to PPL during the transition. W-2s for work done between January 1 and December 31, 2016 will come from TNT since they were the payroll entity for all of 2016.
You can also "Follow" ODDS' Facebook page, the eXPRS page or the Home Care Commission page on Facebook to get updates and helpful information.
"The PSW payroll run for the end of Dec 2016 pay period has generated 10,612 checks/direct deposit payments to PSWs. Of those, 1,332 were direct deposit (13%) and 9,280 were physical paper checks (87%).
Due to Federal Banking Regulations ODDS was unable to transfer previous direct deposit information PSWs had with TNT to PPL. As a result, in order to make direct deposit payments, PPL must have a new direct deposit form on file from the PSW.
PSWs who sent PPL their direct deposit information before 12/22/16 had a bank pre-note test done and will receive direct deposit. For the 1,332 payments made via direct deposit, the funds should start showing in PSW bank accounts today (Wed 1/18/17) by 11:00 am PST and be there by 5:00 pm PST.
If PPL received the direct deposit information from the PSW after 12/22/16, the PSW can expect a paper check for this pay cycle.
The state has announced that it is shortening the time you have for submitting your time sheets by one day in the next payroll cycle, due to the changeover between TNT and PPL as state fiscal intermediary. In order to receive payment on time, you must have your time sheets in no later than Monday, December 19th, 2016. Brokerage processing time has been cut as well, pretty much eliminating our flexibility on late submissions.
P.S. – If you haven't followed up on requests to turn your paperwork in to PPL, please do so now. We continue to be concerned about the low number of PSWs who are considered "good to go" in PPL's system. If you're not set up properly in the system, there's no way to get you paid on time.
By now, Personal Support Workers and those that employ them should have received multiple communications from a variety of sources regarding a major change to the way PSWs will be paid. TNT's contract with the State of Oregon as the fiscal intermediary is ending on December 31st and the state is transitioning to an outfit called PCG Public Partnerships LLC (known as PPL). This change requires action on your part – whether you are a PSW or if you are the employer of the PSW. We're told that PPL has been reaching out to all affected parties via mail, via phone, and when possible via email.
If you do not respond to requests from PPL, you/your Personal Support worker will not be paid for services until you do. Once you've completed and submitted the paperwork, you should contact PPL to ensure they have received it and labelled it "good to go". If you don't take this extra step to confirm with them, there is a strong chance you/your Personal Support Worker will not be paid for services in a timely manner.
Are you a PSW or Employer who has received a packet from PPL? Great. Fill it out and return it.
Did you receive a packet and now have questions? Call their customer service line and get help.
Do you find the whole thing confusing and need more hands-on help? Attend one of the just-posted information sessions in Portland, Oregon City, or Beaverton. See below.
Haven't received a packet at all? Call PPL and request one. Return it quickly to avoid delay in payment in January. Or attend an information session where they'll print one for you and help you fill it out. At present, we do not have print capability in PPL's system. We're hoping for that soon, but have no promised date.
To date, this transition has been quite bumpy. While all transitions bring challenges, such a small number of people are currently properly enrolled with PPL that we are growing very concerned. We want to be sure Personal Support Workers are paid on time for the work performed for our shared customers.
Current data from PPL as of this posting shows that just 5% of Personal Support Workers supporting INW's customers are up and running in their system. There are about 9% who are currently "in process". In terms of Employers, right now 13% are complete in PPL's system, with another 4% in the pipeline. Data changes daily, so we're crossing our fingers these numbers grow considerably in the days to come.
If you haven't received a packet or if you're not sure if you're all set, call their customer service line directly or plan to attend one of the newly-scheduled PPL Information Sessions where you can complete all your paperwork with help from one of their staff.
Please do not ignore this call to action. Click here to download a copy of the scheduled sessions.
Please note that this message applies only to contractors who have current contracts with Independence Northwest customers.
Become PSW Specialists: This is a new designation that is limited to currently-qualified independent contractors. ICs who choose this option will become the employees of customers or customer designates.
Become Provider Organizations: A provider organization is a business licensed and certified by the state or Oregon.
This post addresses only the process for Independent Contractors who are becoming PSW Specialists.
How do we get from here to there? There are number of moving parts to this transition and there isn't a lot of time to get it done. The state expects all paperwork to be completed and turned in by 02.02.2016. That doesn't leave us many working days to get things done. The state's transmittal covers a lot of ground and I recommend you read it carefully, but please note that it contains a significant error as well as an important omission. In a moment we'll walk through what steps an IC needs to take to make sure he or she is ready to go when we get to 04.01.2016, but first I want to offer a correction and an amendment to the state's memo. Understanding these is crucial to making the transition smooth.
The problem with this statement is that it's true ONLY if the IC has been operating his or her business using his or her social security number and has used that social security number on his or her Provider Enrollment Agreement (PEAA) with the state. Any IC who has used a federal tax ID number (FEIN) in lieu of a personal social security number MUST fill out a new PEAA regardless of when their current one expires.
Because a PSW Specialist will now be an employee rather than a contractor, a federal form I-9 has to be completed for everyone making the transition. This is a huge deal because the feds require a face to face meeting to complete this form. That means every person making the transition has to make an appointment to see us. The appointments will only take a few minutes each but we have to do a lot of them before February 2nd.
Any IC who has used a Federal Tax Identification Number (FEIN) as a contractor will need to fill out a new PEAA (download one by clicking here.) We have no record of who used a Social Security Number and who used an FEIN on their existing PEAAs and neither the state nor TNT has provided us with a list. If you have ANY doubt about it I strongly suggest you fill a new one out using your SSN. I also strongly suggest you turn your PEAA in to us so that we can keep a record of its submission to the state.
Please note: All documents must be originals. No copies please.
We have a lot of work to do on the customer side but that shouldn't affect you as a provider. However, we may ask for your assistance if we're having trouble getting paperwork returned by a customer you see regularly. Customer paperwork also has a 02.02.2016 deadline.
Rachel will be available to make appointments starting on December 31st. Please do not delay in calling to make an appointment. Time is of the essence on this project. Anyone who does not have their paperwork turned in by February 2nd may have to quit working starting on April 1st. The state has been very clear that there will be no exceptions.
The Office of Developmental Disability Services (ODDS) is hosting two Community Forums in Portland to discuss the vision for the future of services for people with intellectual and developmental disabilities. Ensuring the principles of self-determination is the core of our vision.
Portland Community College, Cascade Campus, Moriarty Auditorium, 705 N. Killingsworth Street, Portland.
There will be a short presentation followed by a group discussion. This is one in a series of Community Forums throughout the state.
For information about upcoming Community Forums: www.oregon.gov/dhs/DD/Documents/ODDS%20Statewide%20Community%20Forums%20Schedule.pdf.
For more information about the Office of Developmental Disabilities Services: www.oregon.gov/DHS/dd/Pages/index.aspx.
To find the closest DHS office, go to www.oregon.gov/dhs or contact 211Info for help. You can contact 211Info by dialing 2-1-1, visiting 211info.org online, texting your zip code to 898211, or e-mailing to help@211info.org.


Today was the first CBL (Community Based Learning) field trip for our students in the SCORES program, where they learn how to improve upon their social and communication skills. The kids did great ordering from the guy at Wendy's! Ms. Green, pictured on the left (and Ms. Kirk, not pictured), was there to take notes on their behaviors and to log anything that could be improved or was outstanding already. I look forward to joining them next six weeks again!


The Worst Football Card Photo Ever?
Over the weekend, the boys and I were at our favorite old climbing tree near the observation tower at Palmetto Island County Park. That day we were joined by this little red mushroom, who was pretty happy to see us. Anyone know the species?


The troubled auto giant tumbled 20.1% on news that six executives cashed out of all their remaining stock in the company -- more than 200,000 shares -- aside from restricted stock that cannot be sold until after retirement. Standard & Poor's Equity Research analyst Efraim Levy downgraded GM to Strong Sell from Sell. Levy wrote in a research note that "either GM [will] reach a deal with bond and other stakeholders that will result in government ownership of about 50% of GM common and existing shareholders seeing their interests diluted to a 1% stake, or, as we think is increasingly likely, GM will file for bankruptcy protection, making existing shares almost worthless."
The broadcaster fell 7.5% after The Wall Street Journal warned that its overheated shares were indicative of a market that's gotten ahead of itself. Martin Press wrote in the Journal's Heard on the Street column that the stock was well ahead of its peers, but its TV and radio stations were suffering in the recession and that 2009 would continue to be difficult for CBS. "[W]ith $6.9 billion of net debt and the level of sustainable profits unclear, investors should pause before chasing the stock at these prices," Press wrote.
The supermarket chain rose 27.3% on better-than-expected fiscal third-quarter earnings. Winn-Dixie's turnaround effort seems to be taking hold, as the company also raised its fiscal 2009 outlook. "The business is clearly being well-managed in a difficult environment, and it now appears that Winn-Dixie's value perception (which is underestimated by the Street, in our view) is gaining more customer traction," wrote Canaccord Adams analyst Simeon Gutman. The analyst maintained a Hold rating on Winn-Dixie but raised its target price to $14.50 from $12.50 on the news.
The memory-products maker jumped 30.9% on strong fiscal first-quarter profit. The company said increasing demand for its solid-state computer data-storage drive boosted the results. Thomas Weisel analyst Kevin Cassidy upgraded the company to Overweight from MarketWeight on the news, raising his target price from $6 to $15. "Despite the overall enterprise market being relatively weak, STEC's growth is outperforming the segment," he wrote. "We now see the company as having a tangible, defensible position in high-end solid state drive storage…We project further gross margin expansion as the company transitions from lower-margin commodity products to higher-margin proprietary technologies."


text:
Q: ManyToMany error : Argument 1 passed to Doctrine\Common\Collections\ArrayCollection::__construct() must be of the type array, object given I have a problem with type ManyToMany relations entities.
I learn symfony i make maybe something wrong.
I tried many ways (Without foreach ...) but i fall always on errors.
These entities were created whit the CLI.
Thanks for your replys and sorry for my bad english
My entities :
Clients
<?php

namespace App\Entity;

use App\Repository\ClientsRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass=ClientsRepository::class)
 */
class Clients
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $nom;

    /**
     * @ORM\Column(type="string", length=255, nullable=true)
     */
    private $prenom;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $mail;

    /**
     * @ORM\Column(type="datetime")
     */
    private $created_at;

    /**
     * @ORM\Column(type="boolean")
     */
    private $actif;

    /**
     * @ORM\ManyToMany(targetEntity=Services::class, mappedBy="clients")
     */
    private $services;

    public function __construct()
    {
        $this->services = new ArrayCollection();
    }

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getNom(): ?string
    {
        return $this->nom;
    }

    public function setNom(string $nom): self
    {
        $this->nom = $nom;

        return $this;
    }

    public function getPrenom(): ?string
    {
        return $this->prenom;
    }

    public function setPrenom(?string $prenom): self
    {
        $this->prenom = $prenom;

        return $this;
    }

    public function getMail(): ?string
    {
        return $this->mail;
    }

    public function setMail(string $mail): self
    {
        $this->mail = $mail;

        return $this;
    }

    public function getCreatedAt(): ?\DateTimeInterface
    {
        return $this->created_at;
    }

    public function setCreatedAt(\DateTimeInterface $created_at): self
    {
        $this->created_at = $created_at;

        return $this;
    }

    public function getActif(): ?bool
    {
        return $this->actif;
    }

    public function setActif(bool $actif): self
    {
        $this->actif = $actif;

        return $this;
    }

    /**
     * @return Collection|Services[]
     */
    public function getServices(): Collection
    {
        return $this->services;
    }

    public function addService(Services $service): self
    {
        if (!$this->services->contains($service)) {
            $this->services[] = $service;
            $service->setClients($this);
        }

        return $this;
    }

    public function removeService(Services $service): self
    {
        if ($this->services->contains($service)) {
            $this->services->removeElement($service);
            // set the owning side to null (unless already changed)
            if ($service->getClients() === $this) {
                $service->setClients(null);
            }
        }

        return $this;
    }
}

Services
    <?php

namespace App\Entity;

use App\Repository\ServicesRepository;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass=ServicesRepository::class)
 */
class Services
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $nom;

    /**
     * @ORM\Column(type="float")
     */
    private $prix;

    /**
     * @ORM\ManyToMany(targetEntity=Clients::class, inversedBy="services")
     */
    private $clients;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getNom(): ?string
    {
        return $this->nom;
    }

    public function setNom(string $nom): self
    {
        $this->nom = $nom;

        return $this;
    }

    public function getPrix(): ?float
    {
        return $this->prix;
    }

    public function setPrix(float $prix): self
    {
        $this->prix = $prix;

        return $this;
    }

    public function getClients(): ?Clients
    {
        return $this->clients;
    }

    public function setClients(?Clients $clients): self
    {
        $this->clients = $clients;

        return $this;
    }
}

Controller
    [...]
    $entityManager = $this->getDoctrine()->getManager();
    foreach($servicesClient as $srv){

        $service = $this->getDoctrine()->getRepository(Services::class)->find($srv);

        $service->setClients($client);
        $client->addService($service);

        $entityManager->persist($client);
        $entityManager->persist($service);
        $entityManager->flush();

      }
      [...]

A: Your Service::clients property is marked with @ManyToMany annotation, which means it should be typed @var Collection|Clients[] but both getter and setter returns/set a nullable object ?Clients $clients.
No way the bin/console make:entity did that.
You should use the same system as your Clients::services property, i.e using three methods getClients(), addClients() and removeClients() without setClients(). Besides, you need a constructor starting the $clients property: $this->clients = new ArrayCollection();.
Or maybe you want to use @OneToMany and @ManyToOne annotations.
Note that an entity classname should be singular.

redpajama_set_name: RedPajamaStackExchange


Gaston's event staff in Melbourne and Sydney are a team of professionals who offers a range of promotional services so your event runs smoothly and efficiently as possible. Our event personnel have years of experience in the events business and are available nationwide.
Gaston Management's experienced team will come up with a customized promotion plan for your event to work out a cost-effective and practical solution to help you get your name out there as much as possible and really make the most of this golden opportunity to showcase yourselves. Our team is warm, friendly, guest-oriented and focused on ensuring your guests leave the event with your product on the tip of their tongue.
Our professional event staff in Melbourne are well trained to assure that they can adapt not just to your product or service and your target audience, increasing your brand awareness which will drive more leads, but also to deal with any unexpected occurrences on the day with complete ease giving you peace of mind.
Take the hassle out of having to run around interacting with your guests and spend more time effectively planning your event by letting our team do the hard work. They can do pretty much anything that you would require from them to help you promote yourself, from handing out leaflets and samples, to actively engaging in conversations and sales pitches with your audience. Leaving you with more time to oversee the important aspects, mingle with guests or just enjoy your company's moment in the spotlight.
Gaston Management is a team of seasoned event promotion staff offering a range of services to ensure your promotional efforts at your event run smoothly and that it is a roaring success.
We have over 28 years of industry experience. Kim Gaston has personally worked on a number of commercial events of various sizes for numerous companies across Melbourne, Brisbane, Sydney, Perth and Adelaide so she knows a good promo model can be hard to come across but will go to the hard work of finding the very best that the industry offers. Our team can lend their expertise to any type of stand and event. We're always up for a new challenge!


Gibson USA is celebrating 2013 as the Year of Les Paul. The Les Paul Future Tribute captures the look, feel, and tone of the guitar world's most legendary single-cutaway solidbody, and equips it for the player of the future—making it available today. Gibson's acclaimed bridge and tailpiece team up with futuristic Steinberger™ gearless tuners to ensure smooth playability and precise tuning and intonation. And, like all Les Paul and SG 2013 Tribute Series guitars, the Les Paul Future Tribute is available upgraded with Min-ETune™ automated "Robot" tuners for a nominal upcharge.
Primed for optimum playability and versatility, the Les Paul Future Tribute carries a pair of "zebra-coil" '57 Classic™ humbucking pickups for a blend of vintage warmth and contemporary articulation, along with a superbly comfortable custom asymmetrical neck profile.
Like the Les Paul Future Tribute and want to see it in the Hall of Fame? Rate this guitar now (click on the stars below – 1 star = don't like, 5 stars = love it!)… at least 50 votes with over 75% average rating gets this guitar into The HoF – the Guitar Planet Hall of Fame and from there into the Guitar of the Year award.


text:
Stories - Telling them and Hearing them
I was listening to an interview with writer Hanif Kureshi recently and he said something that has become one of my favorite quotes. "It's a kind of love to tell your story."
Isn't that true? Our stories are one of the only things we really have.
When I became a journalist, what I really wanted to do was tell stories. They just came in the form of news. But it was really all about stories.
When I meet people, what I really want is to hear their stories. No one ever wants to show me their wedding photo album a second time because I have a million questions about who is who and how they're related. I'm one of those people. I want to hear the stories.
I want the real stories. Not what you do for a living. Not who you know. Not who you're related to. I want to know who you are. What you think about. How you make decisions. What made you the person you are today. How you were different ten years ago. What you want - deep down, desperately - that you never speak aloud.
People have amazing stories to tell. In fact, the kinds of lives people create can be astonishing. They can go on adventures you would never imagine, engage with the world in a way we'd never think of. Others take on the task of creating a stable future through a new generation - another task I cannot imagine taking on. The old adage about "it takes all kinds" is never more true than when used in this context.
One thing I learned early is that everyone has a story. And it's a good one. It will make you laugh, cry and everything in between. Everyone you know has a story that would cause you to weep and one that would cause you to rejoice. We humans are fascinating things. And we all have a story.
Will you tell me yours?

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Does nginx have something like apache's mod_macro? I need to be able to manage thousands of domains in nginx, and each domain will have a lets-encrypt certification that I will manage.
I was reading how apache has a macro feature that lets you do something like where you don't have to repeat the same virtual host section for each domain.
If you have thousands of domains to manage this can come in handy.
Does nginx have something similar that can help in this regard?
<Macro VHost $domain>
<VirtualHost *:443>
    ProxyProtocol On
    ServerName $domain

    SSLEngine on
    SSLCertificateFile      $domain.crt
    SSLCertificateKeyFile   $domain.key
    SSLCertificateChainFile lets-encrypt-cross-signed.pem
</VirtualHost>

A: With Nginx, you would do this beforehand, using external tools like nginx-confgen to create a static config. The reason for not using variables in configuration is explained in Nginx FAQ:

Variables should not be used as template macros. Variables are
  evaluated in the run-time during the processing of each request, so
  they are rather costly compared to plain static configuration. Using
  variables to store static strings is also a bad idea. Instead, a macro
  expansion and "include" directives should be used to generate configs
  more easily and it can be done with the external tools, e.g. sed +
  make or any other common template mechanism.


A backyard deck is ideal for entertaining. It is a brilliant addition to the interior planning of your house, but the hurdle lies in hiring a capable deck contractor. One who has a sound knowledge of planning during the interview.
Installation of a deck requires appropriate footings for the project beside structural supports. There are a lot of things to consider before installation.
Although it is the job of the decking contractor to help in planning the spacing and layout along with other factors. You should yourself have a proper assessment of the whole concept too. So that you don't seem like a novice who can be easily manipulated and tricked. By keeping your budget estimate in your mind, you need to consider factors like the layout, the staircases, number of stories, coverings, materials like natural wood or any manufactured supplements and man-made products, the railing types and spaces for benches, fire pits and additional features.
Just like you don't want yourself to seem like a novice while the contractor asks you about your specifications. Similarly, you need to make sure that your contractor and builders are not amateurs who have no prior knowledge or proper experience. This would be disastrous for your decking project. Don't hesitate to ask about their years of experiences, their license validity. Whether they are insured or not and if so, whether they can provide you with their carrier if they will offer a warranty for the project. Whether they handle concerns relating to permits and other issues. Also, ask them if they have an owner or senior to supervise the on-site project.
For all the reasons above mentioned, you need to hire a professional decking contractor. Verify their references, where they have worked before and what projects have they worked in. Whether they have been able to meet the timelines and specifications and most-importantly their rankings. It is also important to collect the insurance certificate of the contractor from the carrier itself, instead of relying upon the contractor.
Having a written budget estimation is essential. Make it a point to ask your deck-builders to sit down and jot down the overall costing, citing the detailed prices of materials and charges of labourers. It should also include the aftermath costs like cleaning up of debris and such additional tasks.
This is the final step that includes the signing of the contract with the deck-builder. You should be careful about the provisions of the document and make sure that it contains the total costing including the breaking down of each investment for each part, the cost that is required in case there are changes, copies of the license of the contractor and his insurance certificate, the date of completion and impact on finance when there are delays, details of approvals of designs and permits and finally the expenditure on cleaning and other such final tasks. It should also include a statement which holds the contractor and the crew responsible for any damage to the property during the decking process.
If you have successfully gone through these steps then you can assess the information you have collected and understood if your decking contractor is worth the investment. Structural modifications to your house depending on the integrity of your house itself. Most of the times, the modification you intend to make may not be done practically. Therefore, it is best to hire a professional who fir these specifications for you to be sure for your safety and return on investment.
Joel Borthwick is basically from Australia but is keen to explore everything under the sun. He is a part-time blogger, well acclaimed for his blogs on topics of many topics.


New Delhi-based foodtech startup FoodCloud has been inducted into the Start Up India Programme by the Government of India and the Ministry of Commerce & Industry.
"We are excited to be inducted into the Start Up India Programme and hope to use this recognition to build our company to great heights. We applaud the Government's interest in startups as they are the backbone of a country such as ours and we hope to do our bit in whatever way we can," said Vedant Kanoi, co-founder, FoodCloud.
FoodCloud was founded by serial entrepreneurs Vedant Kanoi and Shamit Khemka in September 2013. It is a service where users get home-cooked food prepared by professionals and chefs specialising in Chinese, Lebanese, Thai, Italian, Indian, Austrian, Mexican, and many other cuisines.
FoodCloud has been issued a Certificate of Recognition by the Department of Industrial Promotion and Policy as a startup.
The Start Up India programme was officially launched by Prime Minister Nardendra Modi in January this year. The initiative aims at fostering entrepreneurship and promoting innovation by creating an ecosystem that is conducive for growth of startups.
Earlier in April 2016, FoodCloud was accepted in the FB Start programme too.
In april 2016, another foodtech startup Petoo raised $1 Mn from early stage venture capital firm Axilor Ventures and some HNIs.


text:
// Copyright 2018 The Bazel Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.devtools.build.skydoc;

import static com.google.common.collect.ImmutableMap.toImmutableMap;

import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Functions;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions;
import com.google.devtools.build.skydoc.fakebuildapi.FakeApi;
import com.google.devtools.build.skydoc.fakebuildapi.FakeDeepStructure;
import com.google.devtools.build.skydoc.fakebuildapi.FakeProviderApi;
import com.google.devtools.build.skydoc.fakebuildapi.FakeStructApi;
import com.google.devtools.build.skydoc.rendering.AspectInfoWrapper;
import com.google.devtools.build.skydoc.rendering.DocstringParseException;
import com.google.devtools.build.skydoc.rendering.ProtoRenderer;
import com.google.devtools.build.skydoc.rendering.ProviderInfoWrapper;
import com.google.devtools.build.skydoc.rendering.RuleInfoWrapper;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AspectInfo;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ProviderInfo;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.RuleInfo;
import com.google.devtools.common.options.OptionsParser;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
import java.util.stream.Collectors;
import net.starlark.java.annot.Param;
import net.starlark.java.annot.StarlarkBuiltin;
import net.starlark.java.annot.StarlarkMethod;
import net.starlark.java.eval.Dict;
import net.starlark.java.eval.EvalException;
import net.starlark.java.eval.Module;
import net.starlark.java.eval.Mutability;
import net.starlark.java.eval.Starlark;
import net.starlark.java.eval.StarlarkCallable;
import net.starlark.java.eval.StarlarkFunction;
import net.starlark.java.eval.StarlarkSemantics;
import net.starlark.java.eval.StarlarkThread;
import net.starlark.java.eval.StarlarkValue;
import net.starlark.java.lib.json.Json;
import net.starlark.java.syntax.FileOptions;
import net.starlark.java.syntax.ParserInput;
import net.starlark.java.syntax.Program;
import net.starlark.java.syntax.Resolver;
import net.starlark.java.syntax.Resolver.Scope;
import net.starlark.java.syntax.StarlarkFile;
import net.starlark.java.syntax.SyntaxError;

/**
 * Main entry point for the Skydoc binary.
 *
 *
Skydoc generates human-readable documentation for relevant details of Starlark files by
 * running a Starlark interpreter with a fake implementation of the build API.
 *
 *
Currently, Skydoc generates documentation for Starlark rule definitions (discovered by
 * invocations of the build API function {@code rule()}.
 *
 *
Usage:
 *
 *

 *   skydoc {target_starlark_file_label} {output_file} [symbol_name]...
 *

 *
 *
Generates documentation for all exported symbols of the target Starlark file that are
 * specified in the list of symbol names. If no symbol names are supplied, outputs documentation for
 * all exported symbols in the target Starlark file.
 */
public class SkydocMain {

  private final EventHandler eventHandler = new SystemOutEventHandler();
  private final LinkedHashSet<Path> pending = new LinkedHashSet<>();
  private final Map<Path, Module> loaded = new HashMap<>();
  private final StarlarkFileAccessor fileAccessor;
  private final List<String> depRoots;
  private final String workspaceName;

  public SkydocMain(
      StarlarkFileAccessor fileAccessor, String workspaceName, List<String> depRoots) {
    this.fileAccessor = fileAccessor;
    this.workspaceName = workspaceName;
    if (depRoots.isEmpty()) {
      // For backwards compatibility, if no dep_roots are specified, use the current
      // directory as the only root.
      this.depRoots = ImmutableList.of(".");
    } else {
      this.depRoots = depRoots;
    }
  }

  public static void main(String[] args)
      throws IOException, InterruptedException, LabelSyntaxException, EvalException,
          DocstringParseException {
    OptionsParser parser =
        OptionsParser.builder()
            .optionsClasses(BuildLanguageOptions.class, SkydocOptions.class)
            .build();
    parser.parseAndExitUponError(args);
    BuildLanguageOptions semanticsOptions = parser.getOptions(BuildLanguageOptions.class);
    semanticsOptions.incompatibleNewActionsApi = false;
    SkydocOptions skydocOptions = parser.getOptions(SkydocOptions.class);

    String targetFileLabelString;
    String outputPath;
    ImmutableList<String> depRoots;

    if (Strings.isNullOrEmpty(skydocOptions.targetFileLabel)
        || Strings.isNullOrEmpty(skydocOptions.outputFilePath)) {
      throw new IllegalArgumentException("Expected a target file label and an output file path.");
    }

    targetFileLabelString = skydocOptions.targetFileLabel;
    outputPath = skydocOptions.outputFilePath;
    depRoots = ImmutableList.copyOf(skydocOptions.depRoots);

    Label targetFileLabel = Label.parseAbsolute(targetFileLabelString, ImmutableMap.of());

    ImmutableMap.Builder<String, RuleInfo> ruleInfoMap = ImmutableMap.builder();
    ImmutableMap.Builder<String, ProviderInfo> providerInfoMap = ImmutableMap.builder();
    ImmutableMap.Builder<String, StarlarkFunction> userDefinedFunctions = ImmutableMap.builder();
    ImmutableMap.Builder<String, AspectInfo> aspectInfoMap = ImmutableMap.builder();

    Module module = null;
    try {
      module =
          new SkydocMain(new FilesystemFileAccessor(), skydocOptions.workspaceName, depRoots)
              .eval(
                  semanticsOptions.toStarlarkSemantics(),
                  targetFileLabel,
                  ruleInfoMap,
                  providerInfoMap,
                  userDefinedFunctions,
                  aspectInfoMap);
    } catch (StarlarkEvaluationException | EvalException exception) {
      exception.printStackTrace();
      System.err.println("Stardoc documentation generation failed: " + exception.getMessage());
      System.exit(1);
    }

    ProtoRenderer renderer =
        render(
            module,
            ImmutableSet.copyOf(skydocOptions.symbolNames),
            ruleInfoMap.buildOrThrow(),
            providerInfoMap.buildOrThrow(),
            userDefinedFunctions.buildOrThrow(),
            aspectInfoMap.buildOrThrow());
    try (BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outputPath))) {
      renderer.writeModuleInfo(out);
    }
  }

  private static boolean validSymbolName(ImmutableSet<String> symbolNames, String symbolName) {
    if (symbolNames.isEmpty()) {
      // Symbols prefixed with an underscore are private, and thus, by default, documentation
      // should not be generated for them.
      return !symbolName.startsWith("_");
    } else if (symbolNames.contains(symbolName)) {
      return true;
    } else if (symbolName.contains(".")) {
      return symbolNames.contains(symbolName.substring(0, symbolName.indexOf('.')));
    }
    return false;
  }

  /**
   * Renders a Starlark module to proto form.
   *
   * @param symbolNames symbols to render; if empty, all non-private symbols (i.e. those whose names
   *     do not start with '_') will be rendered.
   * @param ruleInfoMap a map of rule definition information for named rules. Keys are exported
   *     names of rules, and values are their {@link RuleInfo} rule descriptions. For example,
   *     'my_rule = rule(...)' has key 'my_rule'
   * @param providerInfoMap a map of provider definition information for named providers. Keys are
   *     exported names of providers, and values are their {@link ProviderInfo} descriptions. For
   *     example, 'my_provider = provider(...)' has key 'my_provider'
   * @param userDefinedFunctions a map of user-defined functions. Keys are exported names of
   *     functions, and values are the {@link StarlarkFunction} objects. For example, 'def
   *     my_function(foo):' is a function with key 'my_function'.
   * @param aspectInfoMap a map of aspect definition information for named aspects. Keys are
   *     exported names of aspects, and values are the {@link AspectInfo} asepct descriptions. For
   *     example, 'my_aspect = aspect(...)' has key 'my_aspect'
   */
  @VisibleForTesting
  public static ProtoRenderer render(
      Module module,
      ImmutableSet<String> symbolNames,
      ImmutableMap<String, RuleInfo> ruleInfoMap,
      ImmutableMap<String, ProviderInfo> providerInfoMap,
      ImmutableMap<String, StarlarkFunction> userDefinedFunctions,
      ImmutableMap<String, AspectInfo> aspectInfoMap)
      throws DocstringParseException {
    ImmutableMap<String, RuleInfo> filteredRuleInfos =
        ruleInfoMap.entrySet().stream()
            .filter(entry -> validSymbolName(symbolNames, entry.getKey()))
            .collect(toImmutableMap(Entry::getKey, Entry::getValue));
    ImmutableMap<String, ProviderInfo> filteredProviderInfos =
        providerInfoMap.entrySet().stream()
            .filter(entry -> validSymbolName(symbolNames, entry.getKey()))
            .collect(toImmutableMap(Entry::getKey, Entry::getValue));
    ImmutableMap<String, StarlarkFunction> filteredStarlarkFunctions =
        userDefinedFunctions.entrySet().stream()
            .filter(entry -> validSymbolName(symbolNames, entry.getKey()))
            .collect(toImmutableMap(Entry::getKey, Entry::getValue));
    ImmutableMap<String, AspectInfo> filteredAspectInfos =
        aspectInfoMap.entrySet().stream()
            .filter(entry -> validSymbolName(symbolNames, entry.getKey()))
            .collect(toImmutableMap(Entry::getKey, Entry::getValue));

    String moduleDocstring = module.getDocumentation();
    if (moduleDocstring == null) {
      moduleDocstring = "";
    }
    return new ProtoRenderer()
        .appendRuleInfos(filteredRuleInfos.values())
        .appendProviderInfos(filteredProviderInfos.values())
        .appendStarlarkFunctionInfos(filteredStarlarkFunctions)
        .appendAspectInfos(filteredAspectInfos.values())
        .setModuleDocstring(moduleDocstring);
  }

  /**
   * Evaluates/interprets the Starlark file at a given path and its transitive Starlark dependencies
   * using a fake build API and collects information about all rule definitions made in the root
   * Starlark file.
   *
   * @param label the label of the Starlark file to evaluate
   * @param ruleInfoMap a map builder to be populated with rule definition information for named
   *     rules. Keys are exported names of rules, and values are their {@link RuleInfo} rule
   *     descriptions. For example, 'my_rule = rule(...)' has key 'my_rule'
   * @param providerInfoMap a map builder to be populated with provider definition information for
   *     named providers. Keys are exported names of providers, and values are their {@link
   *     ProviderInfo} descriptions. For example, 'my_provider = provider(...)' has key
   *     'my_provider'
   * @param userDefinedFunctionMap a map builder to be populated with user-defined functions. Keys
   *     are exported names of functions, and values are the {@link StarlarkFunction} objects. For
   *     example, 'def my_function(foo):' is a function with key 'my_function'.
   * @param aspectInfoMap a map builder to be populated with aspect definition information for named
   *     aspects. Keys are exported names of aspects, and values are the {@link AspectInfo} asepct
   *     descriptions. For example, 'my_aspect = aspect(...)' has key 'my_aspect'
   * @throws InterruptedException if evaluation is interrupted
   */
  @VisibleForTesting
  public Module eval(
      StarlarkSemantics semantics,
      Label label,
      ImmutableMap.Builder<String, RuleInfo> ruleInfoMap,
      ImmutableMap.Builder<String, ProviderInfo> providerInfoMap,
      ImmutableMap.Builder<String, StarlarkFunction> userDefinedFunctionMap,
      ImmutableMap.Builder<String, AspectInfo> aspectInfoMap)
      throws InterruptedException, IOException, LabelSyntaxException, EvalException,
          StarlarkEvaluationException {

    List<RuleInfoWrapper> ruleInfoList = new ArrayList<>();

    List<ProviderInfoWrapper> providerInfoList = new ArrayList<>();

    List<AspectInfoWrapper> aspectInfoList = new ArrayList<>();

    Module module = recursiveEval(semantics, label, ruleInfoList, providerInfoList, aspectInfoList);

    Map<StarlarkCallable, RuleInfoWrapper> ruleFunctions =
        ruleInfoList.stream()
            .collect(
                Collectors.toMap(RuleInfoWrapper::getIdentifierFunction, Functions.identity()));

    Map<StarlarkCallable, ProviderInfoWrapper> providerInfos =
        providerInfoList.stream()
            .collect(Collectors.toMap(ProviderInfoWrapper::getIdentifier, Functions.identity()));

    Map<StarlarkCallable, AspectInfoWrapper> aspectFunctions =
        aspectInfoList.stream()
            .collect(
                Collectors.toMap(AspectInfoWrapper::getIdentifierFunction, Functions.identity()));

    // Sort the globals bindings by name.
    TreeMap<String, Object> sortedBindings = new TreeMap<>(module.getGlobals());

    for (Entry<String, Object> envEntry : sortedBindings.entrySet()) {
      if (ruleFunctions.containsKey(envEntry.getValue())) {
        RuleInfo ruleInfo = ruleFunctions.get(envEntry.getValue()).getRuleInfo().build();
        // Use symbol name as the rule name only if not already set in the call to rule().
        if ("".equals(ruleInfo.getRuleName())) {
          // We make a copy so that additional exports are not affected by setting the rule name on
          // this builder
          ruleInfo = ruleInfo.toBuilder().setRuleName(envEntry.getKey()).build();
        }
        ruleInfoMap.put(ruleInfo.getRuleName(), ruleInfo);
      }
      if (providerInfos.containsKey(envEntry.getValue())) {
        ProviderInfo.Builder providerInfoBuild =
            providerInfos.get(envEntry.getValue()).getProviderInfo();
        ProviderInfo providerInfo = providerInfoBuild.setProviderName(envEntry.getKey()).build();
        providerInfoMap.put(envEntry.getKey(), providerInfo);
      }
      if (envEntry.getValue() instanceof StarlarkFunction) {
        StarlarkFunction userDefinedFunction = (StarlarkFunction) envEntry.getValue();
        userDefinedFunctionMap.put(envEntry.getKey(), userDefinedFunction);
      }
      if (envEntry.getValue() instanceof FakeStructApi) {
        String namespaceName = envEntry.getKey();
        FakeStructApi namespace = (FakeStructApi) envEntry.getValue();
        putStructFields(namespaceName, namespace, userDefinedFunctionMap);
      }
      if (aspectFunctions.containsKey(envEntry.getValue())) {
        AspectInfo.Builder aspectInfoBuild =
            aspectFunctions.get(envEntry.getValue()).getAspectInfo();
        AspectInfo aspectInfo = aspectInfoBuild.setAspectName(envEntry.getKey()).build();
        aspectInfoMap.put(envEntry.getKey(), aspectInfo);
      }
    }

    return module;
  }

  /**
   * Recursively adds functions defined in {@code namespace}, and in its nested namespaces, to
   * {@code userDefinedFunctionMap}.
   *
   *
Each entry's key is the fully qualified function name, e.g. {@code
   * "outernamespace.innernamespace.func"}. {@code namespaceName} is the fully qualified name of
   * {@code namespace} itself.
   */
  private static void putStructFields(
      String namespaceName,
      FakeStructApi namespace,
      ImmutableMap.Builder<String, StarlarkFunction> userDefinedFunctionMap)
      throws EvalException {
    for (String field : namespace.getFieldNames()) {
      String qualifiedFieldName = namespaceName + "." + field;
      if (namespace.getValue(field) instanceof StarlarkFunction) {
        StarlarkFunction userDefinedFunction = (StarlarkFunction) namespace.getValue(field);
        userDefinedFunctionMap.put(qualifiedFieldName, userDefinedFunction);
      } else if (namespace.getValue(field) instanceof FakeStructApi) {
        FakeStructApi innerNamespace = (FakeStructApi) namespace.getValue(field);
        putStructFields(qualifiedFieldName, innerNamespace, userDefinedFunctionMap);
      }
    }
  }

  /**
   * Recursively evaluates/interprets the Starlark file at a given path and its transitive Starlark
   * dependencies using a fake build API and collects information about all rule definitions made in
   * those files.
   *
   * @param label the label of the Starlark file to evaluate
   * @param ruleInfoList a collection of all rule definitions made so far (using rule()); this
   *     method will add to this list as it evaluates additional files
   * @throws InterruptedException if evaluation is interrupted
   */
  private Module recursiveEval(
      StarlarkSemantics semantics,
      Label label,
      List<RuleInfoWrapper> ruleInfoList,
      List<ProviderInfoWrapper> providerInfoList,
      List<AspectInfoWrapper> aspectInfoList)
      throws InterruptedException, IOException, LabelSyntaxException, StarlarkEvaluationException,
          EvalException {
    Path path = pathOfLabel(label, semantics);

    if (pending.contains(path)) {
      throw new StarlarkEvaluationException("cycle with " + path);
    } else if (loaded.containsKey(path)) {
      return loaded.get(path);
    }
    pending.add(path);

    // Create an initial environment with a fake build API. Then use Starlark's name resolution
    // step to further populate the environment with all additional symbols not in the fake build
    // API but used by the program; these become FakeDeepStructures.
    ImmutableMap.Builder<String, Object> initialEnvBuilder = ImmutableMap.builder();
    FakeApi.addPredeclared(initialEnvBuilder, ruleInfoList, providerInfoList, aspectInfoList);
    addMorePredeclared(initialEnvBuilder);

    ImmutableMap<String, Object> initialEnv = initialEnvBuilder.build();

    Map<String, Object> predeclaredSymbols = new HashMap<>();
    predeclaredSymbols.putAll(initialEnv);

    Resolver.Module predeclaredResolver =
        (name) -> {
          if (predeclaredSymbols.containsKey(name)) {
            return Scope.PREDECLARED;
          }
          if (!Starlark.UNIVERSE.containsKey(name)) {
            predeclaredSymbols.put(name, FakeDeepStructure.create(name));
            return Scope.PREDECLARED;
          }
          return Resolver.Scope.UNIVERSAL;
        };

    // parse & compile (and get doc)
    ParserInput input = getInputSource(path.toString());
    Program prog;
    try {
      StarlarkFile file = StarlarkFile.parse(input, FileOptions.DEFAULT);
      prog = Program.compileFile(file, predeclaredResolver);
    } catch (SyntaxError.Exception ex) {
      Event.replayEventsOn(eventHandler, ex.errors());
      throw new StarlarkEvaluationException(ex.getMessage());
    }

    // process loads
    Map<String, Module> imports = new HashMap<>();
    for (String load : prog.getLoads()) {
      Label relativeLabel = label.getRelativeWithRemapping(load, ImmutableMap.of());
      try {
        Module loadedModule =
            recursiveEval(semantics, relativeLabel, ruleInfoList, providerInfoList, aspectInfoList);
        imports.put(load, loadedModule);
      } catch (NoSuchFileException noSuchFileException) {
        throw new StarlarkEvaluationException(
            String.format(
                "File %s imported '%s', yet %s was not found, even at roots %s.",
                path, load, pathOfLabel(relativeLabel, semantics), depRoots),
            noSuchFileException);
      }
    }

    // execute
    Module module = Module.withPredeclared(semantics, predeclaredSymbols);
    try (Mutability mu = Mutability.create("Skydoc")) {
      StarlarkThread thread = new StarlarkThread(mu, semantics);
      // We use the default print handler, which writes to stderr.
      thread.setLoader(imports::get);
      // Fake Bazel's "export" hack, by which provider symbols
      // bound to global variables take on the name of the global variable.
      thread.setPostAssignHook(
          (name, value) -> {
            if (value instanceof FakeProviderApi) {
              ((FakeProviderApi) value).setName(name);
            }
          });

      Starlark.execFileProgram(prog, module, thread);
    } catch (EvalException ex) {
      throw new StarlarkEvaluationException(ex.getMessageWithStack());
    }

    pending.remove(path);
    loaded.put(path, module);
    return module;
  }

  private Path pathOfLabel(Label label, StarlarkSemantics semantics) throws EvalException {
    String workspacePrefix = "";
    if (!label.getWorkspaceRootForStarlarkOnly(semantics).isEmpty()
        && !label.getWorkspaceName().equals(workspaceName)) {
      workspacePrefix = label.getWorkspaceRootForStarlarkOnly(semantics) + "/";
    }

    return Paths.get(workspacePrefix + label.toPathFragment());
  }

  private ParserInput getInputSource(String bzlWorkspacePath) throws IOException {
    for (String rootPath : depRoots) {
      if (fileAccessor.fileExists(rootPath + "/" + bzlWorkspacePath)) {
        return fileAccessor.inputSource(rootPath + "/" + bzlWorkspacePath);
      }
    }

    // All depRoots attempted and no valid file was found.
    throw new NoSuchFileException(bzlWorkspacePath);
  }

  private static void addMorePredeclared(ImmutableMap.Builder<String, Object> env) {
    // Add dummy declarations that would come from packages.StarlarkLibrary.COMMON
    // were Skydoc allowed to depend on it. See hack for select below.
    env.put("json", Json.INSTANCE);
    env.put("proto", new ProtoModule());
    env.put(
        "depset",
        new StarlarkCallable() {
          @Override
          public Object fastcall(StarlarkThread thread, Object[] positional, Object[] named) {
            // Accept any arguments, return empty Depset.
            return Depset.of(
                Depset.ElementType.EMPTY, NestedSetBuilder.emptySet(Order.STABLE_ORDER));
          }

          @Override
          public String getName() {
            return "depset";
          }
        });

    // Declare a fake implementation of select that just returns the first
    // value in the dict. (This program is forbidden from depending on the real
    // implementation of 'select' in lib.packages, and so the hacks multiply.)
    env.put(
        "select",
        new StarlarkCallable() {
          @Override
          public Object fastcall(StarlarkThread thread, Object[] positional, Object[] named)
              throws EvalException {
            for (Map.Entry<?, ?> e : ((Dict<?, ?>) positional[0]).entrySet()) {
              return e.getValue();
            }
            throw Starlark.errorf("select: empty dict");
          }

          @Override
          public String getName() {
            return "select";
          }
        });
  }

  @StarlarkBuiltin(name = "ProtoModule", doc = "")
  private static final class ProtoModule implements StarlarkValue {
    @StarlarkMethod(
        name = "encode_text",
        doc = ".",
        parameters = {@Param(name = "x")})
    public String encodeText(Object x) {
      return "";
    }
  }

  /** Exception thrown when Starlark evaluation fails (due to malformed Starlark). */
  @VisibleForTesting
  static class StarlarkEvaluationException extends Exception {
    public StarlarkEvaluationException(String message) {
      super(message);
    }

    public StarlarkEvaluationException(String message, Throwable cause) {
      super(message, cause);
    }
  }
}

redpajama_set_name: RedPajamaGithub


text:
Sorry, Guys: Kanye West Apologizes to Bruno Mars & Beck
Sonya Eskridge
Sonya Eskridge is a writer from Maryland, who started her news career in radio at the age of 17. After graduating from Virginia Tech, she went on to write for a national publication where she was able to mold her personal voice. Always looking for ways to inform on important issues—or share her love of nerdy and girly things—Sonya thoroughly enjoys writing about a wide range of subjects.
If You Can't Talk About Race, Interracial Relationships Are Not For You
Is Rihanna Moving To Paris For Love?
Danai Gurira Won't Contour, But She Loves A Good Lip
Didier Baverel
Even Kanye West can admit when he's wrong, so he had to send out an apology to two of his contemporaries on Twitter.
The end must be near because we never thought we'd see the day when Kanye would admit when he's wrong about anything. The man is a self-proclaimed genius that is decades ahead of his time. Kanye is so secure in his convictions that he has no problem running up on stage during someone else's moment to tell everyone how he really feels.
Most recently, he scared everyone by making it look like he was going to interrupt Beck's acceptance speech for Album of the Year at the Grammys. We're convinced that he was having the greatest troll moment of all time right then, and we had to chuckle. It's highly unlikely that Kanye would have made that mistake again, but he didn't hold back his opinion as he argued that Beck needed to "respect artistry" and give Beyonce the Grammy she deserved.
MUST READ: Kanye West Loves Drake, Thinks All Lives Matter & Cries In New Interview
It's an incredibly presumptuous statement to make, but Kanye maintained his stance until recently.
I would like to publicly apologize to Beck, I'm sorry Beck.
— KANYE WEST (@kanyewest) February 26, 2015
Kanye had a change of heart after hearing Beck's Grammy-winning album Morning Phase while he was out to dinner with none other than Taylor Swift. After listening to it, the rapper had to admit that the album was pretty good.
That's not the only thing Yeezy's changed his mind about. Apparently he also had to make amends with Bruno Mars, who he'd actually like to get in the studio with at some point!
I also want to publicly apologize to Bruno Mars, I used to hate on him but I really respect what he does as an artist.
I also would love for Bruno to sing this hook on this song 88 Keys / Puff and I produced… I even asked Tyler to shoot the vid.
Rihanna & Kanye West Heading Out On Tour Together?
Amber Rose Warns Kanye: "The Kartrashians" Will "Humiliate" You & We're Grabbing Our Popcorn
Kanye West Explains Why Daughter North West Threw Two Fits At NYFW
Beck	, Bruno Mars	, kanye west


Abdul Kalam pomes are all about leadership, positivity and inspiration. The greatness of this man called Abdul Kalam never fails to encourage and inspire every person who reads about him. Most of these poems are philosophical and encouraging, inspiring us to open our mind to new avenues of thought.


"The 'New York Times' writes this long story" about Donald Trump's tax returns but "didn't point out there was no wrongdoing" until paragraph 18.
— Rudy Giuliani on Sunday, October 2nd, 2016 in an interview on "Meet the Press"
By Aaron Sharockman on Sunday, October 2nd, 2016 at 5:17 p.m.
Rudy Giuliani criticized 'New York Times,' claiming they waited until the 18th paragraph to point out there was no wrongdoing in Trump's tax returns. It was mentioned in the first sentence. False.
Making the rounds on the Sunday shows, Rudy Giuliani defended Republican presidential nominee Donald Trump in the wake of a New York Times story detailing how Trump reported a $916 million loss on his 1995 income tax returns and potentially avoided having to pay income tax for 18 years.
"This is perfectly legal, and the Times makes that point about 26 paragraphs into the opinion." Giuliani said on CNN's State of the Union.
On Meet the Press, Giuliani made the same point.
"The New York Times writes this long story, and then somewhere around paragraph 18, they point out there was no wrongdoing."
So did the New York Times bury the news that what Trump did was legal?
No. Here's the first sentence of the story.
"Donald J. Trump declared a $916 million loss on his 1995 income tax returns, a tax deduction so substantial it could have allowed him to legally avoid paying any federal income taxes for up to 18 years, records obtained by The New York Times show."
Image taken from the New York Times website.
Giuliani's claim is not accurate. It rates False.
Published: Sunday, October 2nd, 2016 at 5:17 p.m.


text:
Que. For __________ drying, the effects of velocity, temperature and humidity of the gas and the thickness of the solid are the same.
a. unsaturated surface
b. constant rate
d. neither (a) nor (b).
Dorr thickener is an equipment used for
Relative volatility does not change appreciably with the change in
Perforated plate towers are unique for solvent extraction because, they provide
At a fixed pressure, the humidity depends upon the partial pressure of vapor in the mixture. Humidity of a vapour free gas is __________ percent.
Pick out the correct statement.
__________ is the temperature at which a gas-vapor mixture becomes saturated, when cooled at constant total pressure out of contact with a liquid.
Which of the following remains constant during evaporative cooling process with recirculated water supply ?
__________ is the separation technique used for desalination of sea water.
Which of the following unit operations makes use of Thiele-Geddes equation ?
A distillation column with N plates is being operated under normal conditions. At some point of time, the operation is shifted to total reflux condition (i.e., no product and residue are being withdrawn and feed to the column is stopped). At the new steady state,
In saturated gas, the
The fixed cost of a distillation column at minimum reflux ratio is
__________ column is the most suitable for achieving the best performance for mass transfer operations involving liquid with dispersed solids.
Flights in a rotary dryer are provided to
Penetration theory states that the mass transfer co-coefficient is equal to (where, De is diffusivity and 't' is time)
Packed column distillation is limited to the column __________ metres.
Pick out the wrong statement. Raoult's law does not apply, when the
Rayleigh's equation applies to __________ distillation.
With increase in temperature, the solubility of gases in liquids, at fixed pressure
Pick out the wrong statement.
View All Questions on: Mass Transfer


text:
Gary N. Click (born December 29, 1965) is an American politician, the Ohio state representative from its 88th district. He won the seat in 2020, after incumbent Republican Bill Reineke left it to run for the Ohio Senate, defeating Democrat Chris Liebold 62.9% to 37.1%.

Election history

References

External links
Official website
Official campaign website

Living people
Republican Party members of the Ohio House of Representatives
21st-century American politicians
People from Sandusky County, Ohio
1965 births

redpajama_set_name: RedPajamaWikipedia


text:
Home / Bible Commentaries / Joseph Benson's Commentary of the Old and New Testaments/ Acts
Joseph Benson's Commentary of the Old and New Testaments
Acts Acts 20
Bibliography Info
Verse Specific
Clarke Commentary
Coffman Commentaries
Barne's Notes
Bullinger's Companion Bible Notes
Calvin's Commentary
Cambridge Greek Testament
Constable's Expository Notes
Dunagan Commentary
Ellicott's Commentary
Expositor's Greek Testament
Gill's Exposition
Godbey's NT Commentary
Alford's Commentary
Meyer's Commentary
Bengel's Gnomon
Commentary Critical and Explanatory
Commentary Critical and Explanatory - Unabridged
Trapp's Commentary
Poole's Annotations
Pett's Bible Commentary
People's New Testament
Robertson's Word Pictures
Schaff's New Testament Commentary
Treasury of Knowledge
Whedon's Commentary
Range Specific
Box's Commentaries on Selected Books
Gary Hampton Commentary
Henry's Complete
Henry's Concise
Commentary on Acts
Peake's Bible Commentary
Preacher's Homiletical Commentary
Hawker's Poor Man's Commentary
Biblical Illustrator
Chapter Specific
Chuck Smith Commentary
Dummelow's Commentary on the Bible
Daily Study Bible
Darby's Synopsis
Hole's Commentary
Gaebelein's Annotated
Morgan's Biblical Exposition
Everett's Study Notes
Ironside's Notes
Sutcliffe's Commentary
Grant's Commentary
Pulpit Commentaries
Acts 19:1. While Apollos was at Corinth — Preaching with considerable success, Acts 18:27-28; Paul, having passed through the upper coasts — Of the Lesser Asia, namely, Galatia and Phrygia; came to Ephesus — According to his promise, Acts 18:19; Acts 18:21, with a purpose of making some stay there. Ephesus, at this time, was the metropolis of the province of Asia, and an exceedingly populous city. For, not to speak of its native inhabitants, who were very numerous, a great concourse of strangers always resorted to it, some to worship the goddess Diana, whose rites were celebrated with great magnificence, in a temple erected to her there at the expense of all Asia; others to learn the arts of sorcery and magic, which were taught and practised at Ephesus with such reputation, that the magical words, or sentences, used in the practice of these arts, had their names from Ephesus; being called εφεσια γραμματα, Ephesian letters: others came to prosecute law-suits, or to solicit offices from the Roman governor of the province, who had his residence there; others took Ephesus in their way to and from Europe; and others, after the manner of the easterns, abode there occasionally for the sake of commerce. Ephesus, therefore, being a place of such general resort, and the very throne of idolatry, superstition, and magic, the apostle, when he formerly left that city, resolved, as we have seen, to return and attack these impieties in their strongest hold. Wherefore, having discharged his vow in Jerusalem, he made no stay there, nor even at Antioch, but travelled through Syria and Cilicia, and the countries above mentioned, as expeditiously as was consistent with his purpose in visiting them, and then came to Ephesus, where he abode three years, and gathered a very numerous church; the members of which were peculiarly dear to him, as is manifest from his epistle to them, and the discourse addressed to their elders, Acts 20:17, &c.
Verses 2-7
Acts 19:2-7. Having found certain disciples — Who had been formerly baptized by John the Baptist, and since imperfectly instructed in Christianity, he said, Have ye received the Holy Ghost? — The extraordinary gifts, as well as the sanctifying graces of the Holy Spirit; since ye believed — These disciples were converts to the Christian faith, that is, they believed that Jesus was the Christ; but Paul inquires whether they had received the Holy Ghost, whose operations on the minds of men for their illumination, conviction, conversion, sanctification, and comfort, were revealed some time after the doctrine of Jesus being the Christ was made known. He asks whether they had been acquainted with this revelation; and had been made partakers of this blessing. This was not all. Extraordinary gifts of the Spirit had been conferred upon the apostles, and other disciples, presently after Christ's ascension, and these had been frequently communicated since upon certain occasions; and he inquires whether they had received these; whether they had had that seal of the truth of Christ's doctrine in themselves. Observe, reader, although we have now no reason to expect any such extraordinary gifts as were given then, the canon of the New Testament having been long since completed and ratified, and it being our duty to depend upon that as the most sure word of prophecy; yet there are graces of the Spirit, given to all true believers, which are to them seals of the truth of their faith, and earnests of their future inheritance in their hearts, (2 Corinthians 1:22; 2 Corinthians 5:5; Ephesians 1:13,) and it concerns us all, who profess the Christian faith, seriously to inquire whether we have received these. The Holy Ghost is promised to all believers, who sincerely, earnestly, and importunately ask his influences, Luke 11:13. But many are deceived in this matter, and think they have received the Holy Ghost, when really they have not. As there are pretenders to the gifts of the Spirit, so there are to his graces and comforts. We should therefore strictly examine ourselves on this subject; and inquire whether we have received the Holy Ghost since we believed? The tree is known by its fruits. Do we bring forth the fruits of the Spirit, love, joy, peace, &c., all goodness, righteousness, and truth. Are we led by the Spirit? Do we live and walk in the Spirit? Do we experience his renovating power, and are we under his government? See Galatians 5:22; Galatians 5:25; Ephesians 5:9; Romans 8:14; Titus 3:5. We have not so much as heard whether there be any Holy Ghost — They had heard and knew that the Holy Ghost was promised in the Old Testament, to be given in the days of the Messiah, and they did not doubt that that promise would be fulfilled in its season; but they had been so much out of the way of receiving information in this matter, that they had not yet heard that the Holy Ghost had actually been communicated to any, especially in his extraordinary gifts. It is probable that they were Hellenist Jews, natives of a remote country, who, having been in Judea (perhaps attending some of the feasts at Jerusalem) upward of twenty years since, had heard John preach, and had received his doctrine concerning the Messiah; but, having returned to their own country, had not been made acquainted with the effusion of the Holy Spirit on the day of pentecost, and with the progress of Christianity since that period. And he said, Unto what were ye baptized? — Into what dispensation? to the sealing of what doctrine? It seems, those who were baptized by the apostles, commonly received the extraordinary gifts of the Holy Spirit. They said to him, Unto John's baptism — We were baptized by John, and believe what he taught. Then said Paul, John verily baptized with the baptism of repentance — John called sinners to repentance, to prepare the way of the Lord, and admitted the penitent to the baptism of water, saying, that they should believe on him that should come after — That is, the whole baptism and preaching of John pointed at Christ. After this John is mentioned no more in the New Testament. When they heard this — Their hearts were so impressed with it, that they readily complied with the direction and advice of the apostle, and were baptized in the name of the Lord Jesus — So that they were baptized twice, but not in the same manner, or with the same baptism; John did not baptize in the manner Christ afterward commanded, that is, in the name of the Father, of the Son, and of the Holy Ghost. And — After their baptism; Paul laying his hands on them, the Holy Ghost came upon them; and, as a proof of it, they spake with tongues and prophesied. These brethren being the first in Ephesus who received the Holy Ghost in his extraordinary gifts, it is probable the apostle afterward ordained, at least, some of them, elders of that church. If so, they may have been among those elders of Ephesus who came to Miletus, and received from Paul the pathetic exhortation recorded Acts 20:18-35.
Verses 8-10
Acts 19:8-10. And he went into the synagogue — As he used to do in other places; and spake boldly — Greek, επαρρησιαζετο, he spake with freedom and confidence; for the space of three months, disputing — Greek, διαλεγομενος, reasoning, or discoursing; and persuading, &c. — That is, reasoning in proof of the things which concerned the gospel dispensation, and persuading the Jews to believe these things. But when divers were hardened, and believed not — But still continued in their infidelity and rebellion, perceiving, probably, the drift of his discourses to be, that men were justified by faith in Christ and his gospel, without obeying the law of Moses; and spake evil of that way — The Christian way of worshipping God; before the multitude — The people in the synagogue; representing it as utterly subversive of the revelation made by Moses and the prophets; he departed from them — Leaving them and their synagogue to themselves; and separated the disciples — From the Jews, whom he found to be incorrigible; and discoursing in the school of one Tyrannus — Who was either himself converted, or let his school to the apostle for hire to preach in. In this school, which we do not find was any otherwise consecrated than by preaching the gospel there, Paul discoursed daily, and not on the sabbaths only. And this continued — This was done by Paul, and was his daily practice, for the space of two years, so that all they which dwelt in the proconsular Asia — That is, all the inhabitants of the country who desired it; heard the word of the Lord — Though for some peculiar reason he had been forbidden to preach it there in his former journey, chap. Acts 16:6; both Jews and Greeks — It seem, the fame of the apostle's doctrine and miracles brought multitudes to Ephesus from distant parts; and these, by what they heard and saw, being converted, preached the gospel when they returned to their own cities, and founded those churches which the apostle tells the Colossians, (Colossians 2:1,) had not seen his face in the flesh.
Verse 11-12
Acts 19:11-12. And God — To add the greater efficacy and success to this important doctrine; wrought special miracles by the hands of Paul — Who, as he abode longer at Ephesus than at any other city we read of, so he wrought more and greater miracles than in any other. So that from his body were brought unto the sick handkerchiefs, or aprons — Greek, σουδαρια η σιμικινθια, sudaria vel semicinctia. These two words, originally Latin, have been differently rendered, but the etymology of the first plainly determines it to signify pieces of linen with which they wiped the sweat from their faces, and the latter word signifies things round their waists, doubtless girdles or sashes. Aprons made no part of the ordinary dress of the Greeks; yet they might possibly be occasionally used, both by men and women, to preserve their clothes clean, while they were engaged in some particular kind of work. Dr. Macknight thinks, that these handkerchiefs and aprons belonged to the sick, from whom they were brought to touch Paul's body, and then taken back to them, when they had the effect here mentioned. And the diseases departed from them, and the evil spirits — Which occasioned many of these diseases, though they might appear purely natural; went out of them — In this respect Paul was equal to Peter, whose shadow, as he passed by, overshadowing the sick, who were laid on couches in the streets of Jerusalem, cured them of their distempers, Acts 5:15. Hence we may infer, that it was in a great measure owing to the multitude and greatness of Paul's miracles, that so many of the inhabitants of Ephesus, and of the province of Asia, embraced the gospel.
Verses 13-16
Acts 19:13-16. Then certain of the vagabond Jews, exorcists — Dr. Whitby, and several other critics, have produced many passages from Irenæus, Origen, Epiphanius, and Josephus, to prove that several of the Jews, about this time, pretended to a power of casting out devils, particularly by some arts or charms derived from Solomon. These men are called vagabond Jews, and exorcists, because they strolled through the countries of the Lesser Asia, practising that magic which was in such vogue among the heathen. But when they came to Ephesus, hearing of the wonderful things which Paul performed in the name of Jesus, and, perhaps, seeing some of them, they took upon them to call over them which had evil spirits, the name of the Lord Jesus — Vain undertaking! Satan laughs at all those who attempt to expel him, either out of the bodies or souls of men, except by divine faith. Saying, We adjure you by Jesus whom Paul preacheth — They do not say whom we believe in, or depend upon, or have authority from; but whom Paul preacheth — As if they had said, We will try what that name will do. The exorcists in the Roman Church, who pretend to cast the devil out of melancholy people, by spells and charms which they understand not, and for which they have not any divine warrant, and, therefore, cannot use them in faith, are the followers of these vagabond Jews. There were seven sons of one Sceva — A Jewish chief priest, who did this, desirous of the honour or profit which they thought would redound from such cures, and imagining there was some secret charm in the name of Jesus, to which these infernal agents would submit. But the evil spirit — Contemning their adjuration; answered, Jesus I know, and Paul I know — I know the authority and power of Jesus and Paul, and am ready to obey them; but who are ye? — What power have you to command us in his name? Or, who gave you any such power? And the man, in whom the evil spirit was, leaped, or sprung, on them, and overcame them — To such a degree, as to tear off their clothes from their backs, and beat them with great violence; so that they fled out of the house — In which they had attempted the cure; naked and wounded — And became public spectacles of scorn and derision, in a city where these things were peculiarly regarded. This is written for a warning to all those who name the name of Christ, but do not depart from iniquity. The same enemy, that overcomes them with his temptations, will overcome them with his terrors, and their adjuring him in Christ's name to let them alone, will be no security to them. If we resist the devil by a true and lively faith in Christ, he will flee from us; but if we think to resist him by the bare using of Christ's name, or any part of his word, as a spell or charm, or by merely professing his religion, he will prevail against us.
Acts 19:17-20. And this — Acknowledgment of the divine authority of Jesus and Paul, made in the absence of both; or this fact, concerning the possessed man, thus prevailing against the sons of Sceva; was known to all the Jews and Greeks dwelling in Ephesus — And became, doubtless, the common subject of conversation; and fear fell on them all — For in this instance they saw a striking proof of the malice of the devil, whom they served, and of the power of Christ, whom they opposed; and both were awful considerations. They saw that the name of Christ was not to be trifled with, or taken into their mouths rashly, nor his religion confounded with the pagan superstitions. Hence his name, by which his faithful servants cast out devils and cured diseases, without any resistance, was the more magnified — For now it appeared to be a name above every name. And many — Who had formerly been professors of unwarrantable arts, but who now believed — Being strongly impressed by what had happened, and struck with the power of the evil spirit over the sons of Sceva; came — To Paul, of their own accord; and confessed — That they had attempted to cure diseased persons by charms and other magical practices; and showed their deeds — The devices by which they had deceived the multitude; or made a public declaration of their unlawful practices. Many of them also, who used these curious arts — Magical arts, to which that soft appellation was given by those that practised them, now firmly believing the gospel; brought their books — In which the different forms of incantation for different diseases were prescribed, the method of making these incantations was showed, the herbs and other medicines to be used with these incantations were pointed out, and the seasons for using them were fixed. And burned them before all men — Who were present; and — A great many of them being judged of high value in that place; they counted the price of them, and found it fifty thousand pieces of silver — If these be taken for Jewish shekels, and valued at three shillings each, (which are the principles of Dr. Benson's computation,) the sum will amount to seven thousand five hundred pounds sterling; or, setting it at two shillings and sixpence, to six thousand two hundred and fifty pounds. Nevertheless, the owners of them made a willing sacrifice of them to truth and piety; because the arts themselves being unlawful, it was not fit that the books which taught them should be in the possession of any person whatever. So mightily grew the word of God and prevailed — So remarkable was the triumph of the gospel over all considerations of honour or interest that could be opposed to it on this, or on any other occasion.
Acts 19:21-22. After these things, &c. — After the extraordinary cures performed, and conversions made, at Ephesus, which have been mentioned above, Paul, being much concerned about the spiritual welfare of his former converts, and very solicitous to promote the progress of the gospel; purposed in spirit διελθων, having passed through Macedonia and Achaia — Where he had planted so many flourishing churches some time ago; to go to Jerusalem, saying, After I have been there, I must also see Rome — That I may bear my testimony to the gospel in that metropolis of the world. "Paul sought not to rest, but pressed on, as if he had yet done nothing. He is already possessed of Ephesus and Asia. He purposes for Macedonia and Achaia. He has his eye upon Jerusalem; then upon Rome; afterward on Spain, Romans 15:26. No Cesar, no Alexander the Great, no other hero, comes up to the magnanimity of this little Benjamite. Faith, and love to God and man, have enlarged his heart even as the sand of the sea." — Bengelius. Providence, accordingly, brought Paul to Rome, though in a manner different from that in which he had expected to visit it. So he sent Timotheus and Erastus into Macedonia — To give the churches notice of his intending to visit them, and to get their collection ready for the poor Christians in Judea. And soon after, he wrote his first epistle to the Corinthians, designing to follow it himself, as appears, 1 Corinthians 4:17-19. For the present, however, he himself stayed in Asia — In the country about Ephesus, founding churches and instructing the new converts.
Acts 19:23-27. The same time there arose no small stir — ταραχος ουκ ολιγος, no small tumult, about that way — The way of worshipping God, and securing a happy immortality, which Paul taught. For Demetrius, a silversmith — A man of considerable influence; who made silver shrines for Diana — Greek, ναους αργυρους αρτεμιδος, literally, silver temples of Diana; that is, silver models, or representations in miniature, of the temple of Diana, and of the image which, as they said, fell down from Jupiter. The tabernacles of Moloch, mentioned Acts 7:43, which the Israelites carried about in the wilderness, seem to have been things of the same kind with Diana's shrines. See Hammond and Whitby. These little temples, or shrines, were in great request, not only in Ephesus, but in other parts of Asia, as being curious and beautiful ornaments, and used for idolatrous purposes. And in this business, it appears, Demetrius employed a great number of workmen, much to their advantage as well as his own. But, perceiving there would be an end of the trade if Paul's doctrine were suffered to spread, he called together — Those whom he employed; with the workmen of like occupation — Employed by others; and said, Sirs, ye know that by this craft — This manufacture of silver shrines; we have our wealth — Not only our subsistence, but riches, and, therefore, on no account must we suffer this craft to grow into contempt. It is natural for men to be jealous for that, whether right or wrong, by which they get their wealth: and many have, for this reason alone, set themselves against the gospel of Christ, because it calls men off from those employments which are unlawful, how much wealth soever is gotten by them. Moreover, ye see and hear — That is, ye see what is done in Ephesus, and ye have information of the state of things in other places; that this Paul hath persuaded much people — Greek, ου μονον εφεσου, αλλα σχεδον πασης της ασιας, not only of Ephesus, but of all Asia; and turned them away — From the established religion; saying, that they be no gods which are made with hands — And could any truth be more plain and self- evident than this affirmed by Paul? or any reasoning more cogent and convincing than that of the prophet, The workmen made it, therefore it is not god? The first and most genuine notion that we have of God is, that he has his being of himself, and depends upon none; but that all things have their being from him, and their dependance on him: from which it must follow, that those are no gods which are the creatures of men's fancy, and the work of men's hands; and yet, what is here said manifestly shows that the contrary opinion did in those ages generally prevail, namely, that there was a real divinity in the images of their supposed deities; though some of the latter heathen have spoken of them just as the Papists do now. So that not only our craft is in danger to be set at naught — To come into disgrace and be ruined, which must be the necessary consequence of Paul's success; but also that the temple of the great goddess Diana should be despised — No wonder a discourse should make a deep impression, which was edged both by interest and superstition; and her magnificence, or majesty, destroyed — Miserable majesty, which was capable of being thus destroyed! Whom all Asia and the world — That is, the Roman empire; worshippeth — Although under a great variety of titles and characters, as the goddess of hunting, of travelling, child-birth, enchantments, &c.; as Luna, Hecate, Lucina, Proserpine, and so on. Under one or other of which views, she had, undoubtedly, a vast number of votaries. Her temple, raised at the expense of all Asia, was two hundred and twenty years in building, and was four hundred and twenty-five feet long, two hundred and twenty broad, and supported by one hundred and twenty-seven marble pillars, erected by so many kings. It was also adorned with many most beautiful statues, and was considered as one of the seven wonders of the world. It was burned down on the day on which Socrates was poisoned; then again on the night when Alexander the Great was born, by Erostratus, purely that he might be remembered in after ages; and destroyed the last time in the reign of Constantine, pursuant to the edict of that emperor, commanding all the heathen temples to be demolished.
Acts 19:28-29. And when they heard, &c., they were full of wrath — The inflammatory speech of Demetrius, addressed to the superstition and avarice of the multitude, immediately produced the desired effect; the craftsmen, and all who were employed about the temple, were exasperated to the highest degree: and, enraged to think that both their trade and their religion were in danger, they ran about the city; and cried out, with great violence, Great is Diana of the Ephesians — Elsner has shown how frequently this epithet of great was given by the heathen to Jupiter, Diana, and others of their superior deities. And the whole city was filled with confusion — The common and natural effect of an intemperate zeal for a false religion; they rushed with one accord — Demetrius and his company, with the multitude that was gathered about them; into the theatre —
Where criminals were wont to be thrown to the wild beasts; dragging with them Gaius and Aristarchus — When they could not find Paul. Probably, they hoped to oblige them to fight with the wild beasts, as some think Paul had done before.
Acts 19:30-32. When Paul would have entered in to the people — Being above all fear, to plead the cause of his companions, and prove they were not gods which were made with hands; the disciples suffered him not — Because, if he had gone in, there would have been no possibility of restraining the multitude. And certain of the chief of Asia — Greek, των ασιαρχων, of the Asiarchs, or principal officers of Asia, probably priests of Diana, who presided over the public games, which, it is thought, they were then celebrating in her honour; who were his friends — Not converts to Christianity, or his disciples, which they could not have been, and yet have remained Diana's priests; but friendly to him, as an ingenuous, benevolent man. For, although they derived both dignity and profit from the established idolatry, yet their love of order, and attachment to good morals, led them to befriend Paul on this occasion; sent, desiring that he would not adventure himself into the theatre — Since the rage of the people was such, that it would have been with the utmost hazard of his life. Some therefore — As they stood together in the theatre; cried one thing, and some another — According as their passions influenced them, or as the zeal of others prompted them. For the greater part knew not wherefore they were come together — Which is commonly the case in such an assembly.
Acts 19:33-34. And they — Namely, the artificers and workmen; drew — Greek, προεβιβασαν, thrust forward; Alexander — Probably some well- known Christian whom they saw in the crowd; the Jews — Whom he had offended by embracing the gospel; pushing him forward — To expose him to the enraged multitude, as one who was active in destroying the established religion. And Alexander, beckoning with his hand — In token of desiring silence; would have made a defence — For himself and his brethren. But, when they knew he was a Jew — And consequently an enemy to their religion and the worship of images, they would not suffer him to speak; but all with one voice (the whole multitude uniting as one man) vociferated, Great is Diana of the Ephesians — This was all the cry for two hours together; and it was thought a sufficient confutation of Paul's doctrine, that they are no gods which are made with hands! and thus the most sacred truths are often run down with nothing else but noise and clamour and popular fury! It was said of old, (Jeremiah 50:38,) concerning idolaters, that they were mad upon their idols; and here is an instance of it: Diana made the Ephesians great, for the town was enriched by the vast concourse of people from all parts to her temple there, and therefore they are concerned, by all means possible, to keep up her sinking reputation, and hope to do it effectually with, Great is Diana of the Ephesians!
Acts 19:35-41. And when the town-clerk — Greek, ο γραμματευς, the scribe; probably the proconsul's secretary, to whom the direction of the affairs of the city was committed; had appeased the people — So far as to produce a degree of silence, the rioters, by their violent outcries so long continued, having spent their rage; he said, What man is there in the world, that has any intelligence of things at all, that knoweth not that the city of the Ephesians is a worshipper — Greek, νεωκορον, the temple-keeper, of the great goddess Diana — The expression is compounded of words which, taken together, signify to sweep or clean a temple, being used of a priest or priestess, or other person, whose business it was to look after the temple of any god or goddess, and see that it was not only kept in good repair, but also neat and clean, and beautified in a proper manner. This title was given also to those cities which had the care of the games celebrated in honour of any god or goddess. And of the image which fell down from Jupiter — They believed that very image of Diana, which stood in their temple, fell down from Jupiter in heaven. Perhaps this town-clerk, or secretary, designed to intimate that this image, as falling down from Jupiter, was not made with hands, and so was not of that sort of idols which Paul had said were no gods. Seeing then these things cannot be denied — But are plainly incontestable; ye ought to be quiet — Gentle in your proceedings; and to do nothing rashly — By which you may run yourselves into vast inconveniences and dangers before you are aware. In this speech, the secretary took hold of the multitude by their prejudices; for without speaking any thing concerning Paul's doctrine, that images made with hands were no gods, he desired the Ephesians to consider that their privileges, as keepers of the temple of Diana, and of her heaven-descended image, were so universally acknowledged, that there was no danger of their losing that honour through any thing Paul had spoken. For ye have brought these men, Gaius and Aristarchus, hither, which are neither robbers of churches — Greek, ιεροσυλους, robbers of temples, or sacrilegious persons; nor yet blasphemers of your goddess — The apostles had simply preached the one God, and the vanity of idols in general. The secretary further told them, that the men whom they had brought into the theatre were not yet proved to be guilty of those crimes which they appeared to lay to their charge; because, though they might have spoken against the images made by the craftsmen, they had said nothing against the image which Jupiter had given them: and added, that if Demetrius and the craftsmen had these, or any other crimes, to lay to their charge, of which they could prove them guilty, there were deputies. — Roman proconsuls, to whom they might apply, as the proper judges in such cases; and the courts of law were open — Where the matters might be fairly tried. But if ye inquire any thing concerning other matters — If ye inquire whether the temple of Diana or her worship be in danger, or what persons or religions should be tolerated in the city, these are public matters, which should be determined in a lawful assembly — An assembly regularly appointed, and such as has authority to judge in religious and political affairs. For we are in danger to be called in question by the Romans for this day's uproar — Greek, εγκαλεισθαι στασεως, to be accused of sedition; there being no cause — No sufficient cause; whereby we may give an account of — May justify; this concourse — He wisely calls it by an inoffensive name. Fire, inundations, the sudden invasion of enemies, &c., might have excused a sudden concourse of people rushing together with some violence: but the secretary, with great propriety, observes that there was no such cause, nor any other adequate one, to be assigned in this instance. It must be observed, there was a Roman law which made it capital to raise a riot: Qui cœtum et concursum fecerit capite puniatur. And when he had thus spoken, he dismissed the assembly — And set Gaius and Aristarchus at liberty. The secretary's conduct on this occasion shows that he had a good opinion of the Christian preachers. We may therefore believe, that in preaching against the established worship, Paul and his assistants had spoken nothing against Diana in particular, though their doctrine struck at all the heathen deities in the general: and even that in speaking against the established idolatry, they had used a becoming decency of language. The secretary, therefore, observing their prudence, entertained a good opinion of the cause they were engaged in.
Benson, Joseph. "Commentary on Acts 19:4". Joseph Benson's Commentary. http://odl.studylight.org/commentaries/rbc/acts-19.html. 1857.
Search This Commentary
Enter query in the box below