Johnny's Software Saloon

Weblog where I discuss things that really interest me. Things like Java software development, Ruby, Ruby on Rails, Macintosh software, Cocoa, Eclipse IDE, OOP, content management, XML technologies, CSS and XSLT document styling, artificial intelligence, standard document formats, and cool non-computing technologies.

My Photo
Name:
Location: Germantown, Maryland, United States

I like writing software, listening to music (mostly country and rock but a little of everything), walking around outside, reading (when I have the time), relaxing in front of my TV watching my TiVo, playing with my cat, and riding around in my hybrid gas/electric car.

Thursday, June 22, 2006

Target : Target Photo Center

Your local Target and Yahoo are collaborating to offer convenient print-buying of your digital photographs.

By the way, notice that the target site is using JSP (Java Server Pages).

Target : Target Photo Center:
Target and Yahoo! Photos make it a snap to upload, store, share and print your digital photos. And now, you can order digital prints online and pick them up at your neighborhood Target
Technorati tags:

Wednesday, June 21, 2006

Why I recommend "Pilot: The Language and How to Use It Including Apple Pilot and Superpilot"

by Thomas Conlon

This is the only book I know of on the PILOT programming language.

PILOT – The Language And How to Use It including Apple PILOT and SuperPILOT is a pretty good book.

This book is almost exactly the size of the original book on Pascal programming by Nicklaus Wirth, the Pascal User Manual & Report.

This book thoroughly covers the much simpler – and far less powerful – PILOT language.

PILOT had its heyday, if you can call it that, back in the late 1970s and early 1980s. It was well-suited to writing programs that did CAI (Computer Aided Instruction).

These days, what was known as CAI is called CBT (Computer Based Training). CBT applications are implemented with GUIs (Graphical User Interfaces) as is pretty much all consumer software nowadays.

PILOT applications were marked by being predominantly text-based output, keyboard input to answer questions, some very basic logic/math capabilities, and very simple pattern-matching capabilities.

The language had no database facilities or GUIs. Those really did not come into consumer computing until after PILOT’s time.

PILOT did not even have facilities for file input/output! Apple’s implementation, called Apple PILOT, did support using data files.

Apple also had the ability to draw graphics. Just what was called “high resolution” graphics at the time. It only ran on an Apple II computer, so they were not really all that high resolution.

This book covers all these versions.

There are many examples in this book, tables describing its syntax/grammar, some illustrations, and even quaint little Apple II screenshots of running PILOT programs.

There is a table of contents well as a good index.

If you need to understand PILOT programs out there somewhere, or you just want to learn the language – then I do recommend this book. However, I think the language itself is quite dated and lacks support for any of the modern things we take for granted in computer software today.

Tuesday, June 20, 2006

Wired News: Net Changing, So Are Browsers

Wired News website has an excellent article this week describing the upcoming wave of new, improved web browsers.

One high point of the article is the information that Firefox 2 will be in beta this summer, with the official release coming out in September.

Client-side programmers and XSLT gurus are probably anxious for this to happen, since it features the new Microsummaries feature.

The Grease Monkey extension has been out a couple years. It provides most of the capabilities of the Microsummaries feature.

However, Microsummaries seems to package it a little bit better. The ability to elegantly retrofit, in gist, a transformation stylesheet to a page or a website is going to turn out to be very happy.

Flock, which is based on Firefox - with some neat additions to make interaction with social websites easier, is also mentioned in passing.

Opera also gets a lot of coverage in this article.

The article also mentions the ongoing work at Microsoft on Internet Explorer version 7, the first new browser from Microsoft since 2001.

One surprise in the article is the statement that in the US, IE has seen its usage figures drop to 90 percent off its high of 97 percent.

Given the proliferation of new browsers, that is hardly surprising. What is interesting, is that it says Firefox usage is at 9 percent. That only leaves one percent unaccounted for.

Last time I saw Safari usage share, it was around 3 percent.

