husband, dad, steelers fan and software engineer

May 23, 2013

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.

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.

Apr 14, 2013

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.

The other day someone on StackOverflow asked how to integrate jGrowl into a Chrome extension.  They had a pretty good start, but missed some important details.  I've uploaded a complete working Chrome extension with jGrowl to Github as part of my response to the question.

The question can be found here: http://stackoverflow.com/questions/15870797/jgrowl-issue-in-chrome-extension

The GitHub repository with the example implementation can be found here: https://github.com/stanlemon/jgrowl-chrome-ext