When a developer gets into the 'Zone' he tends to be blind to his surroundings. I can attest to having missed phone calls, meetings, and even meals while in my development nirvana. It's not a conscious decision, it’s more of a heightened focus that just comes and goes. When I personally get into the zone, I sometimes forget to pay attention to my posture. Sitting hunched over a desk pounding away at a keyboard for eight hours a day can really affect ones physical and mental well-being.
When most people think of PHP the first thing they think of is a scripting language to build web sites. And when most people think of building web sites they think of building web pages. However there is another very useful side of PHP: PHP via the command line, also known as PHP CLI. PHP CLI parses php files and executes them as programs, without ever invoking your Apache web server so they run with less overhead.
A site I like to read sometimes is The Setup. They interview someone for each article and ask him or her what they use to do their job. I’m not going to completely copy that format for this article; I’m not mentioning any hardware here, but I thought it would be useful to document how I have set up my environment for web development and mention useful apps I use. Perhaps you will come across something useful you haven’t heard of before.
I am going to keep the article short this week because in my opinion the answer is simple, Vagrant is in fact pretty rad, because once setup, it just simplifies the process. As a developer/designer/human thats exactly what I am looking for, a simple, reusable, scalable development environment.
Web applications come in a variety of sizes. Some are built for a small niche and target a few specific users, and others become giants with millions of users and terabytes of storage. This article isn’t for either of those two groups. But, if you launch a website and are lucky enough to slowly grow a user base you eventually fall somewhere between either of the types I mentioned earlier. You have several users using the site simultaneously but are probably still using one server with fairly limited resources.
“What is Vagrant?” is a question that I see come up often. I myself still have a difficult time putting vagrant to words. My best explanation is that vagrant is a simple piece of software which allows developers to quickly and easily create virtual reproducible environments which can be shared among various hosts. In tech speak vagrant is basically a hybrid of a config manager and a software wrapper. The config manager portion is what defines your basic virtual machine instructions and the wrapper handles the virtualization software integration.
In the course of building and maintaining our websites we often use the word "content" to describe what we create, but I think that that often sells us short. There is nothing wrong with the word of course, but over time the idea of content has become cliched to mean anything that can hold a audience, from a reality TV show, a BuzzFeed list, a YouTube Video, a story in a radio show/podcast, or an article on a website, and while the variety of sources isn't a bad thing, it unfortunately comes with the idea that it is consumable filler.