Letters to the Editor
I am a subscriber to LJ and, in fact, have every issue. I hesitate to say this, because it sounds like so much bullshit, but I have always been impressed by how quickly LJ came up to speed with quality articles. As a Unix applications programmer, I read several periodicals, and I find your nuts-and-bolts approach refreshing, compared to DDJ's articles. However, I am writing (if that is what this form of communication is properly called) to ask for an improvement in LJ. Would your editorial staff please give serious consideration to including articles on FreeBSD? Especially since it poses no threat to the sales of Linux. Furthermore, I think it would increase your sales, at least with some of the programmers that I know.
An informal survey made back in LJ's early days suggested the FreeBSD community wasn't interested in a magazine devoted to FreeBSD, which SSC was contemplating. (Perhaps things have changed?)
As far as giving time to FreeBSD within the pages of Linux Journal, we do have some ideas we're working on. Right now, though, we've got more material about Linux than we can print.
The July '96 issue of LJ presents the new Korn shell (ksh93). What is not mentioned (and is not widely known) is users not interested in commercial support can get Linux, Sun, etc. binaries for free (src is not available). This includes not only the ksh binary but also shared libraries and the Tksh extension for Tcl/Tk. Just check the URL www.research.att.com/orgs/ssr/book/reuse. By the way, the book that URL refers to (Practical Reusable Unix Software, Krishnamurthy, Wiley 1995), is a gold mine, describing and providing the source code for gems such as the dot tool. Dot is a directed graph layout tool, and now I can't live without it. Recommended.
—Alexandre Valente Sousa firstname.lastname@example.org
Mike Loukides and Andy Oram point out in their “Getting to Know gdb” article (September '96) that gdb is capable of setting hardware watchpoints on “only a few workstations”. Not only does the i386 (and beyond) have these capabilities, but current versions of Linux (1.2.1+) and gdb (4.14+) are able to use this feature.
The 386 supports up to four simultaneous hardware watchpoints which can trigger when a memory location is “accessed” (read or written). In Linux gdb, these are the “rwatch” and “awatch” commands. Both commands take an expression to be watched. As the authors point out, this feature is great for watching a memory location that is being mysteriously trashed. The advantage with hardware watchpoints is your program runs at full speed instead of being slowly single-stepped.
The one tricky point in dealing with these watchpoints is they are disabled automatically if program control transfers outside the scope of the expression. For example, if “i” is an automatic variable (a “local” variable), then when a subroutine is called, the meaning of “i” is lost. The workaround is to watch a raw memory location:
(gdb) print &i $1 = (int *) 0xbffffd2c (gdb) awatch *((int *) 0xbffffd2c) Hardware access(read/write) / watchpoint 3: *(int *) 3221224748 (gdb) cont Continuing. Hardware access(read/write) / watchpoint 3: *(int *) 3221224748 123 *foo = 0; (gdb)
—Andy Vaught email@example.com
I couldn't believe it—not one, not two, but three (!) issues of Linux Journal in my mail box Wednesday.
I don't know how to thank you for the happy hours I have wiled away in the past two days. I spent several hours just reading ads.
Not since the old days of Byte magazine can I remember enjoying a magazine's ads so much.
—Dwight Johnson firstname.lastname@example.org
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.