Archive | April, 2008

Continuous Learning Curve: Javascript

I’ve avoided spending too much time delving into Javascript. My four-year switch from Windows-uber-alles (including VFP, VSS, SQL Server, Ingres, Oracle, HTML, OLE, ODBC, SCC, COM, XML, MCSE, MCSD, XSLT, DCOM, RSS, MS Office, Exchange, MAPI Bad, SMTP Good, MVP and more acronyms!) to Linux-Apache-MySQL-Postgres-PHP-Python-Ruby, not to mention XHTML, CSS, bash, Smarty, Django, TWiki, dojo, et al had kept me busy enough. But a new client assignment needs a highly-interactive web site and dropping in great big globs of someone else’s Javascript is not going to solve all the problems; at a minimum, I’ve got to be able to read it, debug it and tune it for the client’s particular needs.

Did you know that a limited version of Safari, the O’Reilly online library, is included with a membership to the Association of Computing Machinery? I’ve been an ACM member for years and been meaning to get around to trying this out. My Javascript studies seemed the perfect occasion. I’m reading Shelley Power’s Learning Javascript online and getting quite a bit out of it. I love when you settle down with a book and start going “Oh, is that what that meant?” or “Now I get it!”

Notes from PySIG, 24-April-2008: Questions, Answers, Brownies!

Eight attendees had a great time last night eating all of Janet’s brownies, cookies, cupcakes and Ray’s milk while discussing Python, news, questions, life, the universe and everything. The April meeting of the Python Special Interest Group of the Greater New Hampshire Linux User Group took place as usual on the fourth Thursday of the month at the Amoskeag Business Incubator in Manchester.

Shawn K. O’Shea took some great notes with links to dozens of the topics on his blog at: (what a cool domain, eh?)

Thanks to Bill and Alex for arranging the meeting, to Janet for the awesome confections, to Ray for bringing the milk, to the ABI for the great facilities and to all for attending and participating!

MerriLUG Notes, 17-April-2008: Dan Walsh & SELinux

Eleven people attended the April meeting of MerriLUG, the Merrimack Valley chapter of the Greater New Hampshire Linux User Group. Heather called the meeting to order at 7:30 PM, noted the that attendees were pretty much The Usual Suspects, and dispensed with the long-winded announcements for new members. will tell you all you want to know.

Dan Walsh was the main presenter tonight. Dan had a very special visit from the Demo Gods, just before he was to start. His hard drive decided that his boot partition wasn’t. Never heard of ext3. Ouch. Ever the good showman, he borrowed my laptop, downloaded his presentations from the web, and put on a great show.

Dan mentioned that he’d lost his previous laptop during his recent tour in Europe when it was stolen and that maintaining your home directory encrypted was a Good Idea.

Dan reviewed the history of SELinux and the iterations we saw in Fedora 3 though 8 and RHEL 3 through 5 and what to expect in 9. He talked about the evolution of the policies, the different feature sets available, how the SELinux architecture can meet the stringent requirements of DoD level organizations (with bullet points like: “RHEL5: MSP Policy: EAL4+, LSPP, RBAC” – who wouldn’t be impressed?) to the Significant Others at home who really just want a machine to use the browser on.

Dan showed off the new kiosk policy, xguest, which was essentially a minimal-permissions user (no setuid, no executables in the home directory, no installation abilities, etc.) extended to run FireFox. Perfect when someone wants to borrow your machine for a second! In the default settings (installable in F8 or 9 with sudo yum install xguest), it creates a fairly ‘safe’ user that can’t do a lot of harm and whose directories are temporary RAM-based and vanish when the user logs out. (You can modify it to keep a persistent home to store cookies and bookmarks.) Ideal for a library or public kiosk situations. Yes, the evil minded boys in the room could come up with some work-around exploits, but this is a promising start!

Thanks to Dan for a great presentation under trying circumstances, to Heather and Jim for managing and promoting the meetings, to Martha’s Exchange for providing the facilities, and to all who attended and participated.

UPDATE: Dan’s posted an article to Red Hat Magazine, “Confining the user with SELinux” that covers a lot of material in the presentation, with more detail than my notes and links for further study.

Notes from NH Ruby group, 15-April-2008

Eight people attended the April meeting of the Ruby Special Interest Group,, held as usual on the second Tuesday of the month in the meeting room at RMC Research.

