jc blog - tales of a modern-day nomadic hunter-gatherer

Follow jcomeau_ictx on Twitter This is the weblog of Intrepid Wanderer. You never know what you might find here; graphic descriptions of bodily functions, computer programming secrets, proselytizing for the antichrist, miscellaneous ranting and kvetching, valuable information on living off the land... if you don't share my rather weird interests you may want to try slashdot instead.

You can consider my Del.icio.us links an extension to my blog, as are my LifeTango goals and my other to-do items. My to-buy list is also public, but only for sharing any useful ideas that might be there; I'm not requesting charity, neither do I offer it.

You can find me easily in google searches, as jcomeau, jcomeau_ictx, or jcomeauictx. There are lots of other jcomeaus, but AFAIK I'm the only jcomeau_ictx out there so far.

If you want to comment on anything you see here, try the new Facebook comments, reachable by clicking the "[comment]" link at the end of each post. If for some reason that isn't working, go ahead and email me, jc.unternet.net. You know what to do with the first dot. Make the 'subject' line something reasonably intelligent-looking or it goes plunk! into the spambasket unread.

This RSS feed may or may not work. Haven't fiddled with it in forever. RSS Feed


That fruit I found on the roadside was Lychee! Thank the gods at Google!

I'm beginning to see that all roads south are dead-end. I have my pick: Big Sur, Salinas, Carmel Valley... still looking at other possibilities but it doesn't look too hopeful. I may have to just pick one with the least amount of walking, but that could still mean 150 miles or so. I know for sure I can't count on getting a ride from anyone in this unfriendly world. [comment]


Tell Dionne I know the way to San Jose: take the 22 from Stanford for $1.50. More later. Got just a few seconds left on the public internet terminal here at the library! [comment]


i said the corn chips wouldn't affect my gastrointestinal tract. Little did I know. But we'll get to that.

At midnight of the 28th I bought a banana and a few chocolate candies at Safeway, taking cash back for the rest of my $3. I resolved that, despite the need to improve my diet, the desire to continue interacting with people required me to clean up. So I took a bath in the Pacific the previous afternoon, and today I washed my laundry. The remaining 50 cents I spent on a grapefruit at the farmer's market outside the Ferry Building, after a blitz of the free samples inside. My system was very happy for the alkalinity after 36 hours of starch.

I started walking south about 12:15 local time yesterday, after finding freeshell offline so I couldn't update my blog. I'd had a good sleep in the park across from the library and felt ready for the journey.

A few hours later and I could no longer hold back my bowels. Behind the darkened glass of a bus stop I made my move. What a mess.

Let me explain what an all-corn-chip diet does to one's stool. It makes it like slick clay. Comes out easily enough, but sticks to you mercilessly. I had to use both rags to clean myself, and left them there behind the bus stop. Hope nobody gets curious.

Found some nice fruits growing by the roadside in that general area. No idea what they're called, but I'd seen some in a grocery store so presumed they were edible: about an inch in diameter, round, red and bumpy on the outside and sweet orange-colored pulp inside. I ate about a dozen and wish I'd taken more. Further on, someone had left some fruits by the roadside -- it seems like some people in California have a mission in life to leave food out for passersby -- and one of the apples still looked OK, so I ate it.

The full moon was up by the time I found a Safeway, in Millbrae, and got some cash from the RAC job for which I'd finally been paid. A few miles later I found a map which showed me Palo Alto was on my way, so in Burlingame I caught the 390 for $1.25 to Stanford. Had I known, I could have picked it up for the same price back in Daly City just south of SF and saved myself over 10 miles walking. But then I wouldn't have found those red fruits, nor the black raspberries that grow along Bayshore and El Camino Bignum.

So here I am at the Starbucks in the Stanford Shopping Center, enjoying life one day at a time. Talk to you later. [comment]


Last night I scored big on my prowl up and down Columbus Ave. First a couple of stale bread crusts, then an apple in the road, which required several peelings to get the road crud off, but otherwise perfectly edible; then a 5-pound bag of tortilla chips! It was left on the sidewalk, or more accurately in the square area around a tree. I saw it the first time I passed by but didn't trust it. The second time I passed, someone had made a hole in the side. At that point I decided if I didn't grab it, the rats and pigeons would soon be taking over. So I took it with me, and started munching. 6 weeks past the expiry date, and the taste reflects that, but they're still crunchy and apparently there are no added toxins beyond the aflatoxins in all corn products. At least, I don't feel sick after 12 hours of eating them. And corn for some reason doesn't give me the GI problems that most starchy foods do. So I'm set for the next few days at least regarding hunger; nutrition is of course another issue.

The caffeine-withdrawal headaches only lasted for about 3 days, and they were acute for a very small fraction of that time. So I won't worry about it any more; drink coffee when I can, no biggie when I can't. And I know I can survive in a city without money and without begging, as long as I attune my hunter-gatherer skills to the particular circumstances. And I have to be willing to take a lot more risks; I've seen caches of food like this before and passed them up, thinking someone may be deliberately trying to poison the homeless. That is of course still a possibility, but I think the risk factor there is pretty low. [comment]


Less than 36 more hours to when I can start taking $3 daily out of the bank. Good because picking up cans and bottles, often out of trash cans, is making my clothes stink and the laundromats here aren't cheap.

I found a microbrew pub near where Columbus street starts (on the south end) that has $1 drafts from 4-6PM and 12-1AM every day! San Francisco Brewing Company. I haven't yet checked if they have a web presence but should be on citysearch. Once I get some cash again I might pay them a visit.

Cops are starting to harrass me. One said there's no sleeping in parks. WTF? I went to another park. [comment]


OK, so I won't be getting my RAC money for another week at least. RAC finally, after my bitching and moaning, refunded the money to the buyer, but the buyer has paypal problems which will take a while to resolve.

But I realized at some point in the past 24 hours, while pondering my situation, that I only took $90 from the bank for the month from July 28 to August 28. That's 30 days of the $3 I prepaid for food for the year. So that 30 days will be up when August 27 ends, and after midnight I can start spending $3 per day again from the bank account. That's not so far away. I'm gonna make it.

I am planning to take local buses all the way from SF to SY, and document which buses to take where and how much the whole trip costs. That should prove interesting and useful information, don't you think? Particularly when it seems most of the rideshare deals I've seen on Craigslist aren't deals at all. $25 or $30 dollars per passenger to SD? Give me a break, that should more than cover all the gas expense for the trip even at today's pump prices. [comment]


Last night was cold. I've been kicking myself for not having brought my nice wool scarf. I was walking past a subway entrance though, and felt a warm rush of air, so spent a good part of the rest of the night walking in and out of the subways. No seats in there, and didn't want any cops telling me not to loiter, so had to keep moving.

Finally about 5 AM or so, sat on a bench along Market, pulled my serape up around my neck as much as I could, and slept. Awoke an hour or two later with some kind of roll in my lap; turned out to be banana bread. Not bad. No idea if this was some individual's gift, or that of the taxpayers, but in any case throwing it away would not help anyone so I ate it.

By 9 or so I was in line with the bottles and cans I'd picked up the previous evening. I was at the end of the line, but I guess because I had so little stuff compared to the others, it was placed first in the queue, so by 5 minutes after it opened I had my 93 cents cash. Not bad in a way, for about 20 items. But not good for 2 hours work. Seen another way, though, I would have been walking anyway, so only really maybe 10 minutes was the "work" of picking up the refuse. Anyway, I still don't have my RAC money so every little bit helps.

I've been at the library since then, but left to go spend my money on a McD's double cheeseburger. Just before getting there, in front of the Chevy's I spotted a penny on the sidewalk. When I got up, a lady who was standing there, apparently waiting for a ride, asked "Are you hungry?" I could answer that most honestly with a resounding "yes!" and so I did. She gave me the half of a pork barbecue sandwich she was holding and I wolfed it down. She left me with a "God bless you". I wanted to say "thou art God" but kept it to myself.

Anyway I've still got my money. Looking around everywhere for a cheap cup of coffee. You can buy a pint of Guinness for $2 and can't find coffee for less than $1.35? [comment]


I'm just about ready to really come out of retirement and get a fulltime high-stress job again, flashbacks or not. I figure it's just as well I still have powerful memories of my major fuckups, that way it's not so likely I'm going to repeat the same mistakes.

I've been picking up pieces of bread and uneaten parts of sandwiches off the sidewalk tables along Columbus, and this afternoon started collecting cans and bottles to take to the recycling place next to the Safeway I mentioned earlier. If I'm going to have to work like this for pennies and bad food, I might as well go whole hog and make decent money. I can still go home on weekends and finish automating the internet café. But I may not be employable, we'll see. My skills are stale and I'm likely to be considered "overqualified" for a lot of stuff in my field. At the same time, those employers looking for certifications and degrees will tell me I'm underqualified when in fact I could probably program circles around their "qualified" applicants. [comment]


more tips for street living in San Francisco. Earliest-opening Starbucks I found is at 44 Montgomery, just north of Market. For a late-night hangout, try the Safeway on Market somewhere between Van Ness and Church. But they throw everybody out for a while to clean the area with the tables and chairs. For a water fountain and restrooms, try the library or, on the other (east) end of Market, the Ferry Building. There's also a water fountain on the north side of Market, I think where Bush intersects it. The public restrooms along Market are out of order most of the time, and the toilets are stopped up, but the doors can be opened by applying some CCW torque and you can pee in the sink as our great mentor Feynman taught us. [comment]


I'm currently in the free Apple computer tryout area of the CompUSA store on Market, waiting for a shot with a PowerBook or whatever, meanwhile using a free Internet Cafe hotspot to pssh into freeshell.org from the Clié. I haven't yet found the cafe, or I'd be using it!

Got my chance, checked my email and I might have a ride to SD! Laterz... [comment]


You may notice a lot of postings missing until my own server comes back online; I hadn't updated the freeshell.org site for a while, and when my server went down I had to switch, since I'm not in Rosarito to diagnose and fix the problem. I suspect the power got turned off.

