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.
I get asked a lot what I do for a living. I've responded in a variety ways, "I'm a developer", "I'm a software engineer", "I write web applications", "I'm an application architect", etc. Usually people respond by smiling, nodding their head and then professing that they have no idea what that means but they figure it's important. The truth is I'm not just a "developer" or an "architect". I do deal with a fair amount of architectural things, design related things and a myriad of operational things too. Tonight I realized one way in which I can illustrate what it is I do... Think of when you buy a new computer. You invest a lot of time in setting that new computer up. You transfer files from your old computer, you setup your email, install software, configure your software, etc. My job is to do all of those steps you take to setup your computer and do it in one step, the push of a button. So I spend part of my day trying to figure out how to setup the systems that your favorite web software runs on in a single step.
I get a fair number of emails about jGrowl each week. Two common requests are 1.) Can you include a compressed version? 2.) Do you have a CDN?
I used to ship a compressed version, but quite honestly I always forgot to update it so I wound up removing it. Plus, it never seemed like I was using the right one, as I was always getting suggestions to try a different compression process. Nonetheless I am willing to give this another shot, but with a specific purpose...
Normally on March 25th the church celebrates the Annunciation, when Mary is told that she will conceive and carry the Son of God in her womb. Typically this falls during Lent, which at first glance can seem odd, but then we remember a baby normally bakes for nine months, and nine months from now is Christmas... Well then it all adds up. Here's the thing though... This year Jesus is going to be premature when Christmas comes around. He's gonna bake about two weeks less this year because March 25th falls in the Monday of Holy Week. I'm told this would normally transfer the festival to after Holy Week, because nothing trumps Holy Week. But then there is the Octave of Easter and you can't do the Sunday after Easter because Sundays during the seasons of Easter are privileged. So the Monday one week after Easter becomes the day we celebrate the Annunciation. That's April 8th, the Monday of Quasimodo Geniti if you weren't tracking yet.
I've been trying to think of how to adjust the algorithm on Sanctus.org to make this happen and quite frankly I think I'm going to take a Mulligan. Transferring a festival one day, I can handle, but transferring it two weeks and across a month presents some challenges. Nonetheless, in full disclosure I wanted to make it known that if you're looking around for the Annunciation you won't find it on Sanctus.org this year. Never fear though, Higher Things has you covered with an awesome Reflection for the Annunciation.
MySQL is one of the most widely used database servers for web development. It's free, has a wide range of support and is easy to get up and going. Add to this native bindings in just about every language and you've got a pretty powerful databasing tool at your hands. Percona is a MySQL consulting company with a super-awesome distribution of MySQL tuned for performance. For the most part Percona packages should be a drop-in replacement with MySQL. When it comes to system administration tasks I like to throw Puppet at the problem, it makes it easier to replay the configuration down the road and I can track the configuration changes in git. But there's a problem when you change the package name for the defacto-standard Puppet MySQL module. The referencing of the service and the default pid file in the Percona distribution and subsequently the reload following install fails, as well as anything downstream of those items. This was unsatisfactory to me so I poked around to figure out a way to make this work, despite the bug in module. Below is a Puppet manifest with some hackey'ness if you're using Percona that will get it working and allow you to use the rest of the Puppet MySQL module without problems.