We lead the night off with a brief video on Passenger from, a new Apache module that host rails, like a mod_rails (not _ruby) module. Nick reported he’s been running it on one of his sites for a while and is pleased with the performance and the marked decrease in load. Having a mod_rails option available is likely to get hosting companies offering fractional horsepower shared virtual machines to be able to host Rails apps, bringing Rails onto the $7-a-month commodity hosting sites. Cool!

I asked for recommendations on the right way of parsing incoming XML and SOAP packets and was referred to Hpricot and soap4r. Another attendee asked for recommendations on Content Management Systems. Nick mentioned Radiant (which we got to see later in the presentation). comatose and railfrog. We got into a couple discussions during the evening on the stability and applicability of Ruby and Rails for many situations, citing high traffic web sites and the several runtime engines/VMs like JRuby in which Ruby code can run.

Finally, we arrived a the Live Hacking session where we got to watch Scott and then Nick show how to add new functionality to an existing app. Actually getting to see another craftsman at work brings out all sorts of good questions. Scott added chronic to his To-Do application. Chronic is a “natural language datetime parser,” according to the web site, and Scott showed how it could easily be integrated into an existing app, and accept values like “Next Tuesday” or “Thursday last week” and return sane datetime values. We also looked at what would be involved and set up a unit test to check our changes.

Nick showed us a little more of the Radiant application, and his work on making the Radiant CMS support multiple sites. The source he’s working on is stored at, and the networking graph is a thing to behold. Nick spent a little time getting us familiar with the different philosophy of git (branching is inexpensive, merging is very smart, branches can interact in many ways including pushing to and pulling from each other) and then grabbed the most recent code and hopped right into to refactor a code snippet that was an inelegant hack using a deprecated technique into one that was more proper, running our unit tests before and after to confirm the refactoring didn’t break anything.

An excellent evening as usual! Thanks to all for their attendance and participation, to Scott and Nick for organizing, announcing and presenting, and to RMC Research for providing the nice facilities.

Notes from MonadLUG, 10-April-2008: Guy Pardoe and Joomla

Sixteen people were present for the April Meeting of MonadLUG, the Monadnock Area Linux User Group meeting, held as usual on the second Thursday of the month at the School Administrative Unit #1 main office off Hancock Road in Peterborough.

As is usual with most LUG meetings, we spent the standard ten minutes wrestling with monitor settings for the cool new projector. We couldn’t do better than 640 x 480 so Guy was a trooper and persevered through the presentation at teeny resolution. Ouch. We’ll have to do some research to figure out how to get this new projector system to rock and roll.

Guy reminisced about his last presentation, (February last year) where he had talked about the new version of Joomla, which was due Real Soon Now and how he had promised to be back when it was released. In April of 2008, he was back to report that 1.5 is released, and the wait was worthwhile. In fact, version 1.5.2 is out now.

