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.

Webcast
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers

Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.

Learn More

Sponsored by AMD

White Paper
Red Hat White Paper: Using an Open Source Framework to Catch the Bad Guy

Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6

Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.

Learn more about catching the bad guy in this free white paper.

Learn More

Sponsored by DLT Solutions