Monday, September 01, 2003
“Do you want fries with that?”
I get more and more scared each time I head back to Wal★Mart. This time, I had to exchange my new tripod since it lacked the camera mount plate (otherwise, it's sturdier, better designed (has a handle to carry it) and cheaper than my old one) and while waiting in line (my mistake today? Going to Wal★Mart on Labor Day) I saw an item that just scared me.
One woman was returning a toy—a McDonald's toy. Not the type of toy you get with a Happy Meal™, no. This toy was a box set you buy at a place like Wal★Mart. This was a McDonald's Cash Register Play Set, including a head set, some play money and plastic fries (among other plastic food).
A McDonald's Cash Register.
Yes, you too can prepare your kid to work in the exciting fast food industry where after months of work you can work your way up to the Fry Machine!
Gah! Is there no end to the crass mass-commercialism rampant in our society? Oh wait, don't answer that—it was rhetorical anyway …
Future Shock at McDonalds
So where did I end up having lunch?
Steak-n-Shake was busy and …
Okay, excuses aside, this particular McDonald's was decorated in a 50s style; chrome, linoleum checkered floor, 50s car out front, a large scale model train running along the ceiling, 50s pop music blaring over the loud speaker, the old fasioned logo (the running chef, which I couldn't find with Google). I'm inside, waiting and looking at the menu deciding on what to eat when I noticed it moved!
Well, not the physical menu itself, but there I was, looking at a picture of the McFish Combo meal (#9) when it suddenly cut to a smooth Madison Avenue produced product placement ad for a McFish Combo (no sound though). Then it flipped back to the standard McFish Combo picture and a few seconds later, one of the other combo meal pictures started moving.
Animated banner ads on the web are bad enough—I don't need them in my fast food restaurant.
Looking closer at the menu board, I noticed that it was five huge flat screen monitors. Then I noticed the even larger flat screen TV screen to my left with John Travolta and Olivia Newton-John were singing and dancing their way through Grease (of course! What else do you play at a 50s themed restaurant?).
At that point, looking around at the decor that wouldn't seem too out of place 40 years ago, except for the flat screen TV and animated menus, I began to think on what changes our society has been through in the past 50 years; even a span of twenty-five years has a tremendous amount of change (Internet? PDAs? DVDs? CDs? How much memory in your home computer again?); heck, even my Dad is now asking me about ripping MP3s from his large collection of tapes and CDs. At the same time, things have stayed the same (Coke, which is over 100 years old, and the Big Mac, which is 35). As I was sitting there, pondering all this, I imaged a hypothetical conversation where someone in a coma since 1979 would have upon waking up in 2003.
Random observation made at a supermarket at 4:32 pm in West Boca Raton, Florida
Nestled between the wine (highly flamable liquid) and the charcoal brickettes (designed to burn) and lighter fluid (another flamable liquid) you will find matches (designed to start fires).
Just an observation …
Tuesday, September 02, 2003
Another stab in 3D
Since I now own two tripods (the broken one is still usable as a tripod, but the crank that raises the camera mount up and down barely works) I figured it might be easy to take 3D photos by using two cameras (mine and Spring's, both are the same model camera) as close together as possible. It wasn't as easy as I thought it might be.
(To view the image, cross your eyes to merge the image although up to 5% of the population won't be able to do this)
I was able to intermingle the tripods enough to get the cameras right next to each other, but the optics were twice as far apart, at 5″, than is optimal for 3D images (at 2½″) but I decided go continue anyway to see the results. The other problem I had was making sure both cameras were aligned correctly; not only facing straight ahead, but aligned vertically (since the tripod allows one to pan up/down). It was only on the last shot (of six) that I had everything aligned properly.
The resulting image isn't bad, but I did have to crop both sides to ensure that both pictures contained the same scene. For instance, the right side had most of the back of a chair in view, while the left side had more of the door and wall in view.
My next attept will be with actually moving the camera to the side some 2½″ to better simulate the distance between human eyes.
3D pictures with out strain or funky glasses
Via Kim Burchett, a page of 3D images (not all are work safe) where you do not need to cross your eyes or use those red-blue glasses to see the 3D effect. A unique way of presenting stereo images and surprisingly effective.
Friday, September 05, 2003
“ … and I'll be taking these mainframes with me … ”
Australian authorities have ordered an urgent review of security at Sydney's international airport after the theft of two mainframe computers from a restricted customs area.
It is believed they were taken by two men posing as technicians at the end of August.
Airport theft shocks Australia
How do you “steal” not one, but two mainframes?
We're not talking a PC here, nor even something like a typical server, but a mainframe. These are not small machines—these are honking large machines the size of industrial refridgerators.
When you mention mainframe, I'm thinking something a bit larger than the Sun Fire 15K (which may or may not be a mainframe).
And two guys just waltzed out with two of them.
Unless the reporter mistook “server” for “mainframe,” which I find more believable …
“Raise shields! Prepare for impact!”
Our analysis of Internet virus activity, shows that on September 11th next, an advanced worm attack is set to infiltrate the Internet and could potentially halt email traffic worldwide. We need to act now.
Via 0xDECAFBAD, Superworm To Storm The Net On 9/11
You know, if only it were possible to ban and delete all copies of
Lookout! Outlook or Microsoft Lookout!
Exploit Outlook Express, things like this wouldn't happen. Couldn't
I remember back when Code Red and Nimba (back in 2001 and machines are still infected) code was posted that would allow one to remotely crash an infected machine (using pretty much the same exploit that allowed the machine to be infected in the first place) to stop the spread. The legal analysis was that such code was illegal to use (sadly) leaving one with not much recourse other than sucking up the wasted bandwidth, or just going ahead and crashing the damned machines anyway and hope you didn't get caught.
I think the best practice to come out of this was LeBrea, a program that would basically stop an infected machine by slowing down its network connection (by accepting a connection from an infected machine, then keep the connection alive, but transmit nothing back, keeping the infected machine stuck), but alas, it is no longer being distributed due to so called Super-DMCAs, being pushed by the MPAA to basically prevent anyone from using a computer (well, they don't come right out and say that, but … ).
Monday, September 08, 2003
Skipping the whole senior bit …
WEST PALM BEACH, Florida (AP)—Of all the ways attempted to free up space in Florida's crowded classrooms, this one could be a dream come true for high schoolers in a hurry: a diploma without a senior year.
Supporters of a law granting a high school diploma in just three years said it will help curb crowding in Florida's schools. Critics fear it will deprive early graduates of extracurricular activities and senior year milestones.
Via squeaky19, Law lets students forgo senior year
Figures something like this would come along after I graduated from high school. A law that allows one to skip their senior year? I would have loved the ability to skip my senior year of high school.
The requirements are four credits of English (a “doubling up” as it's called in the article) and two years of a foreign language. Well ‥ gee … I took four credits of English and two years of a foreign language, which was required when I was in school (have standards fallen that much in the fifteen years since I've been in school?).
And yes, I walked ten miles into the wind (who am I kidding? There are no hills here in Lower Sheol), both ways, in molten asphalt up to my ankles.
Needless to say, it's hot down here.
Although, to tell the truth, my senior year wasn't all that bad. I only had four classes (out of seven possible)—the hours I didn't have class I was hanging out in the AV room with the other kids who skipped class to hang out there (yes, Geeks Gone Bad!), but still, given the option, I probably would have skipped my senior year entirely.
Wednesday, September 10, 2003
Musings on the problems of Transclusion
Mike Taht would like transclusion.
I don't think transclusion will truely ever come about.
Transclusion, one of the prime concepts of Xanadu (43 years and still not here!), is the ability to include quotes from other documents without having to “cut-n-paste.” Instead, you give a reference to the portion you want quoted in your document and the underlying Xanadu system will handle the actual process of “cut-n-paste” for you when someone requests your document. Sounds nice, but there are problems.
In a Xanalogical system, the actual reference contains a byte range of the target document, such that if I wanted to quote Mike Taht's paragraph on transclusion:
Transclusion for text: Bloggers do manually what Ted Nelson wanted to do automatically—quote parts of textual articles—and while his goal was lofty, I've gradually come to the conclusion that he was right. All the mass duplication of partial texts, all the work that we do to ensure credit is given—would have been handled by Xanadu. The ability to quote partial texts exists in the http 1.1 protocol, but nobody uses it. (It's byte specific, and buried deep in the protocol). It's possible to use it just as easily as we copy and paste today.
All I need to do would be to specify the document between bytes 13,226 and 13,791 inclusive, insert that reference into my document and when you bring up my page, you'll see the portion I referenced from Mike embedded within my document.
Now, here's the first problem: Mike makes a change to his document—perhaps he fixes a typo, or slightly changes the style and layout of his page. That could affect the byte ranges for that particular paragraph and what you see is:
xt: Bloggers do manually what Ted Nelson wanted to do automatically—quote parts of textual articles—and while his goal was lofty, I've gradually come to the conclusion that he was right. All the mass duplication of partial texts, all the work that we do to ensure credit is given—would have been handled by Xanadu. The ability to quote partial texts exists in the http 1.1 protocol, but nobody uses it. (It's byte specific, and buried deep in the protocol). It's possible to use it just as easily as we copy and paste today.
Anyway, off to AA
Oops. Sorry Mike, didn't mean to make you attend AA there …
Now, as it stands, Xanadu has a solution for this problem: versioning.
The original idea was that not only would you grab a reference to a portion
of the page, but a reference to the version you are quoting. So, not only
am I quoting bytes 13,226 to 13,791 inclusive, but I'm quoting bytes 13,226
to 13,791 inclusive of the version dated
But there's still a problem.
What if the domain expires? If pages are moved or removed, then (the hypothetical) versioning webserver will still have a copy of the original page to serve up, but what if the domain goes away? Or is transfered to a new owner?
I just now tried an experiment. I loaded up December, 1999 of my journal here, the first month I started, and decided to see just how many of the pages I quoted were still around.
Not a single one.
If transclusion were a part of HTTP and HTML, then this Slashdot post I quoted (December 10th, 1999):
Guess what? That's bunk. They haven't infected me. I'm merely using a library function in the way that library functions are meant to be used: they're an API, and you link to them. It is of no consequence whether it's statically linked at link/load-time, dynamically linked at start-up, or accessed at run-time during execution via any one of myriad forms of RPC. It's API only, not material inclusion. APIs aren't viral.
Would now come up as:
We can't find a comment with that ID (282) in this discussion (2833). If this comment was posted moments ago, please wait 60 seconds for it to appear. Otherwise, if you got here through a link generated by Slashdot, please report this as a bug. But if you got here thanks to a silly user's comment text or journal entry or something, or from an external site, this link is just invalid—sorry.
Well, assuming the original byte ranges requested were ignored, otherwise we end up with Slashdot going to AA …
And that's just the technical problems (which, given enough time, money and man power to, anything can be done—we went from total surprise to Sputnik to playing golf on the moon in a dozen years) but technical problems are easy to solve compared to the political and social problems transclusion brings forth.
Not everyone wants a permanent record of what they write. Or of the editing changes they made. Or even stand by their own words. Or owe up to their own history. And there are plenty of sites that hide their content behind registrations and payment schemes and don't particularly care to be quoted (and they wonder why they don't have good rankings in Google).
Of course, Xanadu has a solution to that last problem, but it requires ACLs and micropayments, which is a whole other set of problems both technical and political …
Thursday, September 11, 2003
The Subversive Thomas Jefferson
On 29 July 2003, I became a casualty in John Ashcroff's politically convenient “War on Everyday Activites Which Some Terrorist May Also Have Done.” I carried a camera onto the public hiking trails surrounding West Hartford (CT) Reservoir. It's a pretty little reservoir, inviting locals to partake in biking, hiking and other healthy activities on the miles of natural and manmade coastline.
No signs said that cameras were not allowed. The police officer was reminding me that I “am not in any trouble,” but that I had to surrender official state identification and car registration anyway. Numerous other shutterbugs are catalogued each day, just in case a “pattern” might somehow develop.
Via Techdirt, TERROR FILE 1 by ~halley
It's a picture of a rusty plate, eye bolt and one rusty chain link.
the British ministry have so long hired their gazetteers to repeat and model into every form lies about our being in anarchy, that the world has at length believed them, the English nation has believed them, the ministers themselves have come to believe them, & what is more wonderful, we have believed them ourselves. yet where does this anarchy exist? where did it ever exist, except in the single instance of Massachusets? and can history produce an instance of a rebellion so honourably conducted? I say nothing of it's motives. they were founded in ignorance, not wickedness. god forbid we should ever be 20 years without such a rebellion. the people cannot be all, & always, well informed. the past which is wrong will be discontented in proportion to the importance of the facts they misconceive; if they remain quiet under such misconceptions it is a lethargy, the forerunner of death to the public liberty. we have had 13. states independant 11. years. there has been one rebellion. that comes to one rebellion in a century & a half for each state. what country before ever existed a century & half without a rebellion? & what country can preserve it's liberties if their rulers are not warned from time to time that their people preserve the spirit of resistance? let them take arms. the remedy is to set them right as to facts, pardon & pacify them. what signify a few lives lost in a century or two? the tree of liberty must be refreshed from time to time with the blood of patriots & tyrants. it is it's natural manure.
Thomas Jefferson, 1787
Keep up the good work, Ashcroft! Who knows? In another year or so we might have to get all Jeffersonian on you and stage that 20 year revolution he so elequently talked about …
Tuesday, September 16, 2003
Balkanization of the Internet
Ten years ago, just prior to the commercialization of the Internet was a
good time indeed. No spam, no worms, no Verisign and generally no problems.
Every machine on the Internet was a full peer of every other machine on the
Internet and things pretty much worked (like
talk and FTP).
Life on the Internet was good, then.
The Internet today is a vastly different creature than the Internet of a
decade ago. Mark just informed me that yet another remote
exploit of OpenSSH is floating out there. Which means an upgrade to OpenSSH. When I asked
Mark why not just download the latest version, do a
make intall he
said it wasn't that simple on a modern Linux system since this is
“open source” with its “dependancy dance from Hell” so the best course
of action is to use the existing package program to update.
Of course the package program refuses to install the latest version of OpenSSH until you update the package program itself, which involves (again, due to the dependance dance) upgrading a slew of other packages …
I personally don't see why downloading the latest version of OpenSSH and compiling it won't work, but Mark is insistent that we go the package route. “This is a modern Linux system, Sean,” he said. “You just can't do that compile thing anymore without breaking something.”
All this on top of our recent discussion on installing a firewall on our server—to keep network data out of our server (well, specifically, to keep network data from getting to MySQL (which according to Mark, is a pile of Swiss cheese in the security department).
To top this off, Mark is also planning on removing Seminole (webserver he's been writing) from distribution. It's GPLed with an option to get a commercial license (to remove the GPL restrictions) but most of the downloads have been coming from (according to Mark) India and China, which don't necessarily honor IP rights, pissing Mark off. He was planning on just blocking all network traffic from Asia itself, but decided that wasn't good enough.
And now it seems that a
VeriSign site will come up for non-registered domains (for
.COM), and apparently also accepts email
(not fully, but enough to collect valid email addresses) to such
non-registered domains. System and network admins are upset; enough to
consider blocking the IP
address 184.108.40.206 entirely.
This, on top of the recent worms and virii like SoBig and Slammer so now you have ISPs blocking certain network traffic and slowly, ever so slowly, the full peer-to-peer nature of the Internet is Balkanizing to where we won't even have an Internet anymore.
Oh, I'm sure there will still be a vast network of connected computers, but with so much filtering going on, and the attacks against peer-to-peer networking software (the whole peer-to-peer thing was puzzling to me since when I started using the Internet, it was peer-to-peer and systems like Napster, Gnuster and Kazaa just seemed silly to me—little did I realize just how Balkanized the Internet has become for such software to become necessary) what I'm used to as being the Internet will cease to exist (if it hasn't already).
And President Bush isn't helping matters either …
Thursday, September 18, 2003
Drawing on the dining room table
A rather rare occurance tonight—friends!
We had friends show up here at the Facility in the Middle of Nowhere for a few hours of kibitzing (kubitzing?), drawing on the dining room table and to listen to Gregory impersonate the cartoon characters from Futurama.
And by “drawing on the dining room table,” we don't mean drawing on paper on the dining room table, I mean, drawing directly on the dining room table! You see, it's glass, and since Spring is home schooling The Kids, it's easier (and cheaper) to use dry markers on the glass surface than to buy a white board (okay, she bought a white posterboard to tape to the underside of the table). Makes for an interesting effect.
Friday, September 19, 2003
A very late Photo Friday
Monday, September 22, 2003
That which does not kill you, hurts like a mofo
It wasn't the very worst day in my life. Bad yes. Worst, not really.
Although it still hurts like a mofo.
I did not want to go. I was expecting not to go. So it was with trepadation that I awoke to Spring saying The Younger really wanted me to come to Chuck E. Cheese's for his birthday party. Oh, and we leave in half an hour.
Not a great way to start the day.
But since it meant so much to The Younger I got up, showered, dressed and was downstairs within thirty minutes. We then drove a few miles to the local Chuck E. Cheese's for a noon-time party.
I was surprised that Chuck E. Cheese's, founded by Nolan Bushnell (founder of Atari) was still around. Not only is it still around, Spring was able to book the party over the Internet.
Signage on the front door loudly proclaimed that all the games are now one token! It's scary to think that since my childhood video games now require multiple tokens to play (Kelly confirmed that games are now 75¢ to $4.00 to play, depending on the game).
Going in, Spring swore; she forgot the confirmation number for the party at the house and that we might have to go back for it. But that wasn't the case. They let us in, Krispy Creme Donut Cake and all. And it immediately hits me.
I do not want to be here!
There are three things I do not like: loud places, crowded places, and kids. And here are the very three things I do not like in one place: loud crowded kids.
Spring had brought her camera, but the smart media was still in the computer at home. I had brought my camera just in case, but since we were still waiting for Gregory to show up, I offered to go home to retrieve the smart media for her camera and to call Gregory to make sure he was still showing up. I bolted for the door.
Once outside, I ran into Gregory and his two kids. So it was back into the Hellmouth that is Chuck E. Cheese's.
Ten minutes later Spring is telling me that I could go outside and calm down. So I go out, get in the car, drive home, pick up the smart media and head back, killing about half an hour. Then back into the Hellmouth that is Chuck E. Cheese's.
I didn't last five minutes.
I think was killed me was a remark Gregory made:
doping up your kids on sugar and leaving them with you.”
“I love being able to dope up my kids with sugar and then take them
right back to their mom.”
“Greg,” I said weakly, “please don't say such things.” Barely keeping it together at that point. It was obvious that I wasn't going to handle things much longer. Gregory offered me his PDA with Internet access and I told him, point blank, “Greg, you're confusing me. Stop!”
Yes, I was that far gone into my own personal Hell. Kids screaming. Music blaring. Bodies pressing all around me. Lights. Sounds. Screams. People. I was trapped in Fear and Loathing in Las Vegas on a acid trip gone bad, albeit without the excuse of drugs.
Gregory took me home at that point.
I slept the rest of the day.
It wasn't until Spring was going to work that I got even worse news. Coming home, she dropped both our digital cameras. Wasn't her fault—the lunch box she was using popped open and out they fell. She didn't know if they still worked, not having tested them.
After she left for work, I tested the cameras. Her's worked. Mine didn't.
A bit over a year old, and I now have a very expensive plastic paper weight.
That's when I got quite upset and I found out the hard way that indeed my hand cannot occupy the same space as the monitor, even after repeated applications. I also found out the clarity of thought a possibly broken hand can bring about.
Ice pack and a few hours of rest later, I hoped that all that was wrong with my camera were dead batteries and that all would be all right in the morning. Aspirin and a slug of NyQuill later, I'm asleep.
Next afternoon (this being Sunday afternoon) I get up, check my right hand (yup, still painful), shower, dress and check my digital camera.
It's not the batteries.
It's dead, Jim.
I have one expensive plastic paper weight.
Spring suggested, that since it is most assuredly out of warantee, that I open it and see if it can be fixed. I nod in agreement. Later. Not right now. She also suggested that I either go back upstairs into bed or get out of the house.
I got out of the house.
An hour and a half later, I walk out of CompUSA with a new digital camera. A bit cheaper than my dead one; smaller, requires half the batteries and with a bit better picture resolution. It's actually the next model from mine—an Olympus D-560 Zoom. I'm planning on opening the dead camera and seeing what I can do, but I'm not expecting much.
Afterwards, I headed over to Kelly's house and hung out with him for the rest of the day. Upon returning home, I fell immediately into bed.
- Ko yaa nis qat si
- (from the Hopi language), n.
- Crazy life.
- Life in turmoil.
- Life disintegrating.
- Life out of balance.
- A state of life that calls for another way of living.
Often when depressed, I try to listen to really depressing music as a way to … oh, I don't know … feel better? Match my mood? Depress me so far down that I come through the other side?
For the past decade, the album Pretty Hate Machine by Nine Inch Nails has been the stand-by “depressed from Hell” album to listen to (although sometimes a good Dennis Leary rant does the trick) but I think I finally found the “depressed music from Hell” that exactly matches my mood.
Koyaanisqatsi by Philip Glass. Dark, brooding organ music (you could almost say “Gothic”) with a deep baritone voice chanting “Koyaanisquatsi” over and over again. A perfect fit for my current mood.
Tuesday, September 23, 2003
Didn't think of that …
Well, that didn't work.
The battery in my watch is dead and I haven't bothered to get a new one yet, so I couldn't use it for the alarm function (which is all I really use the watch for) to remind me that it was time to pick up The Kids (since I would otherwise be preoccupied and not notice the time). I have an alarm clock, but it's in the bedroom where Spring was currently sleeping, so that meant I would have to move it, meaning unplugging it, resetting the time, then setting the alarm, then remembering to move it back into the bedroom …
I think there's some form of alarm function under Windows XP but I don't know enough about the system to know where to look for it, nor do I know if it makes sufficient noise to act as an alarm, since I would be away from the computer.
But Linux has the
at command. Used to issue a command at a
given time. So I quickly coded up the following script:
#!/bin/sh while (`true`) do echo ^G done
which prints over and over again the bell character which causes the computer to beep. I let that run, went into the other room where I would be occupied and yes, I could hear the incessant beeping; it was just loud enough that it would eventually grow annoying enough to warrant my attention (so with that, I allowed some leeway into what time I was going to set it for).
So I set the script to run at the appropriate time.
It didn't matter since I was finished with what I was doing before it would have gone off anyway. I was still out of the Computer Room when it was supposed to go off and when I did come back, the computer was silent. I didn't think much of it, other than it either worked and for some reason stopped running (it shouldn't have) or it didn't work at all, but I didn't care at that point.
Now, about four hours later my Linux system is acting just a tad sluggish. Check the load aveage and it's running over 1 (which for this system, is highly unusual). I start peeking around, and lo, there is my script, running, issuing a stream of beeps that aren't making it to the speaker. I stop the program, and I get the email output of my script, which consisted of over 15,000 bell characters, all preserved in their text bound existance.
Silly me … it didn't dawn on me that any output would be saved to a file and emailed to me.
Koyaanisqatsi, Part II
Koyaanisqatsi came out in 1983, and I remember that Siskel and Ebert both gave the film a thumbs up dispite having no plot, no characters, no dialog (follows from the “no characters” bit) and thematically a bit confusing, since koyaanisqatsi means “life out of balance” and the film tries to show the conflicting nature of man and nature but all the visuals are simply too beautiful to convey this meaning.
Still, it seemed an intriguing film, but one that I didn't get around to watch until the late 80s.
I'm at FAU sitting in “Music Appreciation Class” with my friend Bill when the professor walks in pushing a cart with a TV and VCR and announces that we're watching a movie called Koyaanisqatsi because the score was written by one Philip Glass, a modern composer. He slips the tape into the machine, presses “Play” and turns off the lights. I sit back expecting an interesting film.
Ninety minutes later, we wake up.
It's a soothing film. Flowing visuals. Flowing music. Coma inducing if you aren't prepared for it. Koyaanisqatsi may be this great film, but my feeling is that it makes for a great background experience, not a forground one.
That is, unless you've got a major caffeine rush going.
Thursday, September 25, 2003
Two wolves and a lamb voting on what's for dinner
I am now outvoted (by a 2/3 majority no less!) in support for comments for mod_blog!
This came about because someone else is now using my software!
First it was Mark and now it's
Gregory (he hasn't finished his templates yet else I would link to his new
journal). And now that the majority have spoken, I have responded. I spent
a few hours today adding enough support to
mod_blog to support
comments from an external source (say, Haloscan, or an external CGI program like the one Spring
hacked up). I need to document this and get the code on the server, but
it does work on the test blog I have.
Next up is to support a simple comment system natively in
mod_blog; it's not what I originally wanted to support, but I
had yet to actually figure out how to support what I originally
wanted (each comment getting its own URL and the ability to select comments like you can
select entries in
mod_blog) but it is a start.
Friday, September 26, 2003
Saturday, September 27, 2003
The Economics of Spam
Paul Graham is bullish on spam. Not that he likes spam, but he does believe that current anti-spam techniques will make spam uneconomical. But what are the currrent economics of spam? He doesn't really cover that, but he does mention a few numbers:
In an article in the Detroit Free Press, one spammer said that he charged a flat fee of $22,000 to send mail to his entire list of 250 million addresses. If filters cut response rates by a factor of 100, the average value of what he was selling would sink to $220. I doubt that would even cover his costs.
While $22,000 to send unsolicited email may seem expensive, for the reported 250,000,000 recipients it can be pretty darned cheap! That works out to about 1/100 of a cent per recipient. For the same amount, a traditional junk mailing (you know, the physical mail you get in your mailbox) you only get about 100,000 recipients. So far, it seems decent.
The person who responds to spam is a rare bird. Response rates can be as low as 15 per million. That's the whole problem: spammers waste the time of a million people just to reach the 15 stupidest or most perverted.
Traditional junk mail has a typical response rate of 1-2%, with 3% being an incredible “Let's do another run now!” Fifteen responses per million? That's about a tenth of a percent of a percent response rate. Granted, that's at the low end of things, but are we still getting our money's worth? With a traditional mass mailing you end up spending between $7 (with a 3% response rate) to $22 (@ 1%) to grab a customer. So even with the low 15/1,000,000 rate you get via spam, you end up paying about $6 per respondent. It's not until four respondents per million that you are paying $22.
Scarily enough, it still looks good.
So for a large enough company like Negiyo, paying someone $22,000 to spam is worth it. But this is from the client side, the side willing to pay $22,000 to send spam. How do the economics work from the spammer's side? Because it sure is tempting. $22,000 to send some emails? No wonder people do it.
But 250,000,000 emails?
I won't even get into the number of dead addresses (let's see,
firstname.lastname@example.org are no longer valid—and those are the ones
I remember) or multiple addresses per person (I just counted, I have at
least 37 in active use, most as spam traps) such a list would contain. I'm
going instead concentrate on the physical act of sending
250,000,000 pieces of email.
Assuming one second per email, and assuming 100,000 seconds per day (it's actually 86,400 seconds per day, but hey, this is a rough calculation here) that's:
2.5×108 ÷ 105 = 2.5×103
That's … um … 2,500 days! Which ends up being … about seven years. So obviously one per second isn't going to cut it. At ten per second it will then take 250 days and at 100/sec only 25 days. But 100 connections per second is very optimistic—10/sec is more realistic. I should know, as I wrote some code to check. A naive implementation will make a separate connection per email:
|Type of connection||Time per connection|
|Local SMTP||0.07 sec|
|Cable modem to server SMTP||0.45 sec|
|Fat pipe to server SMTP||0.24 sec|
This table just covers connections; it doesn't include the time to send the actual email so the times are going to be a bit worse than reported. Using a cable modem to send the spam isn't going to cut it; never mind that you'll loose the connection after a few hours, it just isn't fast enough—you'll need a server sitting right on the Internet and even then, the simple method will only give you about four emails per second, which will still take almost two years.
But there is no reason to send a single email per connection; the SMTP allows multiple recipients per connection, so doing that gives:
|Type of connection||Time per connection|
|Local SMTP||0.02 sec|
|Cable modem to server SMTP||0.11 sec|
|Fat pipe to server SMTP||0.05 sec|
With the more sophisticated implementation you can get about 20 emails per second, giving about 125 days to send 250,000,000 emails, given a nice fat pipe to the Internet. Four months.
And a fat pipe will set you back $2,000-$10,000 per month. Assuming you can keep your connection for four months. And you most likely won't so you'll have to keep busy getting new providers. But even getting the cheapest connection, that's $8,000 of overhead (excluding equipment and office space) leaving you $14,000 left for four months of work.
It works out to about $750/week. Doesn't sound so impressive now.
But still, 250,000,000 emails? The upper limit appears to be on the order of 20/second and that's slamming a server, which is going to be noticed. That person claiming to send 250,000,000 emails for $22,000 is either struggling to keep going, or is basically lying and maybe only sending several million at best.
Fortunately (and bear with me for a second) such economies mean that there are only going to be a few spamhouses to contend with; smaller ones won't last long due to the rather large expenses in keeping connectivity, and if Bayesian filters (and even others, like the Controllable Regex Mutilator which filters out 99.9% of spam) get mass adaption (and I've heard that AOL and MSN might be adding Bayesian filtering to their email systems) the economics of spam might just put the spammers out of business.
We can only hope.
Update on Sunday, September 28th
I just realized that my math in calculating an upper limit on the number of SMTP are off, although the numbers reported are accurate. For example, in the first example, it takes my computer here maybe half a second to send an email, but that's a single connection! I neglected to take into account multiple versions running at the same time, thus the figures alone don't tell the whole story, and it may very well take less time to actually send 250,000,000 emails than I indicate.
Basically, a dedicated T1 will give you 1.54Mbps, which works out to 196,608 bytes per second. SMTP runs over TCP/IP which is a miminum of 40 bytes per packet of overhead, mean at best, you can schlep out 4,915 empty TCP/IP packets per second via the T1. Let's give us some room and say you can get an average of 2,500 packets per second, meaning you can maintain 2,500 connections (assuming your computer can handle that many concurrent connections). Given that, say it still takes a second to send an email, but with 2,500 concurrent connections, it will take 100,000 seconds, or one day, to send out 250,000,000 emails, which doesn't sound right to me, but then again, I'm not sure if there are many network stacks that could handle 2,500 concurrent connections and not be so bogged down that through put drops to near zero (basically, I suspect the computer will then become CPU bound and possibly network I/O bound).
If course, that much network activity will be noticed and the rest of what I have to say doesn't change.
Tuesday, September 30, 2003
Micropayments and the Google Problem
The following is a response to Clay Shirky's new article Fame versus Fortune (a follow-up to his 2000 essay The Case Against Micropayments) which takes aim at the 9-week-old BitPass payment system. I'm a long-time advocate of micropayments, an advisor to BitPass, and my online comic The Right Number is mentioned in his first paragraph, so I'm hardly a disinterested party. Still, I hope my arguments will help illuminate why I think that Shirky's logic is flawed, and why his caricature of the idea of micropayments bears little resemblance to the reality being created right now.
Via Utopia with cheese, Misunderstanding Micropayments
Micropayments are making the rounds of the Internet once again, and I'm still not sure on their viability. The arguments I've seen always seem to miss the Google Problem (the arguments I made then still stand up now—Google alone hit this journal about 4,000 times this month so far). And let's face it, without a search engine spidering your site, you are going to have a hard time getting people to your site without major advertising (another fact—Google sent about 2,200 people to this site this month).
But there is still that nagging notion of “pay-as-you-play” argument against micropayments. Since I run my own proxy webserver here at the Facility in the Middle of Nowhere (and I'm the only one who actually uses the darned thing) I can get a fell for how much I might have to pay of I actually had to pay for each hit I generated; averaged over the past quarter (since I have logs going back 91 days).
Certainly not in the $40 a Day catagory but it still is a good amount though (and this just counting HTML pages—no images, movies, songs, etc). I'm not claiming to be your average web surfer, but for me, “pay-as-you-play” would definitely cause me to change my surfing habits (which may give you an indication of just how much I surf the web in a day—eeek!).
There were also some arguments about micropayments in this MetaFilter thread some pretty good, some not so good. One interesting argument stated: “if micropayments could be made to work, the porn industry would have already done it.” Well, they have. I've seen some porn sites selling images for as low as 1¢ per image. So it is being tried even in the porn industry (you just have to know where to look—ahem).
The trick, then, seems to be to have enough free content (or samples) to bring people to your site and hopefully entice them enough so they “play-as-they-play” around your site, either offering premium content, or perhaps timely content (like stock feeds—you can get 15-minute delayed feeds for free but real time costs).