There was a discussion of the many new content management systems – Drupal is another one that’s received a lot of attention. Guy had also heard another one – ModX ( that he hears all the cool kids are playing with.

Guy talked about how the web grew up in a table driven layout just to get positioning right, and that as css came along, that was prefered. Joomla templates are nearly always 100% CSS and valid HTML with few or no tables, and how there’s a lot of advantages from better accessibility, easier localization, better search engine optimization and fewer cavities.

As part of his presentation, Guy downloaded the .zip from the web site, un-zipped the package, copied to an install directory, ran the installation (a pre-flight check, verified versions, etc.) and he was up and running (Joomla reminded to remove installation). Members noted that Guy showed them things about file management using the GNOME file manager that no one had bothered to try, since they would have all done it from a shell. Guy didn’t apologize for being a Windows refugee. There’s more than one way…

Guy talked about the first presentation of Joomla we saw, from Barrie North on 7 September 2006 at DLSLUG. Barrie has recently published a book, which Guy had with him and praised.

Guy gave us tour of the interface, both the public presentation and the administrative interface. Built-in default templates are pretty slick. The setup wizard was quite graceful. And addons and replacement templates seem to be available in huge quantities (Ted: downloading code off the internet and installing it to run on your computers without inspecting and understanding the code is a Bad Idea. Use only trustworthy sites and review what you get.)

Finally, Guy showed off a site he is developing for a client at Bristol Elder Care and talked about what was involved in getting the site up and running.

Thanks to Guy for a great presentation, to Charlie for organizing the meeting, to Ken and the SAU for the great facilities.

YA Javascript library: Ext

Sometimes I think the community of Javascript libraries is like a high school popularity contest, with crowds swarming one cool thing before dropping it and moving on to the next. In a project last year, we started with a little hand-coded JS to spice up the site a little bit, then started dipping into the bigger UI libraries of Dojo,, Prototype and more as the clients expectations went through the roof. I still have deep misgivings on making a web site work like a rich client application using HTML, CSS Javascript and/or AJAX. It’s still a web page, not an RIA, and concerns over web-scale scalability, responsiveness, variation in the client machine (six different browsers, JS on or off, Flash on/off, various readers for accessibility to the visually impaired, rendering on small devices, etc.) make rolling-your-own a fool’s mission.

We’d stabilized on a set of tools long enough for me to start to dig deep into its capabilities, when along comes a suggestion we look at Yet Another JS library, Ext. It is impressive at first glance, no doubt, and the demos have the requisite whiz, bang, oooh and aaah. But concerns over maturity, licensing, suitability to task, cost of retooling existing pages make it a questionable switch. At some time you have to commit, people. Live with what you’ve got or face the costs of serious rewrite. The tenets of RAD, XP and “Agile” as promoted by Scott Adams in DIlbert, not true practitioners, have given folks in charge the impression that they can just chase after the next shiny thing and follow the fashions without concern to the engineering implications of launching a world-class web site. Ah, well, my consultant friends tell me. This is why we get the big bucks.

Now I hear tell jQuery is where its at…

Check out NetVibes!

In searching for Prototype Windows and related JavaScript libraries to let us create portlets for a portal, we’ve run into a couple of pretty impressive contestants. The most recent is NetVibes, which appears to be both the name of the web site (“Build your own portal!” “Share it with your friends!”) and the underlying libraries and Universal Widget API specification. Very slick web site, very slick GUI libraries!

CentraLUG notes, 7-April-2008: Coleman Kane and FOSS development for Windows

Eight people attended the April meeting of the Central New Hampshire Linux User Group, held as usual at the New Hampshire Technical Institute Library, Room 146, on the first Monday of the month (see below, we’re evicted until fall).

Coleman Kane was the main presenter, showing us how the MinGW and GNU binutils packages could be used to create a cross-compiling environment to create Windows-compatible binaries on Linux (or actually, starting from BSD in Coleman’s case). He had a great slide deck and example source and was able to push through 55 slides in 75 minutes in a comprehensible fashion. The pace was fast and furious as he covered all of the highlights, took questions from the audience, edited and compiled code, and switched the projector between his BSD box and a Windows machine to show the code running. Whew! Well done and very informative!

CentraLUG’s meetings will be on the road for the summer. The library will be closed for evenings during finals week (!) and the summer hours have the library closing at 6 PM until fall semester begins. “See you in … October!” We’ll be announcing the location for upcoming meetings Real Soon Now. You’ll want to see Ben Scott’s May presentation on “The Linux Server That Could: Setting up a Small Office Server.”

Thanks to Colman for his great presentation, to Bill Sconce for providing the nice projector, to the NHTI for providing the facilities, and to all who attended for their attention and participation.

Listening last week to… April 5, 2008

Backdating this post a bit, as I didn’t get it posted yesterday,…

In Fresh Ubuntu, Harlem and Peter lead off this week with a conversation with Michael Ramm about productivity and GTD in “Michael from Blackbelt Productivity.”

PyCon2007 had a good and a not-so-good set of audio recordings: “Python and wxPython for Experimental Economics” was quite interesting, though there wasn’t as much deep programming insights as an interesting diversion about experimental economics. “Iterators in Action” (slides) was a flop, though. The recording was in the back of an echoing hall, and cut off in a little less that twelve minutes. I’ll ping the organizers to find out if that can be resampled.

Clay Shirky talks to Moira Gunn on Tech Nation “Here Comes Everyone.” Clay did one of my favorite presentations of all times, audio available on IT Conversations and a white paper here. Clay’s got a new book out and he’s marking the rounds of the media. I heard him on “On the Media” last week.

Tim Spaulding talks with Jon Udell about LibraryThing. in Jon’s “Interviews with Innovators” series on IT Conversations. I mention LibraryThing two years ago on this blog, and have been a regular visitor to the site. They continue to come up with intriguing features and make browsing through the stacks a lot of fun.

Powered by WordPress. Designed by Woo Themes

This work by Ted Roche is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States.