What's been happening?

September 1st, 2008

Posted at 10:47pm by Stan

I've been playing around with Google Gears on an application I work on in my spare time. That application is heavily driven by jQuery, and the decision to leverage Gears came with mixed emotions. In the developer's FAQ there's a pretty diagram which recommends utilizing a "data switch" between the user interaction and the subsequent process. I think this is Google's clever way of saying, make your application driver-driven! This makes sense and fits the design too...

Let's get hypothetical and say we have an interface for your hypothetical driver has two methods, one for reading and one for writing. In driver implementation A AJAX requests are fired off for reading and writing your data, however in driver implementation B we'll rely on locale storage - in this case, Gears. With jQuery you normally just write the act of reading or writing into the handlers, however that just doesn't cut it once you have alternative sources that those handlers need to deal with. One option is to simply test for which "driver" you need and use conditionals to get where you need to going. I like to look ahead though, and surmise that some day I may want to add support for Safari's HTML5 Database Implementation in addition to my online mode and my Gears support. Who knows too... if the application ever gets ported over to Adobe AIR we've added a fourth data source to the mix.

The point is we need to abstract this stuff out. One option is to simply test if you need a driver and then overwrite the handlers, first unbinding them and binding new ones in their place. But what do you do when you want to switch back? We can start encapsulating stuff in functions for binding all of these elements, but we wind up reusing a lot of code in the process. As best I can tell, right now there is one other option, and that's to create an object and have all of the event handlers reference that option for certain tasks. This object then can be dealt with as you're switching between states, but ultimately parallels a traditional driver-based design pattern. The down side to this is it suddenly doesn't look like unobtrusive javascript code (ie. jQuery).

I'm wrestling with what my alternatives to that final solution are... right now it doesn't seem like there are any. I confess I was tempted by Low Pro for jQuery, but suspect this will be limiting in the long run. I'm wondering if anyone else has any ideas? If so, drop me an e-mail I'd love to hear about them.

August 24th, 2008

Posted at 9:48pm by Stan

I was reminded the other day of cool a mashup of PHP, Phar and Sqlite can be. Hopefully you know what PHP is, but it's possible you haven't heard of Phar yet. Phar is a file format that can contain an entire application in a single file. It is available via the PEAR library through the PHP_Archive package. Think of Phar in terms similar to Jar for Java. It allows you to ship around an entirely functioning application in a single file that can be executed by the interpreter it was written for. Since Phar debuted as a PEAR library it's also been developed into a native extension via the Pecl repository, and I'm happy to report it will be moved into the core for PHP 5.3. Lastly there is Sqlite which beginning with version 5 of PHP has been bundled and embedded into its core. Currently you get the 2.x API via the native methods (sqlite_*()) and the 3.X API via PDO. In 5.3 this will change though, and you'll get access to 5.3 in the native methods as well, which is nothing short of wonderful.

[ read more ]

August 17th, 2008

Posted at 10:03pm by Stan

I have released jGrowl 1.1.1 this evening on the jQuery plugin page. This is a simple maintenance release fixing some minor issues that arose in 1.1.0. One new feature has been added, which is an optional setting to customize the content of the [ close all ] link for containers of multiple notifications. Additionally I have expanded the examples to include some more flashy skinning, and I have added a new example called jTweet. jTweet uses Twitter's javascript API to fetch twitter updates and generate several jGrowl notifications for them. The latest release can be downloaded here. All existing jGrowl users are encouraged to upgrade to this release.

August 17th, 2008

Posted at 5:26pm by Stan

I ran into an interesting problem last night that yielded little to no documentation when I searched Google. The problem involved Mail.app and my ability to search for messages. I'm a adamant user of MailTags, which is a plugin for Mail.app on Max OS X that adds tagging support to e-mail messgaes. MailTags is actually one of those few Shareware applications actually worth paying for. Well, I was trying to run a search for a MailTags keyword and nothing was coming up, but I knew there were messages tagged with that keyword. To make things weirder, when I went into the MailTags preferences and tried to "collect" tags and projects from my message index it would clear out my preference lists. Something was wrong, but I couldn't figure out what. Then I realized that searching "entire message" didn't work as well. At first I chalked this up to a bug in MailTags, but when I uninstalled MailTags I still couldn't search the body of messages. Well, it turns out that Mail.app's search methods utilize Spotlight, and MailTags also depends Spotlight's searching power. A couple of weeks ago I used Onyx to disable Spotlight entirely. See, I hardly ever use Spotlight... the truth of the matter is that I'm a QuickSilver fiend. I've been for awhile, and haven't had much use for Spotlight. I disabled Spotlight thinking it might save a small amount of processing power behind the scenes. I'm sure I was right, but whatever it saved me wound up being negligible in the long run. When I disabled Spotlight I essentially neutered Mail.app of it's search capabilities. Turning Spotlight back on and then reindexing my drive solved the problem, but it turns out this one of those areas where Onyx seems quirky. I suggest if you run into this problem turning to your terminal and entering this into the prompt:

sudo mdutil -i "/Volumes/Macintosh HD"
sudo mdutil -E "/Volumes/Macintosh HD"

In case you were wondering, mdutil is a "Utility to manage Spotlight indexes", and the first line using the "i" flag toggles the indexing on or off for the specified drive (BTW, substitute your drive's name in for "Macintosh HD" as necessary). That second line with the "E" flag erases any existing index and then begins rebuilding the index from scratch. That quick fix, and some time spent indexing solved all of my Mail.app search woes. So, if you are experiencing trouble with Mail.app searching, or any other app for that matter and may have tinkered with Spotlight or other system related settings, consider running the above commands and fixing your Spotlight indexing.

tags: mac, software

August 10th, 2008

Posted at 7:49pm by Stan

For those that didn't know... the Lutheran Lectionary Project is back, and for those that did... Today after work I finished up the importing of festivals as well as corrected a bunch of their parament colors and imported the last remaining scripture texts. In other words, take a look!

It's been a long time coming now that the project would return online. A lot has changed since it first appeared on the web, namely I've graduated from college, gotten married and moved to Pennsylvania with a real job and everything. That means I have a lot less time then I did five years ago, but lo and behold I've managed to squeeze some free time out to get the site back up. You'll notice, though, that the site looks a lot different. I've been working with a clean slate and trying to make the project as a whole more useful, hence the new look and layout. I'm very curious about feedback and suggestions, so if you have them please feel free to send them to me.

Lastly, this project as a whole is entirely a volunteer effort. In order to help me keep it up, both by maintenance and for server costs I'd like to encourage you to consider a donation to the project. Donations go toward deferring the monthly costs of a web server and bandwidth and are very much appreciated. You can use the PayPal button at the top of the sanctus.org to make donations today.

July 8th, 2008

Posted at 9:07pm by Stan

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.

June 18th, 2008

Posted at 9:40pm by Stan

  1. Major League Baseball Players Association
  2. American League
  3. New Stadiums
  4. Free Agency
  5. Designated Hitters
  6. Maple bats
  7. Short fields
  8. Drugs, records and players who "do" both
  9. Instant Replays (Not yet... but it's coming!)
  10. 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.

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.

Update 8/21/08: You can download jGrowl from it's jQuery plugin page at: http://plugins.jquery.com/project/jgrowl

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.

tags: mac, software

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.

1    |    2    |    3    |    4    »    [4]
Powered by BlogSCL3 0.4.0alpha