I guess there are some rounding errors in those numbers, otherwise the percentages do not up to 100 - they add up to 102.
Wired News: Net Changing, So Are Browsers:
Firefox 2, a 'beta' version for which is planned this summer and a full version by September, will also include anti-phishing features, along with tools to automatically restore web pages should the browser suddenly crash or require a restart. Other features in the Mozilla browser include a search box that can suggest queries as users type.

And Mozilla already has its sights on Firefox 3 next year, with plans to let users run online applications even when there is no live Internet connection.

Meanwhile, Flock Inc. released a test version of its Firefox-based Flock browser. Tapping into the recent wave of sites that encourage users to share content, Flock makes it easy to drag and drop images to MySpace.com and automatically notifies users when friends add items to selected photo sites.


Anyway, the takeaway from this article is that all the major browsers are actively working on improved releases.

It will be nice to have fresh new browsers.

One of the thing that is often overlooked about so-called web browsers is that they are often used in some role on the desktop.

Online help is one area that benefits from increased browser capabilities. So this next wave could be followed by a wave of of improved multimedia educational resources.

Apple and Pearson publishing announced increased work being done on educational software a few weeks ago. A web components company announced Encyclopedia Britanica is using Mozilla-based web components to improve the user intrface of its electronic encyclopedia.

DocBook 5 (now in beta 6) just added support for embedding MathML and SVG content in DocBook documents. Perhaps not coincidentally, Firefox has supported MathML since its inception - and it just added support for SVG late last year when Firefox 1.5 was released.

Programmer and user documentation for software is usually in a form that uses web document technology. So browser improvements could be a big boon to both software users - and software developers.

Also, browsers that support these cross-platform, W3-approved de jure standards could see them getting more traction in the educational and documentation applications.

The bottom line is that upcoming browser improvements are aligned to have an impact far beyond the web. They could lead to advances in basic day-to-day computing.

Encyclopedia Britannica Standardize on WebRenderer: Financial News - Yahoo!Finance

Encylopedia Britanica has picked an open source software component based on Mozilla web browser for its multimedia rendering needs.

The component they chose, WebRenderer sounds very capable. It lets them harness all of the following technogies in their world famous multimeida online encyclopeida: AJAX, CSS, DOM, HTML, Java, JavaScript, XML, XSLT

JadeLiquid Software PR:
The WebRenderer Java browser component tightly integrates into any
Java Desktop or Server application and provides standards compliant
rendering of web content across multiple platforms. WebRenderer being
the most standards compliant Java browser SDK supporting HTML 4.01,
SSL, JavaScript, CSS 1 & 2, XSL, XSLT, XML, DOM, AJAX etc.

Monday, June 19, 2006

review of TV.com website with embedded hReview microformat metadata

TV.com is the leading TV show reference/reviews site

Jun 19, 2006 by Johnny Software TV.com

★★★★★

The richest, most comprehensive website about television shows on the whole Internet would have to be TV.com.

There are many websites that serve up the current TV schedule. There are a bunch that list a single capsule summary about a large number of shows.

But TV.com is different.

The site has an entry for virtually every television series ever made. It has a bunch of reviews for a gigantic number of shows - both series and, unbelievably, episodes as well.

Not only that, but in true social web fashion, the series, episodes, and even actors - are rated. The ratings are on a scale of 0.0 to 10.0. Effectively, this means there are 101 possible scores an item can receive each time it is rated.

The site ranks shows too. It also categorizes them by genre.

In addition to all these things and a whole lot more. It also tells you when your favorite shows are airing this week and on which channels you receive they will be shown on.

Every user gets his or her own blog to write in. Users are encouraged to post to their blogs regularly.

In forums, users can post and read messages discussing TV shows, the website itself, and other topics.

Users an look at other user's profile pages, read those user's blogs, and contact them via the site's own internal messaging system.

A user's profile page indicates what types of shows they like to watch, some of their favorite shows, who some of their contacts are, what contributions they have made to the site, and so forth.

Here is what a user profile page looks like:

4501pw100.jpg

