Terminal Icon

A Year's Chronology: One Year of Casimusings.

Terminal Icon
11.20.2003
My new system for updates and archiving is very nearly in place, but I felt that this could not wait. Slashdot reported recently that the National Institute of Health has isolated a plasmid from Ebola for use in a vaccine. They are now asking for 27 volunteers and they have as of yet received only two. Perhaps this is because the trial is phase one, testing for safety and effectiveness, and because Ebola is possibly one of the goriest and most well known diseases, killing up to 90% of all victims. Plasmids are round strands of genetic material used often by bacteria to share genetic information within a colony. Plasmid uptake is a truly unique evolutionary model, and one which often gives bacteria the upper hand in the battle to find better antibiotics. It can also be used to give bacteria interesting properties, such as bioluminescence, or protein synthesis. Indeed, few activities are as enjoyable as shocking a bacterium into accepting a plasmid containing an bioluminescent gene from a jellyfish, creating glow in the dark E. Coli.

Also, in celebration of 150 comics in Doomed Unto Eternal Vigilance Forever, Seth has opened his bulletin board to the public. It's hosted on the same server as this weblog and needless to say I'm already registered on the forum. If you haven't visited DUEVF, or have been long in absence, I suggest you visit it. Here's a link.

Freenet never ceases to provide new lessons. I read an openly published novel on Freenet recently entitled True Names. It carries with it some interesting implications concerning anonymity online as well as bringing into question the very definition of the term self-aware. Overall, it doesn't pigeonhole well into the genre of cyberpunk literature, though it certainly carries with it some of the more common features of the genre. Beyond that however is the question of how a community based upon complete anonymity and freedom of speech will function. In the world of True Names the real world identity of a "warlock" (the term used to describe a master of computer systems and security contravention in the world of the novel, think Robin Hood figure here, not Keanu Reeves please) is a valued commodity, since to possess a warlock's "True Name" is to control them through a unique method of extortion. Hence warlocks belonging to groups of like-minded individuals work constantly to conceal their True Names. Our society is far removed from such a dualism of technology and reality, but the eventuality is imaginable. Even with the current state of affairs being what it is, an online community has appeared which is devoted to preserving anonymity in an effort to secure freedom of expression and a free exchange of information in an age that is more and more consistently plagued by censorship. This community is Freenet. This brings me back to the lessons taught by this unique community. The first and most obvious is that truly free speech and free expression is often unpleasant at the least, and outright offensive at its very worst. It's one of those great connundrums of our society, and it's one that most people, even those free speech advocates on Freenet work hard to ignore on a day to day basis, except when, on Freenet, it becomes impossible to censor.

The second point is more subtle, and it has to do more with forming relationships with others in world built to provide shelter from mutual identification. This means that a persona must be constructed in order to interact with others in this community. In True Names the protagonist finds himself struggling with the idea of mutual anonymity. It is a struggle found in a very simple anonymous community as well. Though relationships can be formed based on a cryptographic verification of a pseudo-identity, all that is ever shared is a persona. Leaving hints about references too personal must be carefully avoided in order to maintain said anonymity. This type of exchange allows for a connection but never one beyond a casual intellectual exchange. It is an odd combination indeed, to have the freedom to say anything without fear of censorship or consequence but at the same time to be unable to connect on any level other than the most superficial, and any sharing of true identity is extraordiarily taboo. On the one occasion that I chanced to meet a fellow Freenet node operator in real life by coincidence, we were both careful to limit conversation to an intellectual exchange about the inner workings of the routing table and the underlying philsophy of Freenet. When we both unwittingly discovered that our identity as freenettters had been revealed, discussion of actual content never even came up. On occasion I wonder as to the other side of the personas which populate the Freenet, but the nature of Freenet is to wonder, since no single node operator could ever know anything about the activities more that one hop away from his or her node which includes most of the network.
11.14.2003
Time spent calculating Pi feels about as productive as one would imagine one would feel trying to drink the ocean through a straw: the more one works at it, the more one realizes that there is far more to do and the more one feels sick to one's stomach. Thankfully I'm using a computer program that I've written to handle most of the calculations, and performing checks on the algorithm and the result at each iteration using a basic driver class. The computer has helped me maintain my sanity, since calculating even the first three partial sums of the series makes one feel as if one's head is about to explode. My program can now compute the first five partial sums of the series before losing precision due to the primitive data type double. I've been using an arbitrary precision object that extends the Number class to represent Pi after each iteration. In order to overcome the limitations of the primitive data types of Java, I'll be forced to use the BigInteger class in place of all long variables and the BigDecimal class in place of all double variables. This has the potential to bloat an already intensive algorithm to gargantuan proportions. As if floating-point operations weren't slow enough already, now a separate object must be created for every arbitrary precision term. I plan to turn the class into a distributed model run over the web, but that's a long way off. It looks like a distributed model may be necessary to do any kind of effective calculation of this algorithm.

The following paragraph explains the working of the algorithm and the theory of the series behind it, readers who aren't math majors or masochists might do well to skip it.

The series used is simple and elegant and in general produces eight digits of Pi for every partial sum.
The series views Pi as the sum of an infinite sequence of fractions. The series can be shown to converge and so approaches Pi as k approaches infinity. It is impossible to calculate all terms, especially when constrained by computer hardware, but computers possess a rarely useful feature known as infinite recursion, or an infinite loop. Infinite recursion usually means a procedure or method which calls itself without any escape signal. Using looped flow control, a tightly recursive infinite loop can be used to perform calculations approaching infinity very quickly.

In practice, infinite recursion will occur until a variable overflows or until a process is killed forcibly by the operating system. Examples of infinite recursion can be seen regularly when a program "hangs" or stops "responding". The algorithm is simply a loop that computes a partial sum for every term k from 0 to a finite precision, as large as a long integer is capable of iterating. The recursion is tight and fast at present, but having to rewrite my routines for power and factorial may leave me with a resource hungry or otherwise inelegant use of processing power.

Aside from the lengthy Pi calculations, I've been doing some work on Casimirage and fixing it up for public use. I've also built some new areas around my castle, illustrating some basic area functionality. Text word wraps to an 80 character column intelligently now making descriptions far more readable, and I'm isolating the admin commands and moving them to a secure location. I also punched a telnet-sized hole in my otherwise bulltproof firewall, which allows connections from the outside. Essentially, this means the public server is up for people to tour and preview. It's still under heavy development, so the server might not understand most english phrases as well as it should yet. Give me a month or so and I'll post the IP Address for some fun public access. If you know me personally and would like a tour prior to the public previews, let me know and I'll arrange to give you a personal tour.

Speaking of virtual worlds, Uru: Ages Beyond Myst, is due to come out this month and is available for order online. The next chapter in the Myst series, Uru takes place in the modern day in the recently excavated city of D'ni. Unique to this game is the new online element, allowing you to explore the worlds around and connecting to D'ni with countless other people connecting all over the world, in a persistent but ever changing environment. New features include a departure from the traditional point-and-click interface of Myst to a fully 3D rendered environment with realistic avatars that can move freely in real time. Myst 4 is also in the works, according to Rand Miller, which will more closely adhere to the original Myst storyline and experience. More information about Uru can be found at http://uru.ubi.com.

A trailer was available for some time, which seems to have been removed from the webstite, I've mirrored it here.
10.25.2003
Wow, it's nearing the end of the month and I've still made next to no progress on my impressive new back-end surprise. Perhaps it will have to wait until after the next bout of tests. Or perhaps Seth and I will actually get together and delve into the subtleties and grotesque mysteries of Perl coding. Or perhaps I'll continue writing geek-drivel and he'll continue to write odd parodies of Roald Dahl books. Perhaps only Seth and I know the true answers to these and more questions. Perhaps I'm growing bored of this parallel syntax and will be stopping presently.

Now that I've dealt with that update I'll move on to said geek-drivel. First of all, living without a car has made this an interesting weekend, especially now that my roommate seems to have disappeared. So here I am, listening to some Rage Against the Machine and updating my weblog with the events of the past weeks to avoid doing something too terribly productive such as studying, at least for the moment.

I'm more of a geek than I thought, I managed to turn a toy from my childhood into a math problem (a proof, to be specific). This is a product of spending far too much time studying the applications of combinatorics in Discrete Structures. The toy was a board containing a six by six grid of slots into which thirty-six pegs of six different colors could fit. I set out to prove mathematically that there was absolutely no way to have all the pegs in the board in such a way that no given peg was adjacent to any other peg of the same color. First I proved trivially that it was impossible for two or three rows, and then that such an arrangement was indeed possible (and elegant, no less) for four rows. Moving past five rows to six rows, I played with the generalized pigeonhole principle until that I proved that a solution was impossible for six rows and six columns with six colors. I solved the problem finally by losing the offending peg in the cushions of the couch, proving that I'm not quite lost to the realm of mathematicians just yet.

I get to see the Bucs play tomorrow at Raymond James Stadium, if my friends don't kill me for the tickets first, which they have suggested that they may. This will mark the beginning of a series of weeks apparently designed by a higher intelligence to deter any efforts I may make at being studious. Following the Bucs game is Homecoming week, which though not distracting in and of itself, may become so due to the game and the Honors tailgate party. The weekend following this is the premiere of The Matrix: Revolutions. I sincrely hope that this film is "revolutionary" and not "revolting". I'll end up seeing it opening night as well as in Imax ten days later in either case, since the films are practically required of any Computer Science major. This is understandable, since they're about a geek saving the world, an irrefutably attractive female hacker, a dystopic and apocalyptic future, artifical intelligence, mind-bending philosophy, revolutionary special effects, and nearly constant action sequences (William Gibson wrote better dialog for the genre however.)

Oh, additionally, notice the graphic which now graces the top of my page. Suffice it to say that I was exceedingly bored one evening and rediscovered bump-mapping with GIMP. I also felt that I needed a catchier and more descriptive title and the cleverness you see above is the result.
10.10.2003
It's been over a month since my last posting, so I decided that now would be good time to update, considering some recent news as well as some good advice in the kernel department.

First of all, my latest linux propaganda: upgraded to the latest kernel version, 2.6.0-test6. The experience was what most people would describe as a headache, but as far as I was concerned, the challenge would have been worthwhile per se but after the kernel was compiled and running, I noticed an immediate speed improvement, not only in shell execution, but in the bulky and slow X-Server and the graphically intensive GNOME desktop.

Of course, as a Red Hat user, I wasn't used to the depth and quantity of configuration questions that went into compiling a kernel. After answering the extensive questions, however, the resulting kernel makefile executed quickly and spit out a small, lightweight, speedy, and stable test kernel with modular support for everything I needed and nothing that I didn't. Even w9966 support for my new webcam, which means that I might be adding a webcam section to my weblog. Whether or not this will take place depends greatly on the access I can finagle from the USF Web Server without attracting too much attention.

Back to the new kernel, though. There were a few coffee breaks that someone else could probably avoid given the right advance knowledge. Firstly, everyone will tell you to use the new modutils if you're using a Red Hat Distro. What they won't tell you is that the scripts for generating a correct modprobe.conf file rely on the older flags for modprobe. So when using the modutils packaged with Red Hat, upgrade directly to 0.9.14 without any intermediaries. After doing this, be certain to use
./configure
make moveold
make
make install
./generate-modprobe.conf /etc/modprobe.conf
Of course, this is omitting the obvious first command: less README. This is important, but not essential, as you can always write your own modprobe.conf, but take my word for it, you really don't want to do this! (Figuring out that 8139too was the way Linux liked to talk to my ethernet card was a hurdle I'm glad I will only have to leap once.) That having been said, don't necessarily trust the file generated by this script. I suggest inspecting it thoroughly. Many aspects will be unneeded, and some aspects that are needed may be overlooked. Also, don't update these utilities until after it is certain that the new kernel will boot, as the 2.4.X series doesn't much like the new utilites, and Red Hat 9 won't load past Kudzu once the old modutils have been replaced.

The new kernel also comes with ALSA (Advanced Linux Sound Architecture) Support as part of the kernel source tree, so I would recommend migrating, even if hopelessly entrenched with a sound server like aRts or the Enlightened Sound Daemon. ALSA includes many improvements over these sound servers, in addition to being faster with better sound quality than a OSS-based sound server. What is still lacking is complete OSS compatibility. Most programs that search for /dev/dsp still come up short. If anyone knows a proper workaround other than symlinking to /dev/dsp0, please let me know!

Not much needs to be done to your sysinit.rc files, other than changing all references to /proc/ksyms to /proc/kallsyms. This enables hotplugging support if you've compiled it into the kernel. The instructions for the modutils will tell you to change these references to /proc/modules, ignore these instructions, listen to me instead. Changing these references to /proc/modules will do nothing but waste time as you wonder why none of your modules are inserting in the proper manner.

If the nVidia binary display modules are used, they need to be patched or rewritten to handle the new kernel interface, and some new data structures and latency issues. They still leak like a corrupt media source, but with the new memory allocation code, the overhead is barely noticable.

Aside from those brief caveats, the bootstrapping process took approximately two days for me to complete, working mainly in my spare time and with assistance from a Ph.D student's previous experiences. When it finally does work, the new kernel is far faster and much more robust than previous versions. Throw an Aqua desktop environment on top of it, and one would think it was the Mach microkernel.

Now here's the irony in all this, the day after the kernel was completely configured and running with all the functionality and stability that I'd expect from a Linux kernel, out comes Linus Torvalds himself, with 2.4.6-test7, mocking my attempts at living on the "bleeding edge" and daring me to upgrade once more.

By the way, I'll try to keep the content more consistent over the next month, and we'll finish the month off with a back-end surprise that should make life easier for me and my readers alike. But for tonight, it's time to lay back with a good book and my CD collection in Ogg Vorbis format and forget about my computer for an hour or two, let the new kernel catch its breath after all the tinkering.
Screenshot of XMMS and ALSA
Okay, so it doesn't show much on the front-end userland, but if you could show speed in a screenshot, this image would be flying.
9.3.2003
Greetings again, everyone. It is official, I possess a unique method of weather control in the form of my umbrella. Most people use these devices to repel rain when it is already raining. The mere fact that I am carrying one however will prevent it from raining entirely. This is due to the biconditional implication that it will rain if and only if I am not carrying my umbrella. Evidence of this hypothesis was once again corroborated when, during the first time in a week that I have been without an umbrella, the skies opened and released a torrent directly upon the Chemistry building at the precise moment that I was leaving. If I didn't know that weather lacked consciousness, I'd say that it was obsessed with drenching me. In addition, while on the general complaint trend, either my monitor or my eyes are going. Now while I like my monitor, I hope that it's dying rather than my eyes, since my vision up to this point has been better than perfect in both eyes.

I read an article today on the Slammer worm that recently took down a large portion of the Internet in less than 15 minutes. Whereas most networking experts anticipated that a worm of Slammer's magnitude would require months of planning and research, a massive server farm to initiate the attack, and an extensive list of vulnerable servers, the Slammer worm itself demonstrated an elegant design based on a intimate knowledge of UDP and Microsoft SQL Server. The worm itself was funtionally miniscule, hiding within a single UDP packet and exploiting a critical overflow in the Microsoft SQL code. Normally, most Internet services use TCP (Transmission Control Protocol), which is the standard of communication over most of the Internet. In TCP, a computer making a request of a server must go through a three-way handshake of SYN, SYN/ACK, and ACK. This corresponds to the standard conversational slang of
"Yo."
"Yo. Sup."
"Sup."
There is much more to it, but it generally insures that packets across the Internet don't get lost or confused, and a three-way handshake tends to help keep computer conversations both seperate and organized.

UDP (User Datagram Protocol) on the other hand is much smaller and faster than TCP usually and is reserved for non-system communications. UDP requires no handshaking since it relies on the person sending the information to tell the receiving computer when to stop. This is similar to actual telegrams where those sending the message would include the occasional "Stop" to separate otherwise ambiguous setences. The problem with this protocol is that one assumes that any normal program would put a "Stop" code in the correct place. For the most part, the developers were right. Likewise, no normal person would use a crowbar to open the front door of your home. In this way, the Slammer worm was no ordinary program.

Microsoft SQL Server accepts UDP packets to process as queries into a database. It assumes that any UDP packet with a first byte of 04 will be a query in the format that it expects and will be terminated by a byte of 00 (the "Stop" code). The Slammer worm hides inside a packet with an initial byte of 04, but instead of a query, an extra long string of 01 bytes follow. The computer, never receiving the stop code, happily throws the whole darn packet right into the main memory, regardless of its size, which is exactly what the Slammer worm anticipates. Trailing the end of this excessively long packet is a set of malicious code placed perfectly so as to begin execution as part of Microsoft's SQL Server. In effect, this one packet completely reprograms the machine with instructions to continuously generate random Internet addresses based on time and send a copy of an identical UDP packet to every computer possible.

The Slammer worm infected its first machine at 12:30 AM Eastern Time. In 3 minutes the number of infected servers was already doubling every 8.5 seconds. 15 minutes later, nearly half of the 13 primary routers on the Internet were failing and countries such as Portugal and South Korea had disappeared entirely. Among system administrators, the apocalypse had finally arrived (intentionally ignoring the obvious oversight of the finger exploit that destroyed two-thirds of the Internet).

During this worm's 48 hour rampage, flights were delayed, 911 dispatchers resorted to paper, and entire regions of cell phones were completely without service. In light of the recent MS Blaster attacks that nearly wiped out several residence halls here at USF for several days, I think this indicates exactly how reliant we all are on a very fragile ad hoc web of systems that is growing more and more outdated every day, and how easily a single vulnerability can bring the entire system crashing down in less time than it has taken me to write this entry.

This brings to mind other services that utilize UDP such as Kazaa, or Xbox Live. Even more frightening from a networking perspective is DNS, the magical system that tells your computer exactly how to find www.google.com amid a maze of dumb packets mindlessly and connectionlessly finding their way from one computer to another.
8.30.2003
The quote of the week is from my discrete structures course, which I wrote down as soon as I heard it because it was a classic example of terminology being used as jargon. My professor, mid-lecture, comes out with "The negation of implication is the conjunction of the affirmation of the antecedent and the negation of the consequent." This is also roughly three minutes after my professor stated that he never used the term consequent to refer to the second operand of binary implication. It is especially humorous since the logical statement requires absolutely no proof since it is a property of implication that if the first proposition is true the second proposition must be true. If one acknowledges that the following implication is true then one can easily see how the negation of implication works. Let us use a simple implication: "If it is raining then the ground will be wet." If the consequent is true, (the ground is wet) it is sufficient that the antecedent is true (it is raining). This is not a necessary condition, the ground could be wet for many reasons. However, if the antecedent is true, (it is raining) it is necessary that the consequent will be true (the ground is wet). The conjunction of the affirmation of the antecedent and the negation of the consequent in this case would be to say that though it is raining the ground is dry. This is obviously a false statement, hence it is the negation of the original implication. All in all, a very circuitous method of explaining a simple concept.

In other, unrelated, news I threw my first real dinner party the other day in my new condo. My roommate and I actually bought glassware for the occasion. We also bought watermelon, which is inexpensive and delicious this time of year. We pulled out the leaves of the table, making it about twice as long as it was to begin with. However it was still up against the wall and very long meaning that one side of the table was completely empty, making for quite a few last supper jokes. "Sorry, we've only got one table for 13 and you all have to sit at one side of the table." After desert, we played Soul Calibur II, which just came out, and I must admit is one of the prettiest games that has been released for Playstation 2 in some time. No game looks as pretty or as scary as Doom 3 promises to be.

After this, we watched "The Two Towers", which I ended up buying. I will end up buying the extended version as well, of course, but I couldn't resist. It was all well and good, though, due in part to the ten-minute "Return of the King" preview. Also, it's always fun to study elvish mathematics. For example, simple subtraction: 20 arrows minus 300 arrows equals 20 arrows.

And now, the promised article concerning traffic control. I hope that it turns out to be more enlightening than the introduction makes it sound. It started with a news anchor actually, as so many things do. As I'm watching television, a rarity for me, the anchor reporting on the recent bombings in Israel made a comment to the effect that the anchor couldn't understand why anyone still rides a bus in Israel. My first thought was that this is probably because a driver's license in Israel costs the equivalent of 1000 US Dollars. This seems like an effective way of controlling pollution, traffic, and other problems that go with excessive driving. The downside is the dependence on public transportation and the large quantities of people in one concentrated area such as a bus. It is an interesting predicament no doubt. Perhaps it comes from growing up in an area that lacked a large commercial zone within walking distance or an effective public transportation system, but now that I live somewhere that meets those criteria, a car does seem less and less necessary. Now that I really think about it, people in Israel could probably have cars without destroying the environment too much if we limited the usage of "Suburban Assault Vehicles" (bigger is better, after all) here in the United States.
8.26.2003
My apologies again for last weeks rant, but it encompasses about a months worth of silence over the whole SCO issue, so now that it's out of my system, I can focus on some more meaningful content.

First of all, amusing news: Due to the abundance of Denial of Service attacks flooding microsoft.com the DNS record has been moved to a company known as Akamai. This company, ironically enough, runs Linux, which is better at handling these types of attacks. What this translates to is that the Microsoft website is now being hosted on the impossible combination of IIS and Linux.

Aside from that particularly stunning bit of global insight, other interesting things, have as always, been taking place on a more local scale. Most notable is perhaps the start of the fall semester here at USF. <sarcasm> Discrete Structures was an uncommon joy.</sarcasm> I might actually have to buy the book for it and do something crazy (like study). Aside from that tri-weekly Tindell torture and being stranded without an umbrella outside the Chemistry building, the first day of classes was surprisingly enjoyable. This is not to say that I don't enjoy school as a matter of principle, but today was particularly pleasantly surprising. I hope that tomorrow will be similar, but that depends greatly on who ends up standing at the front of my Physics lecture. I'm hoping for Dr. Buonaquisti or Dr. Chang, but really anyone other than Halder will do. Yes, anyone but Dr. Narayan "Gravity is always negative, except for sometimes when it is positive" Halder will do.

That's all for tonight, I plan to write something later this week on Israeli traffic control and the ethical issues therein, but it is far too late/early for me to gather my thoughts into a worthwhile statement, so I'm afraid it will have to wait.
8.20.2003
I must apologize for the recent lack of content appearing here. With some major additions to Casimirage, a vacation to Tennessee, a new gaming computer, and my first ever Key Generator working, the last month has been filled with excitement. In fact, I'd go so far as to say that the last two weeks have been one continuous hacking session (with breaks for meals as needed). My activities have been fairly limited at least in that respect: wake up, eat, hack at work until lunch, eat, hack some more,come home, hack at home, eat, hack before bed, sleep.

The outcome however has been favorable. Casimirage is finally to the point that I'd consider letting normal humans inside without fear of crashing the persistant environment. In fact, the last time I let a normal human inside, she unwittingly informed me that there was no security on the admin command: "shutdown". This, I'll admit, was a relatively large oversight on my part, which has since been corrected. Security in general is still pretty lax on the admin side, but building and coding are coming before that in the grand coding scheme of my mind. This is one of the advantages of being a coding team of one. All of my code can be as ugly or ill-commented or undocumented as I like. This is good, because I tend to write ugly code as a matter of principle. (Eschew obfuscation!)

In the time I've spent not coding, I've been keeping up with Slashdot, noting the daily SCO article. For those who aren't geeks I'll enlighten you first on the SCO debacle.

SCO, or the Santa Cruz Operation, claims to own the intellectual property found in the UNIX source code. Whether this is true or not is debatable in itself, since the UNIX history is so complicated with all the different flavors of microkernel. (The best explanation that I've heard yet is "Everyone knows that UNIX came from the alien spacecraft that landed at Roswell, no one owns the IP (Intellectual Property)!"(note the use of nested parentheses, is this legal?))
Regardless, SCO has declared that they are now going to enforce their intellectual property claims by licensing any Linux kernel version above version 2.2. Their argument is that source code from UNIX System V was illegally copied into the Linux kernel. What's most amusing about these claims is that when SCO has been requested to produce evidence of their intellectual property in the form of code, they have refused, citing their own trade secrets as a defense. For non-geeks, this would be like someone pulling you over and saying, "Your muffler came from my car, I'm not going to prove it, you can't take it off and get a new one, and whether or not you were aware of this, I'm still going to want you to pay for it, otherwise I'll sue you and anyone else with a muffler like it."

This brings me to the more important point of all; whether or not code was copied from the SCO kernel, regardless of the fact that millions of Linux distributions were put together and sold by SCO under the name of Caldera International (violating their own "Intellectual Property" and adhering to the terms of the GPL), ignoring the preponderance of BSD (Berkeley Standard Distribution) Code residing within UNIX System V, ignoring all these the deeper problem is the legal illusion that has been sold to the general public under the title of "Intellectual Property".

Let us say that I write I piece of application software, a server or database built custom for a company, a security circumvention device, or a DVD Player. Any of these projects are fairly formidable applications that could take a week or two of my time if I spent 10+ hours a day hacking. Now here's where the illusion takes shape. After this software package is compiled and runs to my liking, I distribute it. If I'm a commercial software company, I may charge as much as $1000 for a license to a custom piece of software, especially if it's not going to be easily replaced by an alternative. Simple free-market economics, right? I make a product and sell it for a fee based on demand, right? Wrong. I still retain a source and binary copy of the software, which I can recompile, package, and distribute with next to no effort for the same price! If this copy is binary only, I've shackled any customer to me for security patches, new versions, etc. I can now line my pockets by dividing people and destroying cooperative efforts in the community, aren't I clever?

But that's not enough for me. I want to eliminate any pesky competitors who would like to do the same thing and create a similar product. So suddenly, the process of decrypting and playing DVD movies is my patented intellectual property, and if anyone else uses a similar process, regardless of if they were even aware of my technique, I can sue them for losses.

Anyone who tells you that software is a product like any other has never written a line of code in their life. I can as easily call Pi my property as I can a line of code. Software is a series of binary instructions, that when fed through a very advanced state machine, produces a desired (or sometimes undesired) output. There is no physical "software product". What most people don't realize is that even when one buys a copy of a software package, one still does not "own" that software. Purchasing a boxed software package at your local Best Buy most often means only one thing: that you have the right to execute the binary instructions contained within the box, if they run correctly at all. Only the copyright holder ever owns software, since only the copyright holder can alter and distribute it.

It is a priori that ideas are non-material, and it follows that to patent an idea as property with singular ownership is a logical fallacy that the public has been coerced into believing.

It is a principle of economics that in order for something to have value it must also be scarce. With digital information, that scarcity must be enforced in order for software companies to grow wealthy and monopolistic. The truth is that digital information is so easily copied and redistributed, that there can be no loss through software "piracy". To make scarce something that could be so freely produced goes beyond the realm of economics to the realm of ethics.

Companies have a great deal to learn about the workings of a post-scarcity economic system, and apparently companies like SCO are learning very slowly.
For more information on the Philosophy of Free Software, visit The Philosophy of the GNU Project

For more information on BSD and the systems that it powers, visit What is BSD?
7.18.2003
When I woke up this morning, I read an article on the relevance of Google's new AdWords campaign. I have to admit that most of the time they do a fairly good job of pinning down a site's content and general audience and delivering relevant, non-obtrusive, text-based ads. It's part of a new pay-per-click campaign, and I decided to test it out and see for myself which ads Google saw as relevant to my visitors. I tried it out on Casimirage.com first. I was pleasantly surprised, as links to other MMORPG populated the ad box, along with one which offered affordable MUD hosting. "Perfect!" I thought to myself and tested out the same AdWords check on this site. This time, I was a bit less satisfied with the results. Google seems to have lumped my site in a classification with online dating and personal sites. Things like "Are you on the brink of divorce? Get marriage counseling!" filled the ad box. I was disheartened, as I had hoped that my topics wouldn't follow the path of relationship-centric babble as a great deal of weblogs do, but that appears to be what Google thinks of my page.

Regardless, one of the links looked so intriguing that, in spite of myself, I followed it. The site was called greatboyfriends.com, and their slogan was "Where every single man comes with a woman's stamp of approval." Their basic premise is women sharing the smart, fun, sensitive, otherwise perfect sorts of guys, that are single for some unknown reason. The best part is that all of these are recommended by women, often who were previously involved with said guy!

Here's a link.

Possibly the only thing better than this in my mind would be geek dating service. It would most certainly have to be online, to combine an activity which geeks are comfortable with (anything involving computers) with something they are not as comfortable with (romance). While reading "A Girl's Guide to the Care and Feeding of Geeks" I discovered the following quote, which might be applicable, but at the very least is amusing.
"Don't ever try to force the issue, or make crazy demands that he choose between his computer and you. Remember, his computer has been there for him his whole life; you are a new interloper he hasn't quite grasped yet"
This is more of a universal truism than most people think. In my first year of college, I shared my bed more frequently with my computer (a laptop) than any person. It was a genuine joy to be able to wake up in the morning, roll over, check my email and Slashdot, and then roll back over and go back to sleep. What woman could offer something like that? None, I think.
7.18.2003
Great quotes from the U.S. House of Representatives:

"You're a little fruitcake, a little fruitcake; you little fruitcake."
7.17.2003
What follows is a summary of a conversation which occured between myself and the Melbourne Police Department:

Me: "Hello there, I called yesterday with information about a canvass that I was planning to conduct this Saturday. I left a message on the voicemail of Anna Russell, and I was wondering if I could speak with her regarding any further requirements that remain to be fulfilled.

MPD: "She just left her desk, she'll be back in a moment if you'll hold.

Me: "Sure, I'll hold."

(a brief pause follows)

MPD: "This is Anna Russell."

Me: "Hi, Anna. This is Tyler, I left a message on your voicemail yesterday about a canvass that I'm planning this Saturday."

MPD: "Yes, I forwarded your message to the front desk, did they call you?"

Me: "Actually, I don't think they did."

MPD: "Oh, well I'll transfer you there."

Me: "That would be great"

(another pause)

MPD: "Melbourne Police Department."

Me: "Hi, my name's Tyler Vann-Campbell. I left a voicemail the other day regarding a canvass that I'm planning. I have a list of volunteers and the streets that we plan on covering.

MPD: "Whose voicemail was that?"

Me: "It was Anna Russell."

MPD: "Okay, I'll transfer you."

Me: "Wait I-" (the line goes silent)

(another long pause)

Me: (speaking to a silent line, in slight exasperation) Maybe I could talk to the chief?

I realise that I may be painting the Melbourne Police Department in an unfavorable light. I probably should have been more assertive in stating my purpose and the person who I really wanted to speak to. Eventually, the police were helpful, as they always manage to be at the end of the day. I just hope that I never end up working in a position where my phone carries the "transfer" option.
According to this article, what I have published is not necessarily a weblog, but a web journal. I tend to respect weblogs more than web journals, and I always tended to count content, interactivity, and coding ingenuity to be the deciding differences between a weblog and a web journal. Let me know what you think, blog or journal??
7.16.2003
Eureka! I've found it! The only permanent non-familial relationship! "What is it?" you may ask, and ask you may for the answer is simple. "Girlfriends come and go, but an ex is forever" So true. Just like a biological relationship, the bond is unbreakable by any natural means. This may or may not be a good thing, but the simple fact remains that, try as one may, there is no un-ex-ing a person once ex-ed. Now, some may argue that by reestablishing a relationship this may be contradicted, but I disagree. If anything, the ex is further ex-ed, making them an ex-ex, but the ex still remains. Even spouses are (sadly) less permanent than the immortal ex. Spouses can (and frequently do) become ex-es through divorce. Thus we have the ex-husband, ex-wife and the tie which keeps them forever bound, alimony.

The only reason these relationships are not listed in obituaries and on headstones is they would be too numerous. We can't really have people being survived by their loving spouse and 36 ex-(what have you)s. Some individuals are more adept at accumulating ex-es than others. I've heard this described as "serial monogamy" and I think that title fits quite nicely.

Not that this is necessarily a bad thing, but I think I'm quite finished with collecting ex-es. A friend of mine has taken personal responsibility for ruining my single bliss. My opinion is this: For the first time in years, I'm actually enjoying the single life. Why ruin a good thing? Besides, I'm building a new computer, and thus can afford maybe one or two dates in a month-long period, which I think most people will agree is not nearly enough.

Speaking of my new computer, I should allow everyone to drool over my video card, which should arrive tomorrow. It's a Nvidia GeForce 4 Ti 4200 with 64 MB of RAM. I'm very excited. Only two components remain, the 2.4 GHz CPU and the 1 GB 333 MHz FSB RAM. Just in time for the Linux release of Doom 3!!

I'm also putting together a pro-choice canvass in Melbourne this Saturday, if anyone is interested in helping, get in touch with me.
7.13.2003
This entry intentionally left blank.
7.12.2003
My readers will excuse me if my entry today is even more disjointed than usual; I'm feeling scatter-brained and I fear that no amount of proofreading will remedy the situation at hand.

First of all, I never cease to be amazed at the opportunities which present themselves when I slide Linux into a conversation. Earlier today I stopped by Xochi Biosystems to pick up some components for a new machine that I'm building for myself with my disposable income. The clerk and I got into a conversation about DVD decryption, CD writing and various hardware reliabilities. I finally settled on a Toshiba, mentioning their excellent Linux support. I mentioned that the drive was for a gaming box, with a large Linux partition. He inquired what my favorite flavor of Linux was and I answered that I was a Red Hat man (I won a Red Hat T-Shirt at the most recent SLUG meeting, by the way). This led us to the topic of Red Hat's Enterprise Server, which, we both acknowledged was really just a very pretty version of FreeBSD. This is not surprising as the BSD license allows the code to be incorporated into GPL software, proprietary software, further BSD licensed software, etc. It is a very modification and commercialization friendly license.

Anyway, this led us to discussion of the open-source, free software movement, and the constant need to make money while distributing free (as in speech) software. I mentioned that I had done some minor work on a few open-source projects, developed MUDs, and played with Java. It was at this point that something completely unexpected happened. My new acquaintance asked me if I could give him a copy of my resume. This took me by surprise, but of course I told that I could and inquired why. He told me that he was working on a project porting some Java server pages from Linux to Unix and needed to remove some very kernel specific dependencies and make certain that the code would remain stable on a Unix platform. Anyway, Francisco will be getting a copy of my resume early in the week and it looks like I could have a short-term (and possibly longer term) job doing some real Java coding.

I was naturally very excited about this and I still am, hence the entry. All of this started from my dropping the name of Linux in a casual conversation. I don't think I've ever spent so much time in a computer store for so few components, but it was well worth the time spent. I love discovering other geeks with whom I can carry on a conversation about something like Linux or Java for more than ten minutes without their eyes glazing over. I can only imagine what will happen in a few years, when Linux establishes itself as a force on the desktop.

The entire reason I'm building this new computer in the first place, besides having gone a year without building a new computer and feeling deprived, is so that I can have a portable, powerful Linux machine to bring to LAN parties.

This brings us back to the topic of LAN parties. I know that I said LAN parties are fundamentally an enigma, but that was a cheap evasion on my part. LAN is one of those notorious TLA that are thrown around by geeks so much that they are pronounced as a word as a matter of further abbreviation. Now, neither video gaming nor obsession with computers is necessarily as excessively geeky as it could be. Combine these, however, and the result is an exponential augmentation of geekdom. Having defined a level of geekiness characterized by PC gamers, we must go still deeper into the dark and oppressive world of the geek in order to find internet multiplayer PC gamers. Geeks of this variety, especially the skilled ones, can be found most often in front of their computers, late into the night, honing their skills to obtain more "frags". This level is also frequently populated by players of MMORPG (Massively Multiplayer Online Role-Playing Game, eg. Everquest, Star Wars Galaxies, or Ultima Online). Delving still further, we find the PC gamer geek so obsessed with the game that he (or on rare occasions, she) feels the need to gather in a house, garage, gymnasium, stadium, ballroom (anywhere large with plenty of power, really) and connect his or her computer to the computers of like-minded individuals in a Local Area Network (or LAN, hence the name). What follows is an extended gaming session, often lasting all night, during which mass quantities of caffiene are consumed, and not much else. Sometimes a lull in the gaming takes place, so one computer can be showcased, or a particularly interesting cinematic can be shared by all.

Now there comes the sad truth, I have been to one such event. What's sadder, I'm planning another. If what I've just described sounds like a good time to you, get in touch with me and I'll put you on the list, or get in touch with reality, but really, where's the fun in that?
7.10.2003
I hope that my readers will excuse me if I rant more than usual. If you don't already know, I've spent the past week redesigning my weblog to handle Cascading Style Sheets. What's particularly cool about Cascading Style Sheets, besides how much easier they make life for the HTML designer, is that formatting is no longer handled by clever HTML hacks such as <div> or <table> and ActiveX and JavaScript are both rendered obsolete by the pseudo events.

I apologize for the excessive technicality; let it suffice to say that Cascading Style Sheets do wonders for making my life easier and helping my page to render very clean layouts in a very short time.

All things considered (and reconsidered) I decided not only to make my weblog pretty, but to also make it cross-browser compatible according to the W3C (World Wide Web Consortium) current standards. These standards allow for text only browsers to effectively translate images into meaningful text. They also make certain that all information is as accessible as possible to every possible audience, including older browsers or for people who have difficulty seeing.

After all this, my rant takes a bit more shape. As one who grew up during the time period when the internet was a growing technology, full of promise, I expected the World Wide Web to be just that, World Wide. Now while non-conformance may have it's place, in order to effectively communicate between diverse people, one should at least take steps to insure that a standard protocol exists for effective communication.

What this translates to in terms of the internet and the world wide web is this, a language created to be flexible and extensible, yet with a set of standards that insures that everyone can read and decode it in a manner which maintains consistency with what the author intended for format and display, while allowing each person convenience and personal viewing preference.

This is where Microsoft Internet Explorer enters into the scope of discussion. Microsoft Internet Explorer is used by roughly 80% of web surfers. What is upsetting about this is Microsoft's blatant disregard for current standards of the HTML protocol. They have used their monopoly to subvert the global intentions of the W3C in the name of browser-specificity.

7.3.2003
Achtung! Achtung! This will be the last update, using my current system of blogging! I will now allow everyone who tunes in regularly to rejoice. My current system is very heavy on the HTML with lots of hardcoded stylings. Hence, in lieu of adding any kind of real content, I'll be improving the eye-candy and web-design based on CSS and other TLAs.

For those wondering, a TLA is a particularly heinous crime often committed by jargon-steeped geeks, seeking to expidite their conversations or writing. It is the TLA which gives us such wonders as DLL, EXE, PHP, USB, GNU, NAG, MUD, CPU, FTP, RAM, RPM, and 749 others just like the above. What is this TLA you ask? If the answer is not already obvious enough, a TLA is a TLA for Three-Letter Acronym. Now it must be made perfectly clear that not all TLAs need be precisely three letters to fit the definition. However if one intends to similarly classify acronyms of four or more letter, the ETLA (Extended Three-Letter Acronym) may be used as well. In addition, the SFLA (Stupid Four-Letter Acronym) will also suffice. All of these exist due to the recent computing trend toward YABA-compliance. (YABA being an ETLA for Yet Another Bloody Acronym). When hacker Paul Boutin was asked what he foresaw as being the biggest problem facing the future of computing, Paul responded, "There are only 17,000 three-letter acronyms." Considering all possible permutations of 26 characters, there are actually 17,576 possible combinations of three letters with which to form acronyms, of which a mere 4.3% are currently being used. For a complete list of TLAs in common usage, click here. An illustration of the precise level of my geekiness, I must point out several obvious TLA examples in common usage not included on the list, which are as follows:
  • SQL - (pronounced "sequel") Structured Query Language, a method by which databases can be queried
  • XML - eXtensible Markup Language, a meta-language with which other languages such as Java and HTML can be implemented
  • RPM - RedHat Package Manager, a system by which pre-compiled binary files may be easily and quickly installed on a GNU/Linux system
  • PHP - PHP: Hypertext Preprocessor, a recursive acronym for a Perl implementation designed to make server-side scripting easier and more sane, while also avoiding the security risks and general insanity that results from long-term exposure to CGI/Perl.


In other news, I've been living like a homeless person for the past month. I recently obtained a bed, which puts an end to nights spent sleeping on the couch. I seriously feel like an expatriate most of the time, wandering, floating. It's almost like Hemmingway without alchohol, which is really more of a bummer, because all that remains are bullfights and fishing. I'm not really an afficionado of either. I'm more of a Linux afficionado, but that doesn't carry nearly the romance of fishing or bullfighting. However, "Guy's Night" went off without a hitch in Tampa. Poker was played, with exceedingly high stakes, likewise with assorted PC or console games, and comedies and action movies were abundant. A LAN party is in the works, for more info on that, contact me. To explain LAN party culture would be like explaining jazz, so I'll use the famous Louie Armstrong definition, "If you have to ask, you'll never know."
6.9.2003
How would one take a driver's side seat belt somewhere for fixing without risking a traffic violation? I only ask because I'm in a position to wonder, being without a working seat belt fastening device on the driver's side of my car. My current solution to this complicated problem: My passenger seat is currently without a seat belt clip, and a part is on order. Problem solved, or so it seems, for now. This is far better than my initial solution as well. My initial solution, for those wondering, was to use the passenger side clip without moving it to the driver's side first. The former solution worked, but the amended version is far better, at least from an aesthetic standpoint.

I've spent the weekend in Jacksonville, helping my dad redecorate, and I've discovered something not quite profound, but very interesting about people. A great deal of information about a person can be ascertained by their furniture. Take for example even upholstery considerations, fabric, leather, microfiber, fur? Which would be found on your sofa or recliner. Floor lamps: simple, functional, ornate, understated. I think a careful study of a coffee table could provide as much information as weeks of psychotherapy. What you may ask after such an assertion is, "Granted, so what's in your living room?" I may object initially, since the furniture choices in my living room reflect primarily something regarding my income bracket. A natural colored wooden futon, two 190 watt speakers, Sony (hey, I don't skimp where it's important) powered by a Kenwood 4 x 100 Watt amplifier. I drool even thinking about it. A black floor lamp, simple and elegant, with three track lights facing up and toward the wall. A single coffee table, again natural colored, completely covered by issues of "PC Gamer" or "Scientific American". There's more, but I think that covers it.

I had a conversation recently about the definitions of words such as nerd, geek, and dork that are often used to describe different classes of people, all of whom fit into the more general category of "intellectual". While I much prefer the "intellectual" descriptor, I think that I prefer answering to geek rather than nerd for several reasons. The first of which is that nerd denotes unattractiveness in addition to a slavish devotion to intellectual pursuits. Additionally, geek implies a neophillic bent in addition to a penchant for the academic. It would be useless for me to plead anything but nolo contendere to a charge of neophilia. The only turn-off to geek is its etymology, which refers to one who bit the heads off of chickens as entertainment for others. This description does not fit me, at least not when I'm in full possession of my wits. The etymology of nerd, however, is far more esoteric, possibly originating in the Dr. Seuss book, If I Ran the Zoo. The origins of dork go without mentioning, and hence I won't mention them here.

This leads me to the most misunderstood term of all. Some have been thinking it throughout this entry. To others, the word bears feelings of fear and uncertainty. The term to which I refer is "hacker". By the time I was born, hacker had already left the realm of acceptable job descriptions. Replaced as it is becoming by more user-friendly words, among them such epithets as cyberpunk, security professional, coder, ubergeek, and senior programmer/network analyst. The sad truth is that those individuals who coined the term "hacker" would have originally described all of the above roles using that term which is shunned by users with all the superstition of an actor hearing the fateful word, "Macbeth" within a playhouse. Hackers are becoming just that, stuff of urban legend and superstitious fear. Richard M. Stallman, founder of the Free Software Foundation, defines the term "hacker" as follows:
"It is hard to write a simple definition of something as varied as hacking, but I think what these activities have in common is playfulness, cleverness, and exploration. Thus, hacking means exploring the limits of what is possible, in a spirit of playful cleverness. Activities that display playful cleverness have 'hack value'. Hackers typically had little respect for the silly rules that administrators like to impose, so the looked for ways around."
One can easily see how this definition led to the more malicious definition, especially with the proliferation of one subtype of hacker and one subtype of bully in the late 90s. The subtype of hacker is known as a cracker and is the type of person who exploits little known security flaws with malicious intent. The subtype of bully is referred to by most as a "script kiddie" and often lacks any practical knowledge of computers. I estimate that this group of people is comprised primarily of those seeking vengence for being bullied in high school. Most know one tool or one technique and that suffices to fill their anonymous, easy target, opportunistic needs. Script kiddies are careless, easy to stop, and as mentioned previously, only slightly more computer literate than one who has used MS-DOS more than once. These people are those who have ruined the title of "hacker" making it a subversive, criminal, or even a terrorist description.

Therefore, I am justified in despising them.

Aricle of interest for the day is a piece by Thomas Scoville, entitled "The Elements of Style: UNIX as Literature". You can read it here.

My own definition of hacker for those who are interested, is as follows: "Someone more inventive than myself in any area, but especially applicable when involving computers."

beta test, v:
To voluntarily entrust one's data, one's livelihood and one's sanity to hardware or software intended to destroy all three. In earlier days, virgins were often selected to beta test volcanos.
5.21.2003

Pain is inevitable, suffering is optional.

This has been my mantra for the past several days. Since this likely comes suddenly to someone reading, I should probably explain. While I tend to be a rather cheery guy on the average, I can't help feeling very hurt when someone close to me leaves. To elaborate further, the relationship in which I've been involved for a period of time that was approaching 3 years just recently came to an end. I'm going to withhold the details of that end, since they're on a personal note and I really just don't feel like sharing them. So there, all of you voyeurs who wanted to know exactly what happened, I'm not telling. I will say a few things, however. I've discovered a few crucial things about myself, which anyone going through a breakup will. The first is that I do not get over people easily, if at all. The next is that my own sanity is still more important to me than hanging on to any relationship, however important. Hence, of course I'm sad and hurting, but there's no way that I'll let that get in the way of the rest of my life.

People tend to get depressed after a breakup. I think this is exactly the wrong approach. Sadness is normal, sure. What's necessary is a distinction between sadness and depression. At the risk of losing a precise definition, a metaphor will have to suffice. Sadness is a wound, which can be mild, moderate, or severe, but all sadness has a definite precipitating cause, whether internal or external. Depression, on quite the other hand, is like a disease, specifically a systemic disease. Like sadness, depression can have varying levels of severity, but like a disease, left untreated depression almost always grows more severe. Extending this metaphor: often a wound, if deep enough, will cause a systemic infection, more difficult to treat than the simple wound itself. In early field medicine, if a wound was at risk of becoming infected and causing a more serious problem, the wounded limb would be amputated. This comes as little consolation to the amputee, who in many cases would rather cling to the wounded extremity, even at the cost of their life. This is in many ways like the relationship between sadness and depression. A deep sadness can easily cause a person to sink rapidly into the realms of depression. This sadness can be triggered by an event, but to allow this sadness to become depression is a critical error. Instead, an amputation of the emotional sort is needed. Removing this from the metaphor is difficult at this point, having used the metaphor to establish the therapeutic technique. Interestingly enough, the sadness remains even after the emotional seperation, but the attachment to the pain, the spreading disease is effectively removed.

Someone once told me that depression was like wearing dark sunglasses all the time. This was a very astute observation, in retrospect. The mind can exert a great amount of control over the body in the right circumstances. The mind however, is reluctant to respond to its own commands. This is the difficult part of curing the cognitive causes of any mental illness, especially if there are chemical effects in addition to cognitive. Depression is like seeing the world in monochrome, absent of color, joy, life, purpose, or motivation. Sadness does not replicate this, though the symptoms may often appear similar.

I was thrilled to discover that someone actually read the preceeding entry in my weblog! This means that I'll actually have to begin putting some thought into my entries, as well as possibly even proofreading them. The latter is a stretch, but it's a possibility. I was given the opportunity to add a numinous thought to my collection. It is an excerpt from Psalm 8 which reads, "When I consider your heavens, the work of your fingers, the moon and the stars, which you have set in place, what is man that you are mindful of him, the son of man that you care for him?" Thanks to the sender, you know who are; I'm feeling inspired to implement a response system for future such comments from people who may not have my e-mail address.

Another opportunity I had recently was to see Matrix : Reloaded, an excellent movie I might add, which featured for the first time in filmmaking history, a realistic portrayal of a hack. While I don't wish to reveal any plot segments that might detract from another's experience of the film, I will recount the commands used.

nmap -sS 10.2.2.2 //A glorious port scan. Very stealthy.

sshnuke 10.2.2.2 -rootpw="Z1ON0101" //A fictional exploit of a real security flaw, a buffer overflow in CRC32 of Secure Shell Version 1, and a haXor-ized version of Zion in the password, very clever.

ssh -l root 10.2.2.2 //And she's in. I love Trinity.
Trinity Hacks
4.20.2003
I really do dislike feeling obliged to blog when there's not much about which to blog. Things that I don't mind telling the world, I'm accumulating just loads of furniture for the condominium that Jacob and I are about to move into. I could have the highest grade in Java without ever attending another class.

As for the rest, I think it was best said by The Beatles: "Ob la di, ob la da, life goes on." I feel like the past few weeks have been one long continuous sigh. I also feel like exhaling is beginning to get old, and I'm going to need to take a deep breath of some emotional oxygen or I'll get light-headed and fall to the ground in an undignified heap. I'm looking forward to the summer as a kind of a reprieve.

Let it never be said that I'm a Schopenhauerian by any stretch of the imagination. However, it might be that Schopenhauer was more right about a few things than I'd like to admit most of the time. The same is true about Freud, for that matter, but that follows since Freud was in all ways a Schopenhauerian. In an essay concerning human endeavours, Schopenhauer implicated that our survival instinct was so strong as a genetic relic, hardcoded into our cells as a neccessity, that faced with boredom or the lack of something to secure which was neccessary for survival, will immediately become either acquisitive or seek to make things more difficult for us. There are some who believe this may be the root cause of all psychological disorders.

Both Kant and Schopenhauer felt a very strong connection with the numinous. Einstein seems to mirror this fascination with the numinous when he said :
"The most beautiful thing we can experience is the mysterious. It is the source of all true art and science."
To experience this phenomenon for yourself, here are some simple instructions :
  • On a clear night, lie on your back outside and stare wordlessly upward for no less than 30 minutes.
  • Contemplate the perfect symmetry of a flower.
  • Look at your hand. Now realize that the atoms in your hand were once part of a star, and have been recycled over this planet through countless organisms, hundreds, if not more, times over.
  • Watch a spider spin a web, or catch its prey.
  • Think about the human capacity to do any of the above.
This may seem somewhat of a tangent, but these things provide a sense of constancy in an uncertain world. The world in which we live is by no means certain, but sometimes an exploration of that which is numinous provides hope when logic fails.

If that fails, a quote from The Hotel New Hampshire which I've taken to heart often keeps me going when things get really rough: "Keep passing by the open windows." In other words, whatever happens, keep going and don't jump!

bash-2.03# /usr/sbin/telinit 0
4.1.2003
3.26.2003
So much to think about, so little to actually write about. Over spring break I installed RedHat GNU/Linux 8.0 onto my laptop. I'm not sure my server could handle the upgrade, though it could certainly use the new kernel. Since then, I've spent a fair amount of my time fixing some bugs here and there, patching, repatching, compiling, and recompiling. Overall, it's a RedHat release, so it's not buggy at all compared to other operating systems, but that's another discussion altogether. Then today, I was looking at Slashdot and I noticed that an article referring to "RedHat 9" was getting a lot of attention. I read the article, and apparently, RedHat was releasing a new version of their GNU/Linux distro on March 31. Of course, my first thought was, "Ah, clever April Fool's joke by Slashdot, wonderful!" I was soon horrified to discover a message in my inbox however, RedHat 9 released for RHN subscribers March 31, general public April 9. This mail was from RedHat. So much for my April Fool's theory. I know that GNU/Linux is the fastest developing system because everyone in the world, including me, has the opportunity to work on it, and many people, myself included, take this opportunity as a responsibility of using free software.

That having been said, I'd like to add a resounding wow. As soon as I have one release of their distro installed, another newer, better release is about to hit the shelves and the nets, completely gratis! This may even run a bit on the aggravating side for some, but if you don't have to pay for the upgrades, that's great support! Plus, I like being on the bleeding edge of technology. (Not quite bleeding edge enough to use a 2.5 version kernel, but everyone has to have a place to draw the line)

Now this is extremely off topic, but Linus Torvalds wrote the Linux kernel at age 19, while attending college in Finland. He built it using Minix as a project and distributed it as copylefted free software. GNU's kernel was moving along slowly, but as Linux was developed in a very short period of time, it was used in place of the GNU kernel. The point is, if Linus Torvalds can develop a kernel that now powers over 60% of the world's web servers and more, what's to stop me from developing one of the greatest, most played multiplayer games in existence?

I'll add some screenshots at the bottom to illustrate what I mean about my beautiful new desktop, but first, I think I've come across some real clarity recently regarding my thoughts on love. Now, of course love means different things to different people, and like an integral, you know it's right when things seem to fall into place, despite there being infinite possibilities. Now, having said that, here's what love means to me: caring about someone so much that you're happy to see them happy, even if you think you should be upset or sad. It's not easy to explain, or maybe it's more universal than I think. Whatever it is, I hope I figure it out soon. For anyone having the same difficulty I've been having I've provided an integral, to illustrate the concept. The integral is much easier than a romantic relationship but it should provide practice at solving difficult problems. If you're stuck, try something: anything in fact to get you started.

An Integral

Desktop Desktop
3.4.2003
I realize that my previous entry may sound a bit misanthropic. I love children and I love people. I don't want children myself for several reasons, some more noble than others, and several of which I presented below. Others are the theory of the selfish meme versus the selfish gene: I contain very few of Plato's genes, but my ideas are built upon his philosophy and ideas. In this way have Plato's ideas outlived his genetic legacy. I am aware that without people, ideas will not propagate well. However, there are more than enough people having children and spreading their genes. I would rather my ideas live on than my genes, and it is very hard to develop an idea that will span several generations when one is attempting at the same time to insure the same survival for a biological organism which carries one's genes.

That having been said, I am still strongly in favor of a woman's right to choose a safe and legal abortion.

In other news, the album Fallen by Evanescence just came out today, and I must say it is the best new music I have heard in some time, and it comes with my high recommendation: poignant, cathartic lyrics; innovative musically; brought together by Amy Lee's soaring vocals and inspiring work on the piano.
2.28.2003
I haven't updated my site in some time, so this seems as good a time as any. I've been keeping myself busy with a number of things recently, so now seems like a good time to sit down, reflect, and put my thoughts down in words.

First things first. The Bush administration and congress are moving to restrict freedom of choice for pregnant women seeking an abortion. It's been thirty years now since Roe vs. Wade made abortion an option and a choice for all women. Since that time, legislation and local court decisions are eroding a woman's natural and constitutional right to choose. These rights are those of privacy, guaranteed under the same constitutional amendment that protects us from unrestricted government and police searches of personal belongings. Just as one should not have to surrender one's belongings to unreasonable searches, neither should one have to surrender one's body to the inquisition of the government before undergoing a safe and personal procedure.

A valuable aside at this point:
While visiting a site devoted to the fourth amendment and constitutional privacy rights, I was asked to accept several cookies. I consider all cookies a breach of my own privacy, and reject them whenever possible as a practice. I find it exceedingly ironic that a site devoted to privacy would use something so invasive as a cookie.

Returning to the topic at hand, prior to the Roe vs. Wade decision, a woman would often have to prove before a grand jury that she would be in life-threatening harm before granted the right to receive a safe, legal abortion. If this did not happen, the only options were to carry the child and give it up for adoption or to obtain an illegal, underground abortion. Over 5,000 women died every year preceding Roe vs. Wade from unsafe medical procedures and countless more were seriously injured, impairing their ability to reproduce later in life.

Our country and our world stands at a critical manner of crossroads. With a largely anti-choice, right-wing Congress; an anti-choice executive administration, and repeated attempts to nominate anti-choice federal judges, who would be nominated for a lifetime term. Several states are also poised to create legislation that would reverse Roe vs. Wade.

Our world at the same time is growing at an ever increasing rate. The growth of every organism on this planet models itself after a logistic function: a period of exponential growth, a gradual death curve, followed by a level equilibrium. The opinion on human growth is subject to debate but the positions usually fall into one of several categories: either human growth has not yet reached its natural limit, the limit has been raised through agriculture and technology and we will never reach such a limit, or we have already passed our limit and are nearing a period of rapid death due to limiting factors. It can be proven mathematically, empirically, and logically that the further a population exceeds its natural environmental limit, the larger, more abrupt, and more devastating the inevitable death curve, even to the point of extinction for species for which limiting factors arise suddenly. Countries with extremely high populations are already realizing the horrific results of these limiting factors and the importance of controlling unchecked population growth. In this time, the world has no room for unwanted children, especially the 12-13 that will statistically result if a woman is not given access to proper contraceptive and abortion resources. Reproductive rights should be guaranteed in our country and in others if we wish to properly address issues such as the standard of living or sustainability of the society in which we live into the future.

Being male, I also cannot help but express my personal disappointment in the lack of research being invested in the development of reliable, reversible male contraceptives. As reproductive rights are valuable for women, so are they for men as well. As active as I may seem in securing the right for women to choose what will happen to their bodies, I feel a great lack of attention is given to the fact that for men, two proven options exist: condoms, which though simple to use, with relatively no risks, have a fairly high failure rate compared to female methods of contraception; and vasectomy, which though even more reliable than tubal ligation or injectable hormonal contraceptives, is only reversible about %15 of the time, and most insurance companies and doctors will even deny to administer this procedure to a man younger than their late twenties. This is not the case for all doctors thankfully, but for men who would like children later in life, it should not be considered an option, especially considering the price and high failure rate of vasectomy reversals after a successful vasectomy. Several alternatives exist, but they are receiving very little support from the medical and scientific community, based on the popular opinion that most men would be unable to maintain the commitment to something as important as contraception, since they are not themselves at risk of pregnancy. I think this opinion is entirely false. Many men already use methods that have only been partially tested, and even more volunteer for clinical trials every year.

If you agree with any of the opinions I've expressed here, there are several sites you should visit, to show your support in other ways.

First, the immediately important site:
naral.org
- Focuses primarily on the need for legislation to secure the rights guaranteed in Roe vs. Wade.
Next in importance, especially for any male readers: malecontraceptives.org
- Focuses on the need for reliable, reversible male contraceptives, and provides information on available resources, clinical trials, and the like.

Feel free to use any of the ideas presented here in your attempts to get involved and take action in favor of equal and guaranteed reproductive rights for women and men.
1.31.2003
I've noticed something in my recent travels across digital space. There is a serious lack of support for MudOS servers, especially among those who develop MudOS servers. MudOS and LPC were both great advances in the development of online environments, and it's disappointing to see them throw aside so quickly. I'm developing an extension to MudOS currently, known as CISTOMS. It will support a number of MudOS features with critical extensions, the things that DGD likes to wave in the face of MudOS.

In the interim, until CISTOMS is finished, I hope to update my site to mirror a few of my favorite mudlibs for all to share. You can bet that I will continue to develop this software. Imaginary Realities has been less than reliable as of late, and I hope to provide for those who are finding the same shortage of good drivers around a dismaying reality. MudOS is still the fastest driver available, and carries features you won't find anywhere else, CISTOMS will be better.

Time to make a pot of coffee and start poring through source code.

For all those interested in the future of MUDs and keeping the world safe for all text-gamers, you might be interested in the following:
ftp://ftp.aragorn.uio.no/pub/mirrors/ftp.imaginary.com/LPC/
The Casimirage: Soon to be the first CISTOMS-run MUD
1.23.2003
Sigh. I got the courage to go to a Grateful Dead tribute concert tonight at Skipper's Smokehouse. It's really a dive of a place and you have to have good music or it's just not worth the trouble. Anyway, I drove up and found that it had been cancelled. What a bummer! It's okay though, since my Calculus 2 homework is calling softly from the corner and it's begging to be done.

Hooray for Skippers, tomorrow there's a big blues show, so lookout!

Skippers
Hippie Haven! Hooray!
1.22.2003
Today I logged in to mail.usf.edu to check my mail, and, just for fun, typed in the command 'ls'. To my surprise, I found a public_html directory. My mind leapt up and said, "Tyler, look! Ad-Free Webspace, Tyler!" So in the grand style of webmasters who desire a bit of "personal space", I will now be keeping a bit of a weblog, or a blog, as they are sometimes known, of my thoughts and feelings.

At first I tried writing this page in vi. This was a shock, since I'm actually used to Vim. I now see why Richard Stallman, when asked if using vi was a sin, answered that to use a free version of vi was not a sin but a pennance. Needless to say, I couldn't use backspace in my editing of the file, and ended with a long string of ^? marks before I remembered the basic commands and exited (without saving my mangled index.html file. That and relearning a version of chmod for SunOS, which is similar to the one for GNU/Linux, but still retains some differences, leaving me to edit in the octal representations. I've come to the conclusion that while octal is good, I still like decimal and hex better.

I imagine it amounts to something along the lines that free operating systems are always a bit more difficult to use. This is one of the reasons I imagine that I'm a computer scientist. Free operating systems need not be more difficult to use than proprietary operating systems. People often ask me why I refuse to run a proprietary operating systems or enter knowingly into a software license that will prohibit my redistribution of it, but then pay $100+ for a "free" operating system as a matter of principle. The answer is exactly that, a matter of principle. I have developed software on free and proprietary systems, and I've been a part of free and proprietary products. I design software, so logically, I should stand to benefit more from a proprietary arrangement.

The flaw in this logic is that, while I might make more money using or selling proprietary software, I stand to develop better, saner, software using open source, all the while assisting my users, the world, and my fellow software developers. I'm not neccessarily against Microsoft or their products and I don't have the personality of a revolutionary. What I do have is a natural curiosity regarding computer solutions and a strong desire to create the best software. I'm a user as well, and I like to be able to tweak my operating system to fit my needs if that's the case. Neither is my software perfect, nor do I expect it to be. No solution is ever perfect for a vast number of people. For this reason, I give them the inalienable right to change what I have made. They may make such a valuable change to the software that I choose to incorporate it into later versions.

In short, every system has bugs, but the reason I'm an free software advocate is simple: When software can be so easily shared and edited, why restrain the end user to waiting for their problems to be fixed by a centralized corporation which has very little idea of what each user actually needs. For example: Would you buy a car with the hood welded shut? If your answer is no, then why pay money for the digital equivalent of this arrangement, when there exists an alternative which is often available gratis?

UNIX eats root
root loses password, gets eaten by Unix!