Archive | CSS

Notes from Python Special Interest Group, 20-Nov-2009

Eight people attended the Python Special Interest Group, held a week early to avoid the Thanksgiving holiday. Anticipate a reschedule December meeting as well.

Last night’s meeting was a vigorous and far-reaching discussion of MySQL, Oracle, the future of MySQL, Maria DB, automation using Python, automation using Visual FoxPro, Twisted, IE6, Zope, Plone, Django, MS SQL Server, pyodbc, SQLAlchemy, Cascading Style Sheets, IE6, FireFox and FireBug, User Agents, IE6, how not to insulate a bungalow roof, the (Python!) cssparse module (, Fortune’s selection of Steve Jobs as “CEO  of the Decade”, Lenovo netbooks and Ubuntu, the Millennium, why calendar years are one-based and not zero-based, distributed version control systems, master-slave and master-master replication using MySQL and Postgres, svn and git, and more! Whew! You should have been there!

Thanks to Bill for organizing the meeting, to all for attending and participating, and to the Amoskeag Business Incubator for providing the great facilities!

Stay tuned for an announcement of the December meeting, and hope everyone has a good Thanksgiving!

Notes from New Hampshire Ruby User Group, 25 June 2009: Pat Allen, Thinking Sphinx and Casey Rosenthal SASSiJS

Twelve people attended the June meeting of the New Hampshire Ruby / Rails User Group , held on the 4th Thursday of the month ( we usually meet on the 3rd Thursday) at RMC Research in Portsmouth (Thanks to RMC and to John for hosting the meeting!)

Nick Plante was our master of ceremonies. As is the custom, we made a round of introductions to find out the most of the folks were “from away.”

Pat Allen put on the first presentation, on Thinking Sphinx. Thinking Sphinx is a Ruby library (not just for Rails) that allows Ruby applications to work with the Sphinx full-text search engine. Pat presented a slightly shortened version of the presentation he gave at RailsConf, and the presentation was clear, engaging and interesting. Participants had lots of questions to ask on search technology, word stemming, project status, what it’s like to be a Freelancing God, what being the lead on a popular Open Source project is like, what’s a kilometer, and more, and Pat’s answers were insightful. Check out (pun intended) the source on github, the support on Google Groups and Pat’s guide to using Thinking Sphinx on Peepcode.

Pat also took a moment out to plug his upcoming Rails Camp, a not-going-to-make-a-profit weekend get-together in BarCamp/Unconference format for 30-ish people at Bryant Pond, Maine. It sounds like a great event and a nice location and a price that can’t be beat: $120 for 3-nights, 3-days food, lodging and conference. Get details and consider signing up at

Casey Rosenthal asked us, “What are style sheets for?” a number of times during his presentation, for good reason. Casey talked about SASS, Syntactically Awesome Style Sheets, a part of HAML and his reimplementation of SASS in Javascript, SASSiJS, sounds like “sausages” leading to all kinds of predictable jokes. But the topic was thoughtful, intriguing, interesting, and controversial. SASSiJS actually allows a .sass file to be downloaded as part of the HTML file, with similar syntax to a stylesheet link, and a JavaScript file that interprets the .sass file into CSS and applies it to the HTML document. Discussion was far-ranging and insightful: “What’s this good for?” “Would designers use this to make their CSS DRY?” View the source on GitHub at

Thanks to Pat and Casey for their great presentations, to Nick for organizing, and to John and RMC for the facilities.

Catching up…

It’s been busy, busy month, and blogging was one of many things put off. Now, it’s time to start catching up.

I had an awesome month of June. Working on my main client project, we released yet another update on 12 June. After that, I took two weeks “off” — at least away from billing — to do some professional upkeep.

I spent a few days studying and then took the two MySQL 5.0 Developer certification exams on Tuesday the 17th. I went to the Blended Solutions facility in the Mall of New Hampshire, adjoining the PSNH building on Elm Street in Manchester, NH, and took the two exams, back-to-back. The first exam was the simpler of the two. Reviewing all the questions a couple times, I was still done in under an hour. The second exam, though, was a bear! The material was the more advanced stuff, some of the questions were trickier, some of the topics were material I had only book knowledge on. I marked a bunch of questions for review, went back and filled in all the answers, reviewed and debated and over-thought a bunch of questions and then, with three minutes left, decided any answers I changed in a panic were more likely wrong than right, and stopped. I passed both exams with acceptable scores, but nothing I’d brag about. “What do they call the man who graduates at the bottom of his class in med school?” “Doctor.” So, I’m pleased to have the opportunity to establish my level of knowledge, flag a couple of areas I need to learn more about, earn a logo I can display as part of my marketing and gain a listing as a MySQL Enterprise Ready Partner.

Wednesday the 18th of June was the first day of the Red Hat Summit in Boston. I attended all three days, commuting from Contoocook to the Anderson Rail Center in Wilmington and taking public transportation from there. While it made for a lot of hours on the road, the savings over staying in town were significant (total parking and rail for the week: $84 for 6 days), and sleeping at home in my own bed very much appreciated. The Red Hat Summit was a fascinating event. I wasn’t that familiar with the corporate structure or the market focus of Red Hat and I got much better insights into who they are and what they do. Here’s a slew of links on what went on, Red Hat announcements, and links to presentations.

Parallel to the Red Hat Summit was the Fedora Users and Developers Conference, FUDCon10 for short, that shared the Hynes Auditorium facilities on Thursday and Friday, and met at the Photonics Center at Boston University on Saturday. Even though many Fedora participants are Red Hat employees, the tone and structures of the groups are dissimilar. I missed a lot of the last-minute organizational notes the FUDCon’ners put together to organize their HackFest, so I tended to attend the Red Hat sessions instead. In the future, I’m more likely to put more effort into the HackFest side of things. Saturday was a BarCamp, a one-day self-organized conference. As I noted at last year’s conference, the means of pitching sessions, voting, scheduling and running the show are put together on the fly, and the results are startlingly good. Having pretty much had my brain filled of tech at the Red Hat Summit, I chose instead to focus more on process sessions, and learned about bug triaging, web site usability issues, and Fedora structure. A great use of a day, and a great chance to attach faces to the name and shake a few hands.

Sunday was a day of rest for me, and a day of washing laundry for Laura. Thank you!

Monday found me back on the Commuter Rail, this time attending An Event Apart just across the street from the Prudential Center where the Summit had been. Two long days of sessions were focused on the web, primarily design and usability, very different aspects from the two previous conferences. Like the Red Hat Summit, this conference was a little outside my comfort zone, in this case, designers rather than developers. Jeffrey Zeldman puts on an incredible show; facilities were superb, speakers knowledgeable, swag cool. Eric Meyer is the authority in the field of CSS, and it was his sessions I got the most practical tools from, but all of the sessions were well-presented, informative and thought-provoking. Jared Spool of User Interface Engineering had a very funny and very insightful session on analyzing clickstreams for success that will have me restructuring some of my client’s web sites. All of the speakers had great observations on the state of the art and future directions. Great stuff! Several other people took great notes I can share with you.

Arriving back to work on Wednesday, there was no time to decompress; a day of meetings lead to a couple frantic days of shipping yet another release and picking up another couple of projects. Thirty billable hours later, my super-contractor did a high-five tag-team tag and was off on his own adventures, while I took over sheparding a release out the door on Friday with some new features, new team members, new procedures and new prototcols. Whew!

It’s been an exhausting three weeks, but an exhilarating time, too. Hope to blog more details as I catch up on all the other projects.

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 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.

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!

State of the Computer Book Market, Part 4 – The Languages – OReilly Radar

Over at O’Reilly, Mike Hendrickson posts State of the Computer Book Market, Part 4 – The Languages – OReilly Radar. Bear in mind in the world of lies, damned lies and statistics, these are statistics. Like measurements of job posting vs. languages, or web pages vs. languages, these aren’t an indication of what languages are in use out there, or what languages are suitable for use. This is just a measurement of what book titles sold the most, grouped roughly by language. If the best book on your favorite language is years old, it’s probably shown as small here. If a bunch of crappy books got published on the language-of-the-week, and the authors and publishers did a good job of getting a buzz going, it’s probably scoring high. Don’t use this to decide whether to use vi or emacs, tabs or spaces.

But it’s interesting data.

Popup panels on mouseover using only CSS

I found this elegant little hack the other day while browsing for something completely different. I see that the code has made the rounds, and appears on sites like and, but the credits seem only to lead to other marketing sites harvesting page views and hosting ads. A sample is available at and consists of a span tag defined as absolutely positioned and block-display, which in turn is inside an anchor tag set to position: relative. That means the block will “pop” at the location of the anchor and can display whatever text (or images or other content) is within the span. Spiffy!

Slide presentations: S5 and Google Present

I’ve mentioned and endorsed S5 (the Simple Standards-based Slide Show System, if memory serves) before, as a great way to write a presentation, and at the same time generate slides, handouts and the HTML to post it to the internet, all as the same set of documents. Creating a set of slides in S5 means I don’t have to worry if the machine at the presentation site has a ‘viewer’ as long as they can read standard XHTML and run Javascript. I can post it directly to my web site archive of shows, and carry it on a USB tab in case my laptop decides not to work.

Google has recently announced Google Present as part of their free Google Apps. It’s a pretty cool AJAXy interface familiar to anyone who’s worked with one the many slide programs. One killer feature is that it will import PowerPoint files, even some of the ugly old ones. You can publish them online as I’ve done here with a Y2K presentation from the dFPUG Conference. The import came over with pretty good fidelity, far better than the original HTML export that PowerPoint 9 attempted. So far, so good. But what happens if you’re planning on doing a presentation and can’t trust the internet will be available (important safety tip here, folks: you can’t trust the internet to be available. Murphy has a special place in his heart for presentations)? Even better news: Google Apps also lets you download a copy of this. It comes down as a ZIP file, handy to throw on a USB tab (you should save an unzipped copy, too) and put in a different bag than the one that holds your laptop. It unZIPs to an HTML file and a couple folders holding the CSS, JavaScript, images and supporting files to run the show and runs from a local disk. You could upload this version to your web site, too, and look what you get: a slick slideshow with slides, fonts and graphics that scale to size of the screen (essential when you discover the projector can only handle 800×600!) and redraw pretty snappily.

Finally, S5 has a competitor! This one looks promising.

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.