Archived News - nuwen.net
Increasing vision is increasingly expensive
6/29/2003 - I have updated the known issues for Parrises Squares.
I have changed my pages so that they use Server Side Includes for their headers and footers. This makes maintaining my pages even easier. As always, if no one notices a problem, it's not broken, so let me know if you see any problems.
I have switched to using Apache on my personal computer because Internet Information Services doesn't play nice with my Server Side Includes anymore.
Notice how each page turns off its own link in the Site Directory? I now do that through Server Side Includes instead of Cascading Style Sheets. This means that my website once again looks good in text-based browsers.
6/24/2003 - I got C++ syntax highlighting working in nano. Maybe I'll put up my .nanorc file.
6/15/2003 - Parrises Squares is now available. Enjoy.
6/14/2003 - Finals are over, though my summer research is just beginning. I've added a new page, the Culture page, which contains an essay by Iain M. Banks.
Eleven books are sitting on top of my left monitor, waiting for me to review them. Sigh.
6/11/2003 - Another day, another update. I discovered that when I was compiling patch, it actually wouldn't work at all. I've figured out why, and I've compiled a working patch 2.5.9.
6/10/2003 - I've updated the MinGW Distribution again. I've upgraded patch 2.5 to patch 2.5.4. I've also hacked grep 2.5.1 again; now, --color works, recursive directory traversal works, the color is green, and you can pipe colored output to another program.
6/5/2003 - I've updated my MinGW Distribution. It now includes grep 2.5.1, which I have hacked so that --color=always works in Windows. Whee.
6/2/2003 - Today is my birthday, an Avogadro Day. I'm 20 years old, though I sure don't feel like it. This is the third birthday of mine that has passed since I began work on my "new" website, which is in fact quite old and increasingly crufty despite my attempts at housekeeping. It would be the fourth, but I actually started the Great (First?) Reorganization on June 5, 2000 and not a few days earlier.
I finished a novel a while ago, Altered Carbon by Richard K. Morgan. Today I blasted through Ender's Game by Orson Scott Card. I'll try to review them in a timely manner, but finals week is upon me.
5/31/2003 - I have removed the counters on my pages, since Caltech Information Technology Services no longer hosts my site.
I have added a C++ page.
5/30/2003 - I've finally managed to compile MinGW gcc 3.3. This will allow me to work on a C++ page.
I have updated the Links page, adding several links and giving icons to several more links.
5/26/2003 - I put my nice new stars on the Anime/SF Reviews but haven't had time to revise that page yet.
5/23/2003 - My 404 page now validates as XHTML 1.1 and CSS 2.
5/22/2003 - Added several quotations to the Collection.
5/21/2003 - All of the various downloads I have are now hosted on the same machine as the web site. This simplifies my life considerably.
Blah blah, I really mean to work on stuff, blah blah. Please be patient. MinGW gcc 3.3 is still not out yet either.
5/19/2003 - Big things are happening to the site. Instead of hosting it on the computers of Caltech Information Technology Services, I'm hosting it on my own machine (the old Dell PIII-600 I occasionally mention). Here's what's going on:
- http://www.its.caltech.edu/~stl/ will stop working. No one should have been going there in the first place (I always linked to my virtual host name, never to my ITS directory), but Google seems to have been fond of linking to that. There's a 404 page up there now.
- http://stl.caltech.edu used to be a virtual host name for my ITS directory. That's now gone. Soon (within a day, they tell me), it will begin pointing at my machine. Thus, you should see no external differences once this change is complete.
- http://nuwen.net and http://www.nuwen.net now point to my machine.
I will try to stick with calling my web site "stl.caltech.edu" until I graduate. At that time, it will become "nuwen.net", though I'll probably start referring to them interchangeably. http://stl.caltech.edu will remain working until I graduate, no matter what I call my web site.
The idea is that this move will create no visible changes. The De Novo pages change themselves depending on how you access them; that's intentional. I need to remember to move my downloads soon.
As usual, contact me if anything has broken.
5/15/2003 - I don't usually review the movies I watch. This is because I watch a lot of movies, and I know that I can't let myself be sucked into reviewing every single one of them. Furthermore, I don't feel that I need to encourage people to watch movies in the same way that I need to encourage them to watch Full Metal Panic or read A Deepness In The Sky. You've probably seen Terminator 2: Judgment Day, or Saving Private Ryan, or Sneakers, or Short Circuit. If you haven't, shame on you. Unfortunately, I don't have the time to make sure that you've seen all of these excellent films. I probably should have mentioned something about The Ring, so I'll take a little time now. The Ring is the scariest movie I've ever seen. It's just that good. I'm not easily scared by movies, so when I say that The Ring is insanely scary, that means something. You should see it. I don't ordinarily go for horror, but The Ring is certainly worth your time.
Anyways, let's get back to the reason that I'm talking about movies in the first place, the question that drives us. The Matrix Reloaded. You will see this movie. It's that simple. This is the day that I will remember as the real beginning of the twenty-first century. It serves as a simple test. If someone properly appreciates The Matrix Reloaded, then they might be worth listening to. If not, you can lump them in with the creationists. This is the best movie that I've ever seen. I used to say that about Terminator 2, and then about The Matrix, but rapid, continual change has overtaken us.
In the first place, The Matrix Reloaded is pretty. It looks better than the first film, which already redefined style. In the second place, its action is spectacular, and that's always nice. Those aren't the reasons why I say that this is the best film ever made. Lesser minds will see the special effects and the action and they won't see any deeper. To them, all the talking in the movie (and there's a lot of it, but not nearly enough) will be just a breather from the action. They will be wrong. The Matrix Reloaded made me think. The ideas in it were moving so fast, I could barely keep up. That happens in occasional flashes with anime, and more frequently with the very best SF. As I mentioned, A Deepness In The Sky pulls this kind of thing off even though Asimov invented that particular genre in Foundation. The Matrix Reloaded didn't take very long to get started, and when it did, I kept getting distracted by what the characters were saying so that I had to force myself to pay more attention to the action. This particular genre of wickedly intelligent SF was invented, or at least revitalized, by The Matrix. Its sequel improves on the approach. I'd love to talk more about the movie, but I will not spoil it for you. You're going to watch it soon, remember.
On another level of cleverness, The Matrix Reloaded is a giant film. As you know, it and The Matrix Revolutions are basically one film that's been chopped in two. Thus, Reloaded sets up a lot of things that will be resolved (I hope) in Revolutions. But it also is linked with The Animatrix. The main plot of Reloaded continues directly from "The Final Flight Of The Osiris". I expected that. What I didn't expect was that Reloaded would be linked with "Kid's Story". Those who see The Matrix Reloaded without having seen The Animatrix first might get the sense that something is being left out, and they would be right. I also sensed gaps in Reloaded that I expect will be filled in by Enter the Matrix, which I will be getting shortly. These gaps are not problems with Reloaded; they are strengths, and this will set a higher standard for movies in the future.
Free your mind.
5/14/2003 - I installed Red Hat 9 Linux on my old Dell PIII-600 yesterday. I've already got SSH, SCP, and HTTP working. I've bought a domain name, nuwen.net, and I'll be pointing it to this machine shortly. At that time I will also move this website there. There should be no reader-visible changes, but this move will greatly ease my life. Currently, my files are spread over two servers: ITS hosts the website, while UGCS hosts my downloads. I've got a distribution of MinGW sitting on my CS account as well. When the site is hosted on my own box with 25 GB of space, I won't have to deal with the hassle of managing three separate accounts.
In addition to getting the domain name set up (and stl.caltech.edu repointed), everything is blocking on the release of gcc 3.3 for MinGW. Then I'll compile a release of my game Parrises Squares, set up a C++ tutorial, and get to work on bwtzip and TranscendForum again.
I have the vision. Oh, how I have the vision. I just need the time. Please be patient with me. Great things are coming.
5/9/2003 - I understand where bwtzip's space usage is going now. Hee.
5/4/2003 - The core engine for my game is complete. I'll be working on it more, and eventually I'll make a page for it here. My current favorite name is Parrises Squares.
I took a look at the Origami Polyhedra page. It looks awful. I spend so much time working on and looking at the newer pages that I forget how stale the older pages have become. Won't be long now before my interest returns to revising this site.
5/3/2003 - I've got basic cursor support running in my game. Both the keyboard and the mouse can control the cursor. I'm currently calling the program InsaneGame, after the TI-85 game which I'm cloning. I may change the name later.
4/30/2003 - Though site updates have been slow, I am far from idle. I've been learning SDL, and I already have a running application:

You see, this site is about things that I've done. When I'm actually doing the things, I have little time to update the site itself.
To be honest, I'm not very enthusiastic about revising the Anime/SF Reviews or the DX Story page right now. I'll get around to it, but maybe in a couple of weeks. What I am interested in is a full-fledged C++ page. We'll see.
4/26/2003 - My Xbox has failed again. Hssk.
I've found McCreight's paper which contains his suffix tree construction algorithm. It looks difficult to understand, but I'll try.
4/24/2003 - The Deus Ex page now validates as XHTML 1.1 and CSS 2. I have not proofread it, though.
4/19/2003 - I have increased the line spacing on all pages of my site; this makes my dense text easier to read.
I have finished revising the Links page. No trace of the original version remains, and it now validates as XHTML 1.1 and CSS 2. I'll be adding more links to the page later, but I wanted to get it out now.
After I finish adding more links to the Links page, I'll work on the Anime/SF Reviews. I've prepared better stars:








4/18/2003 - I've changed my .htaccess file so that attempts to access the old .html files get rewritten into attempts to access the new .html files. This caused me minor confusion when my custom 404 page stopped working. Of course, what was happening was that I had given the 404 page a plain .html extension. Attempts to access it would get rewritten, and 404.html simply didn't exist. Uh oh. I've fixed that.
I apologize to anyone who got lost in the last 15 days. However, the .html pages are not going away, so links should still be updated.
Some good housing-related news has finally come my way. I have the highest place in the Early Lottery for Avery House. This means that I get to stay in my current room not only for the summer, but for next year as well. Needless to say, I am infinitely pleased.
I'm still working on the Links page. It's getting closer to being completed. No, really.
4/15/2003 - I've learned that Gigabyte's Canterwood motherboard doesn't really support 6 DIMMs. Therefore, Reason will be using only 2GB of memory.
I'll update the Computer page to reflect this soon. I'm still working on the Links page.
4/12/2003 - Yesterday I received my Xbox in the mail. Microsoft's service was so fast! My Xbox is now in perfect working order, just like on Launch Day. In fact, I got my own Xbox back. I can tell, because they didn't wipe the hard drive. Companies that give a damn about their customers get my undying loyalty.
I'm working on revising the Links page now. It'll be very cool.
Want to help me out? The correct way of writing NVIDIA is in all uppercase. If you see any places around the site - and there are many - where I write it with lowercase letters, please tell me.
4/10/2003 - For the first time since the Great Reorganization of June 5, 2000, I'm revamping every single page on my website. I've started with the GeForce FX page, which is the most recent.
What does this mean?
- Each page will become valid XHTML 1.1 and valid CSS 2 (modulo the PNG alpha trick).
- I'll be fixing minor things which will make it easier to maintain and move my site in the future.
- I will look over and edit the text on each page, bringing it up to date with my modern style of writing.
- Some pages may disappear entirely - pngacc and LASTLY are obvious candidates.
- Other pages will be massively reworked.
- A few pages will expand significantly - for example, Links.
- I may make new pages. I want to have a subsection dedicated to C++ programming.
As each page is reworked, it will appear in the De Novo subsection I have created in the Site Directory.
This will not be a task that is completed quickly. The site currently consists of 1.8MB of HTML, and I will need to look at every byte of it, basically. Archived News is the single largest page, even larger than the Deus Ex page, and that will take me a very long time to work through. However, it can be done! The lesson I've learned from working on this site for almost the past 3 years is that over a sufficiently long timescale, I can accomplish things that would ordinarily be unthinkable.
However, I still don't know what to do with the Book Reviews. I don't have time to review every single book again. We'll see.
4/9/2003 - I've been hit with lots of work these first couple weeks of classes, so I haven't been able to get much done on the site, bwtzip, or even TranscendForum. As if that weren't bad enough, the dark forces of compilers have arrayed themselves against me, wasting whatever time I can put into programming.
I was adding features to TranscendForum, and the server program began mysteriously crashing on Northy, which runs XP. It worked fine on UGCS, which runs Linux. Obviously, my code was doing something bad, but I didn't know what it was. At first, I suspected that XP's Winsock 2 was intolerant of something that UGCS's BSD sockets were permitting. So, I tightened up the socket code, and it still crashed. (Actually, the mistakes I made in closing the sockets could have bit me later, so it's a good thing I tightened up that code, even though it didn't solve this particular problem.)
I worked at it some more and realized that the feature I was adding would transmit zero-length vectors over the sockets. So, I merrily added code to detect when this would happen and simply not try to communicate zero bytes of information. Again, this could have caused problems for me later, but it wasn't the source of my current problems.
I then traced through how the client and server were using the socket classes and realized that they weren't working with vectors directly - they were using strings. I created a small test application and found that range-constructing a string from an empty vector would crash programs on Northy. So now I suspected that there was something stupid about the C++ language itself. Alas, I looked it up in the Standard, and range-constructing a string from an empty vector was quite legal.
By this time I was almost certain of the true cause of the problem, and went to gcc.gnu.org. Lo and behold, I was running gcc 3.2, because that was the latest packaged version of MinGW. UGCS's normally incompetent administrators had actually upgraded to gcc 3.2.2. Of course, in gcc 3.2 there was a bug: PR 8347, "Empty vector range used in string construction causes core dump". Argh! I then managed to upgrade my installation of MinGW and things began working perfectly. This is the third time I've encountered a compiler bug and it's equally unpleasant every damn time.
I'm now thinking that this site needs a complete revamp from the ground up. I'll probably do it a page at a time. When I'll be able to find the time is the real question, though.
The GeForce FX page now validates as XHTML 1.1, by the way. :->
4/6/2003 - I have updated the dual-monitor Northwood background on the Downloads page.
I have updated the Computer page with a new spec for Reason. The price for the new components is now $4141.50. Aside from things becoming cheaper and finding some new stores to purchase components from, I've made a few changes. Reason will use the Gigabyte i875P motherboard which has 6 DIMMs, onboard SCSI, and non-PCI-saturating GigE. Thus, I eliminated the Adaptec SCSI card and I increased the RAM to 3GB. I've learned that Swiftech's revised MCX4000-B2 heatsink can accept 92mm fans. So, instead of an 80mm 80CFM Delta, I'm going to use a 92mm 119CFM Vantec Tornado. That will give me basically 50% more airflow than Northwood's heatsink has. Also, I have changed the Pioneer DVD-106S to the updated Pioneer DVD-120S drive.
TranscendForum now has extremely customizable timestamps. It stores times internally in Qeng Ho format. :->
4/4/2003 - I have reviewed Halo: The Flood by William C. Dietz. I gave it a low six stars ("good"). What I wanted was another Halo: The Fall of Reach, but instead I got just a novelization of Halo. Ho hum.
I have reviewed Feersum Endjinn by Iain M. Banks. This novel gets a low five stars ("average") from me because it's so confusing.
I have also revised The Fortunate Fall's rating to a high four stars. I think of four stars as my "Evangelion" rating, and I've decided that that's exactly what The Fortunate Fall is.
Now for some fun:

Ah, alpha transparent goodness. Unfortunately, the DirectX hack this relies on in IE will make it not immediately convenient to save the alpha transparent images. I think it's inherent to the process. I've made it so that my normal PNG images are not affected.
4/3/2003 - Big things are going on! First, I have been learning XHTML, CSS (Cascading Style Sheets), and SSI (Server Side Includes). Yes, I'm still Strictly Conforming Man, champion of CS and eternal enemy of IT, but some of this web stuff is pretty neat. My new project, TranscendForum, is going well. Soon it will be generating fully XHTML 1.1 and CSS 2 compliant code.
Earlier, I began using CSS here to suggest that Verdana be used. I have now gone one step further. Ever since the very, very beginning of my website - about five years ago, before I even came to Caltech - my Site Directory has always been static. Each page had its own Site Directory, different from every other page's Site Directory. Notice how my pages do not link to themselves; I always liked this effect, and didn't want to give it up. I'm now proud to announce that by using CSS and SSI, I generate the Site Directory on every page from a single file. This will make maintaining the site, adding new pages, shuffling pages around, and so forth significantly easier for me. Less time spent on editing 30 pages by hand means more time to work on actual content. Or play Warcraft III, I'm not quite sure yet. Happily, even though I am now using SSI, I can still view my pages locally (using XP IIS), so my work on the site will not be impeded.
However, major changes are usually not painless. ALL LINKS TO PAGES ON MY SITE HAVE BEEN BROKEN. Caltech Info. Tech. Services only turns on SSI for files with extension .shtml. My pages have always been .html, but now they are all .shtml. Going to http://stl.caltech.edu will still bring you to the Index & Plan, which is now index.shtml. However, if you maintain any links to any subpages of my site, I strongly suggest that you change them to point to the .shtml files. I apologize for the breakage, but it is unavoidable; I can't pass up the benefits of SSI.
My site links extensively to itself. The Site Directory works, but links in the bodies of pages may still point to .html files. I have attempted to fix this; however, I may have missed some broken links. In my search-and-replace frenzy on the Archived News, I may have altered the wrong links. And finally, I may simply forget and try to link to an .html file in the future. Please notify me if you find a link that must be updated.
4/1/2003 - It's the first day of April, which means that now more than ever, this is the Net of a Million Lies. However, this newspost is not a joke. I've gotten Windows sockets working, and in fact the difference between Windows and Unix sockets is entirely encapsulated by my classes. I've also tightened up the code to check for errors and so forth. I'm also now interested in making bwtzip use sockets. Imagine a compressor that is SMP or HT aware and takes full advantage of that; this is entirely possible for bwtzip. In fact, it could be written to run over TCP/IP, allowing different machines to compress the same file. Interesting, eh? I'm now brimming with ideas for the future, so eventually most of them should be reality.
3/30/2003 - Well, I got sucked into learning Unix sockets. I pulled an all-nighter and finally got them working. It's very neat, but I didn't get a chance to work on the site. I'll try to do that this first week of classes.
3/29/2003 - What's going on in STL-land? Either very much or very little, depending on how you look at it. On the one hand, I planned to get a lot done on the site and bwtzip, and that just hasn't happened. Instead, I've been celebrating the end of second term by playing insane amounts of Warcraft III - I want my blasted Knight icon already! I have also been working on a little project I call TranscendForum; more about that later, maybe. Yesterday I went to a small Xbox party, whereupon I learned that my Xbox is a very sick little $300 console. I bought it at launch day, damned depreciation, and now it can't even load my favorite map on Halo, Prisoner. I called 1-800-4MY-XBOX, and the people there were extraordinarily helpful. Microsoft is servicing my Xbox for free, even paying the cost of shipping and handling. From reports online, it appears that this may be a problem with the early consoles in general. And mine is one of the very earliest - constructed October 2001! Has it been that long? I'm not too happy that my Xbox is failing, but Microsoft has more than made up for it with their excellent customer service. As for Unix sockets and named pipes, they can go to hell in their own way.
With Saturday and Sunday left before I go back to classes, I do plan to attack at least the personal page. We'll see if that happens.
I have updated the Computer page to include my GFFX; Northy's price has risen to $6284.99. That doesn't count depreciation, as usual.
3/24/2003 - Today has been a very productive day for me. I divined the secrets of endl, learned HTML forms, wrote a CGI parser, decrypted countless Unix man pages, mastered interprocess communication, and came to a clearer understanding of lvalues and temporaries in C++. However, I didn't get any work done on the site or on bwtzip as I planned to. That will have to wait for tomorrow.
As for the secrets of std::endl: what exactly is it? It's popularly believed to be an object for which operator<<() is overloaded, but this is in fact not the case. It is a template function, of all things. Calling cout << endl; performs endl(cout);, which then dumps a newline on standard output and flushes the buffer.
Suppose you are tired of typing cout << "<BR>" << endl; and want to say cout << htmlendl;. This can be done with two lines of code.
template <typename C, typename T> std::basic_ostream<C, T>& htmlendl(std::basic_ostream<C, T>& os) {
return os << "<BR>" << std::endl;
}
This is actually a very neat, extensible trick. You don't need to write throwaway classes, nor do you need to further overload operator<<().
3/22/2003 - I managed to break the GFFX logo on the Computer page. That's fixed now.
3/21/2003 - I have finished the GeForce FX page, and I have removed the GeForce 3 page entirely. I plan to play through some Deus Ex and take a screenshot somewhere in the middle of the game, but otherwise the GFFX page is mostly done.
For my future reference, here are my Advanced Appearance settings:
- Large Fonts
- Icon: Tahoma 12
- Menu: Tahoma 12
- Message Box: Tahoma 12
- Palette Title: Tahoma 12
- Scrollbar: 24
- Tooltip: Tahoma 12; R 225, G 225, B 255
3/19/2003 - It's here!
CASE No. THX1138
Patient 1138 is at genius level electrical engineering capacity, but demonstrates asocial and psychotic episodes when told to turn off personal computer. 24 hr. watch required.
More IRC fun...
[8:17.27 PM] <STL> Top Ten Signs You've Been In #stl Too Long:
[8:17.31 PM] <STL> 10. "War? What war?"
[8:17.57 PM] <STL> 9. You begin making whole weird typos.
[8:18.08 PM] <STL> 8. "Today I bought a digital scale."
[8:19.19 PM] <STL> 7. You've made a new slogan for bwtzip.
[8:19.52 PM] <Searcher> 6. You just tin-foiled your window.
[8:20.43 PM] <Searcher> 5. You begin abandoning your /online/ life.
[8:22.57 PM] <Searcher> 4. You know your personality type.
[8:23.13 PM] <STL> 3. You need Digital Vibrance Control, air, water, and food to live. In that order.
[8:23.55 PM] <STL> 2. You're +OaARD.
[8:23.58 PM] <STL> 1. IT WILL ALL BURN
[8:23.59 PM] <Searcher> 1. IT WILL ALL BURN.
[8:24.04 PM] <Searcher> Ha!
[8:24.33 PM] <STL> That's just not right. That's just not right.
3/18/2003 - Burninate the countryside!
Lots of good news today. My GFFX is finally, finally In Transit and I should see it tomorrow. And John "Searcher" Saalweachter sent me a small contribution to bwtzip, which I will be integrating shortly. (Joergen Ibsen has also sent me some speed tweaks which I intend to look at soon.)
3/17/2003 - The end of finals week is almost upon me. My GFFX should be arriving on Wednesday or so. Shortly after I finish my finals and create the GFFX page, I plan to seriously revamp parts of the site (including the personal page and several essays). I also plan to work on bwtzip some more.
I have switched Rurouni Kenshin and Love Hina's ratings around on the Anime/SF Reviews. Kenshin (modulo third season) deserves a high 6, while Love Hina deserves a middling 6. I do plan to watch some more anime soon.
3/15/2003 - I have added a fully updated spec for Reason to the Computer page.
3/14/2003 - Good news today.

