Thursday, March 02, 2000
“Hi I'm stupid and I want to prove it to the world.”
“This is [techsupport], can I help you?”
“Yes. I'm viewing the stock for such-n-such a company and it's showing a price of 58 3/8 when it should be reading 59 1/32. This is a problem that I feel you should be aware of and you need to fix.”
“ … ”
Tech Support at Atlantic Internet answering a support call.
True story. I'm here at Atlantic Internet and I just talked to the tech that fielded the question. We're all speechless here.
Friday, March 03, 2000
A Separation of User Interface and Processing
I've been reading several articles about GUIs (notably the new one for MacOS-X) and it seems like there is a simple solution to the complexity plaguing them—complexity of features. Windows has both menus and toolbars, with each application having a custom menu and/or toolbar.
Now, since most modern GUIs are message (or event) driven, it would seem a much better idea to construct an application as a client/server model—the GUI being the client sending messages of what needs to be done to the application, or server.
Just document the messages and parameters required by the server and you can customize the GUI to send those messages. So one user can have a window full of those cryptic hieroglyphic iconic toolbars, another can have a traditional pull-down menu, a third can bind weird keyboard macros and a fourth can have a mixture.
This would also make applications scriptable. Imagine you could do the following with Photoshop:
directory = SELECTFILE(); FOREACH file IN directory { send photoshop 'OPEN file' 'BRIGHTEN' 'SAVE YES' 'CLOSE' } send photoshop 'QUIT'
on a directory with 100 photos. Or even bind this sequence to a cryptic hieroglyphic toolbar image and add it to the current toolbar.
This is significant, but I don't know why …
You don't have to imagine. Just read Bellamy's Looking Backward, which was written in 1887 and describes the world of the year 2000.
–From Slashdot comentary about Bruce Sterling's predictions of the future.
I took too long in getting back to this. While I would probably want to dig up Bellamy's Looking Backward I don't recall why I find it significant, other than noting just how off it is.
I never noticed this before …
I just now noticed that the paper napkins I bought are decorated with icons of crayons, lipstick containers or bullets. I can't tell which though. I suspect crayons or lipstick because some of them give the impression of drawing another icon nearby.
PHP Woes
Mark and I tried to get PHP installed on the main webserver. Or rather, I was doing it while Mark looked on.
Snag one—when following the PHP instructions to install mod_php3
I found that it excluded the module I wrote,
mod_litbok. That's
when Mark took over and spent the next hour trying to get both PHP and my
module compiled into the same webserver.
I remarked that had I been the only one doing it, I wouldn't even give PHP a consideration after 20 minutes—complexity for complexity's sake and the poor quality of the install documentation and all that.
But Mark, who thrives on solving problems that shouldn't exist in the first place due to poorly written software, got both modules installed. We copied the (now huge) executable to the webserver.
My module didn't work properly. Mark was upset that I put the old executable up. I consider my webserver a production server and until I find the problem, I'm not going to have a half-working module.
Saturday, March 04, 2000
Why work?
If you start asking yourself “why work?” you may discover the connection between wage slavery, misunderstandings of leisure, lifestyles based on consumption, corporate welfare, education that often amounts to little more than conditioning, and the global social and economic crises we are now facing. We hope that the materials we feature here will encourage critical thinking about such things.
Creating Livable Alternatives to Wage Slavery (CLAWS), via MonkeyFist
Why work indeed? I haven't since September, and I couldn't be happier.
Obnoxico, Inc.
Even Buckminster Fuller had a few things to say about working at large, soul sucking corporations.
Sunday, March 05, 2000
mia culpa
After spending a few hours experimenting, I figured out what the problem was in getting PHP and mod_litbook working in the same server—it was entirely my problem.
I re-extracted Apache from the archives, and proceeded to add my module first, see that it works properly, then adding PHP (paying very careful attention to the directions for adding it manually) and testing to see if both worked.
They did.
I then moved the new executable to the webserver and tried it.
mod_litbook didn't fully work, like last time. That was a clue I should have punced upon last time.
Turns out I wasn't running the latest version of mod_litbook
on the
primary webserver. The version I released was a bullet proof version that
Mark had (at my
urging) criticized for some potential bugs that I fixed. In the process I
had included a few more configuration directives and it was those missing
directives that was causing my module to fail.
Ooops.
Tuesday, March 07, 2000
TCP/IP over SMTP … RFC?
Via Flutterby this wonderful page about tunnelling TCP/IP over SMTP.
Yes, you read right—a way to tunnel TCP/IP
over the SMTP
protocol, which itself runs over TCP/IP.
The author of the page
states that this is for firewalls so restrictive that only email passes
through. Issues of latency aside, is seems so … convoluted … to do such
a thing.
But remember—the Internet sees censorship as damage and routes around it. Often times in ways people don't expect.
IN-ADDR.ARPA DNS
I've been helping someone setup DNS—more specifically, so he can control
the reverse lookups. I use NS
records but according to the documentation of
BIND
and RFC2317, you're supposed
to use this horrible CNAME hack. The only thing I can think of for doing
that, beyond the Complexity for Complexity's Sake Syndrome, is to avoid
confusing a person over having to configure an IN-ADDR.ARPA
domain
they're not really delagated to serve.
I was told the trick by my friend Kelly who used it for his home network. He sat down and applied some thought as to how DNS works and came up with this method.
I like it better than the “official” way.
LASER Tag and an end of alphabet soup
Laser Tag. Much fun. Much pain. Ouch.
Thursday, March 09, 2000
Hacked, and hacked again
Rob, my roomate, got hacked yet again. Nothing bad happened, the person didn't have much of an opportunity to do anything.
I check my machines. Nothing.
Odd.
“Never make things simple when you can make them complicated.”
One of my many-years-ago friends, long since deceased, was a giant, a member of the Morgan family. He said to me: “Bucky, I am very fond of you, so I am sorry to have to tell you that you will never be a success. You go around explaining in simple terms that which people have not been comprehending, when the first law of success is, `Never make things simple when you can make them complicated.' ”
Might explain a few things …
Monday, March 13, 2000
Tumbling through Code
I'm still working on the tumbler code and it's more interesting (read: complicated) than I originally thought. Basically, I think I want too much here.
I already parse Bible notations and to that I want to add a date-based reference system for the journal here. The bible notation is of the form:
book `.' chapter `:' verse
while the date based version is:
year `/' month `/' day `.' entry
It's easy enough to specify multiple unit separators, but I do want to maintain a canonical form for the search engines—I'd rather not pollute them with multiple references to the same page, so if someone were to request Genesis.1.1 (note the period instead of a colon), they would be redirected (via a permanent redirection) to Genesis.1:1 (note the colon). Similar for the date tumblers.
So now, while I can accept multiple unit separators, I need to keep track of which are the prefered ones, and which aren't, and do redirection accordingly. Doing this without making the code a horrendous mess is not easy.
Then there is the spelling correction (at least as far as the Electric King James goes)—someone can still have a correctly formatted reference to a book, say Eklesiastics.1:3 and yet it isn't correct. It's not E-K-L-E-S-I-A-S-T-I-C-S, it's E-C-C-L-E-S-I-A-S-T-E-S (don't worry, I can't spell either). In that case, I can detect what the user was most likely trying to get to and again, send a redirection to Ecclesiastes.1:3. But that's something else I need to keep track of.
Eight versions of the tumbler code later, I think I have it working, but I decide to ask for a second opinion. So I ask Mark how he would do it.
“A single unit separator, and if a user specified the wrong unit specifier, it's an error that is reported back to the user,” he said.
“What type of error? 404? Technically it's not found,” I said.
“Maybe not a 404, but an error page should come back, possibly saying `This is how you need to form the request,' ” he said.
“I hate programs like that, Mark. They can detect the error, they can even correct for the error yet they don't.”
“I'm for strict parsing rules and if they're not correct, it's an error.”
In once sense, his way is easier for the programmer—it's this format or it's an error. The code is eaiser to write and possibly maintain but it makes more work for the user. My way is harder to write, get correct and possibly maintain but is more forgiving of human input error and tries to do the Right Thing.
Coincidently, Mark doesn't like computers that attempt to do The Right Thing. Can't say I blame him much—many programs that attempt to do The Right Thing fail miserably all around. And he does have a point in that my tumbler code may be trying too hard to be general use, what with flags being passed back and forth.
Which explains the eight versions of code.
I think I finally have it though.
“Feng shui, baby. Feng shui,” said the gratefully dead paper millionaire
Mark and I were suckered into helping our friend John unload his truck of music equipment and move some furniture in his house.
For the record, John is a paper millionaire when is dot-com company was bought for $19,000,000.00 in stock options. It's quite amusing to see him fret about gaining or loosing several million a day depending upon how the stock market plays. It's also amusing to hear him say he needs more than $10,000,000.00 for a house.
He also belongs to a local Grateful Dead cover band, hense the music equipment.
This was the first time I've been to his house. It's a beautiful house and much larger than you would expect because of the all the stuff they (John and his wife) have. George Carlin had them in mind when he did his Stuff Routine.
The furniture moving process involved moving an entertainment center about a foot to the right, then juggling the placement of exercise equipment (“No, over there. The feng shui isn't right,” his wife said) and then the movement of a filecabinet from his former home office to the den. The major problem being the racks of clothes in his former home office.
Two commercial clothes racks of clothes. Two other rooms where filled with more commerical clothes racks. And shoes. Lots of shoes (“Celine Dion has over seven hundred pairs of shoes. That's my goal,” his wife also said). Pretty much all belonging to his wife.
“Our house it too small!” they both said.
“So, get rid of all this stuff,” I said. “Just toss it.” A horrified look crossed his wife's face. “Or pack the stuff and store it. After six months if you haven't gone back, toss it. You'll never miss it.”
“But I will,” she said.
Now I can see why John needs a $10,000,000.00 house.
Tuesday, March 14, 2000
Nerd Trivia
Mark spent the time at working on Nerd Trivia!
Test your knowledge of the minituae of nerdom.
Thursday, March 16, 2000
My Dinner With Chuck
Chuck's weekly meeting was today. There are four of us working on a small web-based project that could be worth quite a bit and over the past few weeks we've been meeting on Thursdays to talk business over dinner.
Only this week, two of our four member team couldn't make it, so Chuck and I ended up going to dinner with Chuck's brother Jeff. Over dinner we talked about various topics at Lucile's, the local BBQ place with the killer hot sauces.
I was actually surprised when he said he's read R. Buckminster Fuller's Grunch of Giants, a non-political satire (as it's called and if there is such a thing) about large corporations. Once my copy from the Buckminster Fuller Institute arrives and I finish reading it, we'll have to have to have a talk about it.
We also touched briefly on the whole RIAA and MP3 fiasco. Chuck is thrilled with the developments the Internet has made possible over music distribution and absolutely loves MP3s. It doesn't hurt that he's a musician and is currently building a home studio. Although he has no idea how a musician will make money in the new market.
“There is the Street Performer's Protocol,” I said. “Musicians give away their recordings and make money by performing live and other merchandising,” I said.
“That's great if you can perform live,” Chuck said. “I've practiced as much as I can and I just can't jam. I'm more of a lyracist. I have much respect for John.”
“Guess it does screw the studio musician like you,” I said. There are no easy answers for this, other than perhaps sponsorship (which wasn't discussed but I bring up here now).
Afterwards, back at Chuck's house, I stuck around to watch Chuck get blown away in Half Life.
Gratefully Dead, and loving it.
Leaving Chuck's house I proceeded to Fisherman's Wharf to listen to my friend John, the Paper Millionaire, play in his Grateful Dead cover band. I arrived to find Mark and John's wife Lynae sitting outside listening to the band. Not as many people this week as last week but I'm guessing that might have something to do with it being St. Patrick's Day and people generally hanging out in pubs drinking.
I'm not really a Grateful Dead fan. I mean, their music is okay, I can listen to it, unlike Country or Western. But friends of mine (like Chuck) have claimed to have attended dozens, if not hundreds, of Grateful Dead concerts. I never understood the attraction that would keep people attending concert after concert, day after day, year after year.
But after hearing John's band play for the past few weeks, I think I understand the phenomenon better. They're an incredible band that jam more than play, each song lasting ten, fifteen, twenty minutes at a stretch, often blending into the next song with no clear break between them.
They'll start a song, sing a few verses, then jam out for ten minutes, resume singing a few verses (oh, they're still playing that song I think), jam a few more minutes, sing the last verse, then start the next song.
Just incredible.
But more incredible are the people. A large crowd, dancing on stage, spinning, whirling, stomping and otherwise just having a great time being abosrbed into the music, letting it take them where ever. It's effetious.
Like I said, I'm beginning to get a grasp on this whole Dead thang.
The Whirling Dervish and the Souless Man
While sitting at Fisherman's Wharf listening to the Grateful Dead coverband Crazy Fingers I was watching attractive girls dance to the music. There was one I found compelling, her dance coreographed perfectly to the music, a real joy to watch.
Unfortunately she seemed to be there with a significant other, one who didn't look like he was enjoying it there at all. Large, well muscled with the short crop hair of a Marine, sitting in an uptight position. Other than being physically large and well muscled, I couldn't see what she saw in him, but I would probably say that of any guy she was with that I didn't know.
Why him and not me?
The eternal geek question, that one.
“I'm with the band.”
It's odd doing stage work again after years of not doing it. Each Thursday, if I get to the Fisherman's Wharf early enough, and most times afterwards, I help John setup and tear down his equipment. Even though I'm not getting paid, I am getting compensated in other ways. It's not often anyone gets to say, “I'm with the band.”
Friday, March 17, 2000
Got your towel?
Spent the evening watching “The Hitchhiker's Guide to the Galaxy” with Kelly and Mark. Kelly and I have seen it before, Mark hasn't.
We ended up watching the entire six hours worth.
And of course it was worth it.
Monday, March 20, 2000
The MEGA hardware store
After attending a disapointing meeting (I thought certain issues were going to be discussed but they weren't) and lunch, I decided to head on over to Home Depot. Nearly all the light bulbs in the condo are burned out, and I needed to repair my toilet.
I spend about half an hour preparing to go. Checked what bulbs I needed. Two 36" kitchen lights. Two 48" kitchen lights. Nine regular 60W bulbs. Four decoration bulbs. One three way bulb. One colored bulb, yellow, preferrably yellow. One halogen lamp, 300W, type J. Four bulb light unit for ceiling fan, chrome. And one toilet flapper.
It used to be bookstores were dangerous territory for me. Now it seems to be home improvement, office or art stores.
Rows upon rows of items that can be used for any number of nefarious reasons. Wire. Screws. Pipes. Wood. Abstract styrofoam shapes. Pens. Pencils. Protractors. Art pads. Sewing thread. Stuff. Stuff! STUFF!
Ahem.
I was both overwhelmed and underwhelmed by the selection of light bulbs at Home Depot. Overwhelmed at the types of bulbs availble. Underwhelmed at the selection of any one type. It seems that 36" kitchen lights are only 30W, while the 48" ones are only 40W. I couldn't find a 60W yellow light bulb, so I ended up with a 25W. Found plenty of 60W bulbs. And the three way bulb only came in two different settings, 50/100/150 or 50/150/200 (or something like that). I could not find the proper halogen bulb, but I really don't need one quite yet.
Going through the ceiling fan section, I did find light units to replace the one that's shorting out in the dining room, but it was brass, not chrome. I guess chrome is out this year. And I really don't want to get a new ceiling fan because I happen to like the one I have now, with the transparent fan blades. So I still need a light unit.
And it took me a long time to find the flapper.
It was odd—I picked the correct isle but it took me a long time to actualy find the flappers. I couldn't find them, found one or two that were almost, but not quite right. I almost got a complete toilet repair kit ($7 to replace all the components in the tank—seems pretty cheap to me) when I found a partial toilet repair kit (about half the parts for about half the price) when suddenly I found all the flappers I wanted. Even five-packs of flappers. Flappers everywhere! And cheap. Only a buck.
Got out fast, not wanting to spend any more time or money there.
Got home, replaced all the light bulbs. I now have lightage. I then replaced the flapper. I now have a quiet non-leaky toilet.
I'm happy.
For now.
“Time flies like an arrow, but fruit flies like a banana.”
Noise words.
That's what I'm working on right now. Noise words.
Not words like clang or pththththt but words that can be ignored in Natural Language Processing. Interesting problem. Words like the and a can be stripped as noise words. But what else? And does frequency of occurance count?
Conjunctions, interjections, and maybe propositions can be cut. Maybe.
Doing a quick search for precompiled word lists, I came across the Language Technology Group Helpdesk FAQ which is incredible if you're into this type of thing.
Cool! How'd I do that?
So I'm compiling Eric Brill's language tagger when I see neat quotes pop up during each compilation. I'm wondering how he did that, thinking that's a pretty cool thing to do while compiling a program.
Then it hit me—it was spawning a shell for each compile, and when I spawn a shell, I have a cookie program run to spit out a quote.
Oh. It's me that was doing that.
Tuesday, March 21, 2000
WRONG WRONG WRONG WRONG WRONG
NOTE to self: Never engage
Mark in a
converstaion about TCP/IP
.
According to Mark, TCP/IP is WRONG WRONG WRONG WRONG WRONG (did I get the correct number there, Mark?). No attempt at error recovery, much less error detection. And it has no flow control. And it seems to exhibit poor behavior across multiple slow links (i.e. from my house to his house).
Mark has experience with telephony protocols, which include things like
error detection, error recovery, retransmission, duplication detection, flow
control and a dozen other features that the designers of TCP/IP
either left out or left to higher level protocols.
Amazingly enough, Mark actually likes the OSI Seven Layer Burrito™ protocol model.
Other NOTE to self: Don't even bring up the higher level protocols like SMTP or HTTP with Mark.
Woo hoo! Books!
My order from the Buckminster Fuller Institute arrived today! Woo hoo! Reading material. Of the six books (yikes!) I order, the following arrived:
- 4D Timelock
- Synergetics
- Grunch of Giants
- The Buckminster Fuller Reader
- Geodesic Domes
Synergetics 2 is backordered and will probably arrive Real Soon Now. Time to go read …
Shoot first, then ask.
Went with the roommate to play laser tag. About a dozen of us showed up, paid our money for unlimited games for several hours and ran around shooting at each other with light.
One game was played lights out. Not completely though, a few strobe lights blinking randomly provided brief glimpses of the arena (it's Laster Storm, so there are plastic barricades separating the two teams) and the red light from the gun gave your position away (even the headset lights were turned off). Very fun if you can do it.
Then dinner afterwards. Then home to read Bucky.
Wednesday, March 22, 2000
Searching for the unsearchable
I'm attempting to find a list of “noise words,” word to avoid indexing for a search. I found plenty of references to noise words, but no actual list. Half an hour I spent, and then it hits me—would a web page that lists typical noise words actually be indexed?
Hmmmmmmmmmmmmmmm indeed …
If you think sendmail.cf is bad …
Mark and I
ended up helping John (the dot com paper millionaire and keyboardist for a
Grateful Dead coverband) set up a new feature on his site. It involved deep
hacking of both sendmail.cf
and the Sendmail source code
itself.
Some things we found out:
- Sendmail ignores the current environment setting, using its own environment when it runs.
- It's easy to see why sendmail has so many buffer overwrites—the code is attrocious.
- Sure, sendmail now allows you to name rule sets instead of number them
(in
sendmail.cf
), but does it show the name when running in address test mode? Nooooooo … - Network analyzers are fun. Very impressive the way they can determine cable length.
- Eric Allman has a lot of explaining to do.
We might have actually finished had John not crashed on us.
Friday, March 24, 2000
Service with a snarl
My roommate and I, along with several of his friends, went to see Romeo Must Die, a film worth the price just for the action sequences. Afterwards we went to Sal's, an Italian chain. Bad service.
Thursday, March 30, 2000
Beekeeping in New Zealand
“Yes, of course. Adulation aplenty. So, Jeeves, you have a unique perspective on the Internet, being directly hooked in. What's it like?”
“Beekeeping in New Zealand”
Interview with the Search Engine
No longer a deadhead
I learned that John, the paper millionaire of a dotcom, is no longer part of a Deadhead cover band. It seems they want someone who can play full time, and it seems that John can't play full time due to commitments with his dotcom.
Oh well …
Friday, March 31, 2000
Bitch session
Mark called, needing some help with sendmail. He's working on a project for John the paper millionaire of a dotcom and needs to get it to do something rather silly actually. But Mark does not care for TCP/IP programming or Internet programming at all.
“I don't understand what I'm doing,” he does. “What do I get from sendmail?”
“You get the header section in RFC822 format, then a blank line, then the body of the message, on standard input to the program,” I said.
“Why do I have to concern myself with this crap?” he asked. Seems he's
too used to having library code handle any lower level protocol stuff. Yes,
SMTP is low level to him in this project. Parsing this crap is too
much for him to handle. I can relate—databases are alien to me, what with
all that SQL
crap and what not.
“Sorry, no one has really bothered with making libraries for this. Something about it being too easy or something.”
He continued one bitching about the SMTP protocol and having to actually know anything about it. He's happier working with telephony protocols, which to him, work better since they have error detection and recovery, while nothing in the TCP/IP world does. At least, not to his satisfaction.
Then again, Mark will do anything for money.
Investment in the future
Investment class. Gruelling but well worth the time and the money. Had to be there at 8:30 am. I made it, but I don't know how.
Afterwards I hung out with friends till about 2:00 am, only to have to get up the next morning to meet the next class at 8:30 am. Ick.