The SF public library, at least the main branch, has an excellent system for sharing the open-access computers. Better than any other I've seen, it's self-maintaining and doesn't require any intervention from the staff, at least from what I've seen so far. There's a queue of chairs next to the 8 computers downstairs. People sit at the end of the queue and slide up, musical-chair style, as people leave the terminals; a built-in timer enforces the 15-minute limit, and few attempt to double-dip since it's so obviously noticeable. You can go back in line after your 15 minutes are up, all day if you want. It works great! [comment]


Going to try blogging on the Clie and uploading later when I get access to my server again. The past few days have been quite a rush. Kristi Helms's book signing. Meeting a bunch of people IRL for the first time and feeling like Ive known them all my life. Several failed attempts at busking, then finally success last night when a slightly inebriated bachelorette party asked me for a song. I sang Changes in Latitudes and they tipped me $10. Went to the 24-hour Safeway and bought dates and pine nuts in a lame attempt to atone for my complete failure at foraging here in SF. Plenty of date palms in the public areas but the birds get all the good fruits leaving me only seeds and the meatless dried-up dates. Kristi's new book is an excellent follow-on to Invisible Man. In both books the heroes are becoming free of the Matrix as they begin to see through the veil of half-truths and outright lies that spell Reality for the masses. Picked up a new book on the street yesterday. A freebie Advance Reading Copy of Rich Shapero's Wild Animus. I was afraid it would be a waste of time but it's proving that some free things are worth far more than what you paid. [comment]


I can't reach my server by dynamic DNS, which means one of several things. My computers were stolen? The power is off, despite my giving the agent $20 extra to make sure it would get paid? Or maybe I just fubared the script. I hope it's just that.

Anyway, still stuck in San Francisco. RAC decided to hold onto the money from my last job until I get them a photocopy of my Social Security card. I haven't had an actual card for years and haven't needed one for many other jobs. Bummer.

Found a place in SF with $2 pints of Guinness and Beamish stouts! Kennedy's on Columbus. Bartenders are nice girls too, a pretty redhead named Lisa and another whose name I didn't ask, who could be the "black-haired beauty with deep dark eyes" from the Seger song.

More later, time's up! [comment]


Arrived in San Francisco about 5 this morning on a last-minute impulse to meet some online acquaintances. More later. [comment]


c0D3 r3D at dusk

The internet café at dusk. For you guys that haven't stopped by yet. What are you waiting for?


Sun is getting ready to set, it feels like a productive day in a way. I went to San Ysidro this morning and blew over $50 bucks away. The obligatory Starbucks visit, of course. Then some CD blanks, printer paper, and other stuff from KMart. Man, that store is pathetically stocked compared to Wal-Mart. Why don't they just give up? No webcams. MAPP gas but no high-temp torches, and no brazing rods. Most of what I went there for they didn't have. So I've got to go back someday and go the 3 miles or so to Home Depot and/or Wal-Mart. The only reason I use KMart anyway is they're so close to the border.

Speaking of the border, they're piloting the Sentri laser pass at the pedestrian entry at San Ysidro. And it's free, at least for now! So next time I go through I've got to sign up for one of those jobbies. It'll save up to a half hour of waiting each time I cross over.

OK, so got back to c0D3 r3D in time to open at noon. Messed around with CUPS and got my printer working; had to menuconfig the lp module first, then add some modprobes to rc.cups. Then read in texinfo docs for mtools, and am now able to use mdir, mcopy, and mdel on the JB1 camera again after adding this to my configuration:


Not sure both were necessary, but hell, it works now, let's move on to something else. Like get the JB1 to work in webcam mode. I've just about given up on that, though. I think I'll buy another webcam tomorrow, at one of the local computer shops, if they aren't gonna rip me off too obscenely.

I finished Invisible Man today. To me, it ended more with a whimper than a bang, but still the book kicks ass most of the way through. I'm very happy to have gone through a lot of the narrator's experiences vicariously than first-hand.

Now to work on the yp configuration. It's necessary if this place is ever going to be fully automated, and leave me free to travel again. [comment]


Making some progress on the webcam front; googling for stv0674 instead of stv0680 led me to gphoto2 (which I had already installed a few weeks ago), which supposedly supports the device. I even found this webpage which shows the French-marketed version of the same camera, but with different vendor/product numbers. There's a command in gphoto2 that supposedly lets you map one set of USB numbers onto another, but it wasn't working for me so I edited the source (here's the patch):

jcomeau@zero:~/tmp/libgphoto2-2.1.4$ gendiff . .orig
--- ./camlibs/stv0674/stv0674.c.orig    2004-01-18 19:47:04.000000000 +0000
+++ ./camlibs/stv0674/stv0674.c 2004-08-16 04:09:34.000000000 +0000
@@ -57,7 +57,8 @@
 *  Michael Rensing <mrensing@users.sourceforge.net>
 *      { "l'espion xtra by DigitalDream",   0x05DA, 0x1020 }
-      { "DigitalDream:l'espion xtra",   0x05DA, 0x1020 }
+      { "DigitalDream:l'espion xtra",   0x05DA, 0x1020 },
+      { "DigitalDream:James Bond 1", 0x4483, 0x0005 }

After rebuilding libgphoto2, the camera came up in the --list-cameras output, but still wouldn't be detected. I went over the installation instructions and realized I'd left a bunch of stuff undone in the /etc/hotplug directory, and corrected those things; still no go. Then, after running strace a few times, I realized it wasn't even looking under /proc/bus/usb. It seems slackware 9.1 has two versions of libusb installed, by two different packages:

root@zero:/tmp# grep 'libusb.*\.so' /var/log/packages/*

And the older one was symlinked to libusb.so and libusb.so.0. I corrected that:

root@zero:/usr/lib# ln -sf libusb-0.1.so.4.3.0 libusb.so
root@zero:/usr/lib# ln -sf libusb-0.1.so.4.3.0 libusb.so.0

And now it at least is recognized:

root@zero:~# gphoto2 -a
Abilities for camera             : DigitalDream James Bond 1
Serial port support              : no
USB support                      : yes
Capture choices                  :
                                 : Image
                                 : Preview
Configuration support            : no
Delete files on camera support   : no
File preview (thumbnail) support : yes
File upload support              : no

But the little green LED does not come on, and it fails --capture-image. So I'm not out of the woods yet. [comment]


Big day, I hauled in a little over 6 dollars. Wow. Too bad I spent more than that on food alone, I really went hog-wild. Also bought an old dot-matrix printer at the Red Cross thrift store for 5 dollars. Several times already I've lost customers because I couldn't make a hardcopy. This won't help an awful lot if they want laser or inkjet quality, but it will meet the most basic needs at least. They had an inkjet printer they would have let go for $8, but I've never had much luck with the damned things. The cartridges work the first day, then go kaputt, and no amount of messing with them can get them to work reliably. Maybe I just have bad karma.

I managed to make some progress with my network boot setup; both stations are now 100% diskless, though one still has the option of the Damn Small Linux CD in case something goes wrong with the bootserver. I've got xscreensaver running on all 3 computers, and I can easily get lost in them. A lot of the programs show amazing creativity. Fascinating.

I've had to go back to v0.91 on amsn, I had two computers crash yesterday when kids were using it with large contact lists. It spawned multiple copies of mozilla-bin for some reason. Maybe they were doing something funky, but whatever, it locked the boxes up good. I'm not sure the older version is any better but we'll see. I haven't gotten gaim to come up yet on the client boxes. It starts up, but without all the graphics, and apparently without fonts. And it doesn't accept any input.

I found a bunch of .pdf documentation on the STV chip at www.st.com, but not really what I was looking for. And though they mention an SDK I can't seem to find it anywhere. Of course, it's only for Windows anyway, but I was hoping the header files could give me some clues. Anyway, no progress on that front. Actually, things are worse with it in a way, because I used to be able to mount the camera as a storage device and fetch images off it; now it won't even work for that. Apparenly older Linux kernels and utilities could deal with the single 16-bit FAT that this uses, but no more. If I reformat it with 2 FATs using mformat, the camera still works but only updates one of the FATs. Then dosfsck will "fix" it by truncating all the files to zero bytes. Very useful. On the other hand, if I use dosmkfs, I can mount it and copy files to and drom it, but the camera can't deal with it. Anyway, that's no biggie because the Clié has a better camera. I really just want the JB1 to function as a webcam now, so that's where my efforts are going to go. [comment]


Just got to the part in Ralph Ellison's Invisible Man where the narrator is being released after the shock treatments. This is one amazing book. I remember that I read it back in the 60's but damned if I remember anything about it, it all seems completely new to me. Maybe if I really read it back then I didn't have the experience necessary to make any sense of it.

I just took apart the JB1 camera. The chip inside is, I guess, similar to the STV0680B, its number is STV0674T100. To take apart the camera, you basically pry it open at the crack, after slicing through the serial number label at the bottom and removing the one screw hidden under the last digits of the S/N. The piezo buzzer and crystal are hiding the chip numbers, you need to lift both carefully. Well, be careful with the crystal at least, if you want the damned thing to work again when you're done. Unfortunately, there's this little square of black plastic that fell out somewhere in the process and I can't figure out where it belongs. Hopefully if it's important, it will become apparent.

For now, gotta see if I can dig up some dirt on this chip online without having to pay too much. I could probably buy a webcam for $10 to $20 that works with Linux, but this should, and it's a challenge I feel like pursuing at the moment. [comment]


OK, so I'm an idiot. EPERM doesn't mean permissions, that's EACCES. EPERM is a "generic error" type of thing, "not permitted" meaning "you just can't do that, dude". Still, it's misleading, and I'm replacing the error codes in stv680.c with ones that I think are more appropriate.

I've tried commenting out some calls to see if subsequent accesses work, and found out that two of the "reads" over the USB wire succeeded, but none of the first 3 "writes". I wonder if it's at all possible that the weak battery has anything to do with my problem. You wouldn't think so when it's drawing power from the USB port, but after removing the battery completely it won't even go to webcam mode, it stays in disk emulation mode and ignores the mode switch. So I'm not sure. I'll go buy some new batteries and try again. I can see it's not going to be easy to work on this driver. All the accesses to the chip are done with numbers, the codes aren't defined nor documented that I can see. 0x88, 0x8a, 0x8b. Whoop-dee-doo. How the fuck is this supposed to be maintained? But I can't blame the author, it's unpaid work and he was writing it to solve his own immediate need, the same as I am. Like a good Boy Scout, I'll try to leave it better than I found it.

Scrounged up another 2 and a half hours of music, so over 4 hours total before hearing the same songs again. It's not good yet, but an improvment nonetheless.

Gonna go get some food, talk to you later. [comment]


OK, here's what I grok so far. stv_open calls stv_init calls stv_sndctrl with a command 0x88 and a message 'Vx' which is supposed to come back the same. stv_sndctrl calls usb_rcvctrlpipe then usb_control_msg. And the error that comes back is EPIPE (-32):

Aug 12 23:54:02 zero kernel: drivers/usb/media/stv680.c: [stv_sndctrl:216] STV(e): usb_control_msg error 0, request = 0x88, error = -32

But it's EPERM that gets returned to the user, which is misleading. I don't think that was the intention, because in stv_init the author wrote the return code as -1 the "generic error" indicator. But then stv_open just passes that back as its return code so the user gets tricked into thinking something is wrong with permissions when in fact they're not at fault.

Taking a break, gotta round up some more music. All I've ripped so far is my Joni Mitchell and Moody Blues "greatest hits" albums, and a few assorted karaoke numbers. I've got it playing 24 hours and getting kind of tired of the same songs over and over. [comment]


Being under threat of death alters one's whole physical and mental condition. A knot develops in my stomach, I can't focus well on anything that requires a lot of mental processing, like programming, and I lose my appetite. But I know from experience that it won't be this way for long. I'll go back to the way I was in NYC after getting mugged early one morning in 1984 by a couple of Puerto Rican thugs. After a while you get comfortable with your death angel. You invite him along everywhere you go instead of fearing him. You're always in fight-or-flight condition but your brain has time for higher-level activity in the little snippets afforded to it during the day.

I've never studied terrorism, but my guess is that its primary purpose is to choke off the economic productivity of its target. It works for a while. But after, at the most, two or three generations, people get used to living under fire, and they manage to thrive under it (that is, if they don't die out as a race). Look at Israel. Terrorism doesn't scare them, it just pisses them off. They manage to continue outproducing all their neighbors regardless of being sniped at both with words and weapons.

