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 email@example.com
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 firstname.lastname@example.org
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 email@example.com
- Bruce Nikkel's Practical Forensic Imaging (No Starch Press)
- Transitioning to Python 3
- Progress on Privacy
- Linux Journal December 2016
- Stepping into Science
- Radio Free Linux
- The Tiny Internet Project, Part II
- FutureVault Inc.'s FutureVault
- A Better Raspberry Pi Streaming Solution
- CORSAIR's Carbide Air 740