April 3, 2009

Continuous Integration Support for Wikis

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.

-- Continuous Integration, Martin Fowler

In a way, wikis have been using Continuous Integration (CI) since their inception: new content, configuration settings, and even plugins are always being added to wikis. Unfortunately, no wikis that I know of have any formal support for CI. In particular, I don't see any test suites that help wiki administrators and users detect and correct broken content, configuration problems, and/or dysfunctional plugin combinations. Perhaps it's time to resolve this deficiency.

Continue reading...

— posted by rdm, 23:18 PDT   [ Permalink | Comments (0) | TrackBack (0) ]

March 20, 2009

An indicator light for gas stovetops

Leaving a burner turned on after cooking has finished is wasteful of energy and unsafe, but it is also an easy mistake to make. A harried or forgetful cook might well turn off the lights and leave the kitchen, leaving a burner going for hours. For this reason, electric stovetops have indicator lights which glow when a burner is on.

However, gas stovetops have no such indicators. Adding one after the fact is likely to be difficult and might well be dangerous: modifying gas appliances is not a safe hobby for amateurs. Can we fashion a solution that is reliable, safe, convenient, etc?

Continue reading...

— posted by rdm, 02:56 PDT   [ Permalink | Comments (0) | TrackBack (0) ]

March 19, 2009

Video Resources for Rubyists

There are a slew of video resources available on the web, including the fabulous offerings at sites such as www.ted.com, www.poptech.org/popcasts, http://www.jaoo.dk, and mitworld.mit.edu/browse. I would strongly recommend taking a look at these, if you have a tuit or two...

However, these sites aren't focused on the interests of Ruby; so, here are some that are. Increasing the number of recorded talks is a win-win -- the community gets a record of the talks; the conference and presenter get publicity.

Continue reading...

— posted by rdm, 09:47 PDT in Computers , Technology   [ Permalink | Comments (1) | TrackBack (0) ]

December 12, 2008

TWiki and Foswiki: the road ahead

TWiki has been around for about a decade. It is an "Enterprise Wiki", offering a number of features that work well in corporate environments (eg, access controls, forms, scripting, skins, webs). It is a solid and mature piece of technology, with a substantial user base.

Recently, a rift in the TWiki developer community caused the project to fork. Peter Thoeny retains the TWiki trademark and web sites, but most of the developers have joined Foswiki. (For details, see the Foswiki and TWiki versions of the story.) This essay attempts to predict where things will go from here and suggest how developers and administrators can cope with the inevitable dislocations.

Continue reading...

— posted by rdm, 17:44 PST in Computers , Technology   [ Permalink | Comments (1) | TrackBack (0) ]

November 23, 2008

Merb: less magic, more engineering

As discussed in "How I arrived at Ruby", I've become a big fan of Ruby. As soon as I realized that I really, really wanted to work in Ruby (a couple of years ago, at this writing), I started looking for ways to use the language professionally. (Hobby programming is lots of fun, but it doesn't pay the bills. :-)

I found that Ruby is being used in a number of contexts (eg, administrative scripts, Cocoa and Google SketchUp programming). However, Ruby on Rails was clearly the high-order bit (or maybe byte :-), in terms of industry buzz, contract and job opportunities, etc. So, I got some books and dived in.

Continue reading...

— posted by rdm, 11:02 PST in Computers , Technology   [ Permalink | Comments (2) | TrackBack (0) ]

November 3, 2008

How I arrived at Ruby

I've used interpreted languages for several decades, starting with the Lisp and command language interpreters I found on Stanford's WYLBUR (really, ORVYL) system in the early 70's. Most of my early programming, however, was done in compiled languages (eg, Assembler, C, COBOL, Fortran). I didn't get into serious scripting until I started using Unix.

Continue reading...

— posted by rdm, 17:55 PST in Computers , Technology   [ Permalink | Comments (0) | TrackBack (0) ]

November 2, 2008

Using Ruby, Perl, Python, and PHP in concert...

About a year ago, I was tasked with "tidying up" the Protégé-Frames User's Guide. This consisted of a few hundred files of rather ugly machine-generated HTML. To reduce the effort of cleaning up and maintaining the files, as well as the chance of editing errors, I wanted to mechanize the process as much as possible. That is, eliminate the repetitive and voluminous header and footer blocks, auto-generate indexes and navigational links, etc.

After writing some support code, I was able to re-cast the HTML into RHTML (HTML with embedded Ruby). A two-pass generation process allowed me to collect page names and navigational information, then generate both index pages and nicely cross-linked content pages. However, that wasn't the end of the story...

Continue reading...

— posted by rdm, 23:20 PST in Computers , Technology   [ Permalink | Comments (0) | TrackBack (0) ]