News: 2005 -

Demons Of Air And Darkness

10/24/2005 - I have updated the Links page, adding several more links and correcting broken ones.

10/20/2005 - I have finally gotten around to configuring Outlook 2003 SP2 on my personal computer Reason! I'm now enjoying two quality of life improvements. First, I can now send mail via SMTP over SSL through port 30025. My old personal computer Northy ran Outlook 2003 SP1, which dealt with that scenario in a buggy manner. That bug was fixed in SP2, so now my outgoing mail is encrypted on its way to nuwen. Second, I can now leave Outlook running overnight without it causing my entire machine to hang and die. I never understood what caused that problem on Northy, but I'm glad that it doesn't afflict Reason.

As a result, my massive E-mail backlog is no more! Some of the E-mails in my Inbox were almost two years old. I have now sent responses to everyone who E-mailed me. And in the future, I will answer my E-mail in a timely manner! On Northy, I couldn't leave Outlook running continuously. And when I moved to Reason, I had to make a Remote Desktop Connection to Northy in order to check my E-mail. I ended up doing that about once every month. The inconvenience of checking my E-mail, combined with my mounting E-mail backlog, discouraged me from doing anything about it. Finally, my procrastination has come to an end.

If you were expecting a response from me and did not get one, please try E-mailing me again. My ninja spam filtering doesn't usually nuke good E-mail, but it has been known to do that from time to time. Usually, a misconfiguration of mine is at fault.

9/18/2005 - A new MinGW Distro is available.

To taste the sea all one needs is one gulp.

9/11/2005 - It's been a long time since my last update, but I do have something to show for it. My old Coloring page has been superseded by my new Image Hacking page. There, you'll find not only all of my old colorized sketches, my recolored Pentium 4 HyperThreading logo, and the FMP OST 2 cover from which I removed all text, but also a new vector image of the Petersen graph and - most importantly - a tracing of Theresa that I spent limitless time on.

I learned of print stylesheets and have applied them to my site. Now, my main navigation table and each page's jump table will not be printed. Try it for yourself - look at a print preview.

Also, I restyled my horizontal rules to look like my table borders. Aren't they pretty?

I added two more example FoxTrot comics to my Links page. No more, I promise, unless Amend comes out with another Jason's Jumble! I also added some unreviewed books to my Science Fiction Reviews. I'm keenly aware that I'm making negative progress there, a situation that I hope to correct soon.

When I open the door, I can see the road going on and on.

8/2/2005 - My MinGW Distro page has a new distro. It also now describes how to compile "Hello, World!" and lists common mistakes that can be made.

My Modern C++ page now explains why writing "Hello, World!" is important.

7/9/2005 - Over the last month, I've been working on several site updates.

I have written a new Modern C++ page which explains what modern C++ is. This page will eventually supersede all of the other things that I wrote about programming so long ago. It is aimed at beginning and intermediate programmers, but advanced modern C++ programmers should find it to be of interest once I've completed some of the sections that I'm planning to write. (I consider myself to be intermediate-advanced.)

My MinGW Distro page has a new distro, as well as a table of changes to the distro. The distro's README file now includes this history of changes, so that you can identify what release of the distro you have. Releases 1.0 and 1.1 lacked this history.

My Links page now contains example images in its Webcomics section. The Books section now links to Accelerando by Charles Stross, which is a conventionally published science fiction novel that is also available online without charge in unencumbered form. I can't even begin to describe how awesome that is. (I own it in hardcover.)

I have removed a few items from the To Do list for libnuwen because they were no longer relevant.

Two more novels have been added (without reviews) to my Science Fiction Reviews page. Sigh.

Finally, I reached the highest level in World Of Warcraft:

Xalen, Level 60
Xalen, Level 60

6/5/2005 - I'm now 22 years old. That also means that this website is now 5 years old in Great Reorganization reckoning. I find the latter harder to accept than the former. The set of atoms that made up STL 5 years ago is mostly disjoint from the set of atoms that make up STL now. There has been continuity to the pattern of organization of those atoms, even as the atoms themselves have been swapped out, discarded, or acquired. I am that pattern, and it has vastly changed and grown in the last 5 years. Similarly, my website is a pattern of bits that has vastly changed and grown while maintaining continuity. (The physical identity of those bits has undergone even more drastic changes, regardless of whether you consider their canonical location to be on my computer or on the server.)

My website reflects myself, but with an important twist. As my thinking changes or expands, the old parts of my website remain static. This is what's responsible for the admittedly confusing multilayered nature of my site, which I attempt to convey through the organization of my navigation table. I really have to write some new stuff about programming, which would enable me to nuke the old stuff about programming. (And some of it is really old, dating back to when I was still learning C.)