3/13/2003 - It has come to my attention that some people are confused by the picture of our esteemed Captain Theresa Testarossa which I put on the Index & Plan a while back. Listen carefully, people. I'm not Theresa. I don't have white hair, for instance. In fact, I don't look anything like her. Theresa just happens to be my favorite anime character, and I have a tradition of using her as my avatar.
It's really quite simple, you know. Don't burn too many cycles over it. :->
I fixed about five nasty instances of "smart quotes" in the Quotation Collection. They appear as question marks when viewed in Verdana, and that's not acceptable.
3/12/2003 - Still waiting for my GeForce FX. I've got a lot of things planned for the site after I finish my finals, including perhaps a dedicated page for my Caltech classes.
3/8/2003 - I have added CSS to all of my pages; Verdana is now used for all of the non-monospace text. I myself already override everything in IE to Verdana, so I've been enjoying this for a while. However, it's only proper for everyone else to see my pages as I do. Unless, of course, you override fonts too, and you don't use Verdana to do it.
3/6/2003 - I have reviewed three new novels. I gave Clear And Present Danger six stars ("good"). I gave Look To Windward five stars ("average"). And I have reviewed Inversions, giving it a high six stars.
I have expanded my review of Halo: The Fall Of Reach. I felt that as my third most favorite novel in the SF category, it deserved more detailed comments.
I have updated the collection of my commandline utilities on the Downloads page. New in this update are bg (similar to appending an & to a commandline in Linux), sum (a commandline addition-only calculator), and the mass renamers elide, increment, and trim.

Stephan silently weeps
3/4/2003 - I've finished Inversions by Iain M. Banks and Clear and Present Danger by Tom Clancy. I'll review these soon. I'm still swamped with Caltech work.
Digital "Rights" Management is crap. I've had my first, and hopefully last, experience with it. Vernor Vinge annotated his A Fire Upon The Deep, but the only way to read it now is via the wretched Adobe Acrobat eBook Reader or Microsoft Reader. There's no print edition of it. So, I bought the Adobe version from Amazon, and was oh-so-delighted to discover that it is an extremely difficult program to get working on Windows XP. I eventually managed to get it creaking along, sort of. Here's the problem - this "book" is tied to Northwood. It will never be readable on any other computer. When I upgrade to Reason and stop using Northy, I won't be able to continue reading this thing. It's not really mine, is it? Whereas all of my printed books are mine to keep forever. The conclusion is inescapable: Digital "Rights" Management is evil.
Fortunately, Adobe Acrobat eBook Reader does not prevent screenshots (nor can it really - there's always DVI-I). And PNGs are forever. Still, it infuriates me that I need to do a lot of repetitive work just so I can read a book I paid for.
3/2/2003 - I had created a subpage for Reason, with a fully updated spec and everything, but then I mistakenly downloaded a copy of my site, rather than uploading the changes. Alas, my work has gone to the great bit bucket in the sky. I'll write it again later. The spec will continue to change anyways.
3/1/2003 - Seen on IRC:
<ithil> Ha ha HA!
* ithil brushes tears out of his eyes *
<ithil> You just _have_ to have used up teh funny for a YEAR.
* ithil tries to control his laughter so his roommates don't think he's insane *
* ithil bursts out laughing again *
See the shiny toys rant on the C++ page.
2/28/2003 - I have reorganized the Anime/SF Reviews; the Jump To table is more detailed and the novel ratings have been moved to the top of the page. In addition, I have created a subcategory for space novels.
Today's external link is to Halo: The Flood at amazon.com, which is scheduled to be released in April.
2/27/2003 - I've updated my graph on the Diet page (the accompanying words are a bit out of date). I've temporarily increased my intake to about 1550 Calories per day, because classes are distracting enough as it is.
2/26/2003 - Today on STL's Stupid Realizations... 16:9 exists because most people have two eyes.
Some good news from The Inquirer:
Those who are in the know said that Nvidia, which had a stand at IDF this year, were taking people round the back and showing them NV35, which works at 256-bit quite fine, and runs at half the heat of the NV30.
Low-k is a wonderful thing!
2/25/2003 - www.bfgtech.com/news_2.25.03.html
NASA Solves Half-Century Old Moon Mystery
I have finished Look to Windward by Iain M. Banks. I'll review it shortly.
2/24/2003 - I have reviewed Iain M. Banks' Excession. The verdict? A middling 6 stars ("good"). Could have been better if it didn't have any humans in it.
Sadly, I have also read Robert Zubrin's First Landing. I've taken the time to review this ridiculous novel, which I generously gave a high 3 stars ("bad"). Don't waste your money or time on this one.
2/22/2003 - Hooray; I created a 3200x1200 background for my dual monitors, but thought I couldn't use it until I got my GeForce FX. However, it turns out that you can use a wide background on dual monitors, even with two cards - you simply need to Tile rather than Center or Stretch.
In other happy news, Stargate SG-1 season 7 has been confirmed. Yaaay!
I have a new screenshot of my desktop, and my new wallpaper is on the Downloads page.

2/20/2003 - I have finished K-PAX III: The Worlds Of Prot and have added a rating of it to the Anime/SF Reviews. It wasn't deserving of a full review.
2/19/2003 - Prescott L1 16KB. Thank the Powers!
2/18/2003 - I've finished moving to Avery, but I still have to get a lot of stuff sorted out. I hope that soon I can resume work on bwtzip and start revising some pages here.
2/16/2003 - W00t!
"What're you lookin' at?" one man said when the demo player's gaze lingered on him a bit too long. If the player had continued staring, the AI might have gone aggro.
And, as it turns out, my prediction of June 2003 was correct. Heh.
Anyways, I'm currently moving to Avery. Normal updates will resume later.
In other news, I got a PCI GF4 MX and I'm currently enjoying dual 21" Trinitron goodness. The GF4 MX has vastly higher 2D quality than my GF3. Heh.
2/12/2003 - This page is your god. Kree!
2/9/2003 - Updated the Diet page with a new graph. I've been on The Hacker's Diet for 138 days now, and I've lost 45.5 pounds of measured weight. Today was the first day my measured weight fell below 150 pounds. Whee.
2/8/2003 - What kind of bandwidth does lossless, ultimate-quality video require? Let's imagine we're running a 1600x1200 monitor at 100 Hz. We want to display a new lossless frame every refresh. Our ancestors grew up with 24 and 30 frames per second video, but we can do better! This is 1600 * 1200 = 1.92 million pixels in a frame. As we display 100 frames per second, that's 192 million pixels per second. We're of course running with full 24-bit color, so that takes 3 bytes per pixel. We're left with 549 MB/sec. That's right - we'd need an order of magnitude more hard drive bandwidth (compared to today) just to stream this off of a disk. Half a gigabyte per second is a significant fraction of bandwidth to main memory, even. A state of the art hard drive right now stores 200 GB. That would be enough for roughly 7 minutes of such video (the audio component takes up negligible space in comparison).
Two things can help: compression, and Moore's Law. With lossless compression, we will be able to reduce the storage requirements significantly (after all, frames shouldn't change that much if they're separated by 1/100 of a second). And the relentless march of technology will help too. My 486 DX/33 which I used in elementary and middle school came with a 120 MB HD and I later added a 340 MB HD. Now, every day I manipulate files many times larger without even thinking about it. Lossless, high-quality video will someday be a reality. I hope to create a specification for it: Video Network Graphics.
2/7/2003 - Finally, someone has contributed an algorithm to bwtzip! Joergen Ibsen has contributed an adaptive Huffman pass. It's less efficient (by definition, basically) than the arithmetic coder I've been using, and so will not become part of bwtzip itself. Even so, it presents a useful data point for understanding how different fourth step algorithms affect compression - a data point I was very interested in.
Joergen's code has been put into bwtcompare; for the Jargon File 4.3.3, the following results are obtained:
BWT / MTF / Huff: 657536
BWT / MTF / Ahuff: 640704
BWT / MTF / Arith: 532540
BWT / MTF-2 / Arith: 529438
BWT / MTF-2 / Wheeler ZLE / Huff: 526794
BWT / MTF-2 / Wheeler ZLE / Ahuff: 509377
BWT / MTF-2 / Wheeler ZLE / Arith: 496985
In other news, I've added taglines to the top of each page.
Hover your mouse over this: GFFX. Hee.
The mighty Luke Stebbing is now the eleventh Weasel Commando. Took him long enough. ^_^
Updated the Icon Collection on the Downloads page.
2/6/2003 - Nothing is ever easy, is it?
Hello Stephan,
Your name appears on our waiting list for Avery singles.
We currently have an opening for this type of housing....
Undergraduate Housing
California Institute of Technology
I just finished getting settled into Marks. Lady Luck and I don't get along at all.
On a happier note, my second CPD arrived today. It is yummy.
2/5/2003 - Why bother going into space? There are all the usual reasons, of course. Good reasons. Yet there are even more important reasons why space travel is important. No sessile civilization can persist. If civilization falls on Earth, or all sentient life is extinguished, that's it. Everything that everyone has ever done will be for naught, and we'll either start from scratch or not at all. We now have the power to change our own fates; why don't we use it? Only after we have a tenuous foothold on the Moon, on Mars, on extrasolar planets not yet named, will we finally be safe. And we'll need a network encompassing all of humanity to ensure that we remain one. In the end, the very running down of the Universe will claim us. But we shouldn't go down without a fight. Only after we have used all our abilities to avoid destruction will everything, finally, have had real meaning.
1/31/2003 - My NV30 preorder has finally gone through; I hope it arrives soon. I ended up buying a BFG GFFX.
1/30/2003 - I have updated the efficiency comparison to include WinACE and RAR. They use proprietary (read: bletcherous) algorithms, but their efficiency may as well be analyzed. I take time to explain why RAR is not worth using.
1/29/2003 - I have updated the bwtzip FAQ; there is now a discussion of what chunk size means.
1/28/2003 - Sweet Ethernet.
I've decided to "merely" buy a second CPD rather than going for a GDM. As much as I might like 0.22mm aperture grille pitch, I'll like having another thousand dollars to dump into other things even more.
I have things planned for the website soon; we'll see if I have any time to get them done. Historically, I manage to get a fair amount of things written even while classes are slowly squeezing the life out of me.
Phil Hilton has pointed out a discrepancy on the Deus Ex Story page between Chad Warren's QA document and the final game. I've added an annotation explaining how Walton Simons and Bob Page fit in.
1/21/2003 - I'm moving back to a house with Ethernet. Updates will resume when I'm set up there.
I've updated bwtzip's source code and executables; the code is more cleaned up now.
I've updated Reason's spec.
NEW:
P4 Prescott - $640
Intel Canterwood Motherboard (with SATA and onboard, non-PCI-saturating GigE) - $200
2GB DDR400 RAM (4x 512MB sticks) - $840 (GoogleGear)
Seagate Cheetah 15K.3 (36GB SCSI) - $359 (HyperMicro)
2x Western Digital WD2000JB (200GB IDE 8MB cache) - $534 (GoogleGear)
Plextor PX-W4824TA (IDE 48/24/48X BURN-Proof Tray-Loading CD-RW Retail) - $112 (HyperMicro)
Pioneer DVR-105 (IDE 4X DVD-R Whitebox) - $259 (HyperMicro)
Nvidia Video Card (NV35?) - $400
Adaptec 29160N SCSI Host Adapter (Bare Card) - $189 (HyperMicro)
Creative Labs Audigy 2 Sound Card - $116 (GoogleGear)
Lian Li PC-68 + USB - $155 (Big008)
Blue, Purple 12" Cold Cathode Lights (Dual Inverter) - $24 (Sidewinder)
Enermax EG651P-VE - $155 (NewEgg)
Swiftech MCX4000 Bare Heatsink - $45 (Sidewinder Computers)
5x Delta 80x38mm FFB0812EHE Fans (80CFM) - $75 (Sidewinder Computers)
8x Gold 80mm Fan Grills - $20 (Sidewinder Computers)
Copper Mesh 5 Position Rounded SCSI Cable - $40 (HyperMicro)
Microsoft Natural Keyboard Pro - $55 (Amazon)
Total Purchased New: $4218
FROM NORTHWOOD:
Microsoft Hovermouse Explorer 3.0 - $40
2x Sony CPD-G520P - $1573.02
Klipsch Promedia 5.1 Speakers - $390
Arctic Silver II Thermal Compound - $5
Western Digital WD1000BB (100GB IDE 2MB cache) - $324
Western Digital WD1200JB (120GB IDE 8MB cache) - $221.85
PC-65 Window Side Panel - $45
Five Molex Splitters - $10
4x IDE ATA/100 18" Copper Mesh Rounded Cables - $57.85
Promise Ultra 133 TX2 IDE Controller Card - $53.80
Total From Northwood: $2720.52
Grand Total: $6938.52
1/20/2003 - I've created a logo and a wallpaper for Reason.
This computer is going to rock.
1/19/2003 - I was able to compress the human genome with 15MB chunks; the results are on the bwtzip page. I have also updated the source code and executables.
1/17/2003 - I have updated the Diet page. I've been on the Hacker's Diet for 114 days (heh), and the graph is pretty interesting by now. I expect my burn rate to rise in the next couple of weeks, but even if it doesn't, I can continue to lose weight.
1/14/2003 - I have reviewed A Fire Upon The Deep (low seven stars), The Moon Is A Harsh Mistress (low seven stars), and The Fortunate Fall (low five stars).
I have created a logo for bwtzip which can be seen on that page. I also have results for the three corpuses I compiled, which reveals that bzip2 is trickier than it might otherwise lead you to believe.
I have an antialiased Nvidia logo.
1/10/2003 - What's going on in STL land? Work - lots of work. When I can find the time, I've been gathering up files for three data compression corpuses: the "Large English Text Corpus" (about 80MB), the "Large Source Code Corpus" (273MB), and the "Human Genome Corpus" (big). I'll then compare the usual compressors on these corpuses and see what happens. I'll need to rewrite bwtzip to deal with gigantic files, but that shouldn't be too hard.
Today's external link is to Project Gutenberg.
1/7/2003 - I've played with varying bwtzip's chunking, and I have discovered some interesting results. My test corpus is currently a 57.8MB TAR file of English text.
| Method | Size (Bytes) | Bits Used Per Input Byte |
| Original: | 60,648,448 | 8.000 |
| XP Integrated ZIP: | 22,459,765 | 2.963 |
| gzip 1.2.4 --best: | 21,844,203 | 2.881 |
| bzip2 1.0.2 (900KB chunks): | 15,793,173 | 2.083 |
| bwtzip (900KB chunks): | 15,573,688 | 2.054 |
| bwtzip (5MB chunks): | 14,285,467 | 1.884 |
| bwtzip (15MB chunks): | 13,891,073 | 1.832 |
Chunk size is a variable common to all Burrows-Wheeler compressors such as bzip2 and bwtzip. Larger chunks mean better compression but higher memory usage (and, for bzip2 but not for bwtzip, higher processor usage). bzip2 cannot use chunks larger than 900KB. bwtzip will happily use arbitrarily sized chunks, until you run out of main memory. 15MB is about the largest chunk size I can use on my system, which has 1GB of main memory.
Even at the same chunk size, bwtzip gains some 214KB over bzip2, thanks to the more advanced algorithms I use. As larger chunk sizes are used, bwtzip becomes increasingly efficient. I think that a chunk size of 5MB is very natural right now for the Ukkonen algorithm.
bwtzip's space usage is currently about 53N. The 15MB chunk size version processed input data at 271 KB/sec. For comparison, bzip2 processed input data at 2042 KB/sec. Hence, I'm about 7.5x slower than bzip2 now. Not great, but not too horrible either. With the Ukkonen algorithm, it is absolutely impossible for bwtzip to exhibit pathological performance on any input data, be it English text, a megabyte of identical characters, or random data.
Also, I have added a fourth BWT algorithm to bwtzip; this one is the Bentley-Sedgewick Tripartition Quicksort. It's about as fast as the naive STL sort right now, but there is a lot of potential for optimization in it. The algorithm is highly intuitive and easily modifiable, once you get past the strange style I implemented it in.
I'll update the bwtzip source code later.
1/5/2003 - I have updated the bwtzip page. bwtzip now has chunking support, which means you can compress large files. (You still cannot compress a file larger than will fit in memory; bwtzip is not yet ready for that. This is similar to the difference between the standalone SHA-1 program I have written that will process multigigabyte files rapidly, and sha1test in the bwtzip project which loads files into main memory first.) The bwtzip page has been revamped; while the algorithm descriptions still need a lot of work, things are clearer now. There is a bwtzip FAQ you may enjoy reading, and there is a demonstration of the BWT applied to a long (~370 character) text.
1/4/2003 - I have added a review of Vernor Vinge's A Deepness In The Sky to the Anime/SF Reviews page. I came very close to giving it eight stars ("best") but in the end settled for seven stars ("great"). I may yet change things after I've read A Fire Upon The Deep, which is set later in the same universe. A Deepness In The Sky may be the closest that anyone has come to recapturing the spirit behind the Foundation series.
I have reviewed Michael Crichton's Prey. I gave it a low six stars ("good"). It's worth a read, but nanotech can be so much cooler.
I have also reviewed Isaac Asimov's Robots and Empire. Sorry, Hari Seldon, but I took the eight star ("best") rating away from Forward the Foundation and gave it to Robots and Empire. R. Daneel Olivaw is the greatest SF character ever. Greater than Data, even. Data wanted to be human; Daneel saved all of humanity.
I'm running out of external links, but I'll post them as I find them.
1/2/2003 - Today's external link is to the SHA-512 specification.
I have updated bwtzip; it now has a function to perform SHA-512 hashing. I have also updated the Downloads page. It turns out that MinGW can't display unsigned long longs as easily as DJGPP does, even though my code was strictly conforming. As a result, the SHA-512 executable would crash no matter what you gave it. I have switched to a less elegant (but equally strictly conforming) display method, and now the standalone executable works as before.
Also, I have fixed the standalone SHA-1 and SHA-512 executables so that they work with wildcards properly. If you say sha1 *, DJGPP will only process actual files in the current directory, but MinGW will also try to process subdirectories. The SHA-1 executable would then complain and die. Now it silently ignores files it can't open, which includes any subdirectories, and as a result can process everything. I don't think this is a problem for my other wildcard-enabled programs, as you're not likely to say * or *.* with them.
1/1/2003 - bwtzip has been updated. New in this version:
- Faster suffix tree construction, thanks to std::vector's reserve() ability.
- make fast_bwtzip, which uses -fprofile-arcs, -fbranch-probabilities to further optimize the executable.
- A BWT pass that uses the STL sort() function; it is as fast on the Jargon File as the suffix tree algorithm, but exhibits terrible performance on repetitive data.
- Restructured code that avoids some duplication of functions.
The suffix tree algorithm now processes 524 KB/sec on the Jargon File.
I added some quotes to the Quotation Collection, including one from The Bear and the Dragon and one from A Deepness In The Sky.
I plan to revise the bwtzip page soon, considering all that I've learned since I last worked on it.
Today's external link is to Voodoo Extreme; they currently have a poll for the most anticipated game of 2003. I think you know what to vote for.
12/30/2002 - I've never played around with scripting before. But this is pretty neat:
12/30/2002 - Sighted on a forum today:
[Whistler]
You would have played crippled baby bunny to Teh STL's hungry hawk.
12/29/2002 - I've returned to Caltech, and my Internet connection was up and running when I arrived. At least Caltech ITS and Charter Cable are learning to schedule their blinding incompetency so that it happens when I'm not around.
I have updated bwtzip; this version is the one that I restructured and refined during these last two weeks of winter break. The bwtzip executables are smaller and faster, and the source code is much more pretty. Also, the SHA-1 functions have been split off.
I have updated the signature image I use at the bottom of each of my pages; thanks to my mad antialiasing skills (and a little more effort at good handwriting), it's fairly pleasant now.
12/28/2002 - Regular website updates will resume tomorrow.
Lots of things to talk about. First, I got Robots and Empire for Christmas. It's an awesome book. In fact, I am now convinced that it is the best Foundation novel. I'll be revising the Anime/SF Reviews and the Foundation Essay.
However, it seems that Robots and Empire is now back in print! The Asimov FAQ certainly didn't mention that, so I don't know when this happened. Sigh.
Next, bwtzip. Yes, I remain firmly convinced that it is ridiculously cool, and I'm not going to rest until you agree with me. Thanks to my Week of Rest in Colorado (almost two weeks, actually), bwtzip has gone through significant changes since the last time I updated it. All the source code that came before seems like a bad dream compared to the state it's in now, things are that much cooler now. Let's see if I can think of all the neat things that have happened with the source code:
- I have finally implemented the MTF-1 algorithm; now, one can select any one of four second-step algorithms. In order of increasing superiority, they are: TS0, MTF, MTF-1, MTF-2. I leave in these multiple algorithms so that they can be experimented with.
- I have removed the following algorithms: SRLE, SRLE0, SRLE0A, ZLE, ZLE-1, Wheeler ZLE-N. These run length encoders are all inferior to the Wheeler ZLE and there is not much that can be learned from them.
- Bcell, what I've been calling the whole project, is now a shadow of its former self. Everything but PNG and SHA-1 functions have been split off from Bcell (and those two will be split off soon). bwtzip basically has nothing to do with Bcell now. It was useful in implementing things for the first time, but it started to get in my way. Of course, I'll have to edit the bwtzip page to remove mentions of "the Bcell project". Sigh.
- The treatment of the "sanitized text" in the Ukkonen algorithm is now done directly, using something I call the "disgusting pointer trick".
- The sanitized text is now initialized in a separate function. Indeed, the suffix tree constructor is now much simpler. It used to do the entire Burrows-Wheeler Transformation; now it simply constructs the suffix tree. The Depth First Search and the conversion from lengths of sorted suffixes to the Burrows-Wheeler Transformed text are now done in separate functions.
- I have added a number of helper functions for vector<unsigned char> that replicate functionality formerly present in Bcell. I now concatenate vectors using +, for example.
- The PseudoRandom Number Generator is faster.
- The suffix array code now works with sentinels (instead of the "disgusting doubling trick") and produces the exact same output as the suffix tree code. A single decompressor (bwtunzip) works no matter which algorithm was used for the forward transformation. This has been annoying me since I ever wrote the suffix tree code, which has been sentinel-based from the start.
- The suffix array code now closely parallels the suffix tree code. In particular, they both seek to generate the lengths of sorted suffixes, and the code from that point on is identical.
- The Huffman code has been simplified and now engages in more bit-twiddling to be faster.
- Huffman overhead is now a constant 256 bytes; formerly, it was 256 + 8 bytes.
- Similarly, the arithmetic encoder now no longer encodes the size of the original text. It is now fully streaming and indicates the end of the text by encoding a sentinel.
- The Makefile for bwtzip no longer sucks. Well, not quite as much as before.
I will update the source code and executables on the bwtzip page tomorrow. Also, I should add more references to the bwtzip page.
Now, Star Trek: Nemesis. I went to see this yesterday with Uche and Aaron. Usually I don't mention the movies I watch, because I watch too many of them and I don't want to be tempted into rating and reviewing them all. However, for Nemesis, I will make an exception. First, let me complain about non-spoiler nitpicky things.
First, and most damningly, it gets TNG-era shields all wrong. But Stephan, you say, you're allowing yourself to be distracted by minor flaws. I say, you don't understand the Trek universe. Things have to be exactly right, with a loving attention to detail, or they may as well not even bother. The fact of the matter is, TNG-era shields are bubbles. More precisely, ellipsoids. Phaser fire and photon torpedoes hit the shield bubble. They don't hit the ship as long as the shields are up. Nemesis ignores this fundamental fact. When phaser fire hits the NCC 1701-E, it hits the ship, and shields flicker over the hull. This is not Captain Archer's Enterprise, please. It's the god damned twenty-fourth century. We've grown beyond polarized hull plating. They may as well show us two suns in the sky and expect us to believe that it's Earth.
Perhaps I didn't pay enough attention to Star Trek: Insurrection (can you blame me?). However, I don't remember being pissed off at that movie, just bored. I think that in Insurrection, the NCC 1701-E had a shield bubble. It doesn't take much to keep me happy, you know. "Captain, conformal shields are online." Just one line, and I'd be happy. But nooo.
Next, as neat as tablet PCs and personal digital assistants are, they remain strictly an early twenty-first century thing. Tricorders are fat things, not flat, and they are bent. Tricorders were around long before personal digital assistants. If Data's carrying around some flat scanner in his hand, I want to know what the heck it is, because it's certainly not a tricorder.
Jeffries tubes. They are well-lit and very cramped, as Rascals taught us. They are not dark and Borg-like, and Commander Riker certainly cannot stand up in
one.
Trek forcefields are staticy. They are not wavy.
Every little thing adds up. In First Contact, the loving attention to detail really showed. The scene with the Vulcans at the end was the crowning moment. There is precious little of that in Nemesis.
Now, for some spoilers.
The special effects of Nemesis were by and large pleasing. Trek hasn't looked this good, ever. The ramming scene was spectacular. Data jumping through space was badass.
In Star Trek, starship conflicts tend to be naval; large ships sitting mostly still firing big guns at each other. Nemesis pleasingly breaks this tradition a little. There's a fair amount of three-dimensional maneuvering going on.
However, one thing that is most decidedly not pleasing is an abundance of tooth fairies. The Shinzon thing was Nemesis's tooth fairy. I was perfectly happy to accept it without much explanation. (A tooth fairy is an otherwise hard to believe circumstance which a story can be based on. SF stories get one tooth fairy for free. More than one, and the story suffers.) Nemesis has a LOT of tooth fairies.
First and foremost, Before. Everyone and his uncle knows that Dr. Noonian Soong constructed only two androids with stable positronic nets: Lore and Data. Thanks to Inheritance, we know that Soong did create many androids before Lore, but their positronic nets were all unstable. (Soong definitely didn't create any androids after Data; the Crystalline Entity attacked, Soong fled, and spent the rest of his years working on Data's emotion chip.) Now, you might say, Before doesn't exactly have a stable positronic net. I'll disagree vehemently - we saw what happened to Lal when her positronic net lost its integrity. But even assuming that Before was created by Soong, it is too hard to believe that the Romulans just found him.
Speaking of that, Data's emotion chip was not mentioned in Nemesis. Sigh.
The personal transporter node is a tooth fairy. The "lethal to organic matter" radiation is a tooth fairy.
And finally, Data. They killed Data, and I can't forgive them for that. Yes, the movie had a nice idea behind it, and they explored that with Shinzon, and the conversations between Picard and Data. Nemesis is a decent movie. I liked it better when they called it Star Trek II: The Wrath of Khan. We've already seen the second in command give his life because the needs of the many outweigh the needs of the few... or the one. It makes for a strong story, but we've done that already.
I leave you with this thought. Nemesis had the potential to be an incredible, inspiring movie. Of course, that would have required daring. Imagine if Picard had given his life for Data.
|
12/22/2002 - Fixed a stale link on the Links page; the BWT demonstration link now works again.
12/21/2002 - Daniel Garibay has alerted me to an error on the Deus Ex Story page. The MIB aren't nanoaugs; they use a "physiopharmaceutical approach". I have fixed my comments about the MIB.
bwtzip is coming along well; I have made the MTF, ZLE, and arithmetic coding functions stand alone, independent of Bcell. Things
are organized much more effectively now, and things are more efficient. However, upon reading the Ukkonen paper again, I probably won't be implementing the quadratic time algorithm as an example - the notation is too mind-numbing! (And to think that somehow I figured out the full algorithm from the paper alone.)
Today's external link is to NVNews, which has reported that there are issues with ATI's newest drivers. This, dear readers, is why I'll never use anything but Nvidia.
I've heard some bad things about Gainward cards, and it is said that Leadtek will be the first to market with the NV30. Higher 2D quality, here I come!
12/17/2002 - My internet connection is down again, thanks to the incredible incompetency of Caltech ITS and Charter Cable. I apologize to the people who sent me E-mail during finals week; I finally found the time to respond on Monday, but right before that, my connection died. I'll respond as soon as I can.
Currently, I plan to clean up the Bcell codebase and improve its commenting and structure significantly. I may also write an example suffix tree program which uses the simple algorithm that Ukkonen presents in his paper (quadratic-time rather than linear-time).
12/16/2002 - I have updated my Extended Essay; it's now available in PDF format.
I have reorganized the Site Directory; bwtzip is now a Primary page because I've been working on it so much. What used to be Auxiliary is now Diversions and includes the Coloring page. Other pages have been shuffled around.
As usual, I'd like to hear about how easy it is to find things on my site. There are a lot of pages here and each has a lot of information. I can't do much about that (it's a feature, not a bug), but I can try to make it fairly easy for you to find what you want. Or easy for me to find what I want. We have to stick together, you know.
The Inquirer has learned that Intel's Canterwood chipset will be called the i875P and will support:
- An 800MHz FSB (for reference, Northy has a 400MHz FSB)
- The strained silicon, 90 nanometer, 1MB L2 cache, Hyperthreading Prescott P4
- AGP 8X
- Four sticks of DDR400 for a total maximum of 4GB and a memory bandwidth of 6.4 GB/sec
- A "Turbo Mode" for memory
- GigE independent of PCI
- Serial ATA (which is still giving me a headache)
Also, it looks like the Prescott will continue to use Socket 478.
12/15/2002 - I have updated the Downloads page; there are now new executables of all of my programs, as well as newly compiled versions of the other utilities. I've packaged everything into a single ZIP file.
I have updated bwtzip. This version features more space-efficiency and higher performance than ever before. Two major changes are responsible for this: first, dummy SuffixNodes for leaves are no longer created (that was the optimization I made on 12/13/2002). Also, I no longer use std::list in TransitionList. Now I use std::vector, which uses space much more efficiently. bwtzip's memory usage is now down to something like 50 bytes/input byte. Compression efficiency has not changed since I added the Wheeler ZLE pass almost half a year ago. I'm still looking into more efficient algorithms, though.
I've learned that FOX is cancelling Firefly. Bastards.
12/13/2002 - I have optimized bwtzip! I changed two lines of the code, which cut the space usage from 106 bytes/input byte to 80 bytes/input byte. This also produced a 36% speed increase. I'll upload the code after I implement a new algorithm or two.
Michael Crichton has a new novel out named Prey.
Moonbase Commander owns you.
12/11/2002 - I added the Time Stamp(0) algorithm to Bcell; however, it produced worse compression than MTF-2 on The Jargon File and the 1998 CIA World Factbook. I'm leaving in the algorithm, but it will not become a part of bwtzip's usual routines. I still want to implement Inversion Frequencies and the little-understood Distance Coding.
It turns out that the Deus Ex developers really enjoy martial arts films. I've tracked down a long list of references on the Deus Ex Story Page.
While analyzing stl.caltech.edu's statistics, I found that memepool.com had linked to my Paper Airplane page, calling it "utterly pedantic". Whee!
12/9/2002 - Sighted on a forum today:
[Tacitus]
STL is probably the best writer on the forum, IMO.
Whee!
I have updated the bwtzip source code and executables; this is the fixed version with the iterative DFS that will successfully compress the Calgary Corpus's pic or a megabyte of zeros.
Today's external link is to Sephen, a new webcomic I've been following.
12/5/2002 - The endless work on bwtzip continues. I now have tables comparing ZIP, gzip, bzip2, and bwtzip for seven different files. Most are of moderate size (1MB), one is small (200KB), and several are large (2MB - 4MB). I included Flatland because even though it's small, it shows that bwtzip doesn't perform badly on small files, even though the savings over bzip2 are insignificant. The large files are the really interesting results; in particular, the wget TAR archive. Even though bzip2 does really well on it, bwtzip does even better.
|
The Federalist Papers, plain text |
Flatland, plain text |
Great Expectations, plain text |
On The Origin Of Species, plain text |
| Compression Method |
Size (Bytes) | Percent of Original | Output Bits Per Input Byte |
Size (Bytes) | Percent of Original | Output Bits Per Input Byte |
Size (Bytes) | Percent of Original | Output Bits Per Input Byte |
Size (Bytes) | Percent of Original | Output Bits Per Input Byte |
| Original: |
1,205,848 | 100.0% | 8.00 | 218,565 | 100.0% | 8.00 | 1,032,052 | 100.0% | 8.00 | 1,286,961 | 100.0% | 8.00 |
| XP Integrated ZIP: |
411,761 | 34.1% | 2.73 | 84,035 | 38.4% | 3.08 | 402,367 | 39.0% | 3.12 | 441,066 | 34.3% | 2.74 |
| gzip 1.2.4: |
396,108 | 32.8% | 2.63 | 82,159 | 37.6% | 3.01 | 391,212 | 37.9% | 3.03 | 428,787 | 33.3% | 2.67 |
| bzip2 1.0.2: |
282,428 | 23.4% | 1.87 | 65,886 | 30.1% | 2.41 | 288,081 | 27.9% | 2.23 | 313,428 | 24.4% | 1.95 |
| bwtzip: |
266,086 | 22.1% | 1.77 | 65,668 | 30.0% | 2.40 | 275,317 | 26.7% | 2.13 | 293,575 | 22.8% | 1.82 |
|
The Jargon File 4.3.3, flat HTML |
wget 1.8.2 source code, TAR |
The 1998 CIA World Fact Book, plain text |
| Compression Method |
Size (Bytes) | Percent of Original | Output Bits Per Input Byte |
Size (Bytes) | Percent of Original | Output Bits Per Input Byte |
Size (Bytes) | Percent of Original | Output Bits Per Input Byte |
| Original: |
2,360,016 | 100.0% | 8.00 | 4,474,880 | 100.0% | 8.00 | 3,469,087 | 100.0% | 8.00 |
| XP Integrated ZIP: |
774,370 | 32.8% | 2.62 | 1,180,144 | 26.4% | 2.11 | 1,037,834 | 29.9% | 2.39 |
| gzip 1.2.4: |
761,879 | 32.3% | 2.58 | 1,154,663 | 25.8% | 2.06 | 1,003,139 | 28.9% | 2.31 |
| bzip2 1.0.2: |
546,765 | 23.2% | 1.85 | 783,651 | 17.5% | 1.40 | 686,290 | 19.8% | 1.58 |
| bwtzip: |
496,981 | 21.1% | 1.68 | 750,961 | 16.8% | 1.34 | 590,815 | 17.0% | 1.36 |
I fixed the deep recursion problem. As usual, I wrote an enormously complicated function and then committed a stupid mistake. (Happily, it was compile-time. I forgot to #include <stack>. It's the run-time mistakes that are really painful.) Otherwise, I got it completely right the first time.
// The stack contains internal nodes, never leaf nodes.
void Bcell::SuffixNode::dfs(list<size_t>& l, stack<pair<SuffixNode *, size_t> > stak) {
while (!stak.empty()) {
// stak.top().first points to the node we're processing.
if (stak.top().first->haschildren()) {
Transition temp = stak.top().first->children.getFirstChild();
stak.top().first->children.removeFirstTransition();
// temp.child points to the SuffixNode below us.
// Is it a leaf?
if (temp.child->haschildren()) {
// There is an internal node below us. Let's process it.
pair<SuffixNode *, size_t> mypair(temp.child, stak.top().second + temp.right - temp.left + 1);
stak.push(mypair);
} else { // There is a leaf below us.
l.push_back(stak.top().second + temp.right - temp.left + 1); // Update l
delete temp.child; // Delete the leaf
}
} else { // We're finished with this internal node.
delete stak.top().first; // Delete the internal node.
stak.pop();
}
}
}
Today's external link is to HappyNet 3. There will be a picture of a bunny!
12/4/2002 - Meet the eternal hell that is my life.
void Bcell::SuffixNode::dfs(list<size_t>& l, size_t x) {
if (!haschildren()) {
l.push_back(x);
} else {
while (haschildren()) {
Transition temp = children.getFirstChild();
temp.child->dfs(l, x + temp.right - temp.left + 1);
delete temp.child;
children.removeFirstTransition();
}
}
}
If I compress the file pic from the Calgary Corpus using bwtzip on Win32, it dies silently during the DFS. Trying to compress a hundred kilobytes or a megabyte of null characters causes bwtzip to segfault in Linux during the DFS. I am almost certain that massively deep recursion is blowing the stack.
This is the only recursive function in Bcell, of course. Now, I need to write it in a wholly iterative fashion, but that's unnatural.
Over a year ago I was claiming that humans and computers worked in completely iterative fashion. Now I hesitate to write an iterative routine. How time flies....
12/3/2002 - I've updated the bwtzip source code and executables. They're now more optimized, non-leaking, and instrumented to display various statistics.
I have also updated the comparison table; now, results for gzip are included.
I updated the Diet page; there is now a new graph of my weight. I have also begun graphing how many calories I burn each day.
Today's external link is to Paul Spaeth's mp3.com page. His song Oracle is excellent.
12/2/2002 - I've fixed the bwtzip memory leak! It turns out that DJGPP was at fault, creating a massive performance degradation whenever I tried to fix the memory leak. I've switched to MinGW, which is a much nicer compiler. It also creates smaller executables; I'll soon update the Downloads page appropriately.
12/1/2002 - I updated the Anime/SF Reviews - now, there is a sorted summary of book ratings.
11/28/2002 - I updated the bwtzip source code. I added an SHA-1 based pseudorandom number generator to the project, and I also sped up make all. On my machine, the PRNG generated 100 million bytes in 13.5714 seconds, which is 7,368,437 bytes/sec and 299 clocks/byte. Whee. Better yet, these will pass any statistical tests you care to throw at them.
I updated the Anime/SF Reviews with a review of Vernor Vinge's True Names and a review of Ian Stewart and Jack Cohen's Wheelers. Yes, the same Stewart and Cohen who wrote The Collapse of Chaos and Figments of Reality. My conclusions? I enjoyed both books immensely. I also added extremely short reviews of all of the Foundation novels. And all of the books on the Anime/SF Reviews page now have ratings, on the same scale that the anime series are rated on.
I continue to discover neat things about MetaPad. Not only does it have Block Indent, Block Unindent, Make Tabified, and Make Untabified, it can comment out and uncomment out blocks of code, like DrScheme does! All you have to do is set Options > Settings > Quote String to slash-slash-space. Then, highlighting a block of code and pressing Alt-Q will comment it out. Alt-Z thrice will then uncomment it. And there's even a nifty Strip Trailing Whitespace (Alt-W) command.
I fixed something on the Archived News that said that I work on this site in WordPad, because I don't anymore. MetaPad for life!
Today's external link is to bash.org.
<Pookablu> Ron Dwight, the author of the RAR compression format, passed away a few days ago.
<ev> he was found in several same-size pieces and had to be combined to put him in the coffin
11/26/2002 - I have added a collection of all of the small programs that I have written to the Downloads page. There are new versions of apply, bitrate, map, prepend, sha1, and sha512. Also included is my enhanced version of Jason Summers' pngrewrite, which is now wildcard-aware. map and apply are no longer useful to me, but I have included them anyways in case they are useful to someone else.
prepend and sha512 are new; hopefully they will be of use to someone.
Today's external link is to an essay on intp.org.
11/25/2002 - I gave up on changing Mcell to internally use vectors. Why? Because of vector<bool>. Gargh!
Today's external link is to an interview with the One Must Fall: Battlegrounds developers.
I'd like to take this moment to laugh at all the poor saps who run IDE and think that they have "killer systems". Ha ha ha. That's some funny stuff.
Northy: Clocking cycles like no one else can; the gate is down and the lights are flashing but there ain't no train coming.
11/24/2002 - I updated the Anime/SF Reviews now that I've finished Patriot Games by Tom Clancy.
VirtualDub 1.4.12 is out, and it's optimized for the P4. Whee.
Today's second external link is to ps2pdf.com, an online PS->PDF converter.
11/23/2002 - I added a large version of my modified P4 HT logo to the Coloring page.
In other news, I've been working on bwtzip. The implementation of the Ukkonen suffix tree construction algorithm is much cleaner now, and uses STL lists instead of my hand-rolled lists. Also, STL pairs are used instead of my hand-rolled pairs, which makes the code clearer. I'm still working on plugging the Titanic-on-crack memory leak, but the addition of STL lists is one step in the right direction. I plan to recode Mcell to use STL vectors; using the Resource Acquisition Is Initialization principle, they will work properly in the event of exceptions. I'll update the Bcell code when that happens. Also, I plan to start tacking on version numbers to my code.
Today's external link is to the gcc mailing list archives.
11/22/2002 - Sighted on a forum today:
Nvidia wants to have my money. To get my money, they make great cards using the latest process technologies, have great drivers, and generally offer a great experience.
I want to have all those great things; in exchange, I am all too happy to give Nvidia all they money they want and offer my fervent admiration for their company, culture, and products.
I am a fanboy, and proud of it.
Today's external link is to
two sample chapters of The Fortunate Fall by Raphael Carter.
Today's annoyance is the British. "Your government are sending us everything we need", says a character in Patriot Games by Tom Clancy. That's an abomination. Government is a collective noun and is hence treated as a singular. Why can't the British speak Earth-standard properly?
11/21/2002 - My reign of terror wrt antialiased logos continues! I created a modified P4 HyperThreading logo. See Image Hacking - HyperThreading.
Today's external link is to the Intel page that has the high resolution source image.
11/19/2002 - I have a neat antialiased GeForce FX logo ready for my website.
I updated the Icon Collection on the Downloads page; there's now an alpha transparent GeForce FX icon.
Thanks go to Brent of [H]ardOCP. While their forum moderation style could teach Stalin a thing or two, sometimes they can be pretty cool.
I have learned that Canterwood will be superior to Springdale; now, at least, I know what chipset Reason will use.
11/18/2002 - I have updated the bwtzip source code and executables. The Makefile works now, and the resulting bwtzip and bwtunzip actually perform as advertised. Since no one complained, I guess no one had even tried to run bwtzip from that package. :-<
I added an explanation of what Bcell is to the bwtzip page.
I have finally successfully hacked pngrewrite to accept wildcards. I will eventually upload my modified version of it.
So, today is the promised NV30 announcement day. It turns out that the chip is a 125M transistor part on 0.13 micron using 500MHz DDR-II memory. I already knew all of that. What I didn't know is that its core will run at 500MHz and that its name is GeForce FX. For reference, the GF3 (NV20) that I purchased in May 2001 was a 200MHz core / 230MHz memory part. I had expected that the NV30 would be 400/500, but the news that it is 500/500 is startling. Yay for 0.13!
The NV30 also has 400MHz RAMDACs; whee.
I will, of course, be buying a Gainward GeForce FX as soon as possible.
Segways are now available for personal purchase. At $5000, though, they're a little too expensive for me.
Intel has announced that P4s will never use a 667MHz FSB, and will jump straight to an 800MHz FSB. (This is good news!) Also, the Prescott has been delayed to Q4 2003. (Not so good news.) I guess that means I'll be buying Reason one year from now. I still don't know what chipset I'll be using; I believe that Springdale will be superior to Canterwood, but I don't know too much about them yet.
Today's external link is to the GeForce FX home page.
11/16/2002 - I updated the Diet page; a graph of my weight for the last 52 days is now available. My trend weight is now 176 pounds, down from 194.
I updated the Random Work page; the ternary sequence code is clearer now.
Today's external link is to xbox.com; Xbox Live was released yesterday.
How did I pull off my taskbar trick? Here's how:
- Enable 48x48 icons:
Right Click Desktop > Properties > Appearance > Effects > Use Large Icons
- Add all of the toolbars you desire to the taskbar:
Right Click Taskbar > Toolbars > New Toolbar...

Here, I have my Quick Launch bar, my open programs bar, my MP3 directory, shortcuts to frequently-accessed documents, shortcuts to the C and C++ standards in PDF form, and shortcuts to my video editing programs. The Quick Launch bar is no different than any of the other icon toolbars: it's just a directory full of shortcuts which have fancy icons. The MP3 toolbar will be used to access files in that directory; it is not an icon toolbar, but a directory toolbar. (The difference is in how you use and view them; there is no fundamental difference. You could treat an icon toolbar like a directory toolbar; you'd then click the >> arrow and get a small list of the shortcuts in that directory, rather than having them all available immediately.)
- Leave any directory toolbars untouched.
- However, the icon toolbars need to use 48x48 icons instead of 16x16, and they need to not display any text. With any toolbar which consists of icons:
Right Click Toolbar > Deselect Show Text
Right Click Toolbar > Deselect Show Title
Right Click Toolbar > View > Large Icons
This will make all of your icon toolbars use 48x48 icons.

You can see that things are getting a little squished.
- Resize the taskbar to double-height.

- Now, take any toolbar you like and drag it to the top of the taskbar. This will create an actual second row of icons.

- Add any other toolbars you like to the second row.

- Let's add an Address bar.
Right Click Taskbar > Toolbars > Address

- Drag the Address bar to the bottom of the taskbar; it will form a new row.

- Now you have three rows to play with. Drag toolbars around until they're in the position you want. Let's put Quick Launch on the bottom with the Address bar.

- Let's put the Address bar on the top.

- Let's move the open programs bar and the video editing programs bar to the second row, leaving the Address bar alone by itself on the third row.

- Let's move the MP3 toolbar, the documents toolbar, and the standards toolbar to the bottom row.

- Let's remove the title from the Address bar, rearrange all the icons, position the toolbars appropriately, and then lock everything in place. We're done!

11/15/2002 - Updated the Northwood Desktop Screenshot on the Computer page. I've pulled off something very tricky with my taskbar, and I think it's really neat.
Today's external link is to the page that taught me how to paint my optical drives silver.
11/13/2002 - I added a few Sarek quotes to the Quotation Collection; the total now stands at 612.
"Of course, in the end, I was proven correct."
I was reading a neat set of lecture notes online about American history, and came across this little tidbit: Dmitri Volkogonov was involved in the Alger Hiss case, as in 1992 he searched the Soviet archives and declared that Hiss had never been a spy. The page doesn't name Volkogonov directly, but I recognized that the "Russian general" had to be him. (I did some searching and confirmed that it was indeed him.) Of course, I recognized his name because he was the author of the excellent Stalin: Triumph and Tragedy.
11/12/2002 - I updated the Computer page to reflect the fact that I removed Northy's fan bracket; as a result, the price has dropped by about $57. Also, I have painted Northy's I-Storm IIs and optical drives silver; it looks pretty good now. I tried to paint the floppy drive silver too, but I broke its flap, and as a result I've stealthed the entire drive. I should take a new picture of Northy.
Also, while working on my computer, I managed to short it out when I reconnected the floppy drive. Man, that was scary! Fortunately, nothing was damaged.
Uche has recently been working on suffix trees, and he's written a page about what he's done. Neat!
I plan to add an explanation of Ukkonen's algorithm to the bwtzip page, when I find the time. I can explain how Ukkonen's algorithm works, but not why it works.
Today's second external link is to the PuTTY Download Page. I recently figured out how to use PuTTYGen so that I can SSH into remote computers without typing my username or password (I hate being challenged for my identity). Whee.
11/10/2002 - Added one FAQ to the Deus Ex Story page and one FAQ to the Anime/SF Reviews. In short: yes, I'm working on annotating Deus Ex's dialogue, and yes, I will get around to watching Cowboy Bebop.
I added a collection of the icons that I created to the Downloads page.
Interesting fact: if I remove the fan from Northy's heatsink, the processor temperature rises to 57 degrees Celsius and then levels off. That's a 2.2GHz processor under full load, running without a fan. :->
11/9/2002 - Midterms are over, and my connection is usable, if highly flaky. I recently discovered how to create Windows XP icons, 48x48 with alpha transparency, and have been busy making new icons for all my websites. Before, when I could only make 48x48 Windows 98SE era icons (with binary transparency only), most of my icons were simply square images. They looked nice, but they didn't fit in with the other XP icons I use. That has all changed now.

On the left is the upper portion of my Links toolbar when I had the square icons; on the right is my current Links toolbar. Doesn't it look nifty?
Today's external link is to Icon XP, the utility that - along with Photoshop 7 and the PNG file format - allows me to create XP icons. It's totally better than Icon Easel, the Windows 95 icon editor that I used to use.
11/5/2002 - Well, that was a short interlude. In an amazing turn of events, my connection is working again. (It only took them four days... four hellish days.)
I added bitrate to the Downloads page; it's a small video bitrate calculator. I used some nifty DJGPP tricks to reduce the size of the executable to 24 KB; however, the code remains strictly conforming, so you can run it anywhere.
I removed zlibtest from the Downloads page; it was a demonstration of the Mcell code in C. How time flies! This functionality is still provided in Bcell, not that anyone cares.
When I start up a command window in XP, now it's titled Northwood instead of Command Prompt. Whee.
Start > Run... > regedit > HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Command Processor > AutoRun > Modify > title Northwood
I added images of Asuka, Pen Pen, Shinji, and Bart to the Anime/SF Reviews.
I updated the graph on the Diet page to cover the first 42 days I've measured.
Today's external link is to confirmation that the NV30 is a 125M transistor part (5M more than I originally thought).
11/4/2002 - I have no Internet connection. Caltech offers a 10Mbps Ethernet connection in every room on campus... except for the apartment I live in this year. My apartment is connected via a cable modem. An incredibly lousy cable modem connection, as it turns out. Since school started, the connection has gone from sucky (its natural state) to flaky, and now to dead.
Today's external link is to this page written by Caltech Info. Tech. Services.
Caltech ITS says that my connection will be down not for days but for weeks. The better part of a month, in fact - and that's if I'm lucky. Needless to say, I have immediately started implementing Operation Infinite 802.11b; in the next couple of days I will be ordering a bunch of equipment, because I absolutely cannot tolerate this situation. However, until I get set up again, updating my website will be essentially impossible. I can write news updates (as I am doing here) from another computer, but that's a pain. So, there will be a brief interlude in the news posts for a while. I'll work on content when I can on Northy and upload it all when my connection is back on line, back in action.
10/29/2002 - I have added the Diet page. I'm losing weight to the tune of 2.5 pounds per week, and it's so incredibly simple I just have to tell the whole world about it.
I prepared an image that will eventually go on the Lossless NV30 Screenshots page.
Are you ready for the NV30?
10/28/2002 - Updated the Random Work page to include a general way for lambda functions to recurse on themselves.
10/27/2002 - I have added pictures of Rei Ayanami and four characters from Vandread to the Anime/SF Reviews.
I have updated the Random Work page with some code that performs an iterative computation using only lambda functions. I thought it was cool. Then again, I think thermonuclear explosions are cool.
Today's external link is to the DrScheme interpreter.
10/26/2002 - Brian Burke of Nvidia E-mailed nvnews.net yesterday saying, in part:
We think [ATI's GDDR-3] spec needs to be more aggressive. NVIDIA cannot endorse the spec as is. It needs more work. 500MHz as a starting point is boring in the time frame they are talking about, which is 2003. 500MHz in 2002 is exciting. 500MHz in 2H03 is boring. The value of the GDDR3 as it stands in the current spec will be severely tested in the coming weeks with existing technology.
Allow me to read between the lines for you:
The NV30, which we are announcing at Comdex in less than a month, has 500MHz double data rate memory.
Aw hell yeah!
10/24/2002 - Today's external link is to Chronic Logic. They have recently released Pontifex II. It rules.
My Hard Level 7 bridge passes the test with no broken links. It costs $124418. Can you beat that?
10/22/2002 - I have updated bwtzip. The source code hasn't changed significantly recently, with the exception of some expanded PNG support (pngacc is nearing completion). However, it is organized better now, and includes a Makefile. Compiling bwtzip has never been easier! As before, I have included precompiled executables for bwtzip and bwtunzip.
Today's external link is A Block-Sorting Lossless Data Compression Algorithm, the original 1994 paper by Burrows and Wheeler.
10/17/2002 - I have completed my first draft spec for Reason! Reason, if you remember the one time I mentioned it before, is my working name for the computer I will build sometime in 2003. After all, Northy was completed in January 2002; by the end of junior year it will be one Moore generation old, and that hurts. To create Reason, I will gut Northy - while Northy will still be a perfectly operational computer, I will remove some hardware from it and keep all my peripherals. That doesn't mean that Reason will be cheap, though!
| Component | Price |
| New: |
| Plextor PX-W4824TA (IDE 48/24/48X BURN-Proof Tray-Loading CD-RW) | $130 |
| Pioneer DVD-106S (IDE 16X Slot-Loading DVD-ROM) | $50 |
| Adaptec 29160N SCSI Host Adapter (Bare Card) | $189 |
| Seagate Cheetah 15K.3 (36GB SCSI) | $350 |
| Western Digital WD2000JB (200GB IDE 8MB cache) | $359 |
| Promise Ultra133TX2 Controller Card | $36 |
| P4 Prescott (Highest End) | $600 |
| Motherboard (Highest End) | $200 |
| 1GB RAM (Perhaps 2GB) | $300 |
| Lian Li PC-68 + USB2 | $163 |
| Enermax EG651P-VE | $155 |
| PC-65 Window Side Panel | $45 |
| Blue, Purple 12" Cold Cathode Lights | $27 |
| Swiftech Heatsink | $80 |
| Creative Labs Audigy 2 Sound Card | $135 |
| 5x Delta 80x38mm FFB0812EHE Fans (80CFM) | $75 |
| 8x Gold 80mm Fan Grills | $32 |
| 10" Silver Mesh Rounded Floppy Cable | $8 |
| 4x IDE ATA/100 18" Copper Mesh Rounded Cables | $44 |
| Silver Mesh 7 Connector Rounded SCSI Cable | $35 |
| SCSI Terminator | $17 |
| Two Hard Drive Brackets | $4 |
| 100 Black Fan Screws | $5 |
| From Northwood: |
| Microsoft Hovermouse Explorer 3.0 |
| Sony CPD-G520P 21" Flat Trinitron Monitor |
| Klipsch Promedia 5.1 Speakers |
| Intel Pro/1000 Network Interface Card (Gigabit Copper Ethernet) |
| Arctic Silver II Thermal Compound |
| 3x Just Cooler FC-100 System Coolers |
| Samsung Black Floppy Drive |
| Western Digital WD1000BB (100GB IDE 2MB cache) |
| Western Digital WD1200JB (120GB IDE 8MB cache) |
| To Northwood: |
| Linksys LNE100TX Network Interface Card | $20 |
The total cost of new components comes to $3059 without tax or shipping. With tax and shipping it may cost $3500. Obviously, much of the spec remains uncertain at this time.
My main considerations are:
- Getting everything to fit together. It sounds ridiculous, but it was my main concern when building Northy. I will need to find a heatsink that's compatible with the Prescott, etc.
- IDE/SATA is a headache; things will be somewhat different in H2 2003, and the new IDE HD for Reason may have to be SATA. However, this won't change the fact that my current WD's are parallel. Furthermore, there is a cabling issue if I use an IDE controller card. And while I am thinking of using rounded cables, I will have to check carefully to determine if they cause any data corruption.
- I have no idea how much the 15K.3 will cost.
- I guess by H2 2003 the high end Intel chipset will be Springdale, but other than that I know nothing about it.
10/16/2002 - I have mothballed the GeForce 3 page; removing the full size screenshots saves me 18MB which I will later use for my Lossless NV30 Screenshots page. I assume that all my readers have GeForce 3-class cards or higher now. If not - oh well. Get with the 21st century, will ya?
I have finished Red Storm Rising and have completed my review of it. The verdict? Decent, but not spectacular. I am still looking forward to the last novel in the Ryanverse, code-named HITS.
I have finished watching Hack Sign and have reviewed it. I gave it six stars ("good"). If only it had moved a little faster and managed to keep my interest throughout the whole thing. The worst thing is that no one episode stands out in my mind as being spectacular; the last few minutes of the last episode were great, but that was outweighed by the slow pace of everything else.
Today's external link is to John Walker's The Hacker's Diet.
10/13/2002 - Yay! If you remember my 9/22/2002 news post, you will recall that I couldn't get Windows XP to behave as I wanted it to. Clicking on My Computer would force you to manually click Folders to see the directory tree. Explorer would start up with the directory tree visible, but My Documents would be open (and I don't use My Documents for anything). I had found a way to launch Explorer that would open up C: with a directory tree. But this wasn't quite the behavior I wanted. It didn't fix the My Computer icon on my desktop, which I need to leave because it has a right-click context menu. And, much of the time, I want to access my D: audiovisual drive, so having C: open by default is undesirable. I have solved these problems!
The solution is to use My Computer or a shortcut to My Computer (I use a shortcut in my Quick Launch bar, and the real icon on the Desktop). My Computer > Tools > Folder Options > File Types > (NONE) Folder > Advanced > explore > Set Default. And poof! My Computer now launches with the Folder view open and your computer selected, rather than any individual drive.
Today's external link is to Microsoft's ClearType Tuner. If you're using ClearType, and you should be, this will allow you to configure how it looks. I prefer the default on my system, but you may prefer something else.
10/11/2002 - I bought Red Storm Rising by Tom Clancy today. Got to love those Soviets!
I will probably eventually promote bwtzip to a Primary page.
My problem sets this past week were killer; I don't know if I'll get anything worthwhile done this weekend. We'll see.
Today's external link is to an old favorite: Grid II by The Cynic Project. It's my "driving to Caltech" song. Whenever I hear it, I am reminded of when I left my old life and started anew.
10/7/2002 - I have updated the Personal Page. The changes are, in absolute magnitude, rather minor; however, they are significant in that they change the tone of the entire page. Much of the ranting about evil Ruddock House is gone. This is not because I no longer consider them evil; indeed, if anything, I more completely understand what an awful time that was for me. However, man wrongs, and time avenges. I am sufficiently distanced from that episode to be able to condense it to a factual account, rather than rabid ranting.
I have added two new questions to the Personal Page: Are you an optimist? and Are you arrogant? You know, I'm really not that bad of a person, once you get to know me. :->
Here comes another week of classes... I will think of something cool to do with the site soon. I don't have an external link handy this time around which is worthy of your attention. In its place, I would like to beg for you to visit the bwtzip page. Burrows-Wheeler compression sounds so incredibly esoteric, but I find it endlessly fascinating, and I hope that you will too. Please let me know if you like the bwtzip page; it represents a lot of my effort over the last several months, and I am always so overjoyed to discover people liking what I have produced.
10/4/2002 - I have updated apply.zip (221 KB) on the Download page. map and apply now correctly handle filenames with spaces.
Reports that the NV30 would be announced at Comdex have been verified. Mmm, all sorts of good things are happening at the end of the year:
- Nov. 15 - Xbox Live launches
- Nov. 18 to 22 - NV30 is announced, available shortly after
- Dec. 13 - Star Trek 10: Nemesis is released
- Dec. 18 - LotR: TTT is released
Also, I hear One Must Fall: Battlegrounds is being released in early 2003. Should tide me over until I get DX2: Invisible War.
10/3/2002 - AMD Shares Fall 20% On Revenue Warning - It's news like this that just makes me feel all warm and fuzzy inside.
Nothing big has happened recently, hence the lack of updates. I really should work on bwtzip and pngacc when I find the time.
There's some concept which has been kicking around in my mind for a while. I call it "totality of experience". It's sort of the sum of everything you have ever read and watched and thought and experienced. Totality of experience is something very private; it cannot be communicated directly to anyone else or recorded permanently (not yet, anyways). It's sort of how you view the world, but it's more than that. I consider my totality of experience to be something very special. It includes things like Jack Cohen and Ian Stewart's The Collapse of Chaos and Figments of Reality, Stargate: SG-1, Mersenne primes, the Burrows-Wheeler Transformation, GEM and DOS 5, The Illustrated Dictionary of Physics, and IB Russian. Everything I write is just a slice of my totality of experience. My site is an attempt to communicate my totality of experience, in a limited way, to anyone who's willing to listen.
Anyways, enough of that stuff. When I get my grubby meathooks on an NV30, I'll have some pretty pictures up on a new page, and that's always fun. I will probably remove the GF3 full size screenshots, but leave the thumbnails. Most of the readers of my site should have GF3-class cards already.
9/30/2002 - I updated the Computer page. I've made a lot of changes to my UI, so I took a new screenshot of Northwood.
Caltech changed their main webpage and in the process managed to kill all of my counters for a day. I have now restored them.
Today's external link is to Labyrinth (6.6 MB) by Raymond Wave. It's a great, long trance track.
Today also happens to be the first day of classes. Back to the grind.... However, I will still be updating the site when I have time.
9/29/2002 - I have finished watching all 26 episodes of Chobits and have completed my review on the Anime/SF Reviews page. My verdict was five ("average") stars; the ending was neither good (e.g. like in FMP) nor bad (e.g. like in RahXephon), it was just an ending to a series that went on for far too long. Even if I made up a list of 13 episodes to watch, skipping all the filler, it still wouldn't save the series; not much is explained, and not much happens.
I have reorganized the Site Directory; it now has alternating colors to make reading its entries easier. I was concerned that having such a big mass of text in a table would be hard to read. Also, I have simplified many of the descriptions.
Today's annoyance is people who say "baited breath". Whenever I hear that, I want to throttle them until their breath is bated.
Today's external link is Google News. Who needs journalists when computers do their job better and faster? Now, all we need is Google Government, formerly named Multivac.
9/28/2002 - I replaced the Comments section on the Index & Plan with a Compensation section. My pleas for people to write to me and link to my site should be communicated more clearly now. ^_^
Today's external link is to You Need To Connect, a track by The Cynic Project. It owns.
9/25/2002 - I have updated one of the images on the Links page; the DJGPP image is much cleaner and lacks nasty aliasing. Also, I have added a new file to the Downloads page - it's a little 2KB Excel spreadsheet with the C operators, their precedences, and their associativities.
Today's external link is to the C/C++ Users Journal; there are a couple of articles from each issue online. They make for very interesting reading.
9/24/2002 - I have added several new quotations to the Collection; the total now stands at 607. There is a new section for quotes from John Walker, founder of Autodesk and all-around badass.
Today's external link is to Stargate SG-1 Fanfiction by Suz. Fanfiction, if you are unfamiliar with the term, refers to short stories written by fans of a TV show (or otherwise) which are based in the universe of that TV show. There is fanfiction for virtually every SF series out there (it seems to be primarily an SF thing. I haven't seen a lot of ER fanfiction, or any for that matter - then again, I haven't looked. Perhaps I don't want to know). Now, if you follow my Anime/SF Reviews, you'll be familiar with how I like a lot of stuff and also detest/am bored by a lot of stuff. Maybe 50% of the anime I watch and 50% of the SF novels I read are good. Fanfiction is in a sorrier state. Almost all of the fan fiction I have ever read (and I've read a lot of it; not only SG-1 but Star Trek as well) is appallingly horrific. The failings of bad fanfiction range from numerous spelling errors, to characters not sounding 'right', to inconsistencies with the universe, to authors who think including lyrics of their favorite song makes for a good story (guess what - it doesn't). Most fanfiction is trash, and that makes me sad. However, I link to Suz's SG-1 fanfiction precisely because it is good. In fact, it is probably the largest archive of good fanfiction that I have ever seen, much less all by the same author. Some of her stories I just don't get (it happens, especially with me), but this is rare. Most are interesting, some are compelling, and several are just darn awesome. (And I don't just say this because I have a thing for time travel.) A couple of nights before I returned to Caltech, I stayed up until 5AM because I couldn't stop reading the stories. Eventually, several billion years of evolution won out, and I fell asleep with a couple of stories unread. Needless to say, that was my first stop the next morning. Suz also seems to be extremely prolific; in the last couple of days it seems like she has cranked out a story per day, or more. If you watch SG-1 regularly (and you should), you should also take a look at these stories. WARNING: The stories necessarily spoil episodes which they refer to. Forewarned is half the battle, and all that.
And yes, my terrible secret is revealed: I am an incurable shipper. Please kill me now.
pngacc, bwtzip, and the Deus Ex Story Page are all on my mental to do list. Don't expect any large updates from me until a week or so after classes start (i.e. nothing big will happen in the next couple of weeks); things are just a bit insane for me right now. Comments about my pages, as always, are welcome; the time they take to read