<M <Y
Y> M>

: There are lots of movies about the filming of a movie, and lots of plays about the staging of a play. But are there any operas about the staging of an opera?

: Gotta get ready to fly up for my collab interview.

: At collab.net now. The plane flight up was outstanding; we flew along the coast all the way up. Whee!

It Failed Miserably!: Hey, this is Leonard. My real site (crummy.com or crummy.segfault.org) is down right now due to circumstances beyond my control, so I thought I'd step over to the world of editthispage to see how the other half (that which does not write its own webpage management software) lives. I've been thinking of making my news management system interoperable with all the nifty syndication features and whatnot of Manila, so now's as good a time as any to get my test site up and running.

News Items You Can Bruise:

This is a news item. Apparantly this feature just came on the scene yesterday; until then, all entries on the front page for a day were stuck together in a big blob of HTML. I'm incredibly disillusioned about this. I thought the whole point of this software was to organize one's Web writing. The format of scripting.com and editthispage sites has been a big influence on my own website management software, and now I discover that said format was much less structured than I believed it to be.

That said, now that the feature's here on editthispage, I suggest that everyone use it because it really is much nicer to have each distinct thing you write as a separate entry than to mantain a whole HTML page. It makes it a lot easier to quickly add an entry, for one (although there's the annoying process of having to approve a story before it's posted, which is fine for a site like Segfault but which doesn't make much sense in a context where one person is doing all the entries).

Until late 1998, all the news sections for my sites were done by the add-to-HTML-page method. On September 11 of that year, I flipped the switch, started using Notebook Of Web-Basedness (now NewsBruiser), that "nitro-burning remote publishing mobile", and never looked back. I initially thought I'd still be adding entries the old way as well, but I never did. It really is a better way, folks.

(Perhaps I am missing something because my impression is that editthispage has a very sophisticated syndication system, and it doesn't make sense to syndicate entire days of material; it makes sense to syndicate individual entries. Right? So maybe there's something else that does entries?)

Is anyone else plagued with broken pipe errors?

It's another tequila news item: Must every entry have a URL? Why can't a woman be more like a man?

Good, I got rid of the URL. Now, to get the time on here like I'm used to.

Smile!: My digital camera has (finally!) been shipped. Stand by for an avalanche of photos. I love taking photos and I love being in photos taken by others.

Let each urchin whet his spine for we breach the thermocline: And at dawn we make our conquest of the land. Gotta get a Scantron for the marine biology midterm tomorrow. Also a reminder to myself that I have to lead the discussion on the 23rd.

It's what you've got!: I'm obsessed with the Devo album Freedom of Choice. I'm listening to it over and over again.

I attempted to explain Devo to Josh, but was unable to. I ended up saying "They're the 80s, only more so.", which is technically correct but doesn't really explain anything about Devo per se. Help me out.

Some of Devo's lyrics make me wince (eg. the part about the dog in the title song), but on the whole they're excellent. And Devo rocks. Even if they had nothing interesting to say, Devo would rock.

Caption This and That:

Mike wants me to write a CGI that lets one submit captions for pictures a la MST3K's Caption This!. I may do it over the weekend. I tell you, this guy is bleeding me dry.

Also: I forgot what I was going to put here. Oh yeah. Not only is Mark a NewsBruiser beta tester, but he's also using COPOUT. In fact, he's ripping off one of my old polls. How's that for gratitude? Mark, I will hunt you down and steal your RealHamster doll!

Hi, I'm Terry Chow: I just found Terry Chow's homepage, and, as a consequence, this picture of him doing "The Terry Chow Look" which I've never seen anyone else do. It's his look of pride or surprise. It says "Hi, I'm Terry Chow.". It's fabulous. He looks a lot different in person, though, for some reason.

If you click on the picture you will get a larger version in which you can see that Terry is a KDE user, like me.

omne animale triste: "dinosaur" means "terrible lizard". So "dinoflagellate" must mean "terrible flagellate".

