HOW-TOs

If you ever need to download an entire Web site, perhaps for off-line viewing, wget can do the
job—for example:

If you search the web you can find a number of references to programs/scripts that convert diff output to HTML. This is a bash version.

Rebooting the Magic Way

August 21st, 2008 by Cory Wright in

If you have ever had a hard drive fail on a remote server you may remember the feeling you had after trying to issue the following commands:

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.

Over the years, I've probably created thousands of reports for customers and co-workers. Usually, I have a web-based program that generates reports in either html or comma-separated format. The html format is a lot prettier and usually gives the user what they want.

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.

AIR (Adobe Integrated Runtime) is a wrapper around a set of technologies that enables developers to build rich Internet applications that deploy on the desktop. Applications are created using a mixture of JavaScript, HTML, and Flash. The resulting

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.

Featured Videos

Email is one of the least private and least secure forms of communication, although few people realize this. MixMaster is one way to allow secure, anonymous communication even over the very public medium of email. This tutorial will get you started with MixMaster quickly and easily.

In case you were wondering about the fun side of Linux World Expo, we thought we'd give you a peek at our shenanigans. We at Linux Journal love what we do so much, that we can't help but have a ball wherever we go.

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 is 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