husband, dad, steelers fan and software engineer

If you don't read anything else, check out:

Symfony\ICU and CentOS

by Stan Lemon

I use CentOS for most of my development environments and I also use it in a number of production scenarios as well.  Where I don't use it I am most likely running something else RHEL based, like Amazon Linux over on AWS.  All of these distributions use an older version of the ICU library, 4.2 to be specific. Symfony has a component called ICU, which has a check for 4.4 or greater.  In my situation I don't need ICU, I just need composer to install it so I can move on with development. Running composer.phar install on the symfony-standard caused me problems with lib-ICU compatibility.  So what to do?

Well, this Pull Request provided me with a lot of helpful information in figuring out what to do.  The solution I went with was to change my composer.json and added this to it:

 "symfony/icu": "1.0.*@dev",

This will use an older version of the ICU library that doesn't necessitate an updated lib-ICU.  It's less then ideal, but it'll get composer.phar to install the standard edition packages so you can get to work.

s3cmd and GovCloud

by Stan Lemon

If you're using s3cmd to put files into an s3 bucket and need to do so into GovCloud you can, but you need to override the end point URL's used for s3.  I had a hard time finding documentation for this, so hopefully this saves someone sometime in the future.

s3cmd writes a configuration file, likely at ~/.s3cfg and in it are two options that you are not prompted for when going through the setup process, but are relevant when connecting to GovCloud.  Specifically 'host_base' and 'host_bucket' need to be changed from the default s3 end points, they need to be set like so:

host_base = s3-us-gov-west-1.amazonaws.com
host_bucket = %(bucket)s.s3-us-gov-west-1.amazonaws.com

Once these are set your GovCloud access key and secret should work.

The Demise of Posterous

by Stan Lemon

I have written elsewhere about my frustrations over the demise of Posterous. It's now three days away and I have received yet another email reminding me to get my content off their site. Fortunately this time Posterous has a plan and a tool to enable its users to vacate its system. The whole mess bums me out thought. While not a prolific blogger, I really enjoyed the service and found their original model of email-to-blog profoundly simple and elegant. The problem is Posterous was a service without a plan or stream of income.

As a developer you can build cool stuff, but without a way to pay for the commodities needed to run it you wind up operating at someone else's mercy. So when they get tired of their failed investment they either shut you down or sell you off, throwing the entire product you've been working on up in the air. In the case of Posterous, Twitter wanted awesome development talent. I get that. Having functioned on the hiring side of software development I can tell you inconclusively it is tough to find top notch developers. So it makes sense to me that rather than search for them Twitter would just buy them.

Unfortunately the fiscal irresponsibility of Posterous has left it's users in a lurch. I don't blame their CEO for selling, I blame him for starting the product in the first place. If I were him, making no money on my product, I would sell too. Why not? Better to sell then to fizzle away into irrelevance. People have to start thinking about this when they start a tech company. They need to develop with a business plan, not hope that one catches up to them later. Have a great idea for a start up? Awesome! Please don't build it until you can pay for it or at the very least know how you are going to pay for it.

The worst part of a closure like this is that it breeds distrust. What services can I put my information on without worrying about them closing up? Will said service hold my data hostage from me when they do shutdown? And what obligations does a company like Posterous have to my privacy once they have closed the door. These questions only cause me to hold my breath every time a new service pops up. Yeah, it may look cool - but is it worth the risk as a user? What this in turn does is hurt the legitimate business that has an awesome idea and a business plan. That to me is just sad.

jGrowl on cdnjs

by Stan Lemon

jGrowl is officially on cdnjs.  This means that if you want to use jGrowl you don't even have to download it anymore.  Simply add this code to your page and get started:


Looking for a full-fledged example, checkout:


Or click here to try it out on JS Bin right now!

Many thanks to the good folk at CloudFare for cdnjs!

As promised, with 100+ stargazers on GitHub I've submitted a pull request to cdnjs from CloudFare for jGrowl. Before doing so I made a minor release update to jGrowl. There are no functional changes in 1.2.12, however I did improve the README to include documentation on the various configuration options and I also added a compressed version of the library with a source map.  If you don't know what a source map is I suggest you google it, because they're pretty awesome.