I directly apprehend that this sucks!: Done with my philosophy paper, an hour before it's due. As usual, I hate it. As usual, it will probably get a B. I'm so glad I'm not a philosophy major like Dan is. I couldn't stand that.

Photo, photo, photo mania: My camera finally came in, and in accordance with prophecy I am madly taking photos of everything. The fruits of my labors, including a tour of the Leonard/Dan apartment and a picture of my fabulous Elvis votive, are avaliable in pictures

%left BLEAH: My parser works, kinda. I can't get the operator precedence declarators to do anything, though, so I've got 26 shift-reduce conflicts. I know it's ignoring the precedence declarators because I can, eg., make + nonassociative and it'll still parse 1+1+1. Nonetheless, it parses all the example programs, although it's still probably got bugs (I thought my lexer was perfect, but the writing of the parser uncovered four new bugs in it). It's due at noon.

When copywriters make technical decisions: My camera's three settings of picture quality: "Best", "Better", and "Good". Stop it! For one thing, I don't need to be reassured that even though I'm taking pictures on the lowest quality setting, the quality is still acceptable. For another, "Better" is not an identifier. "Better" is a function. Knock it off, marketing people!

In other news, I now have only 4 shift-reduce conflicts.

Uh-oh...: Not good. The SEAS network is inaccessible from outside. My parser is due at 12. This basically means I'm turning it in as-is. But how? I can go on-campus now and do it and then waste a whole lot of time until my class at 2. I can wait til 11 and then go and fight for a place in the lab. I suppose I'd better go now. This class is very strict about deadlines and I don't think "The SEAS network was down" will be accepted as an excuse.

I hate thinking up titles for everything: I'm in the lab now. I finally figured out how to do {chicken, precedence} right, so I am rid of all the conflicts. I've submitted my project now. I don't know if it works 100%, but it should at least pass all the tests. This is all I need, since I won't be using my own syntax to do the rest of the projects. At noon, we'll get a standard syntax which we are all to use so that it will be easier to grade the other projects.