The site awards users points for doing useful things. As the number of points a user has goes up, his Level number increases. With higher levels, greater responsibility & ability is awarded.

If you are a television fan, then you should be a TV.com user. It is free, it is fun, and it is waiting for you right now.



Note this blog post has been encoded with hReview standard format microformat metadata in order to make it easily digestible by social web services like Technorati.com and modern web browsers like Firefox 2.0.

Sunday, June 18, 2006

Mac Users Keep Their OS Up-To-Date

Macintosh users, at least those that guy OmniGroup software and participate in its surveys, seem to like to stay up-to-date with Apple OS software.

About 96.5 percent of the users surveyed were running the Tiger OS X 10.4 operating system software released by Apple in April 2005.

For more information, see the Software Update Statistics page: OmniGroup software statistics.

Application vendors tend to like it when their customers upgrade to the latest OS. That makes it easier for them to write more powerful software applications that more people can use.

That translates to more happy customers with less work.

Technorati tags: , , ,

Thursday, June 15, 2006

Get down with the ValueModel approach to OOP

There is a very nice incarnation of the MVC paradigm called ValueModel that was invented at Smalltalk-oriented Xerox-spinoff PARC Place Systems back in the 1990s.

ValueModel was part of their VisualWorks application. As far as I know, that was the most highly evolved MVC-oriented GUI application programming framework devised in Smalltalk.

If you download the Application Developers Guide and do a search on ValueModel - you will get treated to some nice diagrams and code. Not a lot, but they are the right ones to examine. There is a page with all the VisualWorks documentation, if you want to browse everything.

The idea of the ValueModel approach is simple. So simple, in fact, it is amazing most people do not hit upon it as soon as they are told of MVC and start using it awhile.

  1. Every value that participates in the GUI (by being displayed as a value or affecting the display or being altered by a control that affects the model) is made a Model object itself. Nobody every said values could not be model objects, right?!
  2. These ValueModel objects are wired together, using adapter objects when necessary (to do stuff like scaling, type-conversion, value-mapping, etc.)
  3. Views view them, Controllers control them, women want them. (Okay, not too sure about the last but you get the idea.)


What this approach, compared to conventional non-MVC and even many so-called MVC approaches does, is allow you to decimate the application-specific and domain-specifc logic contained in the GUI (e.g., model, view, page, component) classes of an application.

Instead the application logic, domain logic, business rules, and so forth - are in the model. The view components and controller components wind up being application-independent things.

The savoir-faire comes in when you wire these objects together. Mostly, the wiring is done at initialization time. For the application and after loading new data from the database and/or data files.

Who uses this approach?

Well, people doing simulations pretty much have been doing it a long, long time. Do you think that people design/test mission-critical complex systems in BASIC or assembly language? Think again.

One place where a ValueModel-like approach is revealed in all its glory is in the VRML 2 3D graphics language. Take a look at the ROUTE statement, and how it is used to wire values together throughout the scene.

A VRML scene is one big huge value constraint system. Values somewhere in the model are changed, like independent values in a mathematical model. Dependent values, naturally, change as a result. And values dependent on those values consequently change as well. Consequent is a good word to keep in mind, in fact, when thinking about this stuff.

What you do is design the model, identify the dependencies, and mark them down explicitly. That is stuff you are supposed to do anyway. You are a designer, after all - not a typist or sketch-artist. Basically, you simply do this in a machine readable fashion - instead of stopping as soon as the ink has dried on the back of a paper napkin.

As soon as you get the model all wired up together with value models, adapters, model collections - you can write your unit tests. You can actually run them, and wind up testing a huge percentage of your application logic and business rules.

Once that is done, you write the controllers - and test them.

Finally, you are ready to do the views, and they should be pretty simple. If you abstract them nicely, you can have Test versions of the views for each datatype and use those in your tests of the views.

The finished application uses GUI-specific controllers and views, based on the same super classes that the test controllers and views use.

