Sunday, January 14, 2001
C-SPAN is showing inaugural addresses from past Presidents and right now they're showing President Regan's speech. Of all the Presidents, he's the one who had The Mandate. The last President to have such a backing was George Washing.
Monday, January 15, 2001
dream about trying to find an alarm clock going off and sleeping through the actual alarm clock for 15 minutes.
Tuesday, January 16, 2001
One small detail.
Since I only have five usable public IP addresses, I've had to resort to using a private network, of which the Windows system is on. Now, since I tend to browse from Windows (as I actually like IE better than Nutcase) I can't directly browse the internet.
No big deal. I set up Squid on the Linux system. Only I forgot one thing when linus.slab.conman.org changed IP addresses: I forgot to change the entry in /etc/hosts.
Sigh.
I could have been email …
Height of laziness: Sending an instant message to my roommate in the next room because I didn't feel like getting up.
Wednesday, January 17, 2001
Non linear art
What the Wiki Wiki Web is to text, cOiNTEL is to drawing. There is no real describing this site other than having to experience it youself.
Oh, you'll need Flash 5 to actually use the site.
Non linear art, II
Actually, cOiNTEL is less like the Wiki Wiki Web and mroe like a web discussion board like Slashdot or Kuro5hin, or even Scott McCloud's Carl Lives, an ever-going, ever expanding, ever branching story.
The interface is a bit confusing and frankly, it took me several minutes to even understand what was going on (and being in Flash limits it somewhat) but this is an entirely new realm of comics here—that's to be expected to some degree.
Thursday, January 18, 2001
A different web log report
I have over 600 days worth of weblogs and I decided to play around with them a bit. Using GD to handle the actual graphics, I made a graph of accesses to my site over the past 600 days. The X-axis is in minutes, the Y-axis is days and I basically graphed a point for a hit (or hits) per minute of time.
I can get away with this since I don't receive that much traffic.
Some things are apparent immediately: vertical lines are repeat hits at the same time each day (the bottom of the graph shows an automated script the colocation facility runs to monitor the server), while a horizontal line indicates hits across an extended period of time in a single day.
I also had the program report back the number of hits per minute: it averages probably two or so per minute, but has a peak of 167 per minute.
Quite interesting.
Friday, January 19, 2001
Have you seen the light?
Before I was fired from my previous job, I got depressed that I never left the office before dark. I leave the office, it's dark. It was depressing. I wanted to leave while there was still light outside.
Becareful what you wish for. You may just get it.
It's always light when I leave the office now. Light. Too light. Too bright. Ouch.
Face out
Walking towards my car, I noticed an odd thing—every car in the row I was parked in was facing out.
Heh.
Sunday, January 21, 2001
Notes from a 24-hour gas station deli at 4:00 am
I approach the deli counter at the local 24-hour gas station deli and this guy is yelling into his cell phone. “Yea! I found his girlfriend and my girlfriend together! And guess what they had? Mayo and mustard. No, not the spicy mustard, the regular mustard.” That last bit to the deli worker, not to the person on the other end of the phone. He then resumes his conversation like nothing happened. “I swear! Next time she had better ask me before doing that…. I don't care if he allows it …” His sandwhich being finished, he wanders off to the counter.
Meanwhile three college age guys wander in, wearing khakis and black dress shirts. They grab some bags of chips and tear into them as they wander over to the deli counter. “I'm going to get some beer,” said one of the frat boys.
“I'm sorry,” said the clerk behind the counter. “No beer sales after two a.m.”
“What?” said the boisterous frat boy.
“We can't sell you beer.”
“Hey man!” said the frat boy. “I want beer. The cases are open! If you can't sell them then why aren't the cases locked?”
“Hey, Steve,” said one of his companions, munching away on chips. “Don't make any trouble; I'm hungry man! I want my sub.”
“Why do you mean you can't sell beer?”
“It's the law in Florida,” said the deli worker.
“Like how am I supposed to know?” said frat boy.
“You live in Florida, you are supposed to know.”
“Well I never heard of that!”
“Please Steve, let it go.”
“If you don't like it,” said the deli worker, “call and talk to the police.”
“What? Now you gonna call the police?”
“No, I said if you don't like the law, call the police and talk to them about it.”
“Man, I hate this state. All these foreigners who don't understand you. `Yes, I'd like four hamburgers. No, not eight, four!' God why did we ever come here?”
“Come on Steve, let's just get our sandwhiches and go.”
“I have to drink soda? God!”
Frat boys. Gotta love 'em.
The Bruno Daily Times
Bruno is one of the few strips I find good enough to read (on the Internet, much less in print) and in searching around, I came across an interview with Christopher Baldwin, the artist responsible for the strip.
Bruno would be wearing a “swoosh” right now if you'd signed that contract.
It was “$100,000 and we get all rights,” and that was the basic contract. And I said, “Well, I don't know if that's quite worth it.” And they said, “Well, you can keep doing the strip and putting it up on your page.” And I said, “For you?”
Update on Thursday, June 25TH, 2020
Updated the link.
Wednesday, January 24, 2001
FREE! FREE! FREE GRANT MONEY!
Qualifying For A FREE Grant Is Easy! $10,000 to over $100,000 in FREE Grant Money is Available NOW! ~ Never Repay ~ ~ No Credit Checks ~ ~ No Interest Charges ~ See if YOU meet the requirements! Click on our website below NOW! http://1078384775/grant.html
Nevermind the fact that a grant is free money that you don't have to repay, I was curious enough by this piece of spam email to check this page out (from work and I typed the URL by hand into a new instance of the browser so no referer information would be sent).
Of course in order to get this FREE Grant MoneyTM you have to buy their book for $39.95. Of course.
I then decided to do a search on Free Grant Money (via Google) and found that there are two, maybe three, competing companies selling the same information ad naseum across the Internet. But I kept on digging and did manage to dig up some good information on grants in general.
“Why am I in the kitchen again?”
I hate this. I know I wanted to do a few entries, but having done the first one, I for the life of me can't recall what the other entries I wanted to do were.
Sigh.
Thursday, January 25, 2001
BSD headers—Just Say No!
I got called to help a friend compile a program. He's still learning C and the program he was compiling was throwing up the following error:
gcc -O2 -DHAVE_CONFIG_H -D_GNU_SOURCE -I. -Iprotos -c action.c action.c: In function `action_command': action.c:51: void value not ignored as it ought to be action.c: In function `substitute_vars': action.c:138: void value not ignored as it ought to be action.c:143: void value not ignored as it ought to be action.c:163: void value not ignored as it ought to be action.c: In function `check_one_action': action.c:245: void value not ignored as it ought to be make: *** [action.o] Error 1
It was failing on the strcpy()
and strncpy()
functions.
It was apparent to me that the program was using an improper definition of
the functions—the problem was to figure out where it was pulling the
defintions in from. Easy enough to generate what the preprocessor was
feeding into the compiler (with gcc
using the -E
option
and sending the output to a file).
The original lines:
if (*!ptr) strcpy(pr, "5"); /* defaults priority to 5 if no value given */
And the preprocessor was spitting out:
if(!*pr) (__extension__ (__builtin_constant_p ( "5" ) ? (((size_t)(const void *)(( "5" ) + 1) - (size_t)(const void *)( "5" ) == 1) && strlen ( "5" ) + 1 <= 8 ? __strcpy_small ( pr , __extension__ (((__const unsigned char *) (__const char *) ( "5" ))[ 0 + 1] << 8 | ((__const unsigned char *) (__const char *) ( "5" ))[ 0 ]) , __extension__ (((__const unsigned char *) (__const char *) ( "5" ))[ 4 + 1] << 8 | ((__const unsigned char *) (__const char *) ( "5" ))[ 4 ]) , __extension__ (((((__const unsigned char *) (__const char *) ( "5" ))[ 0 + 3] << 8 | ((__const unsigned char *) (__const char *) ( "5" ))[ 0 + 2]) << 8 | ((__const unsigned char *) (__const char *) ( "5" ))[ 0 + 1]) << 8 | ((__const unsigned char *) (__const char *) ( "5" ))[ 0 ]) , __extension__ (((((__const unsigned char *) (__const char *) ( "5" ))[ 4 + 3] << 8 | ((__const unsigned char *) (__const char *) ( "5" ))[ 4 + 2]) << 8 | ((__const unsigned char *) (__const char *) ( "5" ))[ 4 + 1]) << 8 | ((__const unsigned char *) (__const char *) ( "5" ))[ 4 ]) , strlen ( "5" ) + 1) : (char *) bcopy( "5" , pr , strlen ( "5" ) + 1 ) ) : strcpy ( pr , "5" ))) ;
Oh my. Mind you, that was one line and no attempt to even comprehend that is being made (in fact, the breaks are just where hey happened when I copied the text in).
Checking the file futher, I can see it's including strings.h
which
is not part of the ANSI standard. In fact, it's an old BSDism,
which shouldn't be used anymore. Some mucking about with the header file
spit out by configure
got the compile to work.
So much for using configure.
Friday, January 26, 2001
Captain Napalm and the International Jewel Cartel Incident
This has to be the wierdest piece of spam mail I've received yet (converted to HTML, some editing to indentifying information, otherwise, it's what I received):
"URGENT/CONFIDENTIAL!"
Mr. XXX XXXXX
TEL/FAX:XXXXXXXXXXXXXX
XXXXXX@hotmail.comTO:Sean Conner
Chairperson/President/CEO.
Dear sir,
I humbly write you this letter which I have no doubt will be a source of surprise to you since I have not written you before. My name is Mr.XXXXXXXXXXXX a native of sierra Leon currently on political asylum in the Netherlands.
I am requesting your assistance in order to salvage a business in which I have successfully positioned as a middleman to earn profit. Presently,I have been contacted by former business Associate of my late father in South Africa who are interested in buying Gem Stone of Topaz(sierra leonian voodoo ritual brand) value worth of US$3,000.000.00(Three million u.s.dollars). I have Assured the buyer that I've got what they need readily available in Stock and they are willing to meet me in the Netherlands when instructed with the money.
Due to pressure of war many Sierra Leon"special" Gem dealers forcefully migrated to UK to save their lives and now operate business from London. As a result of the popularity of my late farther in this field I have discovered a source in london to supply the order for only $750,000.00 and the Seller is willing to visit me in Netherlands with the Demand as he has been assured and guaranteed about the availability of the Funds upon their arrival in the Netherlands.
My concern is that I do not want to link the seller and the buyer directly to ensure that my interest will be protected.This is because if I link them both directly(as a middle man),they are likely to feel the pinch as the main Operators and will decide to bypass me and deal directly with themselves as this is a regular trick in this type of business.
As it stands now,I have no money to effectively handle the Demand and supply required my intention is to invite the seller and the buyer both the same day and date and separate them by lodging them in different Hotels without their individual knowledge of my source. Effectively,we shall buy from the supplier for only US$750,000.00 as Negotiated and sell to the Buyer in A different hotel location for US$3,000.000.00 After which,we shall share the profits according to be agreed terms.
You will be entitled to 70%($US1.575.000) of the US$2,250,000.00 profit to be made in this business while 30%(US$675,000) shall be for me at the end of the whole exercise. You will sponsor the deal. We shall meet face to face in the Netherlands.
You do not need to be knowledgeable to get involved I am knowledgeable on this field and will represent both of us interest one hundred percent.
I wish to assure you that this transaction will not attract any risk on your behalf whatsoever and does not affect you whatsoever. As stated earlier,I have finalized every arrangement with both ends,however without your assistance both clients will see me as unserious and will opt to search some where else as they both expect an immediate action from me.
Upon hearing from you,I will get the process running.
You can always reach me through e-mail,phone or fax as indicated above.
Best regards,
XXXXXXXXXXXXX
Tel:XXXXXXXXXXXXXXX
I must admit, this is rather a rather odd piece of spam. And if I had a spare $750,000.00 I wouldn't even get near a crazy scheme like this. Heck, I don't have $750,000.00 and I don't want to get near a scheme like this.
Now, if he only wanted me along as a warm body and I didn't have to front the $750,000.00 then maybe, maybe I'd go along with this. I mean, a payout of $1,575,000.00 isn't anything to sneeze at.
Monday, January 29, 2001
A phone to wake you by
Ring.
Ring.
Silence.
Roll over sleep.
Ring.
Ring.
Pick up. “Um, hello?”
“Greetings and salutations,” my answering machine said. “This is area code … ” Grumble. Roll out of bed. Cross condo. Shut off answering machine and pick up phone.
“Hello?”
Dead silence.
Grumble.
Listen to answering machine. Mark going on about an exploit
in bind 8.2.2-p5.
Know about that. Knew about that for several
months from a cow-orker at work who couldn't locate the exploit.
Ring.
Blink.
Ring.
“Hello?”
“Hey Sean!” It's John, the paper millionaire of a dot com and he's entirely too chipper this early in the … afternoon. “Are you awake?”
“No.”
“But it's four o'clock! What time did you get to bed?”
“Uh … ” My brain hurts. “Eight this morning?”
“You're still sleeping, aren't you? Well, give me a call later on. I know what I want to do for my next big project.” He then hung up.
Grumble.
I hate waking up to the phone.
A penny for a stamp
It's bill time once again, and normally this wouldn't be a problem (well, paying bills is a problem, but I'm not talking about the actual payment part) except that starting January 7TH, the USPS hiked the rate for first class mail up 1¢. It was only six months ago that I finally used the last of my 1¢ stamps from the last pay hike (I had precicely enough 1¢ stamps to cover the remaining 32¢ stampts I had left).
So now I have about 60 33¢ stamps left. Sigh.
So today I made an effort to head off to the local USPS to obtain enough 1¢ stamps to last.
Rob, my roommate went along (as we were going to a late lunch/early dinner afterwards). Parking was a nightmare; no spots left, so people were fighting over spots as people were leaving. The person waiting in front of me was desperate enough to back up, nearly hitting me in order to give enough room for one person to back out. Fortunately someone else left at about the same time, giving me a parking space.
I dove around the ashtray, where I keep spare change. I only had yuppie food stamps (US $20 bills) and did not relish the thought of receiving $19 worth of change in Susan B. Anthony dollar coins. I was able to scrape up about a dollars worth of change.
Walking up to the building we could see a line stretching out the door for counter service. There was no way I was going to wait in that line. We did walk in to see if the stamp machines served 1¢ stamps.
We were in luck. They did.
“One at a time?” I asked. “Not even a book?”
“This is going to be fun,” Rob said.
“You're too easily amused,” I said, dropping a dime into the machine and selecting C-2, the 1¢ stamp.
HOW MANY? PLEASE TYPE IN AMOUNT 1-10:
queried the machine.
“Oh cool!” I said. I punched in 10 and the machine spit out 10 stamps in a long paper stream. “Ooh, just like … uh … that game … ” I made motions of tossing a ball underhanded.
“… yea … um … ” Rob started doing the same thing.
“Skeeball!”
“Yea!”
“Just like skeeball,” I said. I dropped in another 30¢.
HOW MANY? PLEASE TYPE IN AMOUNT 1-10:
queried the machine.
“Nice,” I said. “Only 10 at a time.”
“Much better than one at a time,” said Rob.
“Yea, lots.”
A mortgage for your thoughts
Each month I swear to myself that I'll deal with my regular mail on a daily basis instead of piling it up on the dinning room table. And each month it piles up on the dining room table and I only get to it when I actually pay my bills.
So it's only now that I learn that I have a new mortgage company.
This is my … third? Fouth? Mortgage company since 1994. I think fourth but I'll have to check my records. If so, then I've had more mortgage companies than banks.
And I've never switched banks. They've switched me.
God I love corporations and their wierd machinations to maintain money flow.
Tuesday, January 30, 2001
“There's a sucker born every minute.”
John, the paper millionaire of a dot com called again. Asked me what I was doing.
“Still sorting through my bills and writing checks,” I said.
Can that wait? I have to talk to you about my next project! Mark is headed over here as well,” he said.
“Uh … ” I looked at the pile of junk mail and the few bills I had. “Sure. I'll be there in half an hour.”
So I headed on over there and heard his idea.
Can't say much about what it is, but I've heard of stupider ideas that made tons of money, so what can I say?
As P. T. Barnum used to say …
Parenthetical, a bug
bind 8.3 apparently parses differently, much to the annoyance of Mark and I.
Mark woke me up
this morning, well, afternoon, with a problem. He upgraded to bind
8.2.3
in the wake of the recent advisory and it was failing to load his
zone files. “It's dying in the parser,” he said. “It doesn't like the
comments!”
We hashed it out for a few minutes when it hit me. “Mark, for your
SOA
records, do you have the opening parenthesis on its own
line?”
“Yes,” Mark said.
“Yea, I thought so.” I do the same thing. “Just humor me. Put it at the end of the line.” I won't repeat the litany of swearing he did when that worked. Mark then signed off, having to upgrade his zone files.
Gee, such a nice gratuitous change there guys.
Easier and cleaner, therefore it's wrong
You see, both Mark and I put opening parenthesis on their own line in our zone files:
@ IN SOA ns1.molab.org. spc.conman.org. ( 2000120101 ; Serial 43200 ; Refresh (12h) 14400 ; Retry ( 4h) 604800 ; Expire ( 1w) 86400 ; Minimum TTL ( 1d) )
Instead of the way nearly everyone else does it:
@ IN SOA ns1.molab.org. spc.conman.org. ( 2000120101 ; Serial 43200 ; Refresh (12h) 14400 ; Retry ( 4h) 604800 ; Expire ( 1w) 86400) ; Minimum TTL ( 1d)
It's cleaner and easier to read.
Of course that makes it wrong!
Sigh.
Schemes, Scams, Frauds.
I wonder if this has anything to do with my recent business proposal?
I wonder …
Evolution in action
Jason Lind was severely burned Friday night when he and a friend poured gasoline on his feet and legs and set him ablaze while imitating a stunt on MTV's high-rated show “Jackass,” police said. The fire grew out of control and burned the boy's legs and hands before it was extinguished, officials said.
Connecticut teen burned while imitating MTV stunt
Evolution in action, people! Evolution in action!
Why is that so wrong?
Wednesday, January 31, 2001
Outtage
I've had enough. While IDSL
is nice and all, I have noticed that
periodically, the connection will just simply drop. For about ten to twenty
seconds or so. So I wrote some software to record the outtages. I'll let it run for
about a week or so, then send the results back to Velotel.
In the hour I've been running it, I've already recorded some outtages.
This might be worse than I thought.
There's a bug in the RAID …
While talking with Mark today he mentioned having a problem with Linux on a client's machine. It seems that the latest kernel, 2.4.1, doesn't like the client's hardware—it doesn't boot at all.
Now this client has an AMI MegaRAID controller, in addition to dual
processors. The reason for the upgrade, other than the occasional kernel
panic, is to have better network throughput, as the networking stack in 4.2
will actually work correctly in an SMP
configuration.
Only it doesn't work. Mark was able to track down the problem to a call to reqeust_region() which seems to possibly have undergone a return value change since 2.2 and this particular driver wasn't updated; there's no contact or authorship for the driver other than Dell Corporation.
But the general consensus of both Mark and I is that Linux is slowly sinking into software bloat and general chaos. There are design decisions that Linus Torvalds is making that hamper the growth of Linux (one of the bigs ones—no revision control system. Another—he hates modular kernels (and modular in this sense doesn't mean kernel modules, more a sensible ABI or API between the kernel and various drivers and subsystems. Oh, and no enterprise support in the Linus' version of the kernel). A kernel split is, I think, imminent.
A mutanous paradise
In general surfing I came across several sites for the island of Pitcairn, a small island in the south Pacific halfway between New Zealand and South America and home to the descendants of mutineers from the HMS Bounty.
The island itself is approximately 1 km by 2 km, very rocky and mountainous and other than a rather expensive Internet connection (some US$3.50/minute) and inconsistent travel accomidations (you can get there only by sea, and even then there's no regular route and even if you arrange for transportation (at a typical price of $700 one way) if the weather or sea is too rough, tough. No landing, do over again.
But you can register A Pitcairn domain!
Binding BIND
I downloaded BIND 8.2.3 and in poking around the source code, found the offending code that prevented the parsing of DNS zone files in a certain format. It was a one line modification to fix the problem:
bind/src/bin/named/db_load.c:1594 #ifndef BIND_UPDATE static #endif int getnonblank(FILE *fp, const char *src, int multiline) { int c; multiline = 1; /* hack to fix --spc */ while ((c = getc(fp)) != EOF) { if (isspace(c)) { if (c == '\n') { if (multiline) lineno++; else goto eol; } continue; } if (c == ';') { while ((c = getc(fp)) != EOF && c != '\n') ; if (c == '\n') { if (multiline) lineno++; else goto eol; } continue; } return (c); } ns_info(ns_log_db, "%s:%d: unexpected EOF", src, lineno); return (EOF); eol: ns_error(ns_log_db, "%s:%d: unexpected end of line", src, lineno); /* don't ungetc(c, fp); as the caller will do this. */ return(c); }
Sigh.