I have added Dual Photography (a paper) to the Links page.

5/31/2005 - libnuwen has been released. Serialization now follows Item 58 from C++ Coding Standards by Herb Sutter and Andrei Alexandrescu. I thank Patrick Lawson, who brought to my attention problems caused by's use of nuwen::duc_t for both serialization and deserialization.

Argument Dependent Lookup would be a great name for a ship.

5/29/2005 - My MinGW Distro page has been updated with a new distribution. It includes CVS 1.11.20. Also, Boost 1.32.0 has been patched so that libnuwen builds cleanly again.

5/26/2005 - My Science Fiction Reviews page now contains full reviews of three novels by Charles Stross. The attentive reader will note that Powersat by Ben Bova has been added to the review pipeline. I haven't yet assigned it a rating, but it's better than his abominable Mars.

I have added The Battle For Wesnoth (a game), Ctrl+Alt+Del (a webcomic), and Cache Missing For Fun And Profit (a paper) to the Links page.

Sweet Fancy Feynman!

4/25/2005 - Behold the new MinGW Distro page.

It took me five days to get around to writing it, instead of one. Still, five days between updates is a lot better than two months, isn't it?

4/20/2005 - When monthly updates would be an improvement, there definitely is a problem.

March was mostly eaten up by me moving from my old computer Northwood to my new computer Reason - on which, I am proud to report, I am typing this latest and disappointingly late update. April has been consumed by me producing a new distribution of MinGW.