Don't infer from that that I'm a Zionist. I haven't made my mind up on the subject and probably never will. Their G-d is not my friend. But I like the Israeli people I've had the opportunity to meet. Their cynicism can be annoying sometimes, but more often it and their self-deprecating humor is chicken soup for my soul.

Anyway, writing this up has calmed me down somewhat. I'll keep my eyes out for black limos but I'll get back to seeing why this goddamned stv680 driver isn't talking with my JB1 camera. [comment]


From: mich <mich617@comcast.net>
To: jc.jcomeau.com
Date: Thu, 12 Aug 2004 17:17:45 -0400

John if you read the forums you would see she just found out she was already refunded and it wasnt me that had anything to do with that crap. At least fix the misinfo you started to spread against me again! I told you stop jumping the gun but you kept on trying to make me look bad. The least you can do is say sal was right for once instead of making me look like a ass.

Sal, you pathetic loser. Read my response at stoponlinefraud.com. [comment]


I used to like the Mafia. To my way of thinking, they were one of the few entities strong enough to keep the greater evils of the CFR and other secret societies at least partially in check. But the days of Capone and Luciano are long gone. Now all we have is Sal? Give me a fucking break.

Come on, FBI and PA state police. Surely the mob hasn't been able to pay all of you off. Put this guy away already. He's gonna make you the laughingstock of the world. Actually, he already has, but it's not too late to do some damage control. [comment]


Ah, Dr. Jeckyll returns. See how nice you can be when you want to, Sal? I'm still charging you for the threats. No matter which personality was in control at the time you typed them.

Received: from homejafkfo6mp3 (pcp01334016pcs.columb01.pa.comcast.net[])
          by comcast.net (rwcrmhc12) with SMTP
          id <2004081204250701400qv1gqe>; Thu, 12 Aug 2004 04:25:08 +0000
Message-ID: <000a01c48024$5d9c7850$aa005144@homejafkfo6mp3>
From: "mich" <mich617@comcast.net>
To: <jc.jcomeau.com>
Date: Thu, 12 Aug 2004 00:25:14 -0400

Whats that email? LOL sorry but that wasnt me. Thats not my ip address by the way. I know you think your smart but sorry i guess your not that smart. Man Whos internet account are you stealing from tonight?



Sal, you are the only one threatening. That's another $100000 you owe me. Now learn how to read before you get yourself more in debt. $210000 so far. I'll be nice and count this email as only one threat although there are technically at least 3 in it.

Return-Path: <mich617@comcast.net>
Received: from homejafkfo6mp3 (pcp01334016pcs.columb01.pa.comcast.net[])
Message-ID: <000801c48021$adbc9570$aa005144@homejafkfo6mp3>
From: "mich" <mich617@comcast.net>
To: <jc.jcomeau.com>
Date: Thu, 12 Aug 2004 00:06:00 -0400
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1409
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409

Lol Do you want to make threats now john? Are you sure you want to make threats against me? Bill all you want that shit dont bother me. You started this crap and just dont stop so what should i do with you? Let you keep talking your shit about me? Im going to shut that mouth the fuck up one way or another. Now you want threats asshole? I will fuck your whole world up and skull fuck you! I will beat your stinky ass down until theres nothing left of you but teeth laying on the ground dirt bag! Keep fucking with me and see what happens jerk off.

You think im a mobster wanna be? Im worst then any fucking mobster you can ever find. I will cut your heart out and eat it. Fuck with me and watch what your ass gets. You dont have to tell me were you are i already know exactly were you are so keep it up.

Now for the last time end the bullshit. You want to threaten my family now? You just made THE WORST mistake you can ever have made. I hope they at least let you cry a bit.



Sal, I've just billed you $110000 via 11 Paypal invoices. Sorry it couldn't all be on one, they won't let me charge more than 10k per. The $10000 was, as I indicated previously, for 100 hours of my time collecting the $405 debt. The other $100k was for the death threat, and I'll continue to charge the same or more for each one I receive. You really pissed me off this time. [comment]


Oh, and Sal, my whois address is only where I get my mail. They're not even related. I actually do live in Mexico, in Rosarito Beach to be exact. Just ask anybody in town for the smelly Americano who doesn't take showers and doesn't wash his clothes, they all know me.

You're safe emailing death threats to me because I don't take you seriously. Be careful though, someday you're going to fuck with some paranoid violent mobster like yourself who thinks you're a danger, and to protect himself he'll come to your house to take you out. And your wife and kids might get caught in the crossfire. Does Michelle know you're endangering her and Sal III like this? [comment]


And here's Sal's other personality.