That way, whether you are using Swing, WinForms, Wx, Tk, or whatever as your GUI - shouldn't matter. Only the concrete subclasses of the abstract datatype-specific views and controller classes change.

If you want to read another description of this technique, research the Typed Event Channel design pattern. It was described back in the late 1990s, a couple years after the original GoF Design Patterns book came out.

Like MVC is a special application of the Observable-Observer pattern, ValueModel is a special application of the Model-View-Controller pattern.

While I suspect this technique is used in quite a few commercially successful applications, you cannot pop most of them open like you can a framework or an open source program.

One program you can see the technique in because it is purposely completely above surface in the application, is the Quartz Composer appilcation from Apple Computer.

This application comes with the free Developer Tools that are bundled on an extra DVD included with each Macintosh computer. If you are a developer, and have a Macintosh - take a look at it. If you are not a Mac-owner, then drop by Apple's website and read up on it.

Quartz Composer is just one of many in a long line of applications that have used this approach.

Not many people think of it, but the design patterns Gang of Four (GoF) actually did have a professional as well as academimc life before they wrote Design Patterns.

Well, some of those guys wrote programs very much like that, including one designed to generate multimedia music and video presentations.

And basically, that is what Apple's QC is, writ prettier on a much nicer modern GUI/OS canvas.

Wednesday, June 14, 2006

Extinct life forms resurrected as data at GenBank

A number of famous and not-so-famous once-living species have had their DNA sequenced. The data about them is now stored on the web at:
Extinct Living organisms represented with sequence data at GenBank

technorati tags:, , , ,

Blogged with Flock

Flock Beta 1 has been released

Yesterday, the team behind the open source web browser, Flock - which is based on Firefox, with some major social/web2.0 features added - posted on their Blog that Flock beta 1 has been released.

I am going to be trying it out this week, kicking its tires, and hopefully developing some firm conclusions about it.

One of the things that pleases me about it is that it uses the same core as Firefox 1.5. That same core is also used by Camino, a sort of a Safari-fied version of Firefox.

So the same long laundry list of standard web technologies that are supported by Firefox, work just the same in Flock and Camino. That is important. And, it is a long list of standards indeed. Here are just a few of them: HTML, XHTML, SVG, CANVAS element for graphics/animation, XSLT, CSS 2.1, etc. No other browser today supports as many W3 standards.

As your personal predilection drifts from one browser to the next, you can just tend tend to use that one more. They are all compatible with regard to the web pages they display and how they display them. So the browser issue is finally decoupled from the web page issue, as it should be.

The Social Web and Web 2.0 features of Flock are what make it really compelling. They have made searching, bookmarking, blogging, and photo browsing/uploading truly easy.

Now everyone can use the latest, most popular features of the web - with free, cutting-edge software to help them do it. That is a pretty sweet deal.

Here is an excerpt of the Flock first-beta announcement that its team put out yesterday:

Flock team:
What do we like about Flock Beta 1?
Where to start? This first beta has a bunch of features that offer a glimpse at where we're headed:

