New Projects - Fresh from the Labs
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.
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:
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.
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).
Binaries are included for Debian- and RPM-based systems, as well as a source code tarball. The Web site states the following dependencies:
Python 2.3 (2.4 is recommended).
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.
SQLite and Python SQLite2 bindings.
distutils (to install), provided by the python-dev package.
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:
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.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Roll your own dynamic dns
3 hours 51 min ago
- Please correct the URL for Salt Stack's web site
7 hours 2 min ago
- Android is Linux -- why no better inter-operation
9 hours 17 min ago
- Connecting Android device to desktop Linux via USB
9 hours 46 min ago
- Find new cell phone and tablet pc
10 hours 44 min ago
12 hours 13 min ago
- Automatically updating Guest Additions
13 hours 21 min ago
- I like your topic on android
14 hours 8 min ago
- This is the easiest tutorial
20 hours 44 min ago
- Ahh, the Koolaid.
1 day 2 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
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.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?