Return-Path: <mich617@comcast.net>
Received: from unknown (HELO rwcrmhc12.comcast.net) (
  by axfr.key-systems.net with SMTP; 12 Aug 2004 01:28:54 -0000
Received: from homejafkfo6mp3 (pcp01334016pcs.columb01.pa.comcast.net[])
          by comcast.net (rwcrmhc12) with SMTP
          id <2004081201391301400qv0mve>; Thu, 12 Aug 2004 01:39:13 +0000
Message-ID: <000a01c4800d$3014b490$aa005144@homejafkfo6mp3>
From: "mich" <mich617@comcast.net>
To: <jc.jcomeau.com>
Date: Wed, 11 Aug 2004 21:39:19 -0400
MIME-Version: 1.0
X-Mailer: Microsoft Outlook Express 6.00.2800.1409
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409

I dont have anything to do with that account but hey say what you want. Looks like someones hard at work for vince on his computer trying to fix everything because i seen you money request is canceled. Then again that could be ebay or paypal doing that because i sent complaints against you to them because ebay refunded you some money from what i heard. Show me my name on that stuff? You cant change a name on a paypal account unless you fax them a bunch of stuff to prove who you are. Even someone as dumb as you should know that.



Uh, Sal, better use an open proxy to do this shit. It's really kind of dumb to be emailing threats from the same IP that you do all your other correspondence from. I know you've got a little deal going on with the cops but try not to embarrass them, OK?

Return-Path: <bigdummyneedstogotosleep@yahoo.com>
Received: from unknown (HELO web61208.mail.yahoo.com) (
  by axfr.key-systems.net with SMTP; 12 Aug 2004 01:10:11 -0000
Message-ID: <20040812012030.29652.qmail@web61208.mail.yahoo.com>
Received: from [] by web61208.mail.yahoo.com via HTTP; Wed, 11 Aug 2004 18:20:30 PDT
Date: Wed, 11 Aug 2004 18:20:30 -0700 (PDT)
From: bill yourass <bigdummyneedstogotosleep@yahoo.com>
Subject: Big trouble
To: jc.jcomeau.com
Content-Type: text/plain; charset=us-ascii

Ok dude so you been pushing around fucking with someone i know like crazy lately. I just seen and heard more bullshit you are starting with him. Not for nothing but you need to keep your mouth closed up before someone does it for you. We know were you are dude. Dont think you can hide just because your near mexico. You cant hide from us. Nobody can hide from us. Drop it or be dropped!



I guess it's completely coincidental that I just got this too:

From: roaddog1@verizon.net <roaddog1@verizon.net>
To: jc.jcomeau.com
Date: Wed, 11 Aug 2004 11:09:40 -0700
Subject: Money Request Cancelled

Dear John Comeau,

scooters and toys (roaddog1@verizon.net) cancelled the following Money Request:

------------------------------ Money Request Details ------------------------------

Amount: $405.00 USD

Subject: refund demanded Note:Last chance to refund me this amount. After this it will go up as my collection expenses increase. You have 24 hours to refund this amount.

To view updated details of this Money Request, click on the following link or copy and paste the link into your web browser:


Thank you for using PayPal! The PayPal Team

---------------------------------------------------------------- PROTECT YOUR PASSWORD

NEVER give your password to anyone and ONLY log in at https://www.paypal.com/. Protect yourself against fraudulent websites by opening a new web browser (e.g. Internet Explorer or Netscape) and typing in the PayPal URL every time you log in to your account.


PayPal Email ID PP302

This was from sometime in January or February, and just canceled now. But oh, no, Sal doesn't have anything to do with that email address. Just a coincidence. [comment]


From: mich <mich617@comcast.net>
To: jc,jcomeau.com
Date: Wed, 11 Aug 2004 21:12:09 -0400

What! Number one asshole you cant change a name on a paypal account!! Thats not my account it is vinces. You show me proof of my name being with that account. I did sell for vince but stoped and steve took over because i was done working for vince. Anyway if the man wasnt refunded then thats vinces problem. Its his bank account and everything else on file with paypal not me. I was just a worker for him but when i found out them coins were fake i told him thats it and we cant send them out. He still has the coins and from what i heard some were good. Maybe vince will help the guy out but if not then let the cops deal with his ass. Say what you want but this is not my problem.

You oughta go cleanse yourself in the Ganges, but instead you keep going back to that river in Egypt. What a limpdick. You know your kids are going to be reading this online in a few years? Yes, sir, even if you manage to shut down all 4 of my websites it will still be archived on the wayback machine among many other places. Your kids will probably change their names so they won't be associated with you. [comment]


Making some progress. Figured out roughly how this hotplug data is gathered and edited the C and header files accordingly. Now it recognizes the camera:

Aug 12 00:55:21 zero kernel: drivers/usb/media/stv680.c: [stv680_probe:1399] STV(i): STV0680 camera found.
Aug 12 00:55:21 zero kernel: drivers/usb/media/stv680.c: [stv680_probe:1437] STV(i): registered new video device: video0

However, it won't let me read from it, and the perms seem to me like they should allow it:

open("/dev/video0", O_RDONLY|O_LARGEFILE) = -1 EPERM (Operation not permitted)
write(2, "head: ", 6head: ) = 6
write(2, "/dev/video0", 11/dev/video0) = 11
write(2, ": Operation not permitted", 25: Operation not permitted) = 25
write(2, "\n", 1) = 1
exit_group(1) = ?
jcomeau@zero:~/www/www/blog$ ls -l /dev/video0
crw-rw-rw- 2 root sys 81, 0 Mar 9 2003 /dev/video0

Here's the patch so far:

root@zero:/usr/src/linux-2.6.7/drivers/usb/media# gendiff . .orig
--- ./stv680.h.orig 2004-06-16 05:19:44.000000000 +0000
+++ ./stv680.h 2004-08-11 23:00:11.000000000 +0000
@@ -41,12 +41,15 @@

#define USB_PENCAM_VENDOR_ID 0x0553
#define USB_PENCAM_PRODUCT_ID 0x0202
+#define USB_JB1CAM_VENDOR_ID 0x4483
+#define USB_JB1CAM_PRODUCT_ID 0x0005
#define PENCAM_TIMEOUT 1000
/* fmt 4 */

static struct usb_device_id device_table[] = {
MODULE_DEVICE_TABLE (usb, device_table);
--- ./stv680.c.orig 2004-06-16 05:19:42.000000000 +0000
+++ ./stv680.c 2004-08-11 23:45:22.000000000 +0000
@@ -74,7 +74,7 @@
static int swapRGB = 0; /* default for auto sleect */
static int swapRGB_on = 0; /* default to allow auto select; -1=swap never, +1= swap always */

-static unsigned int debug = 0;
+static unsigned int debug = 2;

#define PDEBUG(level, fmt, args...) \
do { \
@@ -86,8 +86,9 @@
* Version Information
-#define DRIVER_VERSION "v0.25"
+#define DRIVER_VERSION "v0.25jc"
#define DRIVER_AUTHOR "Kevin Sisson <kjsisson@bellsouth.net>"
+#define DRIVER_HACKER "John Comeau <jc@jcomeau.com>"
#define DRIVER_DESC "STV0680 USB Camera Driver"

@@ -1392,7 +1393,8 @@

interface = &intf->altsetting[0];
/* Is it a STV680? */
- if ((dev->descriptor.idVendor == USB_PENCAM_VENDOR_ID) && (dev->descriptor.idProduct == USB_PENCAM_PRODUCT_ID)) {
+ if (((dev->descriptor.idVendor == USB_PENCAM_VENDOR_ID) && (dev->descriptor.idProduct == USB_PENCAM_PRODUCT_ID)) ||
+ ((dev->descriptor.idVendor == USB_JB1CAM_VENDOR_ID) && (dev->descriptor.idProduct == USB_JB1CAM_PRODUCT_ID))) {
camera_name = "STV0680";
PDEBUG (0, "STV(i): STV0680 camera found.");
} else {


Hey Sal, I tried to check out your webpage and it was gone! What happened, Vince's boys made you take it down? I heard back from Mike, yes the refund was awarded him, but guess what? Your account had no available funds with which to pay it. So what's your lame-assed excuse now? Don't tell me about Steve Kelley, that was your name on the same account in September. You changed it to "Steve" later in the game. And who's Robyn? Is he part of the same rat pack? [comment]


Looks like I hit a nerve. Visit StopOnlineFraud.com for the scoop on this.

From: mich <mich617@comcast.net>
To: jc.jcomeau.com
Date: Wed, 11 Aug 2004 18:54:09 -0400

Hey john cut the shit. Dont tell me who or what i did. I refunded anyone that had anything to do with me and the crap you posted is not my problem. That guy never paid me anything. I already posted proof of a refund and also gave it to the detectives so dont go around trying to spread more bullshit. Nothing was sent to me and nothing was cashed by me and on top of that its not my account its vinces so the only fool here would be you assuming im in the wrong.

Of course everyones quick to judge when theres a problem but when someone does good you dont hear shit about it. Why not go judge yourself there john? Your just so good aint you? Did you hear from ebay yet? You should be. You know double dipping is illegal?



From: mich <mich617@comcast.net>
To: jc.jcomeau.com
Date: Wed, 11 Aug 2004 18:24:04 -0400

Nope sorry but he was refunded and on top of that its not sal its vince. That was his account not mine but by the looks of it he was refunded. At least now it shows it was vince with the coins! Sorry already sent the authoritys the info and its not me. Nice try though.

Sal, you have zero credibility. You might as well refund this guy's money now; don't you realize that the above statement just confirms your guilt? How can you be so smart in scamming and so stupid in everything else? [comment]


Guess I'm a little slow. The hotplug scripts don't even look at usb.distmap with modern kernels. They instead use a file created by depmod, in my case /lib/modules/2.6.7/modules.usbmap. That's where it's getting the mapping for stv680. Back to hacking stv680.c. [comment]


Hey, Sal! Just heard from another victim of yours. $1885 from the gold coin scam. Got any money left from your most recent job? I'll be posting all the info soon. Sure, it might be someone looking for a "free dollar" as you said, but the emails sure look like your "style". We'll soon see, won't we? [comment]


Here's what usb.agent tells me it sees:

Aug 11 20:10:03 zero usb.agent[4605]: ultracam 1121 2067
Aug 11 20:10:03 zero usb.agent[4679]: usb-storage 0 0
Aug 11 20:10:03 zero usb.agent[4679]: line=usb-storage 0x0380 0x0000 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x08 0x04 0x01 0x0
Aug 11 20:10:03 zero usb.agent[4605]: line=stv680 0x0003 0x0553 0x0202 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0
Aug 11 20:10:03 zero usb.agent[4679]: usb-storage 0 0
Aug 11 20:10:03 zero usb.agent[4605]: stv680 1363 514
Aug 11 20:10:03 zero usb.agent[4605]: line=se401 0x0003 0x03e8 0x0004 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0
Aug 11 20:10:03 zero usb.agent[4605]: se401 1000 4
Aug 11 20:10:03 zero usb.agent[4605]: line=se401 0x0003 0x0471 0x030b 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0
Aug 11 20:10:03 zero usb.agent[4605]: se401 1137 779

When usb.distmap actually has:

# usb module match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info
stv680 0x0003 0x4483 0x0005 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
usbvideo 0x0003 0x4483 0x0005 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
visor 0x0003 0x054c 0x0169 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

The Bash code in usb.agent is so fucking ugly, I think I'd rather rewrite it than try to grok it. I don't really care if the end result is runnable on anyone else's system, the current one obviously ain't workin' on mine. It's getting that vendor number of 0553 (1363 decimal) from the cpia-usb driver for some strange reason I can't yet figure out. [comment]


OK, so now I remember why it's wrong to put kernel mode drivers in usb.usermap. It's for usermode drivers. Bleah. Now I've got to figure out why it doesn't accept it correctly in usb.distmap. I guess usb.handmap is also OK to plunk stv680 into, but might was well figure out why it didn't work in the distmap.

Adding more debug_mesg lines to hotplug.functions showed me that MODPROBE was showing up as ':'. WTF? Turns out usb.agent sets it to that for usermode drivers, and then executes the corresponding script under /etc/hotplug/usb/. [comment]


The best-laid plans gang aft agley. By 0600 local time I was so goddamned sleepy I couldn't go to the beach. But at least I'm moving my body's schedule forward, maybe tomorrow it'll work out.

Found out how to give the URL to XMMS: without the http:// and without the trailing .m3u. So, in my case,

Goal for today: get my webcam working. Wish me luck. [comment]


Fiddling with the setup of my development box. Got the sound working, for real this time it seems. I don't know which change did it; I changed the sound from 'auto' to 'enabled' in the BIOS for one. But then I remembered you have to leave the 'capture monitor' muted in alsamixer. After muting that, I could aplay tada.wav and it worked.

Also got my hard drive running almost an order-of-magnitude faster, from less than 3 to almost 20 Mbytes/sec. I had tried hdparm -tT /dev/hda and got the low numbers, then attempted to turn on DMA with hdparm -d1 -c3 /dev/hda and the -c3 (32-bit transfers) worked but -d1 didn't. Turns out you have to config the IDE PCI driver for your particular chipset into the kernel (module won't cut it). In my case this was the sis5513 for the K7S41 mobo that comes with the cheapo Walmart boxen. Maybe this will help speed up the system when running updatedb; it got so bad the icecast streaming stopped.

I'm not learning how hotplugging works, but I'm picking up a little what doesn't... I added a line for the James Bond JB1 camera to /etc/hotplug/usb.distmap and it did nothing. Adding debug code to usb.agent showed it coming up with the wrong numbers! Moved the same line out of there and into usb.usermap and now it at least recognizes it should load the driver. It still doesn't load it yet though. And even if I modprobe the driver it doesn't recognize the camera, even though I put the vendor and product codes into the stv680 driver.

So anyway, sound is working, HD is a helluvalot faster, and I've only got a billion other things to learn before morning comes. I've decided to go back to daysleeping for now; if I go too late to the beach I can't find as many mussels as I do when I'm one of the earlybirds. I like free food a lot, especially something healthy like seafood. So I'll go gather my brunch, bring it back and then get my shuteye. [comment]


OK, fixed most of the hassles. But for some reason xmms on the client machine won't just play the stream using the URL, I've got to open using links, then pass it to xmms when it prompts me. No biggie. Also found out you can rebuild the song list at any time, at least without the -r (randomize) option, and it will update on-the-fly. It might work with -r too, just haven't tested it yet. Well, without further ado, here's my rc.icecast script:

# icecast streaming startup script
if [ "$1" = "start" ]; then
 HOSTIP=`gethostip -d $HOSTNAME`
 SOURCEPASS=`head -c 8 /dev/urandom | md5sum | head -c 8`
 cat <<EOT >/etc/icecast/icecast.xml

<authentication> <!-- Sources log in with username 'source' --> <source-password>$SOURCEPASS</source-password> <!-- Relays log in username 'relay' --> <relay-password>$SOURCEPASS</relay-password>

<!-- Admin logs in with the username given below --> <admin-user>admin</admin-user> <admin-password>$SOURCEPASS</admin-password> </authentication>


<!-- You may have multiple <listener> elements --> <listen-socket> <port>8000</port> <!-- <bind-address></bind-address> --> </listen-socket>


<paths> <!-- basedir is only used if chroot is enabled --> <basedir>/usr/share/icecast</basedir>

<!-- Note that if <chroot> is turned on below, these paths must both be relative to the new root, not the original root --> <logdir>/usr/var/log/icecast</logdir> <webroot>/usr/share/icecast/web</webroot> <adminroot>/usr/share/icecast/admin</adminroot> </paths>

<logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> </logging>

<security> <chroot>0</chroot> <changeowner> <user>nobody</user> <group>nogroup</group> </changeowner> </security> </icecast> EOT ls -1 /home/nobody/www/music/*/*.mp3 > /home/nobody/www/playlist.txt # the -b doesn't really seem to work, need to add the & anyway icecast -c /etc/icecast/icecast.xml -b & # stream a randomly-ordered list with mountpoint /mp3 ices -P $SOURCEPASS -F /home/nobody/www/playlist.txt -m /mp3 -r -B -t http elif [ "$1" = "restart" ]; then $0 stop $0 start else list="`pidof icecast`"; if [ "$list" ]; then kill $list; fi list="`pidof ices`"; if [ "$list" ]; then kill $list; fi sleep 2 list="`pidof icecast`"; if [ "$list" ]; then kill -KILL $list; fi list="`pidof ices`"; if [ "$list" ]; then kill -KILL $list; fi fi



Oh yeah, I forgot the client setup. It wasn't exactly straightforward like going to shoutcast.com. I tried using xmms 'open location' and typed in It didn't complain but it didn't play anything either, and the admin page on the server, http://localhost:8000/admin/ didn't show any client connections. So I opened up an xterm on the client computer, alyce, lynxed to, logged in as admin, and tried to fetch the stream from there; lynx offers to open it in xmms as one of the options. Then it tried redirecting me to 'localhost' for the stream. Bugger. Back on the server, I edited the icecast.xml config file and changed the server name from localhost to zero, its name in /etc/hosts. Hupped the server. Now the client doesn't know anything about zero. I don't have yp figured out yet, and besides I'm not even sure DSL has it. I tried editing /etc/hosts on the client to add zero as, and it said it was a read-only filesystem. WTF??? It was a symlink to the /KNOPPIX compressed filesystem. Bugger again. rm'd it and made a new one. Back to lynx, opened it in xmms. Joni was about halfway through Circle Game, and it started booming out the speakers.

If I wanted to stream to the world, then I'd have to change the hostname in the xml file to be the FQDN? That kind of sucks, doesn't it? I agree with the 'useful defaults' philosophy that's followed, thankfully, by a majority of open source programmers. This is not a useful default. Then again, I didn't try commenting out that section of the .xml file altogether; maybe the programmer got it right, and the one who made the default config file screwed up. [comment]


Shoutcast is great, and I loved hearing the jazz, but it just takes too damned much bandwidth. It took me the last two days or so to set up icecast, but now I'm streaming Joni Mitchell from my still-soundless development box to the Damn Small Linux box next to it! Cool!

Here's the setup so far. I've obviously got some tweaking to do, but this'll get you started. Build the latest icecast server, and the older version 0.3 of ices if you want to stream mp3. Go ahead and use the newer ices if you can deal with ogg/vorbis streaming, but I didn't want to change too many things at once and I know my xmms is configured to play mp3.

After building everything you need, including associated libraries, start up the icecast server and the ices stream source. The playlist.txt is just a list of files, one per line.

root@zero:/etc/icecast# icecast -c /etc/icecast/icecast.xml &
root@zero:/etc/icecast# ices -F /tmp/playlist.txt -P hackme -t http
Logfile opened
Playing /home/nobody/www/music/audio_01.wav.mp3
Mounted on
Playing /home/nobody/www/music/audio_02.wav.mp3
Playing /home/nobody/www/music/audio_03.wav.mp3

The ices manpage says http is the default. Don't believe it. I kept getting password failures till I looked at the tcpdump output and saw it was using 'icy' protocol and wasn't sending the auth info in base64-encoded format the way http likes it. [comment]


OK, got postFORTH version 0 compiling again. This time I actually put the return stack at the end of .bss where it belongs, instead of fiddling with the machine stack. Well, it really doesn't belong there either, but it's an improvement. Ideally it would be malloc'd and protected separate from any other memory section so stack overflows would crash rather than overwrite other memory areas. But leave that for v1. [comment]


Hmm, the sound is working, and it isn't. When I plugged in the speakers and microphone, I got feedback squeal; after some adjustments, I could speak into the mike and hear the sound, amplified, coming out of the speakers. So far so good.

Then, putting everything back together, I pulled the plug out of the wall socket. Oops. All 3 computers die. Well, time to test my recovery procedures: almost an hour till everything was back up and playing classic rock on Shoutcast. Steely Dan, Kid Charlemagne... Ahhh.... But the sound on my dev box still isn't completely working. I can't aplay tada.wav, for example. It thinks it's playing it, but no sound comes out of the speakers.

Got an idea for a new protocol (like we need more new protocols...), one just for fun. Set your mike and ALSA up for capture, and stream it by UDP out some port, and listen on the same port for streams from other weirdos. Mix it all together and keep it playing. Instant ambiance! Random conversations from all over the universe like in a bar on Babylon 5. Smart geeks can sell the service to local bars and restaurants who don't know they can get it for free. :^)

Actually, there are probably numerous protocols already existing that I can patch together for this. H323 comes to mind, and Gnutella. [comment]


I think I've got ALSA working on my dev box now, won't know for sure until tomorrow when I can make some noise - I've got the white boxen locked underneath this big wooden box I use for a table, and I always make noise opening and closing the damned thing. When upgrading ALSA, remember to recompile the libs before the utils, otherwise you'll get fatal errors. The drivers, of course, are completely independent as far as compiling goes; but if you don't have the latest alsaconf to match the drivers, your sound card may not be recognized - that was the problem I was having. Solved now, or so it seems. Hasta mañana. [comment]


Got the CD burner working too, with a little help from Google and a few million geek friends. Got my /home backed up at least.

root@zero:~# history | egrep 'cdrecord|cdda2wav|mkisofs'
 7417  cdda2wav --device=/dev/cdrom -B
 7424  cdrecord dev=ATAPI -scanbus
 7426  cdrecord -dev=ATAPI:0,0,0 -toc
 7429  cdrecord dev=ATAPI:0,0,0 -dao -audio -dummy speed=24 *.wav
 7431  mkisofs -R -o /tmp/homecd.raw /home
 7434  cdrecord -dev=ATAPI:0,0,0 speed=24 /tmp/homecd.raw

About time to call it a night I guess, but damn things are going good. Don't really want to stop. [comment]


Don't have the CDROM drive doing anything yet but I've made progress; MUSIC!!!. Listening to KJAZ in San Fran via Shoutcast and xmms on the DSL box. I'd remembered I had that working some weeks ago. I should read my own blog more often.

Also, successfully running X under the 2.6.7 kernel on my development box. Finally tried the proto=bare on the psmouse driver. Fuckin-eh! Finally working. Although I'm not using a KVM switch the symptoms were the same as those reported on the lkml and related lists, and sure enough the 'bare' protocol doesn't exhibit the jumpiness as the imps and other protocols. I don't know what the hell I'm talking about, you can probably see - I'm just using the terminology in the driver source. [comment]


Episode over. Naturally he ignored my demand for payment of my collection efforts. He hasn't learned anything. Probably never will.

From: mich <mich617@comcast.net>
To: jc.jcomeau.com
Date: Sun, 8 Aug 2004 22:28:06 -0400
Subject: Re: Refunded

O thats a good one. All the emails go right to the detectives from this email anyway so i doubt i would get scammed from anyone. Anyway have a good life and hope your internet cafe goes good.

Well, now I'm back to work. Found out how to use binfmt_misc today, the Linux module (or builtin feature) that allows you to tell the kernel how to handle files based either on the magic number (good) or extension (Windows-style, Bad).

Here's my rc.binfmt_misc startup file, and the postscript program that functions as a filter (command-line utility) using ghostscript as an interpreter, through the binfmt_misc mechanism. All this was to serve as a test for btoa.pf, the ASCII-85 encoder written in postforth. After setting my environment variables, I could run the script successfully:

jcomeau@zero:~/www/www/blog$ export GS_OPTIONS='-q -dBATCH'
jcomeau@zero:~/www/www/blog$ tail /etc/printcap
# - no other printer defines between BEGIN and END LABEL
# APS1_END - don't delete this
jcomeau@zero:~/www/www/blog$ tail /etc/printcap | btoa.pf
jcomeau@zero:~/www/www/blog$ tail /etc/printcap | btoa.pf | ascii85decode
# - no other printer defines between BEGIN and END LABEL
# APS1_END - don't delete this

If anybody's tried, you can see I've already broken postforth again, I think when changing stack size in the kernel yesterday. I never did like the messy way I create the return stack in postforth v0 anyway. But I played with it till it at least compiles pf, which is what is necessary to run btoa.pf.

Now to see if I can get the CD burner working before the night is over. [comment]


Hey, I just found out something cool. You're in the Matrix! Check this out. Go to a webpage that's mostly empty, like Google, and set your browser to full-screen. Wave your fingers in front of the screen. The screen refresh will strobe the action so it looks like the bullet sequences in the Matrix; you'll see the "trail" left by the movement of each finger. Note that this is most likely only gonna work with a CRT, not a flatscreen.

Now look around. Your co-workers are looking at you, thinking "has that fucker lost his mind or what???" [comment]


Assembly language programming used to be pretty straightforward. Now it's fucking voodoo. Since when does removing an unnecessary subroutine call make a program slower??? Fuck prefetch.

I've got lots of programs I could be writing, some which would pay me now, some which might pay me eventually, and some which will never pay anything. So which one do I choose? You guessed it. Postforth. I've got version 0 working again (the new version of 'as' didn't recognize my comments as comments) and I'm probing the waters to decide what kind of threading to use on version 1. [comment]


Last November, a discussion about mouse behavior (or lack thereof) in the 2.6 kernel ensued between Linus Torvalds and Vojtech Pavlik. Many configurations with either PS/2 or USB mice are affected by the new drivers, sometimes in console mode but more often after starting XFree86.

Many suggestions and workarounds have been offered, from setting "psmouse.proto=imps" to editing your XF86Config file. I've tried eveey solution I've googled up so far and still my mouse starts jumping around and clicking things all by itself at various phases of the X and KDE startup phases. The only difference is the kernel; the same setup works fine under 2.4.22. I've also tried eliminating a lot of stuff from the kernel that wasn't absolutely necessary, just to see if anything would change, but nope. I wonder how many other people have abandoned plans to upgrade to 2.6 because of this or similar problems. [comment]


From: John Comeau <john.comeau.gmail.com>
Reply-To: jc.jcomeau.com
To: mich <mich617@comcast.net>
Date: Sat, 7 Aug 2004 22:31:23 +0000
Subject: Re: Refunded

I'm just yanking your chain. I cashed it already. Just wanted to give you a small taste of what you put me through. I was even hoping to scam you out of a double payment but didn't have much hope for that. I'm just an amateur and you're a seasoned pro.

Anyway, you still owe me for over a hundred hours of time I spent collecting the debt, at $100 per hour. You can start paying $100 per month for the next 8 years or so.

On Sat, 7 Aug 2004 17:36:43 -0400, mich <mich617@comcast.net> wrote: How can i cash it now that its in your name? I dont know man why cant you just cash the thing at a post office somewere else or call ahead and make sure they got the money before going there. If you really really cant cash it for whatever reason send it back but i will have to send it some other way maybe thru paypal somehow. Western union dont offer proof that i sent it to you so i cant send it that way.

I could have dragged it out for a few more days probably, but I just don't have the stomach for it. Professional scammers must have a very different personality type than mine. [comment]


He didn't bite, of course. But I've got him a little worried and/or irritated. I can't play this game much longer though, it gets tiresome. I've got till Wednesday or Thursday till Paypal releases the funds, so maybe I'll hold on till then at least. Playin' it by ear.

From: John Comeau <john.comeau.gmail.com>
Reply-To: jc.jcomeau.com
To: mich <mich617@comcast.net>
Date: Sat, 7 Aug 2004 06:05:11 +0000
Subject: Re: Refunded

Are you kidding? Check cashing places take too much percentage. I'll mail you back the money order, that way you don't have to cancel it, and you can WU the money to me. You can afford the fees, I can't.

On Sat, 7 Aug 2004 00:01:53 -0400, mich <mich617@comcast.net> wrote: Its too hard to cancel a money order. It takes weeks. Why not just take it to a check cashing place? Its as good as cash at any check cashing. Let me know. Also the fees are more money with westeren union.
How about cancelling the money order and sending it by Western Union instead? I spent $7 on that trip to San Diego. I can't afford to go back and have the same thing happen.

I ate the rest of the mussels this afternoon, and I'm still alive. As predicted, the deep-water mollusks are apparently safe from whatever ills those in shallow water develop at times. But I was hungry today, and spent about $7 on food (4 tacos, 3 tamales, and a donut) besides the mussels. Luckily, I got a few customers late today (two are still here), but my outgo is still greater than my income for the 24-hour period. I've gotta watch that. [comment]


I hope Sal either emails me back soon so I can resume my scam, or he sees my blog I already uploaded to storm.prohosting.com and calls me on it. Holding off on updating my primary blog site just for this silly trick that probably won't work anyway is bugging me.

Palm OS 5 users: pssh rocks! Sure, Top Gun does the job, and still has its uses, but if you want to use full-screen apps you need pssh. The font, though of course smaller, is so much cleaner than TG's clunky one. And - what a concept - you can actually store the hostname/login info for multiple hosts! Maybe you can with TG too, but I never researched it. I really like the clean, easy-to-use design of this app. Good job, Greg! [comment]


First salvo fired.

From: John Comeau <john.comeau.gmail.com>
Reply-To: jc.jcomeau.com
To: mich <mich617@comcast.net>
Date: Fri, 6 Aug 2004 08:16:02 -0700
Subject: Re: Refunded

Post office couldn't cash it for me. They said they didn't have enough money, and to come back in two hours. I didn't have two hours to wait.

----- Original Message -----
From: mich <mich617@comcast.net>
Date: Wed, 4 Aug 2004 22:36:54 -0400
Subject: Refunded
To: jc.jcomeau.com

John i see you got the refund. When is all the bad on your site coming down? I asked about the ebay thing refunding you because i thought they would hold me to the money if you did get money from them but who knows. I wont push to look into it. Just please take down the bad stuff from your site at least. Thanks

When he answers this, I'm planning on telling him to cancel the Postal money order and send the cash Western Union. It takes a long time I think, to cancel one. He might bite, who knows?

The above wasn't a lie, either, it was a misleading half-truth - just the thing that Sal does so well. That happened, exactly as I said, but I was still able to cash it at a bank.

Getting back to business. Got X-Windows running on the diskless station! After some intensive googling, found out other people were having the same problem in certain circumstances, one of which being the use of hardlinks to the files in the NFS-mounted directories. Adding no_subtree_check to the options in /etc/exports solves it (at, of course, the expense to the security of the system).

Also, got an unexpected bounty from Gaia today. She coughed up a couple of bunches of mussels from the Pacific, tangled in what were probably Kelp roots, and they washed up on the beach, ripe for the plucking. I steamed them with garlic and chiles, and tried a couple. If I don't get sick by noon or so I'll eat the rest. I don't know under what conditions mussels become poisonous. I doubt these are, because they came from deep water. But not worth the risk. I also munched on a few kelp globules as I walked along the beach. I'll have to make that a habit.

Wow, this is starting to get long-winded, but I just remembered something else. Remember my incident with the Crocs back in April? Probably not, but you can google it if you want to know. Anyway, I've been using a $10 pair of Wal-Mart moccasins since then, and the soles have been worn through at the heel for weeks now. I'm always getting stones inside the damned things. So I bought some sandals from the $1 store, and yesterday finally managed to attach a strap, made of old bicycle tube, to each, so it holds them securely at the ankles. $1 crocs! [comment]


Must remember not to upload this to my site just yet... if I make a mistake it's not the end of the world but I gotta teach this mobster a lesson. I want to let him feel what it's like for a man of honor to have his integrity doubted by another man.

You see, Sal knows what this is all about. He uses this knowledge in every transaction. He comes across like a dummy in many ways, but he is smart in at least one thing, and that is human nature. He realizes very well that by saying the payment didn't arrive, a man (a woman too, but in my experience less commonly than men) will go the extra mile to prove himself above reproach. Sal has maybe even gotten double payments from people in their rush do this.

But now, the shoe's on the other foot. He paid everybody (that I know about) back, and he wants to look good. If I claim now that I never got the money, this might just bother him some. I doubt I'll get a double payment (though if I do, it will go to reimburse both Justin and freeshell.org for bandwidth), but maybe he'll sleep a little less comfortably doubting whether or not he's in the clear. I won't prolong the agony anywhere near the weeks he stuck it to me, but maybe for two or three days. I'm a terribly bad liar though, so he might know right away something's fishy. Especially since he's so good at it himself.

Don't think for a moment that I suspect Sal will feel the same compunction as an ordinary man. For sure he won't. An ordinary man approaches a deal between two individuals in the desert with the same seriousness as he does with a million eyes watching his every move. Only in the latter case does Sal feel any need to live up to any code of ethics.

Also, with the term "ordinary man" I don't mean that most men live up to a code either, but most try. I have failed miserably myself at times. In fact, I'll be failing, in a way, when I lie to this piece of human trash. But it has to be done. [comment]


Just submitted the story to Slashdot about Sal repaying his scam victims, and tonight's NBC-10 news story that gave him a chance to tell his side of it. And just got an email from him.

From: mich <mich617@comcast.net>
To: jc@jcomeau.com
Date: Wed, 4 Aug 2004 02:16:44 -0400
Subject: about ebay

John i still see you have your site up still with all the crap about me. Are you taking this down or what? Let me know and what should i do with ebay? I emailed them about this and i think this is against my name if they gave you money back. Let me know.



Well, although I haven't gotten my refund yet, I see FedEx is holding it for me at their facility on 47th and Federal. So I'll be heading across the border at midnight tonight after closing the café. And Sal has kept his word with Justin and some of the others, so I actually have some hope that there will be a real postal MO in my envelope, and not yet another disappointment. You can follow his progress at his site, but it might be wise to google around and see if others verify his claims. His track record may be improving, but he's got miles to go to reach the first credibility marker from my vantage point. [comment]


Leeway just prompted an insight, probably inadvertently. Does listening to jazz, or other complex music, help the mind to deal with complexity? And/or bring out the complex side in one's nature? Maybe I've been simple for too long. Time to try jazz again. [comment]


Good afternoon, Philadelphia! You've got a treat on NBC's 6 O'Clock news tonight. The one and only Salvatore Wise, Jr. will be explaining his side of the story. The interview was prerecorded this time, so it won't be a letdown. I don't know what it covers but if not informative it should be the best entertainment you're gonna see on TV in a long time. [comment]


I was just looking at my Sal Wise page, and the Google Adsense ads cracked me up. This is a page about a scammer, and the ads look like they are from scammers! Check this out: "Earn $5250 Guaranteed - Highest Investment On The Net Turn $25 into $5250 Guranteed!" and "How to get a millionaire - Its so simple all you need is a working E-Mail" (misspellings those of the advertisers). Needless to say, if you fall for those you're on your own. I don't endorse any Adsense ads, and I won't waste my time blocking advertisers. I'll gladly pocket the chump change I get when someone falls for one of these scams. So don't do it. If it looks too good to be true - it is.

Also, these or other ads may be spammers also, which may even be worse. Spammers are thieves, and if you do their spamming for them you are an accomplice. I guess you could call me on that and say that by letting Google place their ads on my site I am guilty too. In that case I'd just have to state that you and I draw the line at different points.

Everybody following the bulletin board? A lot of activity lately from all over the globe. And from Sal's own little neighborhood, by people apparently connected to the case - if you can filter out fact from fiction. I don't claim to have that ability. At least, it sure wasn't working at the time I bought the coin. [comment]


Almost got computer #3 working; KDE finally finished its startup after the umpteenth attempt, but now the xterms won't stay put, they crash within milliseconds. Probably the same old problems I've been having with NFS, either "Stale NFS file handle" or the always-popular "Input/output error". And then it goes away after a while and everything's fine. For a few minutes until it happens again. Probably some simple reason for it. Maybe because I specify 'nolock' as an option? I use that because it lets me mount quickly, but I don't really know what it does on the bits-and-bytes level. [comment]


From: mich <mich617@comcast.net>
To: jc@jcomeau.com
Date: Mon, 2 Aug 2004 18:10:31 -0400
Subject: Re: Address

John no reason to post things on the board to act like im doing wrong. I told you and the others that i was sending out you and everyones money today and i came thru as promised. I am really sorry for you having to wait soo long for your own money but believe me there is more to it then meets the eye and vince stuck it to me good. Anyway i hope everything goes well for you and go eat some taco's!! Also please take down all the bad stuff on your web site after you get your money. I just want my name cleared in all this. Im sure you understand. Thanks again john!



From: mich <mich617@comcast.net>
To: jc@jcomeau.com
Date: Mon, 2 Aug 2004 17:52:27 -0400
Subject: Re: Address

John here is the tracking number overnight fedex gurenteed by 3pm postal money order for 405




I couldn't get firefox to start up today. It's been starting slower and slower each day, and today it just hung. I started it with strace and found out where:

26486 connect(16, {sa_family=AF_UNIX, path="/tmp/orbit-jcomeau/linc-499b-0-51ac9
4b550270"}, 47) = 0
26486 writev(16, [{"GIOP\1\2\1\0T\0\0\0", 12}, {"\244\350\377\277\3\0\0\0\0\0\0\
0\34\0\0\0\0\0\0\0B\376"..., 84}], 2) = 96
26486 poll( 
26487 <... poll resumed> [{fd=8, events=POLLIN}], 1, 2000) = 0
26487 getppid()                         = 26486
26487 poll([{fd=8, events=POLLIN}], 1, 2000) = 0
26487 getppid()                         = 26486
...over and over again.
So I ran rm -r /tmp/orbit-jcomeau and now it works again. I love Unix. [comment]


From: mich <mich617@comcast.net<
To: jc@jcomeau.com
Date: Mon, 2 Aug 2004 15:39:15 -0400
Subject: Re: Address

I got it and i will send it today fed ex next day air. It will be a postal money order.



For the last few days, I've had a little surprise in the CGI script that creates my blog:

for winner in $prizewinners; do
 if [ "$REMOTE_ADDR" == "$winner" ]; then
  printf "%s\r\n\r\n" "Content-type: image/jpeg"
  cat salwhore.jpg

That may have helped a little. He emailed me today with yet another promise and a request for my address, which may actually be somewhat serious because he was crawling my site about 5 hours ago, apparently looking for it. I can't really expect someone of his mental caliber to whois my domain, even after my little example the other day. So I sent it to him again, with another exhortation that I don't live there, and that they're no relation to me. I doubt Sal has any mob connections but don't want to take chances.

Actually there were two emails, within an hour of each other:

From: mich <mich617@comcast.net>
To: jc@jcomeau.com
Date: Mon, 2 Aug 2004 05:13:23 -0400
Subject: Address

John what is the address to fed ex this check to you? I need it today because i will be sending the refund fed ex today. It will be a cashiers check so its payable immeditly. Let me know it because i dont have it. Thanks

From: mich <mich617@comcast.net>
To: jc@jcomeau.com
Date: Mon, 2 Aug 2004 05:54:24 -0400
Subject: John i need your address!

I need the address to send this monye to you today. You will get it by tuesday. People are starting to bark up the wrong tree and this must end. I am personally refunding you to end this. Also do you know that guy bills address that paid 900 for coins?Inglewood? Let me know..thanks

So we'll see. If it does actually turn out to be true, wonder of all wonders, then I'd like everyone involved in this, however peripherally, to contact me regarding a book I plan to write on the subject.

When Sal mentioned the other day, on his website I think, about the coins being fake, I started wondering, as I did back when I was trading those Maple Leaf bullion coins, if they all might really be fake. Sure, they passed the Fisch test, but what if they had a tungsten core, and about 2 or 3 hundredths of an inch of gold layered on to create an exact copy of the Maple Leaf or other bullion coin? The density of tungsten is close enough to gold for that to pass, I think. And I don't know of any nondestructive tests for that. It would seemingly be an extremely profitable venture while it lasted. But of course, this has nothing to do with Sal's story, as he said a local jeweler pronounced them fugazy. So if he was telling the truth that time, they must have been amateurish fakes, not a professional job like I'm thinking about.



For those of you familiar with the Sal Wise fraud story, here are some good news. Now, don't get your hopes up. Sal, as of this writing, hasn't refunded a dime to his victims, and has shown no such intent beyond vague promises. And I have not even verified an intent to defraud in the following story, but do concur with the writer that it does appear to be an attempted scam. What I am reporting here is the power of the Slashdot smartmob in getting most of Andrew Kyle's $2300 refunded. Here's the original post:

"OK, this may seem pretty lame to you guys but this has become a serious problem for my mother. My mom bid for a new Apple G4 17 laptop, the high end model that retails for $2999.95 on eBay and she won. The item number was 5100427911 and I have to admit that it did look legit. The woman said she was located in the UK and would not take Paypal. When my mother asked her why this was, she mentioned something about getting burned twice and the site Paypalsucks.com. The woman had 0 feedback and this was my moms first big purchase and she thought she did everything perfect so she send the $2300 through Western Union and covers all the fees. Now, over a month later, no notebook, no contact from seller nothing. When my mother told me about this I was furious and I got her contact information through eBay which ended up all being fake. I have run into a complete dead end here and when I try to track the payment though Western Union it says that it has not been picked up. I called a support person for Western Union and they only told me that the only person who can cancel the payment is the seller or person receiving the Money Order.

"I have no one else to ask and I don't know what else to do so I really would like it if you could help me out and either figure out a way to get the money back through Western Union, get the sellers correct information, or some quick way to recoup $2300! This was going to be my mothers first computer and I thought an Apple would be great for her because of the ease of use. Here is all the information that I could think of that you would need to know to help me:

"From eBay:
Seller's Name/Alias(?): Lora Marconi ; Catherine Gates
City: Atlantic Beach
State: North Carolina
Phone: (252)-402-8219
Email: lora_m_2004@yahoo.com

"Western Union Info:
Western Union Money Transfer Control Number: 9245118704
Address My mother sent the money to: 580 Barkling Road, E139ju, London, U.K.

"If you guys can help me out in any way, it would be greatly appreciated. Please let me know if there is any more information that I can provide you with to help you out? Thanks ahead of time."

"This is a letter that I wrote to a magazine that I thought could help me out, turns out they dont make personal replies so unless they felt it was good enough to print, I wont ever get a response. That is when I stumbled upon this site. I feel bad for justin and the other people who were scammed, but I have a problem of my own now and I would like to know what the necessary actions are? Could some one let me know what to try, how to get some information on this person and get the $2300 back.

"Any help is appreciated."

It all boils down to the one anonymous stranger from London, dave420, who answered and let Andrew know that: that: "It's `Barking Road', and in the east-end of London (not one of the nicest parts)", and offered to give the London police a call. Andrew and Dave took their conversation to email, and 2 days later, Andrew reported a victory: "I would be happy to say that I got my money back with the help of Dave420. He's a great guy! Thanks to everyone who posted and helped me out!!!"

I emailed Andrew asking for clarification; his wording "would be happy" made the post ambiguous as to the outcome, despite the ecstatic appearance of the words overall. I got the whole story later:

"Over a month went by and we hadn't heard anything and I sent an email a week after I sent the payment and told the lady her money should be there. She had very bad broken English (I think she was trying too hard at making it look bad) and said 'I no receive payment Western Union yet'. I waited another week and sent another email which didn't get a reply so I sent several more and never got any replies. I looked into the eBay fraud department and was very disappointed that they only cover $175, so I still tried more emails not hinting at me filing a fraud report or anything, just trying to get a valid phone number or some useful piece of information but again no reply. I got her contact information from eBay and everything was fake, the phone number didn't exist, the address was fake, and there was no one living in the city shes stated by the name that was registered. After that, I immediately contacted Western Union, it took me over 2 days of going through automated menus to finally get a number that led to a live support member. When I talked to them they said there was no way I would get my money back and I should just give up. That is when I tried writing emails to several of the hacking magazines and social engineering type places like 2600 Blacklisted! 411, etc. I never got replies from any of them and that's when I stumbled on your article in www.Slashdot.org.

"At first when I read the little section, I went back to my search result and was looking for other things that might help me when something just clicked and I went back. I found your forums after reading through your ordeal and posted a message. That's when Dave got involved. He was very eager to help me out since he lived in London where the money was sent to. He told me that the address I sent to was in the bad part of town and not the greatest neighborhood. He then called WU there in London and started asking them what to do in the situation. He emailed me saying that I should go to the place I sent the money and ask for a refund there, which I did. I walked in and acted like I knew exactly what I was doing and answered every question without hesitation. They quickly got on the phone and called London and within 30 minutes I walked out of the store with $500 in cash and $1675.95 in checks. That was the best feeling in the world! When I was searching google, that was pretty much my last hope at trying to find some way to get the money back or at least not loose all of it and then I stumbled on your forum, it had to be fate. All the time, dave said he would contact authorities over there, talk to fraud departments, and he even called to ask about the status of the money since I kept getting goofy responses that said I had not even sent the money yet. I deeply appreciate his desire to help a fellow man out, just a great guy. All the information about the transaction is in my post and you can add/take out any of this information that you want. Also use any information that I provided that you want and if you need anything else, feel free to ask!"

Yes, you could argue that Andrew could have done this from the beginning, and probably would have even without Dave's help. I don't deny the possibility. I am just saying that the Slashdot community is a powerful force, that most geeks have innate honor and integrity, and that when this medium brings people together, good things can happen. So give yourselves a pat on the back. [comment]


NFS is a real bitch. I got the diskless systems booted, yes, but not reliably, and after a few seconds I get "Input/output error" or something equally useful; and then it might start working again later. Weird. I'm pretty sure I troubleshot these problems at Dialtone, and solved them, years ago but here it is all over again, sticking out its tongue at me.

Fixed my updateip script to force an update with dyndns.org after 30 days. Tested minimally, I hope I didn't put any new bugs in. In case I ever get everything automated here so I can leave for another vacation, I want that working by itself. I'd still really like to head up to Nova Scotia for the 400-year Cajun settlement anniversary and the Comeau/Comeaux family reunion. And/or visit some online acquaintances in San Francisco.

Trying to rid my mind both of that lying scumbag in Philly, and the disturbing image of him put on the BBS by one of the other participants, since removed, his head being shit out of a grotesquely distended anal cavity.

Neighborhood kids are starting to use the internet café, I hauled in a couple of dollars today. All most of them want to do is visit the Cartoon Network site. I've seen this same site being used by kids from coast to coast, and now here in Baja (here, of course, is a mirror in the Spanish language). To me it's just silly games, but they must see more in it than that, as they can continue for hours, or would if they had the money. [comment]

view blog for 2024-06
view blog for 2024-05
view blog for 2024-04
view blog for 2024-03
view blog for 2024-02
view blog for 2023-10
view blog for 2023-09
view blog for 2023-08
view blog for 2023-07
view blog for 2023-06
view blog for 2023-05
view blog for 2023-03
view blog for 2023-02
view blog for 2023-01
view blog for 2022-12
view blog for 2022-11
view blog for 2022-10
view blog for 2022-09
view blog for 2022-08
view blog for 2022-07
view blog for 2022-06
view blog for 2022-05
view blog for 2022-04
view blog for 2022-03
view blog for 2022-02
view blog for 2022-01
view blog for 2021-12
view blog for 2021-11
view blog for 2021-10
view blog for 2021-08
view blog for 2021-07
view blog for 2021-06
view blog for 2021-05
view blog for 2021-04
view blog for 2021-03
view blog for 2021-02
view blog for 2021-01
view blog for 2020-12
view blog for 2020-11
view blog for 2020-10
view blog for 2020-09
view blog for 2020-08
view blog for 2020-07
view blog for 2020-06
view blog for 2020-05
view blog for 2020-04
view blog for 2020-03
view blog for 2020-02
view blog for 2020-01
view blog for 2019-12
view blog for 2019-11
view blog for 2019-10
view blog for 2019-09
view blog for 2019-08
view blog for 2019-07
view blog for 2019-06
view blog for 2019-05
view blog for 2019-04
view blog for 2019-03
view blog for 2019-02
view blog for 2019-01
view blog for 2018-12
view blog for 2018-11
view blog for 2018-10
view blog for 2018-09
view blog for 2018-08
view blog for 2018-07
view blog for 2018-06
view blog for 2018-05
view blog for 2018-04
view blog for 2018-03
view blog for 2018-02
view blog for 2018-01
view blog for 2017-12
view blog for 2017-11
view blog for 2017-10
view blog for 2017-09
view blog for 2017-08
view blog for 2017-07
view blog for 2017-06
view blog for 2017-05
view blog for 2017-04
view blog for 2017-03
view blog for 2017-02
view blog for 2017-01
view blog for 2016-12
view blog for 2016-11
view blog for 2016-10
view blog for 2016-09
view blog for 2016-08
view blog for 2016-07
view blog for 2016-06
view blog for 2016-05
view blog for 2016-04
view blog for 2016-03
view blog for 2016-02
view blog for 2016-01
view blog for 2015-12
view blog for 2015-11
view blog for 2015-10
view blog for 2015-09
view blog for 2015-08
view blog for 2015-07
view blog for 2015-06
view blog for 2015-05
view blog for 2015-04
view blog for 2015-03
view blog for 2015-02
view blog for 2015-01
view blog for 2014-12
view blog for 2014-11
view blog for 2014-10
view blog for 2014-09
view blog for 2014-08
view blog for 2014-07
view blog for 2014-06
view blog for 2014-05
view blog for 2014-04
view blog for 2014-03
view blog for 2014-02
view blog for 2014-01
view blog for 2013-12
view blog for 2013-11
view blog for 2013-10
view blog for 2013-09
view blog for 2013-08
view blog for 2013-07
view blog for 2013-06
view blog for 2013-05
view blog for 2013-04
view blog for 2013-03
view blog for 2013-02
view blog for 2013-01
view blog for 2012-12
view blog for 2012-11
view blog for 2012-10
view blog for 2012-09
view blog for 2012-08
view blog for 2012-07
view blog for 2012-06
view blog for 2012-05
view blog for 2012-04
view blog for 2012-03
view blog for 2012-02
view blog for 2012-01
view blog for 2011-12
view blog for 2011-11
view blog for 2011-10
view blog for 2011-09
view blog for 2011-08
view blog for 2011-07
view blog for 2011-06
view blog for 2011-05
view blog for 2011-04
view blog for 2011-03
view blog for 2011-02
view blog for 2011-01
view blog for 2010-12
view blog for 2010-11
view blog for 2010-10
view blog for 2010-09
view blog for 2010-08
view blog for 2010-07
view blog for 2010-06
view blog for 2010-05
view blog for 2010-04
view blog for 2010-03
view blog for 2010-02
view blog for 2010-01
view blog for 2009-12
view blog for 2009-11
view blog for 2009-10
view blog for 2009-09
view blog for 2009-08
view blog for 2009-07
view blog for 2009-06
view blog for 2009-05
view blog for 2009-04
view blog for 2009-03
view blog for 2009-02
view blog for 2009-01
view blog for 2008-12
view blog for 2008-11
view blog for 2008-10
view blog for 2008-09
view blog for 2008-08
view blog for 2008-07
view blog for 2008-06
view blog for 2008-05
view blog for 2008-04
view blog for 2008-03
view blog for 2008-02
view blog for 2008-01
view blog for 2007-12
view blog for 2007-11
view blog for 2007-10
view blog for 2007-09
view blog for 2007-08
view blog for 2007-07
view blog for 2007-06
view blog for 2007-05
view blog for 2007-04
view blog for 2007-03
view blog for 2007-02
view blog for 2007-01
view blog for 2006-12
view blog for 2006-11
view blog for 2006-10
view blog for 2006-09
view blog for 2006-08
view blog for 2006-07
view blog for 2006-06
view blog for 2006-05
view blog for 2006-04
view blog for 2006-03
view blog for 2006-02
view blog for 2006-01
view blog for 2005-12
view blog for 2005-11
view blog for 2005-10
view blog for 2005-09
view blog for 2005-08
view blog for 2005-07
view blog for 2005-06
view blog for 2005-05
view blog for 2005-04
view blog for 2005-03
view blog for 2005-02
view blog for 2005-01
view blog for 2004-12
view blog for 2004-11
view blog for 2004-10
view blog for 2004-09
view blog for 2004-07
view blog for 2004-06
view blog for 2004-05
view blog for 2004-04
view blog for 2004-03
view blog for 2004-02
view blog for 2004-01
view blog for 2003-12

Valid HTML 4.01 Transitional

Valid CSS!