I like the way our projects are graded in this class. The TA writes a bunch of test programs (which we don't get to see) and then tries to clobber our lexer/parser/compiler/bytecode generator with them. Your grade is based on how well your program avoids clobberation. It's very objective, in contrast to the lower-division classes in which you had to turn in your source code in a manilla folder and the TA would go through it and dock you points if you didn't have enough comments (I once got docked for having too many comments!).

Sissy email worms must go!: Enough with these sissy email worms! I'll tell you how to write an email worm, dammit. Don't just look in the victim's address book. Look in their mail archive. Use the mail archive to a) find more emails to send the worm to, and b) create a plausible subject line for each address. If you can't find a plausible subject line (if there's no recent thread for that address), generate one at random. Use a CFG that can do a couple million different subject lines of twenty different major types.

Don't make someone run an application to do all this for you; hijack Outlook and do it yourself. Melissa had the right idea.

Scan for interesting keywords and send messages that match to a randomly selected set of 1-3 email addresses (out of of 10,000) 100 of those email addresses are controlled by you, throwaway accounts and whatnot. The other 9900 belong to random people. You now get lots of juicy email and implicate lots of innocent bystanders.

Encrypt all these lists of email addresses, fragments of subject lines, etc. Use real encryption and not pansy XOR encryption so that it will take a couple days instead of a couple minutes to get your plaintext.

Is this so difficult? I can figure out how to do a good email worm and I'm not even particularily evil. What's up with these evil people who foist lame email worms upon the Windows world?

I'm not only the server... I'm also a client!: I'm very excited, because... well, I shouldn't say until it actually goes through. Suffice to say that I am excited. I'm struggling to keep quiet because there are many associated stories that I want to tell and I'm afraid I'll forgot them.

To change the subject: as great as editthispage is, I miss NewsBruiser. It takes less time and fewer actions to publish an item with NewsBruiser than with editthispage. The disparity is multiplied when I'm using lynx, as I usually am. Editing an entry is easier with editthispage (I should certainly hope so!), unless you want to edit an old entry, in which case it's a toss-up.

I dis not editthispage. It is good, especially if you don't have an account on a server.

I'm working on the caption script for Mike. Not as fun as I thought it would be. Oh well. I have to study for my compiler midterm as well. Celeste is coming over this afternoon to help me study for 130.

The Loan Arranger strikes again: I got a packet of stuff from Sallie Mae (a loan company, not a southern belle) about the loan I got from them in 1998. I have to start paying the loan back on the first of next year. I can conveniently make my monthly payments electronically, or I can go for a longer-term payment schedule, and I'll get 2% off the interest rate if I make my first 48 months of payments on time and blah and blah. The funny thing is that all of this is completely irrelevant since by next year I'll be able to pay the loan in one lump sum. It's only a $1500 loan.

make woooorld!: I just realized something. In addition to "make" and "make install", the makefile generated by autoconf should have "make rpm" and "make deb". "I mantain packages for program x" should not be something worthy of being put on your list of contributions to free software. "What's to mantain?" That should be what people ask Dan. But it ain't.

I don't know an incredible amount about package creation, but it seems that if you can automate "make install", you can automate "make rpm". I want to say that this would be revolutionary, except it wouldn't. But it would be damn nice. Any piece of software that uses autoconf: you can build into an RPM, build it into a DEB, package it as a source RPM. No more waiting for RPMs to come out. No more programmer-hours wasted in mantaining packaged versions of software.

Remember the Programmer's Creed: Any sufficiently boring task can and should be automated. Package management is boring. Let's automate it.

Hey, it could happen.

It's Time For Spiritual Buffy: KatzDot is still hilarious. Experience it!

Jezebel, Malkuth, Smoke Gets in Your Eyes!: That's me, sick as a dog. I communicate with Dan via email, even though he's just across the room, because it hurts too much to talk. Bleah. And I have a midterm tomorrow. I sincerely hope I will only be asked about regular expressions, DFAs, and emperical questions like "write a yacc grammar for language x". The portion of the exam in which I will be asked to trace the actions of ye Parser will be failed miserably by me.

I can't concentrate on my compiler book but I can work on Foucault's Pendulum. I'm over halfway done. It's good that I read it immediately after reading Mackay's Extraordinary Popular Delusions, as I now recognize many of the historical personages (Cagliostro, Dr. Dee, &c.). In general, I'm understanding much more of what's going on (eg. I caught the Name of the Rose reference(s? are there more than one?)) than I did when I read it a year ago. A few things still puzzle me, though.

It's a shame that there's no bibliography for Foucault's Pendulum. I know that works of fiction don't generally have bibliographies. But Foucault's Pendulum definitely deserves one.

Oh, minor question. I reread Dirk Gently's Holistic Detective Agency, and I finally understand everything in the book, except for one little detail: how did what they did actually save the human race? I don't see how the effects of Dirk's actions at the end prevented what originally happened from happening again. I know what happened, but I don't completely understand how it helped. I can't go into too much detail because I don't want to give the ending away.

I am in fact a stunt goldfish: Mike and I figured out why the stuff at the end of Dirk Gently was what needed to happen, so there's no need to write in.

When midterms attack!: The CS132 midterm met my father in an arbitrary number of nested steel cages. I think some of my early calculus midterms may have been worse than that midterm, but apart from that... Oh, the pain. There was one question on regular expressions/DFAs and all the rest were on recreating the jovial antics of the parser.

On the bright side, I'm feeling a lot better. Disease-wise, I mean. Also, the midterm was only 25% of the grade, and the final is noncumulative, so if I start going to class I'll do okay.

There was something I wanted to put here, but I forgot. I'll put it in here when I remember what it was.

And who's this Crick fellow?: James D. Watson is coming on campus today to talk about his new book. I was staring at the promotional flyer thinking "Hmm, that name sounds familiar." Duh.

So close, and yet...: The machine that hosts segfault and crummy, project.linux.com, has been moved. Unfortunately, getting segfault back on the air requires the cooperation of two of the most sluggish forces on earth: Network Solutions and Scott James Remnant. I have to contact Scott (I'm probably going to have to call him) and then he has to change the IP and DNS info for segfault.

Crummy also requires the cooperation of two of the most sluggish forces on earth: Network Solutions and me. Fortunately, I'm on the ball and have already sent my form in to NSI so that they can tell me they can't accept it.

Network Solutions: Because someone's got to employ all those ex-Soviet bureaucrat refugees.

Automation frees the workers!: Hm, looks like all the bureaucrats have been put out of a job. I actually changed my nameserver information correctly. Of course, it'll be a while til it {heals,propagates}.

It's been great to live on editthispage for a while, but it will be better to live on NewsBruiser. Whee!

What law says we can't?: Finished my rereading of Catch-22 yesterday. I've never seen a book be going so well and then go downhill so suddenly. That book plays out Joseph Heller's writing career in miniature. In high school I read Catch-22 and was captivated. Then I read We Bombed in New Haven and Closing Time and they sucked. He's written other stuff and, although I can't say for certain, I'm fairly sure that all his other stuff sucks as well. Except for the screenplay for Casino Royale, which he isn't credited for so I doubt he did a whole lot of work on it.

Now it can be told!: OK, here's the big thing. I've accepted a position at collab.net, the O'Reilly software spinoff that's a funky sex machine for all the chicks.[0] My boss is Apache lead developer Brian Behlendorf. I'll be working on the tigris.org set of tools for distributed software development. Everything I write will be released as free software.

I stand to do a lot of good work and make a lot of money. I'm very happy about this. The downside is that, not only will I still be in California[1], I'll be in San Francisco. Bleah! Even this has an upside in that I'll be able to hang out with cool folk like Mike Popovic and all my rowdy friends who also come up to the Bay Area after they graduate.

[0] I heard innuendo that in the new Shaft movie, there is no "Shut yo' mouth!" in the theme song, with the predictable result. What's up with that? Shaft is about the 70s and "Shut yo' mouth!", and the new movie has neither. Not the way to do a Shaft remake, my man.

[1] I love California. It's great. But I've lived in California all my life and I'd like to try living somewhere else for a while.

: Okay, this is super weird. Please send me email (leonardr@ucla.edu) if you can see this.

Pack up my troubles in my old kit bag: crummy.com is back up. Go there for updates.

: Disregard the request in the previous entry

Leonardonics: Ancient Chinese secret!

An explanation of the horrible things that have been going on will be forthcoming. To catch up on what's been going on in the absence of crummy.com, check out Crummy: The Backup Site. All further updates will take place here.

: This might go into Leonardonics eventually, but it's a little too new to do it right away: Josh and I came up with a new acronym: AEM, Ass Extraction Method. It's how you come up with bogus constants like the constants for the COCOMO equation: "We'll obtain that data through AEM." Why simply "pull something out of [your] ass" when you can "utilize AEM"? A message from the AEM Council.

: Yesterday, the guys in the CSUA lounge were drooling over photos of the booth babes at E3. I'm ambivalent about the whole booth babe thing. Well, "ambivalent" is not the right word. I feel uncomfortable about it in two different ways. First is the standard way. Second is the way in which they remind me of the refrigerator booth babes of the 1950s and 1960s. "Miss Betty Firnesse and the new Westinghouse!" and all that. Refrigerators, cars, computer games: what happened here?

: Remember Mavis Beacon Teaches Typing? The lady on the box (presumably Mavis Beacon) was a very dark black lady. I'm looking at an ad for the latest version and the lady on the box has much lighter skin and looks more Hispanic. Mavis Beacon is obviously a shapeshifter, or maybe a fictional character of some kind.

One of the non-bands I fronted in high school was called "Jerry Mavis and His Amazing Trained Seals". My stage name was a mix of Jerry Mathers and Mavis Beacon.

: I found a reference to the Canned Whole Chicken that once inhabited the pantry of Andy's house, so I am happy.

: Celeste brought up the subject of flower-eating today. She says she {read it in a magazee-ee-ee-eene, saw it on an "extreme cooking" show}. I don't think that an "extreme cooking" show is the proper venue for discussing the consumption of flowers. I'm picturing some big burly guy with tatoos and a Karl Marx-style beard jumping into the camera's field of view, slamming two ham-sized fists together, and growling "AND NOW WE'RE GOING TO EAT SOME FLOWERS! THE FIRST FLOWER WE'LL BE EATING IS THE GERANIUM!" It doesn't work that way. It doesn't work, period.

: I'm going to have to write all the abstract syntax tree code and symbol table code and symbol table stack (actually a linked list) code before I even get started on the semantic checking. You're supposed to use the sample code, but the sample code is poorly designed, and the TA says:

If you feel there is an error or inadequacy in skeleton, it is not a problem of skeleton itself, it is your challenge! Fix it or elaborate it.

Fortunately, only one other person has started on the project (as of yesterday's meeting, anyway), so it's not like everyone is further along than I am already.

I'll be {crushing your house, designing the AST and symbol table} today and hopefully implementing it tonight and tomorrow.

: My first short story since 1996's critically inflamed Grunion Time is complete and ready for reading. Behold the best-seller of the future, Jake Berendes West Covina! There's an accompanying song (the song inspired the story, not the other way around) which I hope to record soon.

The story looks a lot better in lynx, except for the fact that you can't see the graphic. I wonder what can be done about that (making it look better in non-lynx browsers).

: Segfault is back up at the proper IP address. If only crummy were so lucky.

: I love the latest Segfault story because it plays on your preconcieved notions of what a Segfault story is like.

: B&N Sharpens Elbows For Same Day Delivery. "Sharpens Elbows"???

: Mike, former New York native, explains the obscure practice of elbow sharpening.

: I made Jake Berendes West Covina look nicer in non-Lynx browsers. Let me know if it looks weird in your browser.

: Why does my neck hurt so much?

: Seriously, what did I do to bring on this terrible neck and back pain? I didn't sleep upside down or suck my own toes or anything.

: I've decided that it's not a good idea to brag about how incredibly long your Linux system has been up. You're just announcing to the world, "Hey, look at me! I have such-and-such kernel vulnerabilities!" I think there's a patch to replace the kernel's RAM image without rebooting, so soon the world may once again be safe for those who like to gloat.

: It took me forever, but I finally found a decently sized version of the map of the known universe mentioned in this BBC article. The large version is actually somewhat of a disappointment, as the BBC added shading to their tiny version of the graphic to make the map look a lot nicer than it does.

: Ancient alien technology! I would be interested in that game but I'm not interested in playing games with people I don't know personally.

: For the past week I've been trying to get a working symbol table and abstract syntax tree. I'm almost there, but I'm also very worried that I've wasted a week getting a pretty symbol table and syntax tree and that by the time I get it working, I won't have time to do any semantic analysis.

: The symbol table works now. I have now succeeded in getting rid of a whole bunch of crap associated with the table presented in the sample code, including the fact that it had to know about the AST and the fact that two of the classes were not done as classes but as typedefed structs with associated functions. So, with six days to go on the project, I have a very nice symbol table which is 10% of the grade. Did I mention that I have a philosophy paper due in a week?

: The abstract syntax tree construction code is about to start working, I think. Programming in C or C++ is like building a watch with a million little gears. You build all these components and then you try to get all the gears to mesh together. I get sick of this very quickly. I'd much rather be building things with Legos. Metaphorical Legos, I mean. Or real Legos, for that matter.

I keep moving responsibility for the symbol table between the scanner and the parser. It was in the scanner, then I moved it to the parser, then I decided I could do it in the scanner after all, then I decided that I couldn't. I'm still fairly sure that I couldn't, because the parser doesn't know whether an identifier is part of, eg., a declaration (in which case it goes in the symbol table) or a statement (in which case it's an error if it's not already in the symbol table).

: I currently have 2218 errors in my code. This is a record. The 2218 errors were caused by the fact that I thought C had an "until" construct like Perl, and I put such a construct into my yacc file.

: I'm now ready to begin filling in my Check functions. This is (almost) where everyone else is. Good job, me.

: Dan is posting comments on Slashdot. I do not endorse this practice.

: Inscrutable: "not readily investigated, interpreted, or understood". I love this word (cf. Jake Berendes West Covina).

: A lot of semantic checking code has been written but it doesn't work yet. Same old story. Bleah.

The semantics of the language are defined primarily through test cases. Right now there are 33 test cases. The TA has a bounty on new test cases but no one is biting because a new test case means more semantics and therefore more work for everybody. Some of the test cases are really easy to make work and some of them are going to be nightmares.

The various array assignment cases (where you have to make sure that two arrays have the same dimensions, or that an array has a certain number of elements) and the function call case (enforcing the requirement that the number and types of arguments to a function correspond to the formal arguments to the function) look like the toughest ones.

: Past the impasse that stymied me last night. I just fixed yet another bug in my scanner. It didn't recognize the modulus operator. How did I get this far with that kind of bug? That probably cost me 5% off the last project.

: I realize that my struggles with the semantic checker do not make for thrilling reading. But such is my life.

: There is someone in the building across from my building who has two techno albums. They've been playing both of these albums every day since the start of school. The intervening distance and walls cut out most of the treble and midrange, making the songs sound even more like each other than your average techno song sounds like your average other techno song. I think that sometimes they repeat a track they really like, but I'm not sure. It might be a different song.

I swiped Dan's headphones (he's asleep) and put on the Mass in B Minor, but I can still hear that annoying techno drum machine. I curse the guy who invented the drum machine (forgot his name). It doesn't take much skill to play the drums (I speak from experience), but even the modicum of talent required to do so would be enough of a barrier to entry to prevent much techno music from being produced. Jumping frogs? I must avoid this technology!

Jake is going to come to the defense of the drum machine in an impassioned plea, I just know it. Celeste too, probably.

: On reflection, I have decided that cursing the drum machine is not the answer. The answer is cursing people who play loud music without headphones, especially when they keep playing the same two albums for months on end.

: Also, the phone always rings at around this time, it's always someone different, it's always for Dan, and Dan is always asleep when it happens. I don't understand it (I do understand Dan being asleep, since he goes to sleep at 6 AM).

: You don't even want to know what I spent all day doing. Oh man, it was painful. I was a nervous wreck by the time it was done. However, I FINALLY have the infrastructure needed to do all the semantic checking, and I have a good chunk of that code written from last time.

: That entry makes it sound like I spent yesterday as an unwilling contract killer or something. I spent yesterday tearing apart my abstract syntax tree and symbol table code and putting it back together again.

This compiler has more pointers than anything else I've ever written. And I mean that from the bottom of my heart.

Thanks to Celeste for calling me last night when I was a nervous wreck and talking me down.

: The phone rang at the appointed time today. Amazingly, it was for me.


The Condensed Story of the Third Secret of Fatima


Pope John XXIII: In 1917, three Portuguese shepherd children were visited by the Virgin Mary and given three secrets. The first and second, which predicted World War II and the Bolshevik revolution in Russia, were made known to the Vatican in 1943. It's now 1960, and time to reveal the third secret. The envelope, please.

[Pope John XXIII opens the envelope and reads the secret.]

Pope John XXIII: Whoa, better let that one sit for a while.

[Pope John XXIII reseals the envelope.]

Panicked Masses: Rhubarb rhubarb, end of the world rhubarb, sex scandal rhubarb, too horrible to mention rhubarb.


Vatican Secretary of State Cardinal Angelo Sodano: It's now 2000, and time to finally reveal the third secret of Fatima. The envelope, please.

[Cardinal Sodano opens the envelope and reads the secret.]

Cardinal Sodano: Ah! The secret speaks of the 1981 attempt on the life of his holiness John Paul II. Specifically, it speaks of 'a bishop clothed in white' who 'falls to the ground, apparently dead, under a burst of gunfire.'

Awe-struck Masses: Rhubarb rhubarb, power of prophecy rhubarb.

I think there's a lesson here for all of us.

: My timestamp is an hour early. Wonder what can be done about that.

How did I grow up calling Susanna silly names and never think of Soaky Susie?

: I hear that Battlefield Earth isn't very good.

: On the silly names for Susanna thread, a bit of prehistoric Leonardonics: the original names I called Susanna were "Moby", "Yummy Moby", and "Mo" (rare). They all came from a riddle in a book of dumb jokes given me to pass the time on a car trip. The question was something along the lines of "What's large, yellow, and stabbed at from Hell's heart by Captain Ahab, spat at for hate's sake with his last breath?" Obviously that wasn't the original question, but there may have been reference to Melville's masterwork. The answer was "Moby Banana". Susanna had a nickname (not a name-calling name) "Susanna Banana", so I started calling her Moby.

I have no idea where the "Yummy" in "Yummy Moby" came from; my only justification is that I said "yummy" a lot when I was a kid, probably more than I should have. I blame those motivational children's song tapes. Oh boy, I've got joy.

: It's finally working! It works on 12 of the 35 test cases! Woohoo!

: This is so good. It took me forever to do this design, but now that I have it, adding semantic checks is a piece of cake. Even something complicated like "in a function, all return statements must return a value that can be coerced into the return value type of the function", which requires you to scan every single statement in a function, only takes a few minutes to write.

: Also, I just discovered that my philosophy paper isn't due until Friday!

: My semantic analyzer now works on 21 of the test cases. I believe the TA has chosen 25 of the 35 which he will use, so probably 15 of those cases will be ones that I can handle, which gives me an estimated grade of 60%.

Reminder to myself to work on cases 14, 18, 13, 17, and 11 tomorrow. If I can get these working, my estimated grade will go up to 74%, which I'm fairly sure will be above average.

: Test case 14 (Love potion #14) had a syntax error in it (a comma instead of a semicolon). I fixed it and my checker caught the semantic error right away. Woohoo!

: All those test cases work now. 31 and 32 also work. If I have time I can do #12 and #22. Right now I should work on my paper, since my expected grade on the semantic analyzer right now is 83%.

: Segfault: If you had feelings about US Considered A-Bomb on Moon, it's likely that US Bombs Moon; Soviets Not Affected will also invoke feelings.

: I have one successful submission of my semantic analyzer. If I decide to work on it some more I can do another one. From scuttlebutt and general attitude around the class, I'm pretty sure that very few people have even been able to start on the semantic analysis portion of the project. So even though it took me an insanely long amount of time to get a design that worked, it took less time (and was probably less frustrating) than it would have to have gone with the original horrible design.

: I should point out that "Yummy Moby", "Moby", etc. are impersonal nouns, not titles. So Susanna was not Yummy Moby, she was the Yummy Moby.

: Another night of wackiness at Leonard and Dan's house:

Leonard: Angband is the only open source project I know of that has fragmented to the extent that people who want open source projects to fragment want open source projects to fragment.

[Long pause.]

Leonard: Can you think of another?

Dan: I'd have to parse what you just said first.

: Why do people think they can send arbitrary press releases to editor@segfault.org? What do they think is going to happen? Weren't they paying attention when I mocked them?

: I want to know about a diet I can live with and what is in the news message at news://news.jpl.nasa.gov/8gg0mv%243aq%241%40nntp1.jpl.nasa.gov. We got 5 hits on Segfault from it today, but it's not a public newsserver so I don't know what the article says. Does anyone read this who has access to JPL's news server and can copy me on this message?

: Segfault got 24,999 pageviews yesterday. That's a record for as long as I've been keeping track. But come on, 24,999? The impersonal forces of the universe mock me.

: Wow, the people with the two techno albums are really loud today. I can almost hear the vocals. Fortunately, I'm just about to leave.

: Is it unreasonable for me to avoid the geek news site kuro5hin because the 7331sp33k (a bad idea in and of itself) makes it look like "kuro five hin" (which is actually a better name for a geek news site than "corrosion")? I understand it's a really good site, but the name makes me want to stay far, far away from it. And vomit. Lots of wanting to vomit.

: Spamming tip: When spamming someone, imply that they signed up for your service and agreed to let you spam them. Many people will figure they must have done so, even if they don't remember.

: It's not often that you see Richard Stallman actually being sarcastic, but here it is. "Surely it took a real clever guy to think of this?" Ouch.

: Why Cats Hate Mice: Alternative Theories.

: I found this great golem picture. That's one pissed-off golem.

: I think even in air shows, the planes stay higher above the ground than 200 feet.

: NTK isn't responding, so 1) I can't read the new NTK, and 2) I can't see their link to the "Perl is finished" Segfault story (I'm assuming it's that one as that's the only one that's gotten linked from anywhere this past week).

: There's a point at which you come to realize that it's not all part of your rock and roll fantasy.

: Are we really supposed to believe that a film called "Changes" is about surfing and only about surfing?

: Thanks to Scott for emailing me the NTK in the UK. At least they referred to us as Segfault and not SEGFAULT.

: Following the traditional redesign (it only took an hour this time), I have successfully turned a program in the made-up language into Java bytecode. The program in question assigns five to a variable.

: NTK Link (it works now).

: When we last left our hero[0], "Hello world" worked, as did "Hello 5", but "Hello 0.4" did not, since the JVM handles floats in a weird way which I have yet to take into account. I don't have time to work on it this morning, since I have to read my stupid news clippings for my stupid Oceans discussion. I can say that because I'm fairly sure that no one connected with my Oceans class will ever read this. Man, I hate that discussion. It's not because of the people. The professor and the TA are both excellent. I just hate talking about news clippings.

[0] "our hero" being Conan the Barbarian, of course.

: I found an essay on the ethical motivation behind BSD-type licensing. Good timing, as many of the collab.net people like that kind of license. I don't care one way or the other. If someone's going to pay me to write non-copylefted free software, I'll do it. In actual fact, someone is going to pay me. Therefore, I'll do it.

My collab.net interview was my only interview which consisted in part of debating the merits of BSD-type vs. GPL licenses.

That essay also has a lucid explanation of what the GPL actually requires: "that software authors should be required to make their source code available to the same extent that they make the object code available."

Interviewer: I'm talking with the Ralph Nader of the film industry, Ray (not Art) Carney. A real consumer advocate! Tell me, Ray, what did you think about movies like Forrest Gump, Schindler's List, and Pulp Fiction?

Ray Carney: Those movies were crap.

Interviewer: But a lot of people liked those movies a lot.

Ray Carney: They were still crap. What people need is movies like John Cassavetes' Faces.

Interviewer: But a lot of people walk out of Cassavetes' movies because they're so depressing.

Ray Carney: It doesn't matter. That's what people need, and if people had any sense they'd realize it.

At times I don't think the term "consumer advocate" is appropriate for Mr. Carney, and at other times I think that it's perfectly appropriate.

: I can't believe I {ate the whole thing, got an A- on that philosophy paper}. For four years now I've been writing terrible college papers, and, with only one left to go, I've yet to get less than a B- on a paper. Some people might say that this empirically demonstrates that my papers are not terrible. I scoff at such people.

In high school and junior high I wrote great papers, but my standards were much lower. I wrote great poetry then, too.

: I can now assign to variables and print them out. I'm making good money in my spare time!

: What is your name?
Jake Berendes
Hello, Jake Berendes.

The crazy thing is, that's easier to do in Smokey than in C or C++ (because Smokey has a built-in string data type).

Here's the code for that:

    var a: "What is your name?\n";
    var b: string;
    write a;
    read b;
    write "Hello, ", b, ".\n";
end hello

<M <Y
Y> M>


Unless otherwise noted, all content licensed by Leonard Richardson
under a Creative Commons License.