The Links page has been somewhat reformatted. The link items themselves are now no longer contained within the shackles called unordered lists. Not only were the lists totally unnecessary, but they also produced amusing horkage in Firefox (and virtually every other browser that isn't IE6). Other small improvements have been made; if you notice them, you have a lot more free time than I do.

The link to Winamp has a new icon. Isn't it pretty? Switching to Reason has given me the chance to upgrade many of the programs that I use. I upgraded from Winamp 2.91 to 5.08e, and it's so awesome. I'm most fond of being able to see the current song's title when in Windowshade Mode. The only regression from 2.x that I can find is the ability to customize the Spectrum Analyzer. I'll live. Indeed, I have made yet another metastable leap. It's a lot more like jumping from foothold to foothold on a jagged cliff than like bouncing from valley to valley in a hilly field. Or something like that.

One of these days I should write down all of the Registry hacks I have to perform when moving to a new system. Among my favorites are changing the title displayed in IE. You have to create the string HKCU\Software\Microsoft\Internet Explorer\Main\Window Title and set it to whatever you like. On Northy I used "MSIE". On Reason I use "IE". See? Another metastable leap. Yes, I'm so adventurous.

More importantly, the string HKLM\SOFTWARE\Microsoft\Command Processor\AutoRun lets you make something run every time a command prompt is spawned. I use doskey /macrofile=C:\Storage\macros.txt && title Reason && cls where that file contains:

..=cd ..

Isn't that neat? You see, this is how I spend my copious free time.

I swear I haven't been playing World Of Warcraft. In reality, I've just been busy with work. And Halo 2, which certainly feels like work.

Soon, I hope, I'll get around to configuring Outlook 2003 on Reason, at which point I will become slightly more attentive to my E-mail. I still do check it, but I'm not so good about replying to everything that I receive.

My new Science Fiction Reviews page has been slightly updated. There are now ratings, terse summaries, and terse reviews for three Stross novels. I actually wrote those back in early March, but I got sidetracked with moving to Reason. I figure I should push them out now rather than blocking on writing full reviews of them.

However, I am saddened (I think) to note that I have read four more science fiction novels, so there has been net movement backwards. Regression! Regression!

I am now capable of creating stuff that is so damn cool. There isn't even a contest between my new science fiction reviews and my old ones. You can interpret that as an arrogant swagger or as self-deprecation of past accomplishments. How do I interpret it? You shouldn't even have to ask. Shame on you.

Wait, you say! After having survived my nearly blog-like ranting, you have not been rewarded with the aforementioned MinGW distro. What's next, you ask? Will I jack up my line-height to 1.6, use columns of text so narrow that you could put metal plates around them and have them be mutually attracted by the Casimir Effect, and switch from C++/SSI/CSS/XHTML to PHP/SQL/EIEIO? Never fear. I will have the distro ready by tomorrow. I've been working on it for quite some time now, Mr. Anderson. All that I have left to do is test it and write a page for it.

Daily updating! I can do it! I think.

I have to write many things. A new personal page, a rant about energy and Hubbert's Peak, a new C++ page, the list goes on and on. For now, I leave you with an expanded explanation of the things I was ridiculing above. What is with blogs and jacking up line-height? After what has literally been years of tweaking, I have set my website's line-height to 1.4. I've actually been learning about typography recently. A line-height of 1.0 is called "set solid" and refers to text with no spacing between lines. This means that the ascenders from one line touch the descenders from the line immediately above. Text with a line-height of 1.0 is hard to read. My line-height of 1.4 is damned easy to read. But for some inane reason, bloggers tend to use massive line-heights, like 1.6 or more. Perhaps they wish to conceal the fact that they have nothing substantial to say by jacking up their line-height and narrowing down their columns. Oh, how I hate narrow columns.

In fact, I would almost say that at a line-height of 1.6 there is more whitespace than there is text. For an example measured in pixels, my Verdana 12 is 16 pixels tall from the top of a lowercase L to the bottom of a lowercase Y. (I think that this is called an "em".) But a lowercase Z (as well as any other letter lacking both ascenders and descenders) is only 9 pixels tall. (I think that this is called an "x-height". You learn something every day.) Note that 60% of 16 pixels is 9.6 pixels. So at a line-height of 1.6, there are actually 10 pixels between the descenders of one line and the ascenders of the line below it. Between two lowercase Z's there are 17 pixels. That is a whopping amount of whitespace, and it harms readability. Of course, my figures are specific to my font and my DPI. Other fonts have different ratios between their em and their x-height. Nevertheless, a line-height of 1.6 is as large as the pre-breakup Soviet Union.

I won't even get started on the microscopic fonts that most websites use. Nor shall I rant about the evils of serif fonts. Nay, even the treachery of databases and scripting languages shall escape my wrath.

... this time. Watch your backs, fuckers. STL's in town again.

3/1/2005 - The reign of monthly update terror continues.

The Science Fiction Reviews page is now sporting a fresh coat of paint over its titanium alloy airframe. In particular, I have now reviewed two novels. Yes, it's about damn time, and yes, I have 174 more to go. Also, the star ratings are now perfectly centered.

I have added two links to the Science section of the Links page.

I have moved my news posts into yearly archive pages. Behold: News: 2003, News: 2004, and News: 2005.

I watched Full Metal Panic again, in its entirety. I also watched Full Metal Panic Fumoffu again. And I read the first seven volumes of the manga again. (The English translation of the eighth volume is scheduled to be published in July, according to Amazon.) One thing is for certain: FMP is still my favorite anime series. I also watched Scryed again. One thing is for certain: it has the most weirdly shaped DVD case I've ever seen.

It would be cool if I were able to draw well. In fact, I profoundly suck at drawing. That form of content creation is forever beyond me. After trying to sketch the FMP mecha, I was reminded of this fact. So I turned to the next best thing: mutilating art in Photoshop. See the result at Image Hacking - Arbalest.

Miscellaneous Full Metal Panic fact: Mithril's spy satellite is named Sting.

Other than grinding in the World Of Warcraft (which I've really been playing less of, honest - never mind the fact that Xalen is level 58 now) and rewatching entire anime series, I watched the Extended Edition of The Lord Of The Rings and read a bunch of nonfiction. I'll probably get around to writing new nonfiction reviews one of these days, now that I have a modern format in which I can organize reviews.

Powerful in life, unstoppable in death.

1/29/2005 - I blame the World Of Warcraft. To be sure, I played a lot of Halo 2 after Launch Day. I even resisted buying WoW immediately on its Launch Day. A couple of days later I bought it, and since then my life has been consumed by work, WoW, and sleep (roughly in that order). I'd like to introduce you to:

Xalen, Level 44 Xeres, Level 12 Xalen, Level 48
Xalen, Level 44 Xeres, Level 12 Xalen, Level 48

Xalen is now a level 52 human fire mage, enchanter, and tailor, while Xeres is a level 12 human paladin, skinner, and leatherworker. Xeres doesn't actually fight in that Simple Black Dress, of course. (Missing here is Pham, a low level undead warrior. We tried to photograph him, but he ate the brains of the photographer.)

WoW is an incredibly polished game. The attention to detail that went into the design and the implementation of the game is readily apparent even to me - and I haven't played previous MMORPGs for comparison. Reportedly, they suffer from various griefing issues (where nasty players try to make life miserable for other players), lots of boring downtime while your character heals, and lots of grinding (i.e. killing monsters repeatedly, seemingly without end, in order to gain experience and a new level). WoW doesn't suffer from that stuff. You can read all about the game elsewhere, but suffice it to say that WoW is an entirely new kind of gaming experience. Until we get true AI, games will always have a finite amount of content. You play the game to experience the content. Once you've beaten the game, you've consumed the content. It's just like watching a movie. Of course, you can play the game again, just as you can watch a movie again. Games differ from movies in that you can take alternate paths through a game, or play against other people - this is how the best games achieve high replay value. Deus Ex is very replayable because the game is minute-to-minute nonlinear, even though the entire story is linear. (It helps that the story is so badass, and that the world is filled with such detail.) Star Wars: Knights Of The Old Republic offers Light Side and Dark Side paths. I played Warcraft III: Reign Of Chaos and Warcraft III: The Frozen Throne's single player campaigns once each, but I played over 1200 multiplayer games between both of them. Some games, like SimCity 3000 (I refuse to recognize the existence of SimCity 4, except for its soundtrack), are sandboxes with no actual linear storyline, and if done well they have a lot of replay value, but eventually there's only so many games of SC3K you can take. WoW feels different. To be sure, of course there's a finite amount of content in the game, but there's so much. It feels like you could play forever and not experience all that the game has to offer - and then you could make an alternate character of a different race and class and start again. While the actual gameplay of WoW isn't as stunning as the high points of DX or H2, it's still very entertaining, and takes a long, long time to get boring.

I know that I should feel guilty for not having accomplished anything site-related in over two months. My non-work productivity ebbed to record lows as a direct result of playing WoW so much. (Interestingly, my work productivity has been steadily increasing as I learn more and more.) Yeah, I should feel guilty - but I don't. WoW is too fun for that.

I have Half-Life 2 sitting on the desk behind me, but haven't played it yet. Such is the power of WoW and Halo 2.

Nevertheless, I'm back and working on the site again. In the end, it's the stuff here that will lead to my eventual global domination.

This essay, "Mob Software: The Erotic Life Of Code", is unalloyed bullshit. I'd like to leave it at that, but I can't resist pointing out the ridiculous fallacies and blatantly incorrect assertions that this essay contains. I won't complain (too much) about the incredibly annoying writing style.

I feel dirty after having read that. Any potentially good points that the article makes (such as the curious method by which programmers are educated) are suspect for being made by the same people who uttered the rest of the bullshit in the article.

And now for another article! "Reflections On The Limits Of Artificial Intelligence" is bullshit alloyed with pseudoscience. The wrongness of this article should be apparent to even a casual reader. From incorrect and irrelevant assertions like "Nature is very simple and efficient in everything she makes, and is extremely obvious" to nonsense like "Any intelligent information procedure is decomposed eventually in strings of '0' and '1', which leads us to the fundamental objection that intelligent machines will never be like humans. We have to consider that bio-systems also work with intermediary values", this article is a howler from start to finish. I don't know how crap like this gets published. (Well, yes, I do. And it fills me with sadness.)

Let me move on to more interesting matters. In one paper published on the Journal Of The ACM's 50th anniversary, Edward A. Feigenbaum noted that an ultraintelligent computer would fail the Turing Test. (Unless, of course, it chose to precisely imitate a human - which wouldn't be hard for an intelligence superhuman enough.) I should also point out that Spock would fail the Turing Test, yet we consider him intelligent (if disappointingly fictional). Figuring out when you're talking to something intelligent is not as easy as it seems. Another paper in that issue of the JACM actually referenced Vinge, yay!

I have even more SF novels to review. Sigh.

For about a week in December, my E-mail was down (not that I've been checking it recently, uh). It's back up now.

After upgrading the Creative drivers for my Audigy sound card, it would appear that the Fucking WMP Volume Problem, wherein seeking within a video in WMP 10 would reset the volume to maximum without moving the volume slider, has been solved. Hooray!

I have added several links to the Links page.

Segway news: A week or so ago there was ice and snow on the streets. I lost traction on my Segway twice, once going up to Microsoft and once coming down from Microsoft. (That's a literal description: the street to Microsoft is on a big hill.) I was uninjured but pretty annoyed. Losing traction on a Segway is an interesting experience. On ideal ground (dry and hard, although slope is irrelevant), the Segway refuses to let you fall off. It instantly responds to whatever you're doing. I've never had problems with rain. With ice, though, imminent loss of traction is signaled by a "squishy" feeling - the machine can no longer counteract your movements effectively. Losing traction on a Segway is more unpleasant than losing traction while walking, because it is harder to stop yourself. (On the other hand, your feet can slip on a small patch of ice, whereas it takes an extended chunk of ice to interfere with the Segway. The Segway would glide right over a small patch of ice and you would barely have time to get out of balance.) Losing traction on a Segway is vastly less unpleasant than losing traction in a car, because the latter is a good way to die.

A couple of days ago I was able to install Enhanced Traction tires on my Segway, as well as the Locking Wheel Nut for the special Segway lock. The locking mechanism is ingenious. Segway wheels have a hole by their air valve and a corresponding hole in the fender that allows you to use a normal cable lock to secure the machine. However, a dedicated thief with the correct wrench and socket (ha! I'll get to that in a bit) could simply remove a wheel and fender and cart the machine away (in a nonfunctional state - Segways can't be hotwired). Each wheel is secured to its motor shaft by a single wheel nut. The special Kryptonite lock for the Segway consists of a Locking Wheel Nut and a corresponding cable. The Locking Wheel Nut replaces the normal wheel nut and has a long protrusion. The cable's head fits over this protrusion, and when locked, ball bearings slide into place to grip the Locking Wheel Nut. The design is ingenious because while the cable's head has a secure grip on the Locking Wheel Nut, the nut is only screwed onto the motor shaft. However, the cable's head will rotate endlessly around the nut while providing no torque to the nut, so it can't be used to unscrew the nut. The head is shaped in such a way that it blocks all access to the nut. The only way to defeat the lock would be to cut the cable or pick the unusual mechanism. I haven't used the lock yet, but I plan to soon.

Regarding the correct wrench and socket to use on a Segway - this is a difficult, poorly documented thing to understand. Current owners, potential owners, and enterprising thieves will want to pay attention to this. In order to remove and install wheel nuts on a Segway, including the Locking Wheel Nut, you need a torque wrench. This is a special socket wrench designed to apply a set amount of torque to a nut and no more. What happens, at least with my torque wrench, is that you select a torque setting by screwing part of the wrench in to a certain mark, like with a micrometer. This compresses a spring inside the wrench by a calibrated amount. You then use the wrench normally, applying as much force as you want. As you apply torque to the nut, the spring's compression keeps the head of the wrench fixed. (The head of the wrench can rotate inside the wrench body, but is kept in place by the spring pressing a ball bearing or something against an indentation in the head.) When you reach the set amount of torque, the compression of the spring can no longer overpower the force you're exerting to rotate the head, and the wrench will slip a bit, letting you know that the correct amount of torque has been reached. For a Segway, the wheel nuts have to be tightened to 50 Newton-meters, so get a torque wrench capable of handling that setting.

A torque wrench has a square protrusion on its head which a socket fits onto. The size of this protrusion is called the drive. I have a 3/8 inch drive torque wrench. 1/2 inch drive torque wrenches are also common. The socket you get must have the same drive as whatever torque wrench you get. The socket also has to fit the wheel nut. For a Segway, this means that you must get a 6-point (i.e. hexagonal like the nut), 16mm (i.e. the size of the nut), thin-wall, deep socket. "Deep" means that the socket is really tall - this is necessary because otherwise the torque wrench and socket won't be able to reach the wheel nut. ("Deep" sockets are also able to accomodate the tall Locking Wheel Nut's protrusion.) "Thin-wall" is very important, because the clearance between the wheel nut and the wheel is very small. I bought a socket that satisfied all of the criteria but wasn't thin enough, so I had to get another.

Oh, and when the manual says to use a rubber mallet on the tire to get the wheel off, you can use a sufficiently large rubber band ball. I speak from experience.

Thanks to WoW, I let so many messages accumulate in my voicemail that I reached the limit (30 messages). Ooops. I didn't answer my messages for a month. I still haven't answered my E-mail. Sorry about that. I do eventually read everything that is sent to me. I'm working on it....

Spoiler for the first minutes of Stargate SG-1 816 ahead! (This is a really minor spoiler and I won't mention the bulk of the episode.) In this episode, Amanda Tapping gets to play evil Replicator Carter, who looks just like good Samantha Carter but is made out of countless microscopic self-replicating machines. Oh, and did I mention that she is bent on the destruction of all human life? The evil one, I mean - the good one merely gets all of her boyfriends killed. Um. Anyways, in the first minutes of 816, Carter is captured by the Goa'uld, and the viewer isn't explicitly shown until the end of the scene that this is the evil Replicator and not the human Sam. However, while being brought before the Goa'uld, she gives them such a witheringly cold look that her true nature is obvious to the viewer. What a fantastic actress! This is right up there with Brent Spiner's portrayal of Data, Lore, and Dr. Soong.

That's all for now. I'll try to get to my E-mail and work on real content again. To any who have a problem with my infrequent updates, I ask: Where's your website? (updated 2/7/2006)
Stephan T. Lavavej
This is my personal website. I work for Microsoft, but I don't speak for them.