I got back to Pittsburgh yesterday evening to find that jGrowl had received some loving over at WebAppers and DownloadSquad. I think this was because of the jQuery Twitter page. Anyhow, when people get interested in my work I get excited which in turn motivates me to work on things. I've dressed up some notifications with other styling here, including the use of Smoke.png from the MooTools Growl plugin and flora from jQuery UI.
What's been happening?
July 8th, 2008
Posted at 9:07pm by Stan
June 18th, 2008
Posted at 9:40pm by Stan
- Major League Baseball Players Association
- American League
- New Stadiums
- Free Agency
- Designated Hitters
- Maple bats
- Short fields
- Drugs, records and players who "do" both
- Instant Replays (Not yet... but it's coming!)
- Franchise moves (remember the Expos?)
June 18th, 2008
Posted at 7:14am by Stan
I'm very happy to announce the immediate release of jGrowl 1.1.0. jGrowl can be downloaded here
This latest release features the ability to create multiple container instances for jGrowl, allowing a developer to raise and create various notifications in various location on the user's screen. This functionality is accessible via jGrowl() on any normal jQuery selector, note that the selector should belong to the container which holds notifications. Additionally the core method in previous releases, $.jGrowl() has been altered to create a default container. This should maintain backwards compatibility for users of previous releases and additionally provides a quick setup route for using jGrowl.
The demo file has been extensively updated to demonstrate the multi-container aspect of jGrowl, as well as to introduce several minor new features. It is highly recommend that you consult this demo file for further usage information. This release is still fully compatible with Internet Explorer 6.
June 17th, 2008
Posted at 3:56pm by Stan
Who let the dogs out?!?!? If you hadn't seen the news yet, Firefox 3 (dogs = canidae, and so are foxes...) has been officially released. This is exciting news for all web warriors, regardless of operating system. While this fox doesn't quite match up to it's brethren, Safari and Opera in terms of CSS3 compatibility and general web rendering features, it is a huge leap forward for operating system performance and optimization. If you're a Mac user you may remember the 1.5 days, where you could go make a pot of coffee while Firefox was starting up. Firefox 2 was better, but still not where Mac users expect their applications to be. Some of us, for a time, used Camino but that's nothing more then a joke... Firefox 3 is a pleasant surprise for Mac folk, who will notice considerably improved load times and Aqua features we simply expect from real mac applications. I highly recommend downloading this new release if you haven't already.
Disclaimer: I still strongly support the adoption of Safari 3.1 and would still recommend it's use over above Firefox 3 due to it's early adoption of new web technologies and overall integration with the OS X world.
June 14th, 2008
Posted at 12:03am by Stan
I thought some people might be interested in seeing a preview of the progress I've recently made on the Lutheran Lectionary Project. Below you can find a screen shot. Right now I have the new layout done and all of the Sundays and Week day readings working. What I don't have are all of the festival days and the ability to switch between translations completed. These are much small hurdles that just require some time cranking out structures for the new data storage.

If you're interested in the Lutheran Lectionary Project and want to help support getting it back online (and keeping it there), please consider making a donation to help support this project, funds are needed to host the project and for normal maintenance costs.
June 13th, 2008
Posted at 5:01pm by Stan
I seem to be on a roll as of late with jGrowl... Today I spent some time working on supporting multiple instances. Hypothetically, someone may want to add more then one jGrowl container to their page, perhaps one in the top left corner and also one in bottom right. With version 1.0.4 this was not possible, jGrowl created a singular instance of itself and it could be docked in only one location. Not so anymore... In what will likely be the 1.1.0 release, slated sometime this weekend - you can have as many jGrowl containers and instances as you want and position them anywhere on the screen. The API has changed quite a bit due to this, but don't worry the old API is maintained through a wrapper method. I've expanded the demo file to demonstrate some of the new possibilities, and I'll update the projects and plugin page as soon as I have finalized testing. Stay tuned...
June 13th, 2008
Posted at 12:34am by Stan
I've just release jGrowl 1.0.4, this is a maintenance release that introduces full support for Internet Explorer 6 and thus making jGrowl compatible with all major web browsers. The download is available off of my projects page or at the jQuery Plugin page. If you're a user of jGrowl I strongly recommend upgrading to this release.
June 12th, 2008
Posted at 3:16pm by Stan
jGrowl support for IE6 right now stinks. It stems from two issues, the first is IE6's lack of support for "element > element" selectors in stylesheets. The jGrowl stylesheet uses this quite extensively for aligning styles to the nodes that it generates. The second is IE6's lack of support for the fixed position style. I've included some sketchy CSS hacks for IE6 in the past, but I also confess I haven't paid much attention to IE6 since my earliest release.
Today I spent some time chewing away at the IE6 issues, and I'm happy to say that I believe I'll have a new release (1.0.4) to roll out tomorrow that fully supports IE6. I continue to use CSS hacks, but this time ones that are a little more friendly and don't require Quirks Mode. I've also separated other browser's styles out using the > in selectors. Style rules that need to be applied to IE and everything else no longer have > in them. Finally, there's an IE6 class that is added to the jGrowl container by the actual plugin when the user is viewing the page in IE6. Additionally I've added the zoom fix for the deault opacity styles since jGrowl, as far as IE is concerned, has no layout.
This release should roll out tomorrow, I'll post an update here and the jQuery plugin page will have the new release as well. For serious users of jGrowl, I highly recommend this release since it opens up compatibility to a wider range of web users.
June 11th, 2008
Posted at 2:32pm by Stan
I rolled out a new version of my jGrowl plugin today. For those who aren't familiar with it, it's a jQuery plugin that generates unobtrusive user-land messages. I first created it for PageSite and it has since worked its way into just about everything I do these days. This latest release focuses on customization and also includes several bug fixes for the previous release.
May 17th, 2008
Posted at 12:00am by Stan
I've been spending any free time I have working on performance for HT's site. Over the last week with some increased traffic to the site and increased staff work for the conferences I've been noticing some serious lag. Benchmarking with Apache AB revealed how bad things were getting, and then with a little profiling love from APD I was able to identify exactly where things were going down hill.
It seems like every couple of months I find myself re-evaluating our framework and searching for bottlenecks. This time I was lead to MySQL in general, and the communication delay between PHP's MySQLi extension and the actual server. Probably 6+ months ago I implemented a caching layer into PageSite, we were still on a shared web host when I did this, so the joys of something like APC were out of my grasp. What I resorted to was a database table to store stuff in. In a single query all of the "cache" was loaded and then if changes were made things were saved when the object was destroyed at the end of execution. It worked well, I really can't complain... but there were better options available that weren't as slow as communicating with MySQL.
Welcome to APC, also known as the Alternative PHP Cache. It was designed to be a simpler solution to the problem that memcache solved, memory storage for PHP applications. Shared hosts don't use this extension for a variety of reasons, but now that HT is on a vded it makes it a possibility for ys. Thanks to APC's caching of includes, optimizing of *_once()'s and the memory storage, HT's site has sped up about 10+x from what it was last week when benchmarked by APC and I've seen execution times drop drastically on the server.
There are still some issues to be solved, including code optimization and better communication with MySQL. I'm always working to improve code performance, and as for the MySQL issue... well, I'm holding out for PHP 5.3, with the MySQL Native Driver (mysqlnd) which should cure most of my speed woes. In the meantime, if you're out there and have access to your install of PHP I highly recommend giving APC a spin, simple run pecl install apc from your command line (assuming you have PEAR installed) and you're good to go. Double props to the guys behind APC!