HOW-TOs

If you use Nagios to monitor your system and run openSUSE on a remote server the bash script presented here will check for online updates and is designed to be run by Nagios so that the result will appear on the Nagios service-detail page.

If you have a process ID but aren't sure whether it's valid, you can use the most unlikely of candidates to test it: the kill command. If you don't see any reference to this on the kill(1) man page, check the info pages. The man/info page states that signal 0 is special and that the exit code from kill tells whether a signal could be sent to the specified process (or processes).

Ok, more specifically, troff using the mm macros to HTML. This is another from my "rusty scripts" collection which was written for a specific task long ago. In this case, we were converting some internal documentation from troff using the mm macros into HTML.

If you run scripts that require a lot of execution time it's a good idea to try to avoid letting them overload your system. You can run them via nice, but if for example your script is sending a bunch of emails your email daemon isn't running via nice and it may itself get out of control. One way to deal with this is by using the values in /proc/loadavg to pause when your system load gets too high.

When you think about it, it's surprising how many programming tasks don't require the use of floating point numbers. If you're an embedded systems programmer, you'd probably get fired for using "double" in a C program. If you write PHP or JavaScript, quick, do they even support floating point? One language that doesn't support it is Bash, but let's not let that stop us...

I was going to claim I wrote this yesterday but the timestamp on the file is 22 Nov 1998. Nothing new, nothing fancy but it does the job.

Often times when developing programs there is a need to build the program in/for multiple configurations. Many times, autoconf and its resulting configure script do what you need. Other times you can just change a #define in your code. But sometimes, autoconf isn't an option and changing a define doesn't quite work (say you need to pass your defines/undefines to m4 or some other tool that can't handle include files). The solution is probably to change your makefile. The method presented here results in a fairly compact change to your makefile.

I, as well as my 4 year old son, have always had an interest in Astronomy. My son puts planet puzzles together and looks at picture books. I'm proud to say that he can name all the planets in order, and astonished to realize that he knows that Pluto isn't considered a planet anymore. I've read books on Astronomy; I've been to planetariums and observatories.

Brain training comes to Linux with The Amazing Brain Train from Grubby Games.

When building software it's often useful to give each iteration of your build process a unique number. Many IDEs and RAD tools do this for you automatically. If yours doesn't and you're using a make file to build your code you can add an auto-incrementing build number to your project with a few simple changes to your make file.

A GPS unit and a Geographic Information System (GIS) program are a great team. With a GPS receiver in hand, you can tap into the network of government satellites to calculate your position on Earth to within meters. With a GIS on your desktop, you can import acquired GPS data onto to your desktop and combine it with other geospatial features such as maps, aerial photos and satellite imagery.

Why do you need an article on building slide shows in Impress? You don't, in one sense, because the application is simple enough for anyone who has ever seen a slide show to figure out. If you want, you can just plunge in and learn by doing. However, if you take the time to learn, you'll find that OpenOffice.org has two tools to help you organize and automate the process -- and, ultimately, to help you save time.

I don't think I know anyone who relishes the task of data manipulation, and I'm certainly not different. Some of the more complicated manipulations pose a briefly satisfying technical challenge, but in the end, data manipulation is boring.

This is the second in a two-part introduction to Gnome-Inform7 (and by extension, the Inform 7 language). I'm not going to spend much time re-capping what we covered last time, so if you haven't read part one, please do so now.

I've recently written about using bash arrays and bash regular expressions, so here's a more useful example of using them to test IP addresses for validity.

Featured Videos

Linux Journal Gadget Guy, Shawn Powers, reviews the Flip Video Ultra, a small portable video camera, and shows us how easy it is to edit the video with Kino.

Thanks to our sponsor: Silicon Mechanics

Webcams are notorious for their lack of support under Linux. But thanks to GSPCA, many webcams now have functional V4L drivers. This tutorial covers the building, installation, and configuration of the GSPCA drivers, including how to adjust color balance and brightness directly at the kernel module level.

From the Magazine

September 2008, #173

Feeling a bit like a Thermian? Never give up, never surrender! Someday, you could go from underdog to top dog. Just take a look at a few of the underdogs we highlight in this issue: Mutt, djbdns, Nginix, Gentoo, Xara and the program voted mostly likely to fail just a few years back—Firefox. If Firefox not radical enough for you, check out Chef Marcel's column for some more alternatives. Having trouble mapping your program data to your relational database? If so, Rueven Lerner shows you some tricks in his At The Forge column.

Need to run GUI applications on your server in the next state? In his Paranoid Penguin column, Mick Bauer shows you how to do it securely. Kyle Rankin keeps hacking and slashing and shows you a few split screen secrets you may not be familiar with. Finally, we all know what happens next February, but only Doc knows what happens afterward.

Read this issue