Photos:
Sharing photos is one of the main ways people connect with their friends online, and we believe Flock delivers a rich end-to-end experience for Flickr and PhotoBucket users.
Uploading:
Getting pictures online doesn't have to be tedious. In Flock beta 1, users can simply drag pictures onto the Photo icon to upload them, batch upload with our photo uploader, or even drag and drop pictures onto any form field on the web (we'll store the picture on your Flickr or Photobucket account, then insert the appropriate HTML snippet into the form).
Discovery:
On any web page (such as a Typepad blog, a MySpace page...), mouse over any public picture that's hosted on Flickr or Photobucket and we'll offer to show you the entire photostream in our photo topbar. And once you're there, you can scroll through thumbnails (including nice big ones) faster then ever before. It's fast and addictive!
Sharing:
Right click any picture to blog it. Or drag a photo thumbnail into any comment field on the web. Or drag a picture from your desktop into a comment field. Then talk about it.
Notification:
Keep a list of your photo buddies and Flock will tell you when your friends have new pictures. We'll import your Flickr friends list and let you add anyone on Flickr or Photobucket.
News:
RSS made easy. With Flock you can preview any RSS feed, then easily add it to your RSS aggregator (we call it My News). You can then view new stories by feed, by category, or aggregated across all categories (our front page shows you today's headlines). We also tell you when you have new stories - keeping you up to date at all times.


Tuesday, June 13, 2006

EarthBrowser - Interactive Earth Globe

Maps have really changed since I was a kid. They are becoming important to personal computers for watching the weather, planning trips, finding local places, and so forth.

My earliest memory of maps was when my family would travel across the country by car to see relatives.

When they did that, ooh, boy - did the maps come out then!

The maps most often used back then, as I recall, were the ones you buy from the gas station. For a fairly low price, you get a map that - when unfolded - completely fills the entire passenger area of the car.

Excellent, does that come in aviation flavor too? No? Well, probably a good thing.

Anyway, those things are dated as heck now. Fine for when you are in the car and have not had time to prepare for your trip using Mapquest, Yahoo Maps, Google Maps, or whatever.

These days, you can also use mapping software to see what the weather is like. I use mine on my desktop computer to do that a lot. It is handy. It also shows volcanoes, quakes, and so on. Sounds crazy, but think about it.

You probably know at least one person who lives somewhat near a volcano that has erupted in recent history. And everyone knows someone who lives near a fault line. Then, there is hurricanes - lots of people on the coasts get treated to those.

The program I use to keep an eye on those is EarthBrowser. It has very high resolution maps. Not insanely high, but just very high from my perspective. So, I can see what storms are rolling into my area - their shape, size, and direction. Which is what I care about. I want to gauge whether they are going to miss me. Ditto for the people I know.

EarthBrowser:
EarthBrowser is an amazing resource for information about our world. Go sightseeing, get weather reports or watch the latest clouds. There is always something interesting to see in EarthBrowser.


Tonight I took a look at the storm over Florida. Wow, it is big. And the clouds are pretty thick.

I spent the first part of this evening putting together a simple little RSS feed assembled from weather reports and some other RSS feeds. I wanted something that I can watch from any RSS reader application on my desktop.

RSS is so darned flexible. Anyway, it took a few hours but I got it done. I am going to add a few more feeds. I just want one web page that will summarize all the goings on in the world that I keep an eye on regularly.

As it turns out, that is pretty easy. Looks like I did it just in the nick of time. There seems to be a lot going on this week.

I was trying out some languages Sunday that were not really suitable. As it turns out, when I started fresh on it this evening, I decided to code the thing in Ruby.

That proved to be a very good choice. Outstanding, in fact.

I wound up with a really short piece of code that grabs the current conditions for a locale from the NOAA. It is in XML format.

Ah, REXML - very pleasant way to to work with XML. I love working with XSLT, which is a very powerful way to transform or even extract XML data. Using the REXML program gives you a lot of that same power - in terms of the pattern matching facility for the nodes using XPath expressions.

Even better, for information processing, I think. Because you can extract that data and use it right then in the middle of your application. Sweet!

I also wrote an RSS feed aggregator. It took so little code I was pretty stunned. I think this was the first time I had generated an RSS 2.0 feed document. So that made it take a little extra long. Most of it went fast, but I got hung up on what to stick in the guid node. Ultimately, it turned out the RSS API in Ruby wants you to pass it an instance of its Guid class. I did it, and it was happy.

The rest went pretty smoothly.

I want to do a little page scraping to pull in some more data. Looked quickly for something to clean up HTML pages in the standard Ruby library. Did not see any such thing.

I have written them before, so I guess I will write one once more. Kind of a pain, but necessary. The page that has some good info I want to keep an eye on has messy HTML.

It is fun to integrate information into a consolidated presentation that is custom suited to your POV.

Technorati tags: , ,

Sunday, June 11, 2006

the amazing, self-cleaning Wikipedia

Remember those old commercials for self-cleaning ovens?

Well, I have seen the self-cleaning action of the Wikipedia for myself, today.

Some childish person decided to wipe out the Wikpedia page for some person of historical significance. They tried to replace it with a stupid phrase repeated over and over.

It fit the Wikipedia definition of a vandalized page.

Less than an hour after I noticed it, someone had repaired the damage. They restored the page to its original pristine contents.

Wikipedia has reported how all kinds of people had tried to damage pages, including even some low-ranking government staffers.

Each time, the pages seem to get fixed.

I guess it works for the same reason we have civilization instead of anarchy. Some people would rather have anarchy than order. But they are so much in the minority that they just keep losing out.

Humans create things that are worth having, and then protect them.

It is what we do.

my Flock croaked

No, this is not an avian-related thing.

My copy of the Flock web browser died last week. It happened after I upgraded it to the new version.

I guess I will have to reinstall it. I have not bothered yet. I might just wait until they come out with the next version.

The incident sort of confirmed my feeling that I really need to have my own bookmarking application/service on my computer, rather than relying on the ones in browsers and on heavily used servers.

Friday, June 09, 2006

Technorati Weblog: Introducing Microformats Search and Pingerati

Technorati announced some pretty exciting developments on their weblog just over a week ago, on May 31.

The big news is that they have added support for Microformats. Microformats included metadata about the information contained in a document, or entry in a document, directly into the internals of the document itself.

While obviously, this further mixes content with presentation to a certain degree, it is sort of a special case. The information itself, is generally not so much data as metadata. It describes the content, it is not the content per se. Further, what it really does is provide context about that content.

It is knowledge of that context that Technorati, the popular blog indexing/searching/tagging service, has now been enabled to read and exploit for the benefit of its readers. That in turn, will be a big help to the authors of the blogs it harnesses.

This assumes their goal is to either become popular, which being helpful to a readership certainly does - or if they just want to be able to organize their own writing for their own use.

After all, many weblogs are simply journals in the diary sense, not in the publications sense.

Speaking of context, this is taking place in front of the backdrop of the development of Firefox 2.0. That version, expected out later this year, will introduce a feature called Microsummaries.

Microsummaries will scrape the content and or anything else in the page, including information in Microformats, and display it in a consolidated presentation in the browser. This will save browser users from a lot of hunting around and possibly even math or sorting effort. Other uses will probably arise too.

Technorati Weblog:
This afternoon Technorati introduces a technology preview of microformats search for contacts, events, and reviews. Available now in the Technorati Kitchen, I invite you to come take a look at this first of a kind realtime microformats search engine, see what the team has worked very hard to build for you, and let us know what you think and what you want from microformats search.

If you are (or will be) publishing with microformats in your blog, and you're already pinging Technorati, then you are all set. Our new microformats search will index your microformats.

IBM plays XML card in effort to beat Oracle - Builder UK

IBM is putting some muscle behind its SOA philosophy this month.

The company just made an announcement about the new version of DB2, version 9.

It sports better integration with the IBM WebSphere server, which is based on the popular open source web server from Apache. It adds XML support.

And, it introduces close integration of Ruby on Rails.

That sounds reminiscent of the successful efforts by IBM, Oracle, and other companies to add Java integration into their servers, ushering in the golden age of application servers.
ZDNet UK Builder:
Formerly code-named Viper, the XML capabilities will greatly improve the speed of applications that use XML, he said. "There are 68 patents alone in Viper, and it involved 750 developers over five years," Picciano said. "This is something no one else has and will take years to get here."
DB2 9 will also have a storage mechanism, enabling corporations to reduce their hardware storage needs by about 40 percent, he said. The data server will be optimised to run with SAP's packaged applications and have close integration with Ruby on Rails, Picciano said. He predicted the release will lure in Oracle customers and defend IBM from open-source alternatives, which are increasingly viable for corporate customers.
Technorati tags: , , , , , ,

MacNN | oXygen adds Subversion client

Some nice features have gotten added to oXygen in the newly released version 7.2, MacNN reports.

MacNN | oXygen adds Subversion client:
OXygen 7.2 XML Editor adds a complete Subversion client to ease the document sharing process between content authors, support for flattening XML Schemata, an XML Schema instance generator, and integration with the X-Hive/DB. The update also offers MarkLogic/TigerLogic XML databases, editing actions on the diagram, rename refactoring action, and search references/declarations actions in XML Schema as well as Relax NG schemata editors. Schema support enhancements include support for flattening XML Schema, rename refactoring action, find declarations or references of XML Schema components.

OxygenXML is a nice XML IDE. It is flush with features and support for all the major XML schemas. It has things in it that are both well-known by the public at-large, as well as capabilities to do things that are well-liked by XML experts.

I had a subscription for OxygenXML for a year that just ran out. I have been pretty happy with it.

It provides fluid conversion between XML schema formats: DTD, XML Schema, RELAX NG, etc. It produces grammar diagrams that, to my eye, look just like the ones that XML Spy produces. However, it goes beyond just producing them for W3 XML Schema. It can do them for RELAX NG schemas as well.

Since RELAX NG Compact is much easier for humans to work with than the W3 standard, and RELAX NG regular format is much easier than the W3 format for programs to analyze/understand - this feature is a pretty handy advantage. Of course you can convert between the two RELAX NG standard formats. They are just different ways of expressing the same thing.
Technorati tags: , ,

Tuesday, June 06, 2006

Red Sweater Blog - Learn Python

This program is a Python counterpart to the last one I blogged about, Learn Ruby.

Red Sweater Blog:
Learn Python is a simple Mac OS X application (GNU License, source included) that puts a web browser and terminal window into one application. The web browser points at the aforementioned Python tutorial on the web, and it remembers the last URL you went to, so you can trust it to remember which chapter you were at when you last quit.

It sounds kind of cool,. Hopefully, the optional but oh-so-necessary Readline support has been built in.

By the way, the NodeBox software it mentions looks awesome from its description.
Technorati tags: ,

"Learn Ruby" app

A neat looking program is out to help people Learn Ruby. It is a GUI program.

It combines an online copy of the first edition of Programming Ruby in the top pane with a running instance of the irb command in the bottom pane.

It only runs on the Mac, since it requires Mac OS X.
Pinup Geek:
Basically you have the Pickaxe book in the top half and an interactive ruby session below that. You get to do all sort of cool things like make bookmarks. It%u2019s mighty useful. Can someone make a SBCL/Lisp version please ?

Technorati tags: ,

Saturday, June 03, 2006

Userscripts.org site up again so GreaseMonkey repository available now

I have been waiting for a couple of weeks or go for the primary GreaseMonkey repository to come up. Finally, it has!

http://www.userscripts.org/

A note on the home page says they are working on some server issue, and I noticed that it took a pretty long time for the page to come up. It is is up, though - so that is good news!

The home page also says improvements to the site are on the way too.

read answers to Yahoo Answers Programming questions

I like the Yahoo Answers social web site. It is a handy way to get an answer to a question on programming or other subjects.

This weekend, it happens to be in read-only mode. The service has grown so much, it is moving to a new location.

In the meantime, why not learn something by reading some answers to Programming and Design questions?

Friday, June 02, 2006

Whither hast thou gone, HR-XML?

I spent a little while looking around for sites, blogs, or new software that supports the XML standard called HR-XML (Human Resources XML).

I did not find any.

I have come across an XSLT stylesheet or or two in the past. They transform HR-XML into other formats, but they have been around for quite some time.

I have not found any major websites that are touting it. I have not found any major sites or desktop programs that support capturing skills/experience information from a job-seeker, and then storing it in HR-XML format.

Without such software or websites, there just are not going to be a whole lot of HR-XML documents floating around or stored in repositories.

The last time the page on the topic HR-XML was updated at xml.coverpages.org was in December, 2003. It contains a quote about the purpose of this file format standard.

HR-XML Consortium:
HR-XML's efforts are focused on standards for staffing and recruiting, compensation and benefits, training and workforce management.


The .xsd XML schema files for HR-XML formats have been out for several years. Several years ago, Microsoft and Monster.com announced they would be supporting the standard.

Only 20 pages that even mention the subject can be found at the Microsoft public website, which is where I would assume it would be mentioned if an MS product was supporting it.

About half of these pages are not in English - but in German, Russian, French, Chinese, etc. A white paper on the subject of HR software recommends implementing technologies like HR-XML - but fails to mention any such software.

The Monster.com website says that Monster currently does not have the ability to understand HR-XML documents. It seems to have stalled and died there.

From what I can tell, the file format looks usable. I tried it out a little once, and I was able to to through the process of creating a document in that format.

I used an XML IDE to do it, which was a little awkward but it worked. Such IDEs are pretty expensive commercial applications though, costing almost as much as a top-notch word processor. A person would not need to update their career info very often, so such a cost is not justified - except among serious XML developers. I expect most people would balk using a program that cost a hundred or two hundred dollars to enter their resume!

The necessary schema for performing automated validation and other things has been created. Technology exists to convert the documents into nicely formated HTML pages or PDF documents. There is a certification process that is in operation. Human resources companies are meeting regularly to this day to discuss HR-XML. There is even a HR-XML blog covering on-going activities.

I gather companies are using some of the standardized document formats to exchange data. It surprises me that programmers have not created applications, websites, and web services so developers can input their career info into it and then submit it to recruiters or companies where they are interested in working.

If such HR-XML aware software or websites exist, I do not see them. I think that is kind of a shame.

If used, the HR-XML file format would make it easy for programmers to support a wide array of free or low-cost programs to do resume searching, browsing, printing, summarizing, bookmarking, saving, ranking, and so forth. That is, of course, the advantage of having one standard file format for something - especially an XML standard file format for that thing.

Right now, it seems like it is all on the developers to do so. The standards guys have done their stuff.

Laszlo Systems Named to the SD Times 100 @ SYS-CON Media

When I first stumbled across Laszlo about a year ago, it was harnessing two workhorses in a familiar pattern: Javascript+XML=GUI.

Several years before, the product that eventually became Yahoo Components did that. Dashboard widgets, likewise, use the same combination.

The difference was that the end product when using Open Laszlo was a Flash component. While sometimes that is nice, sometimes that is not what you want.

I was excited to see a few methods back that Open Laszlo now includes DHTML-based AJAX as an alternative target. The nice thing about it was, you do not have to develop your components differently.

Your Javascript code and XML metadata definitions remain the same, regardless of which target you want.

Knowing it was theoretically possible - but having been disappointed by similar claims elsewhere in the past - I decided to try some of the examples. They really did work when using AJAX instead of Flash.

So, I filed Open Laszlo away in the back of my mind as something interesting and possibly worth using for richer web form GUIs in the future.

This week I had the wisdom of that opinion confirmed not once, but twice.

First, a couple of days ago, I discovered there was an OpenLaszlo Rails Plugin available for Ruby an Rails. Then, tonight I noticed Laszlo Systems had just won an award from SD magazine.

SYS-CON Media:
Laszlo Systems, the original developer of OpenLaszlo, the leading advanced open source platform for building and deploying Ajax applications, has been named as one of the 100 leading innovators in software development by the Software Development (SD) Times.

This is one of those easy-to-use programming solutions that takes a couple good ideas, and it just snowballs.

While the developers of this component technology could have just sat on their laurels when they got their Flash-only solution working, they did not do that. They kept going and made components that use their tool and APIs able to work with Flash or AJAX. Thus, which one actually gets used for a web page is more of a tactical choice.

That nicely does away with the risk of vendor lock-in to Flash, or any transitory issues that might arise when using AJAX technology. If one does not work in a particular environment or situation, the other is available - without having to redevelop a custom component all over again.

Related pages & news