Recently, I’ve been looking at various deployment strategies. I’ve spent a lot of my career doing some configuration management, mostly out of necessity where I’ve been the lead developer on a small team. Over the years, I’ve written several deployment scripts. For employers, they’ve always been built on top of SVN and Fabric. Since I didn’t want to use SVN for my personal projects but was familiar with Fabric, this morphed into a project called Fabox, which used Dropbox as a VCS, and Fabric as the CLI to deploy the code.
With the launch of Mountain Lion and after suffering a hard drive failure, I decided to investigate other options for my local development environment than using MAMP. MAMP has served me well over the years, but considering the number of visitors to my MAMP + Lion tutorials, it’s obviously not as easy to use as a LAMP server.
Virtual machines are great. I know many people that use commercial products like Parallels and VMWare Fusion to run Windows instances alongside their OS X environments.
You know you’re a nerd when you: 1. Have your own linux server 2. Name that server after a nerdy cultural icon like Doctor Who 3. Take the laborious process of updating your Ubuntu MOTD so that you can have awesome TARDIS ASCII art greet you whenever you SSH
And yes, that’s me.
Great article articulating what I’ve experienced recently.
Modern MVC web frameworks often involve a lot of boilerplate code just to support the primary client type of User Agents. This boilerplate code typically does little to help with supporting the other client types of Admin Processes and Unit Tests. As a result of the overhead introduced by this extra boilerplate code, developers often find themselves creating Fat Controllers (a side-effect of The MVC Paradox). Controllers take on too many responsibilities, both vertically and horizontally.
Today I ran into a problem where my PHP Application would throw this fatal error:
Fatal error: Exception thrown without a stack frame in Unknown on line 0
… After a few minutes I found the problem: I had a class that would save itself to the Session, and that class also had a __sleep method which is invoked on serialization.
I had a similar problem not too long ago.
Google warned several developers in recent months that if they continued to use other payment methods - such as PayPal, Zong and Boku - their apps would be removed from Android Market, now known as Google Play
» I’ve got conflicting feelings on this one. As a developer, I’ve encountered severe limitations dealing with Apple’s in-app offerings, especially as it relates to our subscription services. It’s been nice not having to worry about similar problems with Android, where we continue to use Paypal.
I was working on some personal projects the other day, and I wanted to add my code to version control. I’ve gotten so used to ensuring that my code is backed up (primarily using SVN) that it makes me nervous to only rely on Time Machine for my backups.
While I was investigating free/cheap SVN and git solutions (Github was not an option because I don’t want a public repo for this work), I realized that I had the perfect backup solution already: Dropbox.
Since I have started using Symfony2 on some projects I have been meaning to install the intl extension that Symfony recommends you install. I have tried several different methods, but believe that the one I listed below is easier and makes less of a mess than others. First, get the ICU libraries. Then expand them and build the library: tar xzvf icu4c-4_8_1_1-src.tgz cd icu/source ./runConfigureICU MacOSX make sudo make install