June 24, 2004
The horizon of coolness [ Rants ]
Every so often, you come across something that makes you go "wow!" and appreciate an elegant design, really good coding, or a system that Works Properly. When you spend upwards of 40 hours a week working on a government IT contract, you might not see that so often, so that makes Gmail all the more impressive.
I got an invite from a coworker who's been using Gmail for a few months now (he had an account on Orkut and got a free invite to Gmail) and has moved all his mail over. I've read a fair bit about Gmail in the geek-news press, but I'm just blown away by it - It Just Works. Spam filtering works really well (so far, knock on wood), you can use keyboard shortcuts (this is great, coming from mutt), the searching features are great... I've only been using this for a little bit now, but even for being in beta, this thing feels more solid than most other webmail services out there. It doesn't suffer from the blind-your-eyes-with-adverts approach of Hotmail and Yahoo - the text ads are really pretty unobtrusive.
Google's nailed this on the head. Microsoft's got a real competitor here, not just for Hotmail, but for Outlook - why deal with all the client-side virii/worm mess plus abysmal search capabilities (yes, I *do* want to search through my Inbox plus my archives for this - why do I have to open up 5 different search windows?) when you can just use Gmail?
June 17, 2004
Kernel module hacking [ Software ]
I needed to find a quick 'n' dirty way to effectively hide a running process by name on a Linux 2.4 machine. I've done some research on LKM rootkits in the past and read through the requisite articles and papers from phrack & company, so I had a fair idea of what approach to use. I've never done any Linux kernel module programming before, so I googled around and found some useful resources.
I found some helpful code snippets, suggestions, a good HOWTO on writing kernel modules, some documentation on Linux 2.4 process management, and the excellent site at http://lxr.linux.no/source/ which lets you browse through kernel source code. I spent a lot of time looking at sched.h in particular while I wrestled with questions like "next_task isn't in structure? Whaddaya mean?". Turns out that the 2.6 kernel has a slighly different setup than the 2.4 kernel for iterating through processes, so I had to switch development boxes to use a 2.4 machine (since that's where it's destined to go).
You can download the code + compiled module (built on RedHat 8, kernel version 2.4.20-18.8) in .tgz format. This module will effectively hide a named process from 'ps', 'top', 'pstree' and other utilities that rely on the /proc filesystem for process information once it's loaded. You can also browse the code below:
Continue reading "Kernel module hacking"June 15, 2004
Firefox 0.9 Released [ News ]
Woo-hoo! The best web browser out there just got better. Mozilla Firefox 0.9 has been released. Read all about it on slashdot, or get it yourself.
It's faster than its predecessor out of the box, but you can improve its speediness by applying a few hacks to enable HTTP pipelining for page requests and speed up page rendering (see original post by MatthewHSE at webmasterworld):
Type "about:config" in your FireFox address bar. Scroll down a bit in the list. Set network.http.pipelining to "true". Set network.http.proxy.pipelining to "true" if you use a HTTP 1.1-compliant proxy server. Set nglayout.initialpaint.delay to 0 to improve rendering speed.
While you may run into connection problems with some older or unusual web servers that don't support HTTP pipelining, these settings will noticeably improve your overall browsing speed. You may also notice some odd visual artifacts with CSS layouts - if this bugs you, set nglayout.initialpaint.delay back to the default (250). There's more technical information available on the MozillaZine forums.
June 14, 2004
Sendmail makes my head hurt [ Software ]
Yes, I know, it's the default MTA on most vendor's Unix-style systems, and it's configurable to do anything you could ever want to do with email. Including pre-processing it for transmission over a UUCP link as an EBCDIC representation of 40-year-old punchcards. God only knows why you would want to do this, but sendmail lets you do it.
Perhaps that's the problem. Sendmail lets you do this only after you've twisted your brain around configuration directives that make Obfuscated Perl or C Code look like excerpts from page 10 on BASIC for Dummies. To quote from section 16.4 of the Bat Book:
Note that this new client.cf file added the name of the hub to the lone username
in the last line, whereas our original client.cf did not. To see why this happened,
first look for rule set 3 in this new client.cf file. It contains the line
R$+ @ $=w $@ $1 @ $M ...@thishost
Next look in the original client.cf file. It contains a similar rule:
R$- @ $=w $@ $1@${HUB} user@local -> user@hub
But the original client.cf file put this rule in rule set Hubset. The new client.cf
adds the hub's name to a lone username in rule set 3 that affects all addresses,
while old client.cf file adds it in the S= rule set, which affects only sender addresses.
Bleaaarghh! What the bloody 'ell is R$+ and R$-? The syntax makes my head hurt even after I read through it three times, and this is from an excellent book by excellent authors from an excellent publishing house. This is why I like postfix so much better.
Reading material [ Rants ]
Good books that I've read over the past 6 months or so:
- 1421: The Year China Discovered America, by Gavin Menzies [site] [book]
Fascinating book detailing the evidence for voyages of a vast Chinese naval armada across the globe starting in 1421, who may have discovered North America, South America, Australia and Antarctica plus methods for reckoning longitude decades and centuries before Europeans. Historical non-fiction, it's a fascinating read for anyone interested in history. - Like Hidden Fire: The Plot to Bring Down the British Empire, by Peter Hopkirk [book]
Another great book from Peter Hopkirk on Central Asian/Middle Eastern history, this one covers the plots and people involved in German efforts to drive the British and Russians out of Central Asia during World War I. Historical non-fiction, highly recommended. Not quite as engrossing as Hopkirk's The Great Game: The Struggle for Empire in Central Asia, but well worth reading. - Quicksilver, by Neal Stephenson [site] [book]
The Confusion, by Neal Stephenson [site] [book]
Stephenson's first two books in the Baroque Cycle. Follows the beginning of the Enlightenment in Europe through unforgettable characters both real and fictional including Newton, Leibnitz, Louis XIV of France (The Sun King) and William of Orange. Historical fiction; absolutely brilliant, if you're a fan of science fiction or historical fiction or simply good writing, you should pick this up. Stephenson stands in the company of Thomas Pynchon, Kurt Vonnegut and Mark Twain with his writing, and if you enjoy any of their works, I'd recommend these books. - The Conquerors: Roosevelt, Truman and the Destruction of Hitler's Germany, 1941-1945, by Michael Beschloss [book]
Beschloss covers the inner plans and political maneuvers inside the White House and between the Big Three (US, Britain and the Soviet Union) during World War II regarding the fate of Germany. Fascinating insights into FDR's and Truman's approaches to governance and politics, as well as the back-and-forth debates, conferences and arguments inside the US government and between the Allies over what should be done to Germany after Hitler's armies were defeated. Historical non-fiction, a good read if you're interested in WWII or US Presidential history.
June 11, 2004
Who is Enoch Root? [ Rants ]
Okay, so now I'm most of the way through The Confusion, the second novel in Stephenson's Baroque Cycle, and I've got Enoch Root on the brain. Who is he? Or, what is he?
I'm going to have to re-read Cryptonomicon now that I've stumbled on this site which goes into some depth on Enoch Root theories. But, oddly enough, prior to stumbling on the site, I was thinking this morning:
What if Enoch simply doesn't *age* as fast as normal humans? Completely apart from the whole angel-assuming-a-man's-body theory or sliding-through-time-a-la-Billy-Pilgrim, what if his trick is simply longevity? As a mental exercise, say one lived a full year, then was able to roll back those physical aging effects to effectively only age, say, one day for every year lived. Quick shower-stall math means you live 300-some times longer than a typical human, which works out to something on the order of 24K years (assuming a lifespan of 65 years). Someone who could live that long would only age 16 physical years across 6000 chronological years of recorded history.
So then I see this passage from the Book of Enoch later today on elharo's site: "And all the days of Enoch were three hundred sixty and five years." Hmm, that's not altogether too far off from the age-one-day-for-a-year, but who knows how that got translated from the Hebrew.
Anyway, I'd highly recommend any of Stephenson's books as good reads.
Original content copyright ©1995-2006 Eric Dobbs, except where otherwise noted.
