New Projects - Fresh from the Labs

RightWebPage—Web Conformance Tool (rightwebpage.org)

For people designing their own Web pages, editing someone else's or simply learning how to make their own, RightWebPage is an invaluable tool that puts Web pages through the most stringent of tests. Not only does it follow strict W3C standards, it also supports Linux, Mac OS and Windows. According to the Web site:

RightWebPage verifies and corrects many aspects of conformance of Web sites to standards of Internet best practices, such as W3C WCAG and ISO/IEC 23026:2006 - Software Engineering - Recommended Practice for the Internet - Web Site Engineering, Web Site Management and Web Site Life Cycle.

RightWebPage—the Web Conformance Checker that Turns Pedantry into an Art Form

Installation

Head to the Web site's download section, and under GNU/Linux, there are the options of RPM and deb packages in both 32- and 64-bit flavors, as well as the obligatory tarball. I went with the deb package and ran into some dependencies. Once I installed the packages tidy and opensp though, things were fine. I'm ashamed to say that I couldn't work out how to compile the source package though; if you're looking for a ./configure, make, make install, it's not here. However, that is how it was at the time of this writing, and in the space of a month (the last time I looked), things have changed a great deal, so it may have improved by the time you read this.

Once you have RightWebPage installed, you can run it with the command:

$ rightwebpage

Usage

As soon as the program starts, you're presented with an introductory splash screen that takes you through a series of prompts having to do with needed information and parameters to check before you get started. First up is the Web page URL (local or Internet). Next is Conformance Tests to run, Document Type, Excessive Scrolling, Accessibility, User Agent Emulation, Character Encoding...at this point, I got bored and clicked Finish. If you choose a Web page to load, for a while no information appears on the screen. Give it a few moments, and eventually everything appears. Oh, and a word of warning, this process can be very CPU- and RAM-intensive.

Once your Web page has loaded, your data is split into four panels. The first covers the filename(s) of what you're looking at. Next are all the faults it has found (and there probably will be a lot of them), which are broken down into categories and can be browsed at will. The bottom panel contains the actual coding of the page you've loaded, which also can be edited and saved and is quite helpfully color-coded. And, the pièce de résistance, on the left is a preview panel of your Web page fully rendered. Any changes you make can be saved, and you can revalidate the Web page at any time.

Now I must warn you, your ego is in for a bruising. RightWebPage is beyond anal in its stringency. I haven't written any Web sites for a number of years, but when I have, I prided myself on strict adherence to Web standards. Well, to my embarrassment, RightWebPage found 80 warnings and 42 alerts in a page that I thought would fare well! So, if you're looking for a strict teacher, this is it. All in all, this is a brilliant piece of software that will keep you on the straight and narrow in Web design, as long as you're willing to submit to something that is seriously pedantic.

Gourmet Recipe Manager (grecipe-manager.sourceforge.net)

If you're chasing recipes from around the world and want a neat program with clever features to catalogue them all, Gourmet Recipe Manager (or Gourmet for short) is definitely your tool. According to its Freshmeat entry:

Gourmet Recipe Manager is a simple but powerful recipe-managing application. Gourmet is intended for the GNOME desktop environment, but works on any platform that GTK supports, including Windows.

Gourmet allows you to collect, search and organise your recipes, and to generate shopping lists automatically from your collection. The latest version also lets you calculate nutritional information for your recipes using the USDA food database (or entering custom information by hand).

By using openly available formats that are in use all around the world, tens of thousands of recipes are awaiting your download.

As well as being able to change the number of ingredients dynamically by altering the serving size, there are links to timing mechanisms all through the recipes.

Installation

Binaries are included for Debian- and RPM-based systems, as well as a source code tarball. The Web site states the following dependencies:

  1. Python 2.3 (2.4 is recommended).

  2. PyGTK > 2.3.9 and PyGnome. Note: with PyGTK > 2.5, PyGnome bindings have been split up. To print, you'll need, for example, the python-gnome2-extras package as well as the the python-gnome2 package.

  3. libglade.

  4. SQLite and Python SQLite2 bindings.

  5. distutils (to install), provided by the python-dev package.

  6. Python Imaging Libraries (PIL).

You'll also need the PyRTF library and the Gnomeprint bindings, but these are non-essential. I went with the Debian package and found I needed to install python-sqlalchemy to get the package running on my Ubuntu system. If you go with the source version, download the tarball, extract it, and open a terminal in the new folder.

As root or sudo, enter the following:

# python setup.py install

Once that's out of the way, you now can run the program by looking in your system's menu (it was in Applications→Utilities→Gourmet Recipe Manager under KDE 4), or by entering the command:

$ gourmet

Usage

Before you can start looking at recipes, you need to download some first. I had to search for a file and then import it before I could use anything. I did a search for “mastercook” recipe files (Gourmet also supports Meal-Master recipes, but I found the Mastercook recipes easier to deal with), and found a Web page full of Mastercook recipes zipped up. After downloading the zip and extracting it, I imported the *.mxp file by clicking File→Import file.

Once you have imported a file successfully, there will be a new list of recipes, and you can double-click on any recipe to view it. As well as a recipe name, Gourmet helpfully includes food categories, the author of the recipe, and some even carry a star rating. Once you have opened a recipe, the instructions are presented neatly for you on the bottom left, with the ingredients (and quantity thereof) listed on the right.

Cool features I found include a unit converter, the ability to generate a printable shopping list based on the recipe's ingredients, as well as a built-in timer. On the subject of timing, within each part of the recipe that involves performing a task over a period of time, there's usually a link to a timer that will be preset to however long you need to cook and so on. On each of these timers is a start, pause and reset button, allowing you to get the task timed and underway as you like.

There's also a seriously cool function called Servings, which changes the quantities of the recipe's ingredients when you're serving more or fewer people than the recipe's default. Simply change the number of servings from the default number, and the ingredients list updates dynamically to tell you how much you need of each ingredient for the new number of servings.

Gourmet Recipe Manager is a great tool that is well thought out, and hopefully, it will find an audience among home enthusiasts and gourmet chefs alike. Given that it runs on any platform that supports GTK (especially Windows), hopefully its appeal and usage will extend far beyond just the Linux platform to home PCs everywhere. With the added bonus that there are tens of thousands of possibly supported recipes from all over the world, food in some homes and restaurants may just become a little more exotic.

______________________

John Knight is the New Projects columnist for Linux Journal.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState