Does any unix nerd out there have a good argument for why the parent directory is linked in every dir as ".."?
It seems to do more harm than good. For example: - The root directory has no parent, so .. is the same as . there. - When arriving into a directory by cd'ing to a symlink, cd .. does not bring you back to where you were, but rather to the directory's "real" parent. - Hard links to directories screw everything up (read the warning in ln!), and I think this is because of ".." again. - In a diropen, one often needs to explicitly ignore or special-case ".." and "." - Security holes are common in, say, web scripts: by sticking ".." in a filename, the remote user can escape the nominally published directory tree. - The wu_ftpd server (and any program that passes wildcards to the libc globber) had a denial of service security hole by passing "../*/../*/../*/../*/" (etc.) as an argument to NLST.
So, what's the deal? If I were to design a filesystem today, I would just leave out "." and "..". What problems would I run into? In such a filesystem we could easily support true DAGs (ie, hard links to directories, as long as they weren't cyclic). The pervading environment (ie, shell) would simply keep track of how we got to where we are and then provide us with a "cdup" to go back. (I also think it wouldn't be too hard to provide arbitrary graphs on directories, but it's not clear that that's a good idea!)
National Novel Writing Month is a project, much like my own Album-a-day project to write an entire 50,000 word novel in one month. Everyone does it in the same month, Nov. 1 - 30. Given how positively my albums-a-day have affected my musical sophistication (or at least my own perception of it), I'm seriously considering doing this. Anybody else interested?
New Term: Logical Philately
(22 Oct 2003 at 17:46)
I have invented new jargon. Here it is:
Logical Philately, n., The collection and taxonomy of logics for no extrinsic purpose.
[By pun on "logical fallacy." Those who engage in the seemingly pointless classification of biological species are sometimes referred to, derogatorily, as "stamp collectors." (philately is the fancy word for stamp collection)]
Read the alpha release notes to know how to use it. I'm sorry that the documentation is so sparse, so, if you have any questions post them here and I will help. However, I think the game is pretty straightforward, and it comes with tutorial levels to explain how to play without any boring reading.
Despite being an alpha release, I think you'll find the game quite stable and featureful. The main thing that's missing is the online level browser and rating system, which, when completed, will constitute the 1.0 release of the game. In the meantime I'm looking for more clever puzzles to go into the "official" collection, so, if you're up to it, send me your creations!
News flash: America has a bigger God
(17 Oct 2003 at 00:35)
"Discussing a U.S. Army battle against a Muslim warlord in Somalia in 1993, [Lt. Gen. William G.] Boykin told one audience, 'I knew my god was bigger than his. I knew that my god was a real god and his was an idol.'"
Well, my crazy fix for the most recent problem in the logic doesn't work, and we don't see any way to fix it without resorting to what essentially amounts to an explicit-world system. I am hoping that some inspiration strikes this weekend. Otherwise, it's back to the drawing board!
In other news, this has got to be an uptime record for Windows XP:
D:\Documents and Settings\Tom>net statistics workstationWorkstation Statistics for \\METROIDStatistics since 9/3/2003 10:47 AM
That's almost a month and a half! Actually, I am teasing, but Windows XP is a pretty decent operating system these days. I even do real stuff on this computer like play games and interface with USB peripherals. My only reason to reboot is to install these new patches and to shut up my UPS, which beeps every 8 hours if I don't power-cycle it every few months.
Today I gave a talk in Bob's type refinements class about DrScheme, a teaching environment for scheme, and MrSpidey, its "static debugger." You can check out my talk, made again in Flash (I have given up on Powerpoint for good!), if only for the dancing spider animation at the end.
1. On face value, they seem to be saying, "Our source code was stolen from us, so we need to rewrite it."
This doesn't make sense. Obviously, they still have a copy of the source code---if they don't, they can just download it from any of the million mirrors on the internet. Admittedly, this is much worse than copying mp3s or even the full HL2 CD when it is released, and it may even be misappropriation of trade secrets, but it's still not stealing. They still have the code.
2. Maybe they really mean, "There are significant secrets in the code which, if revealed, make our product not viable."
Perhaps. What might those secrets be?
2a. The format of the network code.
Reasonable. This is what people mean when they talk about how the release of the source code means in-roads for cheaters. But obfuscating the network code is not a four-month job. They only need to change basic things like the packet layout and their fake encryption or whatever. (Aside: IMO the best way to deal with current forms of cheating is to simply release frequent updates to the protocol and binaries. Reverse engineering is a lot slower than "forward" engineering, so exploit that asymmetry.)
2b. The CD key code.
Seriously, the CD key code is rarely any more useful as a C function than as a compiled binary. People debug key checkers and write keygens in like, a day. Unless they have some seriously new regime here, that's not a reasonable cause for 4 months. (Aside: If they used RSA and a key was just a digital signature (of some token), then cracking keys would be really, really hard, like, net you an instant PhD hard. Also, revealing the keycheck algorithm would do nothing for hackers. It would probably make keys a bit longer, though.)
2c. Buffer overflows and other exploitable bugs, or deliberate backdoors.
Maybe. But if they know about them, maybe they should just get rid of them? If they're thinking of auditing for them, maybe they should have done that even if the source wasn't copied? In truth, I bet having the source code out there will incite a lot of the bugtraq attention-seeking white-hats to audit the code for them. HL2 is a pretty high-profile piece of software.
2d. GPL violations.
Ha, well, yeah. Apparently there are some of those in the code, though I don't know the specifics.
3. Maybe they really mean, "We forgot how long it takes to actually polish a product and ship it. We were going to delay again at the cost of the fan community's ire, but now we can shift that blame onto hackers!"
This is my guess: like a defeated player complaining about lag, they're just shifting the blame.
New Scribble Record: As described in this post, two players who've been at it since the original snoot.com 6 years ago, have finally broken the 1700 point mark in a single game. It's pretty impressive play, and they claim it will never be beaten! (I wonder how easy it would be for a computer to beat it? There is definitely a lot of looking ahead and then changing strategies, but I think it could be done...)
IEEE bans Cuba, Iran, Libya, Sudan
(06 Oct 2003 at 12:25)
The IEEE, a large technical organization that organizes many journals, conferences, and standards, has banned any resident of Cuba, Iran, Libya, and Sudan from contributing to or publishing in them. Researchers from Iran, in particular, submit dozens of research papers every year. It's one (arguably bad) thing to impose economic sanctions on a country for political reasons, but it's much worse to be injuring the global scientific community and, moreso, resident academics engaged in exactly the kind of civilized activity that we seek to encourage with these sanctions.
While we're on the subject, fuck any journal or conference that requires you to assign your copyright to them in order to be published. (See an example agreement from the IEEE.) Yes, I know this is basically every conference. But the idea that they can legally prevent you from publishing your own work on your own web page, for free, so that they can make money by selling the paper or subscriptions, offends me more than any recording industry exploitation of starving artist imagery to protect their bottom line.
Does anybody know how to get an executable to overwrite itself in Windows 98? I can't unlink (works in linux) the exe, or rename it (works in Windows 2000/XP), or fopen it for writing. I need this so that Escape can upgrade itself from the internet.
I'm sure you guys have already seen this, but, I just want you to read it one more time. Pay particular attention to how Bush thinks that he can slip an extra syllable or two in each line, starting with 4 syllables and ending with 15.
Roses are red Violets are blue Oh my, lump in the bed How I've missed you. Roses are redder Bluer am I Seeing you kissed by that charming French guy. The dogs and the cat, they missed you too Barney's still mad you dropped him, he ate your shoe The distance, my dear, has been such a barrier Next time you want an adventure, just land on a carrier.
- George W. Bush, 53rd president of the United States
When my parents visited this weekend they brought a box with them that had a bunch of my old stuff. One thing was this photo of my old room in high school that I took before leaving for college (and turning the room over to my younger brother). As a sort of memory game I went over the (rather poor) image and tried to identify as many things as possible. I think I did pretty well! Click on the thumbnail for the full image (about a megabyte file).