The recent woes of Tom Delay, Jack Abramoff, and Duke Cunningham remind us that in the U.S. we truly have a government of the people, by the people (with a shitload of money) and for the people (with a shitload of money). It's easy for the individual who does not have access to millions of dollars and a stable of lobbyists to feel shut out of the process and alienated.
I personally can not complain, though. For one brief moment a couple years ago, I had an opportunity to throw my lot in with a political action committee and be partial owner of a Congressho, the way a stockholder can be a partial owner of a corporation. I worked for a huge telecom company that had an employee PAC, and one day there was a mandatory PAC-related meeting for all the 'managers' at the company. Like 90% of the managers there, I had no underlings, but because I was called 'manager', I couldn't join the union, so it was a win/win. I had a meaningless title, and the company had no need to worry that I might ever try to stand up for myself in an inconvenient way.
At the meeting, the sub-sub-demi-President of our local nodule of the corporation made a few remarks and introduced our bi-partisan presenters. There was a former Republican State Senator who looked like the president of the Lambda Chi Alpha Chapter. There was a former Democratic State Senator who looked like an AME minister. They told us about the hard life of the state representative. It is a part time job that doesn't pay very well. Lots of very
thick bills full of legalese end up on their desks. "There is no way we could read it all". Fortunately, there is help for the overwhelmed freshman senator.
These guys were approached by lobbyists for the corporation. "Hey, we spent a lot of money on your campaign" they said. "We think we deserve some access as a result". Access means getting to tell the senator how to vote.
These guys acquiesced, but they weren't just two cheap trollops that got used up and thrown away by the lobbyists, it turns out. They ended up getting really nice jobs with the corporation after their stint was up. God Bless America.
The way the PAC worked was pretty clever. When you signed up, you'd chose a percentage or amount from your paycheck that went to the PAC. You'd also choose a charity from the corporation's approved list, and the company would match your PAC contribution with money going to the charity. That way they got your money in exchange for charitable contributions which, unlike your PAC contribution, were tax deductible.
After the presentation was over, a cynical old bag at the back of the room said, in a voice ravaged by thousands of smoke breaks: 'think of this as your management union dues'. The ex-congresshos laughed, but said 'well, we aren't allowed to say that, ha, ha'.
Some chump I worked with signed up to pay a dollar per pay period. He lived in fear and was really under the corporate fist. He slept at his desk regularly, but feared if he checked weather.com from his work computer the goon squad would take him away. Beep beep. I'm sure he thought if he didn't give them any money, his days were numbered, but I'm surprised it didn't cross his mind that the $1 would look like an insult.
As for myself, I signed up to give them nothing. I guess I only have myself to blame for my position of powerlessness and lack of say in what the government does.
(BTW, I don't know what happened to the grizzly story. Looks like blogger ate it.)
Being a collection of random observations, interesting and/or amusing links, and occasional original thoughts.
Tuesday, February 28, 2006
Saturday, January 28, 2006
Why we're not yet really fascists: where are all the Superstar Generals?
Though Americans are proud to be without a royal family or a tough-but-fair autocrat who took charge via a military coup running things around here, we do have a history of superstar Generals who even veterans of our public schools can rattle off without even thinking: George Washington. Ulysses S. Grant. 'Blackjack' Pershing. Douglas MacArthur. George S. 'like crap through a goose' Patton. Dwight D. Eisenhower.
Even more recently, during Gulf War I, aka American Gets Its Groove Back, fat middle aged men sitting on the couch watching the ass-kicking all teary eyed fell in love with fat, middle-aged General Norman Schwarzkopf, whose aw-shucks memoir 'It Doesn't Take a Hero' was a phenomenally successful best-seller for a while. General Colin Powell became 'the black man everybody at work can agree on' before Will Smith took the title, and middle Americans unable to pronounce the word 'wash' properly marveled that 'he speaks so well'.
Then, somewhere, somehow, things went awry for the military as a path to celebrity. Though MacArthur famously said 'Old soldiers never die, they just fade away', and Schwarzkopf appears to have done exactly that (note to self - Google to see if he's still alive after typing this), Powell introduced a new model for old soldiers - the political career that crashes and burns because you hitched your wagon to the wrong star.
With Gulf War II, aka this time we mean it motherfuckers, you'd expect a whole new Rat Pack or Brat Pack or what have you of military superstars to come out and start shining, but mostly they've been in the shadows. The only Generals I could name associated with Gulf War II when I started writing this were Gen. Janis Karpinski of Abu Ghraib infamy, and General Vincent Brooks, who gave all those press conferences in the pre 'Mission Accomplished' days, charming us with strong and powerful oratory like this:
It's unlike any other targeting process in the world. It takes into account all science, it takes into account all capability, and we do everything physically and scientifically possible to be precise in our targeting and also to minimize secondary affects, whether it's on people or structures.
The words seemed carefully crafted to fade from memory the instant your neurons processed them. Kids in no schoolyards proceeded to imagine themselves bravely minimizing secondary affects on structures.
While military folks are regarded as heroes in this go-around, they are kind of faceless everyman dad-went-in-to-work-even-when-he-had-a-fever-of-103 heroes. The days of the Superstar Generals seem to be gone. Now its ex-CEOs and academic neocons running things. Where have you gone, Dwight D. Eisenhower? A nation turns its lonely eyes to you, woo woo woo.
P.S. - He's alive!
Even more recently, during Gulf War I, aka American Gets Its Groove Back, fat middle aged men sitting on the couch watching the ass-kicking all teary eyed fell in love with fat, middle-aged General Norman Schwarzkopf, whose aw-shucks memoir 'It Doesn't Take a Hero' was a phenomenally successful best-seller for a while. General Colin Powell became 'the black man everybody at work can agree on' before Will Smith took the title, and middle Americans unable to pronounce the word 'wash' properly marveled that 'he speaks so well'.
Then, somewhere, somehow, things went awry for the military as a path to celebrity. Though MacArthur famously said 'Old soldiers never die, they just fade away', and Schwarzkopf appears to have done exactly that (note to self - Google to see if he's still alive after typing this), Powell introduced a new model for old soldiers - the political career that crashes and burns because you hitched your wagon to the wrong star.
With Gulf War II, aka this time we mean it motherfuckers, you'd expect a whole new Rat Pack or Brat Pack or what have you of military superstars to come out and start shining, but mostly they've been in the shadows. The only Generals I could name associated with Gulf War II when I started writing this were Gen. Janis Karpinski of Abu Ghraib infamy, and General Vincent Brooks, who gave all those press conferences in the pre 'Mission Accomplished' days, charming us with strong and powerful oratory like this:
It's unlike any other targeting process in the world. It takes into account all science, it takes into account all capability, and we do everything physically and scientifically possible to be precise in our targeting and also to minimize secondary affects, whether it's on people or structures.
The words seemed carefully crafted to fade from memory the instant your neurons processed them. Kids in no schoolyards proceeded to imagine themselves bravely minimizing secondary affects on structures.
While military folks are regarded as heroes in this go-around, they are kind of faceless everyman dad-went-in-to-work-even-when-he-had-a-fever-of-103 heroes. The days of the Superstar Generals seem to be gone. Now its ex-CEOs and academic neocons running things. Where have you gone, Dwight D. Eisenhower? A nation turns its lonely eyes to you, woo woo woo.
P.S. - He's alive!
Friday, January 27, 2006
This week's brilliant online persona
CAPS LOCK shouldn't be as funny as he is. The all caps thing has been done before, both by clueless n00bs and people who know better mocking clueless n00bs.
His Diary about the death of Pope John Peel (sic) II includes this gem:
WE MUST ENSURE THAT THE LIKES OF THIS NEVER HAPPEN AGAIN. THE BATTLE AGAINST DEATH IS THE MOST IMPORTANT CHALLENGE FACING LOVERS OF FREEDOM AND DEMOCRACY. WE MUST NOW TAKE IT FROM THE STREETS OF FALLJAH AND BAGHDAD TO THE STREETS OF ROME, WHERE EVIL ITALIAN TERRORISTS RIDING BATTLE MOPEDS SPREAD CANCER AND HEART FAILURE AMONGST POPES. I SAY TO THEM: BRING IT ON!
...and later...
HE WILL BURIED, ONLY TO BE RESSURECTED AGAIN AT EASTER TO GIVE HIS NOW TRADITIONAL INCOMPREHENSIBLE EASTER MESSAGE OF BARKING NOISES AND DRIBBLING FROM THE VATICAN BALCONY.
In his Diary, MY MATE ASIF, he tells the story of a young Pakistani man's transformation from star-struck youth who would follow in the footsteps of Freddie Mercury to suicide bomber taking a busload of civilians down with him. In another diary, he tells a dying friend he's going to hell:
His Diary about the death of Pope John Peel (sic) II includes this gem:
WE MUST ENSURE THAT THE LIKES OF THIS NEVER HAPPEN AGAIN. THE BATTLE AGAINST DEATH IS THE MOST IMPORTANT CHALLENGE FACING LOVERS OF FREEDOM AND DEMOCRACY. WE MUST NOW TAKE IT FROM THE STREETS OF FALLJAH AND BAGHDAD TO THE STREETS OF ROME, WHERE EVIL ITALIAN TERRORISTS RIDING BATTLE MOPEDS SPREAD CANCER AND HEART FAILURE AMONGST POPES. I SAY TO THEM: BRING IT ON!
...and later...
HE WILL BURIED, ONLY TO BE RESSURECTED AGAIN AT EASTER TO GIVE HIS NOW TRADITIONAL INCOMPREHENSIBLE EASTER MESSAGE OF BARKING NOISES AND DRIBBLING FROM THE VATICAN BALCONY.
In his Diary, MY MATE ASIF, he tells the story of a young Pakistani man's transformation from star-struck youth who would follow in the footsteps of Freddie Mercury to suicide bomber taking a busload of civilians down with him. In another diary, he tells a dying friend he's going to hell:
HIS LIFE WAS A CATOLOGUE OF SLOTH, THAT MOST COMMON OF SINS. NO MATTER THE PASSION OF HIS FEELING, THE SOUNDNESS OF ITS LOGIC: HE NEVER ACTED.
THERE IS SUCH A THING AS HELL. IT IS WHERE THE GUILT OF YOUR INACTION IS MADE REAL, AND YOU CAN'T LOOK AWAY.
Like b3ta, Monty Python and of course Benny Hill, CAPS LOCK reminds us that the best comic minds come from the UK.
Thursday, January 19, 2006
Yo yo yo! Represent Da Lollipop Guild!
I've mentioned here before that as you move past 30 you tend to get a bit out of touch with the new music, what with not having so much time to read music magazines and listen to the near infinite sources of music now available in our brave new (but still floating-car-free) world. There was a time, sure, all I did was hang out in the apartment listening to The Smiths, but you know, you live, you grow.
Anyhow, the options as you get older are kind of grim. Occasionally you'll get wind of some new thing of the moment. Let's say 'Grime', a genre whose best known artist is 'Dizzee Rascal'. How can you not like a guy named 'Dizzee Rascal'? Well, after listening to the CD a couple times and having a real hard time getting past the hiccuping delivery and the impenetrable UK slang, you suddenly find yourself buying up Pavement re-issues, which is the aging indie-rock fan's version of curling up in the fetal position.
New superstar out of the UK, Lady Sovereign aka SOV, presents a whole other problem. I heard 'A Little Bit of Shhhh' on the Electronica 'Music Choice' satellite TV station, and damn, it is some good UK flavored hip-hop, lots of aggression and more of that impenetrable UK slang ( "Got kicked out of school due to bunking/ Now look at me, the multi-talented munchkin," - Bunking?). But Google SOV and, Oh my God, she looks like she's 12 years old. She is 19, so we're told, but she looks 12. That just won't do, no not at all, if you are male and over 18.
I guess there's an Underworld Box set that just came out. Off to the record store I go.
Anyhow, the options as you get older are kind of grim. Occasionally you'll get wind of some new thing of the moment. Let's say 'Grime', a genre whose best known artist is 'Dizzee Rascal'. How can you not like a guy named 'Dizzee Rascal'? Well, after listening to the CD a couple times and having a real hard time getting past the hiccuping delivery and the impenetrable UK slang, you suddenly find yourself buying up Pavement re-issues, which is the aging indie-rock fan's version of curling up in the fetal position.
New superstar out of the UK, Lady Sovereign aka SOV, presents a whole other problem. I heard 'A Little Bit of Shhhh' on the Electronica 'Music Choice' satellite TV station, and damn, it is some good UK flavored hip-hop, lots of aggression and more of that impenetrable UK slang ( "Got kicked out of school due to bunking/ Now look at me, the multi-talented munchkin," - Bunking?). But Google SOV and, Oh my God, she looks like she's 12 years old. She is 19, so we're told, but she looks 12. That just won't do, no not at all, if you are male and over 18.
I guess there's an Underworld Box set that just came out. Off to the record store I go.
Sunday, January 15, 2006
How not to jerk off: my special 'choose life' message to the young people of the Islamic Republic of Iran
As I've mentioned previously in this space, part of the fun of having a blog is checking through the referrals in your logs to see what's bringing people to your site.
Recently I was excited to discover I had my first hit from the Middle East. It was in fact, from the Axis of Evil itself: the Islamic Republic of Iran. It seems a young man at the Rizbarf Mineral Company was kicking back and taking a break, and instead of daydreaming about wiping Israel off the map, he went to Google to type in his search keyword: 'jerkoff'.
Imagine his disappointment when the search led him to a posting on my blog about using the Mozilla Greasemonkey plugin to filter out posts by jerkoffs, using some javascript featuring a variable called 'jerkoffs' (and I realize I'm only making things worse for future would-be wankers, but stick with me, the positive after-school special part starts right about now).
Now, I know under a repressive regime ruled largely by religious dudes with a lot of problems with the whole concept of sex and a kind of awkwardness and reluctance in re: treating women properly, there is probably not a lot of open discussion about things like masturbation (I went to Catholic School, so I speak from personal experience), but I can tell you, not only is there nothing wrong with it, it apparently reduces your risk of prostate cancer, which, even though I'm not a doctor, I would classify as a good thing.
However, some people get a little too creative, and they get hurt. I direct you to the Chuck Palahniuk novel, Choke, which features a lengthy section about masturbatory
misadventures leading to emergency room visits (who knew some vacuum cleaners had little blades inside to chop up the dirt? You do, now.)
Another possible problem, which people here in the U.S. in general would rather not talk about (although there was an episode of Six Feet Under that opened with a young man dying this way) is auto-erotic asphyxiation.
In college, I shared a house with several students and a Physics Professor. One of our housemates was brilliant, at least he was an extremely skilled computer programmer, but he was also what people would euphemistically call 'troubled'. He came to the College I Attended after being kicked out of the infamous fundie institution 'Bob Jones University' (his list of offenses included associating with a girl from Lebanon, and possession of a Stryper tape). He got in big trouble for messing with the computer system. He failed math classes he presumably could have passed. He actually paid to have electrodes attached to his arms so he could build up muscles without having to use the weights the Professor had in his basement, like the rest of us did (another story, for another time).
Anyhow, I graduated, and a couple of years passed, and the old woman who lived next door to the house (she was a good friend, we hung out w/ her when we got sick of our other housemates) told me about the tragedy: our old roommate had committed suicide. Apparently, he was deep in debt, and quit a job thinking he had landed another one, only to find the new job had disappeared. Police cars and an ambulance came to the house, and it was a terrible scene.
Even though I wasn't close to the guy, I felt pretty sad about that. It seemed like the sort of problem he could have worked through. Later, while I was discussing it with another alum of the school and house, my friend informed me it was not suicide, actually it was 'autoro...autoerotic...autoerotic asphyxiation' (this friend is pretty religious, too; and his religion dictates that he stumbles awkwardly over terms or ideas that are too repulsive to him).
Apparently this friend had talked to a police officer who had arrived at the scene. The roommate was found with a belt around the neck. Something had gone wrong and the whole thing was an accident. He had no intention of killing himself all along.
It was very sad, and a total waste, so to young people in general, stay away from that shit. You don't want to be remembered for that, and if you go out that way without a long achievement-rich life behind you, that's pretty much all you'll be remembered for by most. Actually, it's probably true that if you cured cancer AND died of autoerotic asphyxiation, you'd be remembered as that scientist who died of autoerotic asphyxiation.
Recently I was excited to discover I had my first hit from the Middle East. It was in fact, from the Axis of Evil itself: the Islamic Republic of Iran. It seems a young man at the Rizbarf Mineral Company was kicking back and taking a break, and instead of daydreaming about wiping Israel off the map, he went to Google to type in his search keyword: 'jerkoff'.
Imagine his disappointment when the search led him to a posting on my blog about using the Mozilla Greasemonkey plugin to filter out posts by jerkoffs, using some javascript featuring a variable called 'jerkoffs' (and I realize I'm only making things worse for future would-be wankers, but stick with me, the positive after-school special part starts right about now).
Now, I know under a repressive regime ruled largely by religious dudes with a lot of problems with the whole concept of sex and a kind of awkwardness and reluctance in re: treating women properly, there is probably not a lot of open discussion about things like masturbation (I went to Catholic School, so I speak from personal experience), but I can tell you, not only is there nothing wrong with it, it apparently reduces your risk of prostate cancer, which, even though I'm not a doctor, I would classify as a good thing.
However, some people get a little too creative, and they get hurt. I direct you to the Chuck Palahniuk novel, Choke, which features a lengthy section about masturbatory
misadventures leading to emergency room visits (who knew some vacuum cleaners had little blades inside to chop up the dirt? You do, now.)
Another possible problem, which people here in the U.S. in general would rather not talk about (although there was an episode of Six Feet Under that opened with a young man dying this way) is auto-erotic asphyxiation.
In college, I shared a house with several students and a Physics Professor. One of our housemates was brilliant, at least he was an extremely skilled computer programmer, but he was also what people would euphemistically call 'troubled'. He came to the College I Attended after being kicked out of the infamous fundie institution 'Bob Jones University' (his list of offenses included associating with a girl from Lebanon, and possession of a Stryper tape). He got in big trouble for messing with the computer system. He failed math classes he presumably could have passed. He actually paid to have electrodes attached to his arms so he could build up muscles without having to use the weights the Professor had in his basement, like the rest of us did (another story, for another time).
Anyhow, I graduated, and a couple of years passed, and the old woman who lived next door to the house (she was a good friend, we hung out w/ her when we got sick of our other housemates) told me about the tragedy: our old roommate had committed suicide. Apparently, he was deep in debt, and quit a job thinking he had landed another one, only to find the new job had disappeared. Police cars and an ambulance came to the house, and it was a terrible scene.
Even though I wasn't close to the guy, I felt pretty sad about that. It seemed like the sort of problem he could have worked through. Later, while I was discussing it with another alum of the school and house, my friend informed me it was not suicide, actually it was 'autoro...autoerotic...autoerotic asphyxiation' (this friend is pretty religious, too; and his religion dictates that he stumbles awkwardly over terms or ideas that are too repulsive to him).
Apparently this friend had talked to a police officer who had arrived at the scene. The roommate was found with a belt around the neck. Something had gone wrong and the whole thing was an accident. He had no intention of killing himself all along.
It was very sad, and a total waste, so to young people in general, stay away from that shit. You don't want to be remembered for that, and if you go out that way without a long achievement-rich life behind you, that's pretty much all you'll be remembered for by most. Actually, it's probably true that if you cured cancer AND died of autoerotic asphyxiation, you'd be remembered as that scientist who died of autoerotic asphyxiation.
Monday, January 02, 2006
How to ensure nobody does Karaoke at your New Year Party
(invite a professor who teaches voice at one of the top music schools in the country. D'oh!)
Wednesday, December 28, 2005
Media worth Mention pt. 1: La Perdida
This cornily alliteratively titled feature covers DVDs, CDs, and Comic books that I've recently viewed/read/listened to/otherwise ingested that not only were worth the time/money involved to acquire and ingest them, but were in fact good enough to write about here where maybe one or two people will get curious and likewise check them out.
The first item is actually a series, a 5 part comic by Jessica Abel (of artbabe fame) called 'La Perdida'. It's about a young American woman's experiences living in Mexico (Abel lived in Mexico herself from 1998-2000). Mexico is a source of fascination for many USians, myself included, several of whom have fantasies with varying degrees of seriousness about actually moving there and living there for a bit, and anyone with that interest really ought to look into this series. It's not merely a thinly veiled autobiographical travel diary thing - there are a number of events and twists in the story that add suspense and excitement that go beyond the usual foreigner acclimating to the local culture subject matter. After reading Part 4, I had to rush back to the bookstore to pick up Part 5, because I wanted to see how things turned out.
The drawings are all black and white, with covers in color. I enjoyed the style and the story, and picked up a lot of great Mexican slang along the way, which I almost certainly will never use in real life. I'm not even sure how 'guey' is pronounced.
This came out in 2002, but I am just discovering it now, thanks to the truly wonderful Boxcar Books, a non-profit, volunteer-run bookstore in Bloomington (which, thanks to some recent renovations, now has a whole room dedicated to comix). Since I discovered Boxcar Books, I pretty much only go to Borders for tech book needs now.
Highly recommended.
The first item is actually a series, a 5 part comic by Jessica Abel (of artbabe fame) called 'La Perdida'. It's about a young American woman's experiences living in Mexico (Abel lived in Mexico herself from 1998-2000). Mexico is a source of fascination for many USians, myself included, several of whom have fantasies with varying degrees of seriousness about actually moving there and living there for a bit, and anyone with that interest really ought to look into this series. It's not merely a thinly veiled autobiographical travel diary thing - there are a number of events and twists in the story that add suspense and excitement that go beyond the usual foreigner acclimating to the local culture subject matter. After reading Part 4, I had to rush back to the bookstore to pick up Part 5, because I wanted to see how things turned out.
The drawings are all black and white, with covers in color. I enjoyed the style and the story, and picked up a lot of great Mexican slang along the way, which I almost certainly will never use in real life. I'm not even sure how 'guey' is pronounced.
This came out in 2002, but I am just discovering it now, thanks to the truly wonderful Boxcar Books, a non-profit, volunteer-run bookstore in Bloomington (which, thanks to some recent renovations, now has a whole room dedicated to comix). Since I discovered Boxcar Books, I pretty much only go to Borders for tech book needs now.
Highly recommended.
Friday, December 23, 2005
Merry Christmas Motherfuckers!
Apparently some people are worried about 'secular progressives' trying to further the ongoing oppression of the Christian people by saying 'Happy Holidays' instead of Merry Christmas. All the Christians are going to have to flee to Egypt like Jesus and his Mom and non-God Dad did any minute now.
As a member of this secular conspiracy to destroy America's Heritage (I am a member of the ACLU, after all), this prompted me to examine my own behavior to see if I was doing enough for the cause. On some self-reflexion, I realized I actually say 'Merry Christmas' a lot, which made me wonder why do I show such callous disregard for friends and colleagues who are Jewish or otherwise non-affiliated with the downtrodden Christian minority of 80% of residents of the U.S. (thousands of whom attend services regularly, hundreds of whom pay attention to them)?
I realized it was kind of a knee jerk thing I do as a resident of a very churchy state in the midwest where slipping up and giving the wrong person the idea that you don't 'believe what they do' will result in all sorts of grief (I hesitate to use the word persecution as let's not be a drama queen here, the beatings ended once I got away from the nuns at my Catholic school).
So, yeah, 'War on Christmas' my skinny white ass. I am going to indulge in some serious Santa worship on the 25th to atone for my utter failure to observe the Winter Solstice. My Winter Solstice tradition is to, at some point during the day, say 'hey, it's Winter Solstice today', which has yet to trigger an exchange lasting longer than 15 seconds. Still, Solstice is important, as the truth at the root of it all is that freezin' is the reason for the season.
As a member of this secular conspiracy to destroy America's Heritage (I am a member of the ACLU, after all), this prompted me to examine my own behavior to see if I was doing enough for the cause. On some self-reflexion, I realized I actually say 'Merry Christmas' a lot, which made me wonder why do I show such callous disregard for friends and colleagues who are Jewish or otherwise non-affiliated with the downtrodden Christian minority of 80% of residents of the U.S. (thousands of whom attend services regularly, hundreds of whom pay attention to them)?
I realized it was kind of a knee jerk thing I do as a resident of a very churchy state in the midwest where slipping up and giving the wrong person the idea that you don't 'believe what they do' will result in all sorts of grief (I hesitate to use the word persecution as let's not be a drama queen here, the beatings ended once I got away from the nuns at my Catholic school).
So, yeah, 'War on Christmas' my skinny white ass. I am going to indulge in some serious Santa worship on the 25th to atone for my utter failure to observe the Winter Solstice. My Winter Solstice tradition is to, at some point during the day, say 'hey, it's Winter Solstice today', which has yet to trigger an exchange lasting longer than 15 seconds. Still, Solstice is important, as the truth at the root of it all is that freezin' is the reason for the season.
Thursday, December 08, 2005
Best programming book EVAR!
I have written briefly before about the 7 wheeled bicycle that is J2EE. Anyhow, people are looking for something, anything to replace Java as the next thing in programming, and a major contender is Ruby, a language created in Japan by a guy w/ the nickname 'Matz'. Another big one is Python, all the rage with the Linux set.
Anyhow, while wasting time on Kuro5hin tonight, I ran into a reference to Why's (Poignant) Guide to Ruby. It is full of cartoons and stories about an evil scientist named Dr. Cham. It also talks about Ruby, too. This Mr. why the lucky stiff is a genius, I tell you!
I have decided to learn more about Ruby now. Comix make learnin fun!
(update 12-23-05:
I read the whole thing. I liked the bit about meta-programming and Dwemthy's array. Writing programs that write programs is great, especially if the programs partially write themselves.
I also really liked the tiny bunny who put the dragon's head in the chimbly. I'm still not sure what a chimbly is. A cute mispelling of chimney?
Overall, a bold redefinition of the programming manual taking ideas Larry Wall touched on with the 'Job from the Bible hacks Perl' bits in the Camel Book and then just really running with them.
)
Anyhow, while wasting time on Kuro5hin tonight, I ran into a reference to Why's (Poignant) Guide to Ruby. It is full of cartoons and stories about an evil scientist named Dr. Cham. It also talks about Ruby, too. This Mr. why the lucky stiff is a genius, I tell you!
I have decided to learn more about Ruby now. Comix make learnin fun!
(update 12-23-05:
I read the whole thing. I liked the bit about meta-programming and Dwemthy's array. Writing programs that write programs is great, especially if the programs partially write themselves.
I also really liked the tiny bunny who put the dragon's head in the chimbly. I'm still not sure what a chimbly is. A cute mispelling of chimney?
Overall, a bold redefinition of the programming manual taking ideas Larry Wall touched on with the 'Job from the Bible hacks Perl' bits in the Camel Book and then just really running with them.
)
Wednesday, November 30, 2005
Disjointed thoughts in the Larry King Column Vein
Web sites and magazines are always talking about the 10 best albums ever, or the worst album covers, and these articles always stir up arguments. But there's no dispute as to who the worst rock band ever is: Aerosmith after 1980.
There's a really happening audio installation about the famous Amen break right here. You know the Amen break even if you don't know it by name.
The Super Furry Animals have a new album out, and I didn't even know that. It's true - after you turn 30 you really can't keep up with music to save your life.
Here's a tasty treat - put mustard and swiss cheese on an onion bagel, and put it in the microwave for 20 seconds. It even tastes great on those O-rings Lender's sells in the freezer section.
One of the design goals of .NET was to enable rapid development. One of the design goals of J2EE was to take a decent language and throw so much doo-hickery on top of it that the simplest project takes years.
Every time I see Dick Cheney trying to smile, I wonder whose heat he had turned off.
There's a really happening audio installation about the famous Amen break right here. You know the Amen break even if you don't know it by name.
The Super Furry Animals have a new album out, and I didn't even know that. It's true - after you turn 30 you really can't keep up with music to save your life.
Here's a tasty treat - put mustard and swiss cheese on an onion bagel, and put it in the microwave for 20 seconds. It even tastes great on those O-rings Lender's sells in the freezer section.
One of the design goals of .NET was to enable rapid development. One of the design goals of J2EE was to take a decent language and throw so much doo-hickery on top of it that the simplest project takes years.
Every time I see Dick Cheney trying to smile, I wonder whose heat he had turned off.
Saturday, November 26, 2005
Diving into Greasemonkey, or Roll Your Own Bozofilter
I read about greasemonkey in Wired, and it sounded pretty cool. What it is is a plugin for the Mozilla browser (which is vastly superior to Internet Explorer, kind of like a 2005 Toyota Camry is better than a 1973 Pinto), and what it does is allow you to write javascript snippets that enable you to change the structure of websites you visit in whatever manner you wish (common mods include adding in links to other sites, stripping out ads, or changing ugly color schemes).
This has ramifications for Web advertising and 'brand purity' that probably nobody cares about at this time, because it's only geeks who want to fuck around with writing their own Javascript and CSS and figuring out what XPath expressions are and why you'd want to use them who will be using it. There ARE plenty of pre-written scripts out there, however.
At this point the cautious will rightfully ask whether it's a good idea to install code that hasn't been vetted on your machine, and they'd be right to do so. After all, with companies like Sony trying to get all '1337' on our asses and putting rootkit software on My Morning Jacket CD's so they can 'own' our 'boxen', we really can't be too careful. There was in fact as Security Advisory involving Greasemonkey in July of 2005, discovered by Mark Pilgrim, who we'll talk about more soon. It has since been addressed.
Let's get back on topic. All you really need to do to get started is install Mozilla, and if you do plan to be writing any scripts, you need to choose the Custom Install w/ the developer extensions. You then install the greasemonkey plugin.
There are numerous sites discussing Greasemonkey. The one I ended up bookmarking and going back to was the unappealingly titled 'Dive Into Greasemonkey' by 'Dive Into' Mark Pilgrim (you have to admit, though, having a 'Dive Into' book on the shelf is infinitely better than something from the 'For Dummies' series). Mark's guide is thorough and, here's the really great part: concise. As in brief. As in not full of a lot of useless fluff (you will soon see a 900 page book with a Red Cover and pictures of several nerds on the cover from Wrox publishing if Greasemonkey catches on, though).
Anyhow, for a simple Greasemonkey experiment, I wondered how easy would it be to write a bozo-filter for my favorite running forum, coolrunning.com. It was pretty easy. I am sure there are a million other ways to do it, anyhow here is one (standard disclaimers about for entertainment purposes only, no guarantee of blah blah blah, don't come crying to me if this causes your machine to melt through the floor, etc, apply):
This has ramifications for Web advertising and 'brand purity' that probably nobody cares about at this time, because it's only geeks who want to fuck around with writing their own Javascript and CSS and figuring out what XPath expressions are and why you'd want to use them who will be using it. There ARE plenty of pre-written scripts out there, however.
At this point the cautious will rightfully ask whether it's a good idea to install code that hasn't been vetted on your machine, and they'd be right to do so. After all, with companies like Sony trying to get all '1337' on our asses and putting rootkit software on My Morning Jacket CD's so they can 'own' our 'boxen', we really can't be too careful. There was in fact as Security Advisory involving Greasemonkey in July of 2005, discovered by Mark Pilgrim, who we'll talk about more soon. It has since been addressed.
Let's get back on topic. All you really need to do to get started is install Mozilla, and if you do plan to be writing any scripts, you need to choose the Custom Install w/ the developer extensions. You then install the greasemonkey plugin.
There are numerous sites discussing Greasemonkey. The one I ended up bookmarking and going back to was the unappealingly titled 'Dive Into Greasemonkey' by 'Dive Into' Mark Pilgrim (you have to admit, though, having a 'Dive Into' book on the shelf is infinitely better than something from the 'For Dummies' series). Mark's guide is thorough and, here's the really great part: concise. As in brief. As in not full of a lot of useless fluff (you will soon see a 900 page book with a Red Cover and pictures of several nerds on the cover from Wrox publishing if Greasemonkey catches on, though).
Anyhow, for a simple Greasemonkey experiment, I wondered how easy would it be to write a bozo-filter for my favorite running forum, coolrunning.com. It was pretty easy. I am sure there are a million other ways to do it, anyhow here is one (standard disclaimers about for entertainment purposes only, no guarantee of blah blah blah, don't come crying to me if this causes your machine to melt through the floor, etc, apply):
// This is a Greasemonkey user script.
//
// To install, you need Greasemonkey:
// http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to
// "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "CoolerRunning", and click Uninstall.
//
// -------------------------------------------------
//
// ==UserScript==
// @name CoolerRunning
// @namespace SDC
// @description remove wack fuckas
// @include http://www.coolrunning.com/*
// @exclude
// @exclude
// ==/UserScript==
// give us a quickie list of miscreants
// (replace with real usernames before using)
var jerkoffs = new Array("attention ho",
"subliterate cretin",
"troll");
// alt approach: use XPath expression
// note - this is it, zeroes in on 3rd cols
// (user on thread list)
// on comment list it's 1st col.
var xpathMatch;
var allEle = document.evaluate("//TABLE/TBODY/TR/TD/H2",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
GM_log("Got " + allEle.snapshotLength + " with the H2 in TD.");
GM_log(allEle.snapshotItem(0).innerHTML);
if (allEle.snapshotLength > 0 &&
(allEle.snapshotItem(0).innerHTML.indexOf("Clubhouse")>=0)) {
xpathMatch = "//TABLE[@width]/TBODY/TR/TD[3]"; // topics
GM_log("Using topics match");
} else {
xpathMatch = "//TABLE[@width]/TBODY/TR/TD[1]/FONT";
// subject page
GM_log("Using Listing match");
}
allEle = document.evaluate(
xpathMatch,
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
GM_log("XPath got:" + allEle.snapshotLength + " items.");
wipeJerky(allEle);
function wipeJerky(theElements) {
var thisEle;
var whereIndex;
var jerkoff;
for (var idex = 0; idex < theElements.snapshotLength;
idex++) {
thisEle = allEle.snapshotItem(idex);
GM_log("Inside: >" + thisEle.innerHTML + "<");
for (var jdex = 0; jdex < jerkoffs.length; jdex++) {
jerkoff = jerkoffs[jdex];
whereIndex = thisEle.innerHTML.indexOf(jerkoff);
if ( whereIndex >= 0) {
GM_log('Looks like ' + jerkoff + ' is here.');
GM_log(' at index:' + whereIndex + ' in the contained html.');
container = thisEle.parentNode;
// may have to back up.
if (!(container.nodeName.toUpperCase() == 'TR')) {
container = container.parentNode;
}
container.parentNode.removeChild(container);
GM_log('Removed ' + jerkoff + '.');
} // found a-hole
} // jerks
} // elements
}
Wednesday, November 16, 2005
The Answer's to Last Week's Quiz
- This was kind of a trick question. In this particular case, it was a corporate, private industry job, but there was a guy that slept on the government job, too.
- This one was a government job. There is a street in my town with the same name as the guy, which always reminds me of this scarily intense individual.
- This one was a private industry job. Consulting companies love to find suckers to milk for all they're worth, public or private. The application violated software engineering principles like not putting more than 256 fields on a screen. (note of clarification - I didn't write the story I linked too, but it illustrates my point pretty well)
- This one was private, too. Corporations, driven by market forces and the invisible hand, can make innovations in stifling, soul-crushing bureaucracy that make legendary government inefficiency look pretty candy ass.
- Government job. Eerily smart people sometimes are motivated by non-monetary factors like the job being the only thing in any way technical near their home town. And no, I wasn't talking about myself here. This guy lived in Bloomfield, and I've never even been there.
- Corporate job. Like Wally from Dilbert, I was not overly vigilant about making sure the thing had good batteries.
- Corporate job. Some plucky individuals inside the company started a Wiki to try to make sense of all the acronyms.
- Government job. He did have the sense to abandon the necklace thing when it got too small for his neck.
- Government job. I have since gone on to higher levels of flunkydom.
Friday, November 11, 2005
This Week's Quiz: Government or Mega-Corporation Job?
Each item below describes something I observed either while working for the Government or while working for an extremely large corporation. Answers will appear in a future posting.
- A guy I worked with fell asleep in his cubicle at least a couple of times a month. It eventually became a game for the rest of us to try to get pictures of him sleeping. Nobody tipped off management, because the game was kind of fun.
- A type-A engineer rumored to have a massive home porno collection often worked weekends and usually put in 10 hour days (at least).
- Software projects were tracked by a bloated monstrosity of VB crapware that some sheisty consulting company put together for about a billion dollars.
- The organizational structure had 23 levels. People in the middle 21 levels mainly forwarded emails coming from higher levels down, and did their best to prevent their underlings from communicating with people at higher levels.
- There were eerily smart people working there who knew how to change software in strange and wonderful ways by twiddling just the right bytes.
- We were provided beepers which people actually sometimes used to try to contact us.
- The language of the organization consisted mostly of Acronyms. Any one person knew what 10% of the acronyms meant, maybe, if they had been there for ten years.
- A guy wore a necklace he made out of paperclips. (The number of paperclips) = (The number of days 'till retirement)
- A guy volunteered for the daily task of 'getting supplies for people'. Getting supplies usually killed a whole morning, until a manager got wise and gave the job to a summer student flunky.
Monday, November 07, 2005
Testing on Knoppix
The piece of crap computer I bought from Micro-X-press in Indy finally gave up trying to run XP. Or XP gave up. One of these. Apparently Micro-X-Press went out of business or changed names or got swallowed up by another company.
I had a Knoppix CD handy, so here we are. I mainly just use the computer at home as a dumb terminal to get on the Web anyway. Who am I kidding?
I had a Knoppix CD handy, so here we are. I mainly just use the computer at home as a dumb terminal to get on the Web anyway. Who am I kidding?
Saturday, October 22, 2005
2 Year Old Movie Critic: Wallace and Gromit in The Curse of The Were-Rabbit
(cried inconsolably when the credits rolled, wanted the movie to keep going)
Tuesday, October 11, 2005
Fighting the Power with Memaw and Pepaw
Resistance to the I-69 project has always been strong in Bloomington, IN, and supporters of the initiative are quick to dismiss Bloomington as 'not representative of Indiana', what with it being a bastion of liberal thought and student activists and former hippies, and all that.
Tonight they held the first public hearing on the project at Martinsville High School in Martinsville, IN, which in general is a highly conservative, G.O.P.-all-the-way kind of town. There were plenty of 'My Man Mitch' signs in people's yards during the 2004 gubernatorial campaign, so they probably thought it was at least semi-friendly territory, but they were apparently wrong.
The meeting started with a Power Point presentation by a Daniels flunky about the plans for the highway - how many lanes, where the interchanges would be, where the overpasses would be. Not much was said about the highly unpopular decision to make I-69 a toll road - hitting all the commuters that use what's now State Road 37 to travel to Indianapolis or Bloomington with extra daily costs. Mostly it was about 3 alternate plans for the roads crossing 37, and in this example of democracy in the U.S., 2005 edition, the citizens have the power to choose, but they don't get to choose NOT to build I-69, no, they get to choose whether Ennis road will have a cul-de-sac or a Local road connection to frontage roads. Thank you, grandpa, for dodging bullets in Saipan so we can have freedoms like these.
Following the meeting was the 'have your say' bit, where local citizens were allowed 2 minutes to make a statement about the plan or ask specific questions (none of the questions were answered or addressed, I suppose they were 'noted'). A traffic light changed to yellow at 90 seconds and red at 2 minutes to keep people from going over.
The first guy to speak was an elected official they shipped in from Pendleton, IN, which is on I-69 North of Indianapolis. He glowingly spoke of all the economic benefits the Interstate has provided his town. Apparently the Interstate helped them preserve the town as an historic community somehow. He gives it credit for that, anyway. After this guy the Daniels people trucked in spoke, we didn't hear anything positive about I-69 for the rest of the evening.
People were pissed about the toll road decision. They wondered about the impact on air quality (one guy made the observation that "on 'No-Zone' days, we're told not to mow the lawn before 6am, but now you're gonna have thousands of trucks coming through every day?"), and the noise levels. People who owned businesses vented about their frustration that nobody in the government would listen to them. A man 'speaking for the small farmer' questioned the numbers used in the studies supporting I-69, calling them the result of a branch of math called 'Trickonometry' (corny, but better than 'fuzzy math'). An elderly woman who could barely stand up raged (as much as she could) about the government taking away her home. An elderly gentleman outraged at the prospect of losing his home suggested '3000 small lawsuits is better than one class action lawsuit'. Those who did not speak indicated their opposition by strongly applauding those who spoke out against I-69. When asked 'who here opposes I-69', everybody raised their hand. A couple people from C.A.R.R. in Bloomington spoke, but most of the speakers were locals judging by their knowledge of the town.
After the meeting I was encouraged that there was so much opposition to I-69, even outside of Bloomington, but at the same time I still have the impression the government just doesn't care what anybody thinks about it, or how it will affect them. It seems they've made up their mind this is going to happen no matter what anyone says, kind of like Bush made up his mind we were going to take out Saddam no matter what the facts were or what anybody thought. I'd like to think people could take a stand and stop the big swindle from happening, but I obviously have my doubts.
Tonight they held the first public hearing on the project at Martinsville High School in Martinsville, IN, which in general is a highly conservative, G.O.P.-all-the-way kind of town. There were plenty of 'My Man Mitch' signs in people's yards during the 2004 gubernatorial campaign, so they probably thought it was at least semi-friendly territory, but they were apparently wrong.
The meeting started with a Power Point presentation by a Daniels flunky about the plans for the highway - how many lanes, where the interchanges would be, where the overpasses would be. Not much was said about the highly unpopular decision to make I-69 a toll road - hitting all the commuters that use what's now State Road 37 to travel to Indianapolis or Bloomington with extra daily costs. Mostly it was about 3 alternate plans for the roads crossing 37, and in this example of democracy in the U.S., 2005 edition, the citizens have the power to choose, but they don't get to choose NOT to build I-69, no, they get to choose whether Ennis road will have a cul-de-sac or a Local road connection to frontage roads. Thank you, grandpa, for dodging bullets in Saipan so we can have freedoms like these.
Following the meeting was the 'have your say' bit, where local citizens were allowed 2 minutes to make a statement about the plan or ask specific questions (none of the questions were answered or addressed, I suppose they were 'noted'). A traffic light changed to yellow at 90 seconds and red at 2 minutes to keep people from going over.
The first guy to speak was an elected official they shipped in from Pendleton, IN, which is on I-69 North of Indianapolis. He glowingly spoke of all the economic benefits the Interstate has provided his town. Apparently the Interstate helped them preserve the town as an historic community somehow. He gives it credit for that, anyway. After this guy the Daniels people trucked in spoke, we didn't hear anything positive about I-69 for the rest of the evening.
People were pissed about the toll road decision. They wondered about the impact on air quality (one guy made the observation that "on 'No-Zone' days, we're told not to mow the lawn before 6am, but now you're gonna have thousands of trucks coming through every day?"), and the noise levels. People who owned businesses vented about their frustration that nobody in the government would listen to them. A man 'speaking for the small farmer' questioned the numbers used in the studies supporting I-69, calling them the result of a branch of math called 'Trickonometry' (corny, but better than 'fuzzy math'). An elderly woman who could barely stand up raged (as much as she could) about the government taking away her home. An elderly gentleman outraged at the prospect of losing his home suggested '3000 small lawsuits is better than one class action lawsuit'. Those who did not speak indicated their opposition by strongly applauding those who spoke out against I-69. When asked 'who here opposes I-69', everybody raised their hand. A couple people from C.A.R.R. in Bloomington spoke, but most of the speakers were locals judging by their knowledge of the town.
After the meeting I was encouraged that there was so much opposition to I-69, even outside of Bloomington, but at the same time I still have the impression the government just doesn't care what anybody thinks about it, or how it will affect them. It seems they've made up their mind this is going to happen no matter what anyone says, kind of like Bush made up his mind we were going to take out Saddam no matter what the facts were or what anybody thought. I'd like to think people could take a stand and stop the big swindle from happening, but I obviously have my doubts.
Saturday, October 01, 2005
Slicker and Tighter (Metal Machine Music Part II)
At the risk of alienating my tens of readers further, here's another entry about obsolete technology. Computers, mainly.
Legend has it the last code Bill Gates wrote for Microsoft was a little 'game' for the DOS 1.x(!) on the IBM PC called 'Donkey'. He wrote it with then high-school kid Neil Konzen in a closet while the two of them were getting a highly confidential preview of the PC.
The PC, as well as Bill and Neil's game, caught the attention of the people on Apple's Mac team.
The most embarrassing game was a lo-res graphics driving game called "Donkey". The player was supposed to be driving a car down a slowly scrolling, poorly rendered "road", and could hit the space bar to toggle the jerky motion. Every once in a while, a brown blob would fill the screen, which was supposed to be a donkey manifesting in the middle of the road. If you didn't hit the space bar in time, you would crash into the donkey and lose the game.
You can see the code, at least a QuickBasic version, here.
Just this one line gives you an idea of how far things have come in programming in general. This IS BASIC, the 'easy to learn', 'user friendly', 'so the janitor can start writing programs' language conceived at Dartmouth in 1964:
Short, cryptic variable names, hardcoded numbers all over the place, no comments, and, the cherry on top, the dreaded GOTO statement.
Bill Gates famously chided John Carmack (responsible for much of the heavy lifting on Doom, Quake, and numerous other revolutionary video games) in a video shown at the ceremony where John was inducted into the Hall Of Fame of the Academy of Interactive Arts and Sciences: " I just want you to know that I can write slicker and tighter code than John ".
To the non-technical, that scene was equivalent to a skit from a 70's Bob Hope Special in which Bob, wearing one of those leather 'Knute Rockne' football helmets, tells 'Mean' Joe Greene 'I'm gonna kick your ass on the football field today'.
Enough of that, though, this is not a bash-Gates or bash-Microsoft blog (really). In the interest of fairness, I just want you to know that I could write more unreadable and opaque basic than Bill myself, back in the 80s.
This game, 'Moonwalk III', involved helping a green guy with a nice hat get across a disintegrating bridge. It was very exciting.
1 V=53248:POKE V+21,1:PRINT"":POKE V+16,0
5 POKE V+39,5:POKE V+29,0:POKE V+23,0
10 POKE 2040,13
20 FOR T=0TO62:READ X:POKE 13*64+T,X:NEXT
25 FOR T=0TO 62 :POKE14*64+T,0:NEXT
30 FOR T=0TO62:READ X:POKE 15*64+T,X:NEXT
40 PRINT"“":POKE V+29,0
60 PRINT:PRINT:PRINT:PRINT:PRINT
70 PRINT" ’ ’ ’ ’ ’ ’ "
80 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
90 PRINT" ’ ’"
100 PRINT
110 PRINT" ’"
111 PRINT""
115 POKE V,32:POKE V+1,79
130 JX=PEEK(V):JY=PEEK(V+1)
140 GOSUB 3000
150 IF RJ=8ORRJ=9ORRJ=10THEN GOSUB 5500
160 IF RJ=4OR RJ=5ORRJ=6THEN GOSUB 6000
170 IF PEEK(V+31)=0 THEN GOSUB5000
175 IF JX>250 THEN JX=0:POKE V+16,1
176 IF JX>40 AND PEEK(V+16)=1THEN 11000
180 POKE V,JX:POKE V+1,JY
185 IF FR<>16 THEN GOSUB 4000
187 GOSUB 7000
190 GOTO 140
2000 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,1,248,0
2010 DATA 0,240,0,0,240,0,0,0,224,0,7,240,13,240,0,13,252,0
2020 DATA 13,252,0,0,248,0,1,240,0,1,177,0,3,57,0,6,15
2030 DATA 0,12,0,0,8,0,0,8,0,0
2040 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,120,0,0,252
2050 DATA 0,0,120,0,0,120,0,0,112,0,1,248,0,1,248,0,1,252
2060 DATA0,1,252,0,0,248,0,0,248,0,0,216,0,0,216,0,0,216,0,0,216,0,0,216,0,0,252
2070 DATA 128
3000 REM READ
3010 RJ=PEEK(56320)
3015 FR=RJ AND 16
3020 RJ=15-(RJAND15)
3030 RETURN
4000 POKE 2040 ,13
4010 FORZZ=1TO15:POKEV+1,JY-1:POKEV,JX+1:JX=JX+1:JY=JY-1:IFJX>255THENPOKEV+16,1
4015 IF JX>255 THEN POKE V+16,1
4020 NEXTZZ
4025 POKE 2040,15
4030 FOR XX=1 TO15:POKEV+1,JY+1:POKEV,JX+1:JX=JX+1:JY=JY+1
4032 IFJX>254 THEN JX=0:POKE V+16,1
4033 IF JX>330 THEN 110000
4034 NEXT XX
4035 IF PEEK(V+31)<>1 THEN GOTO 5000
4040 RETURN
5000 JY=JY+4:POKEV+1,JY:IFPEEK(V+31)=1THENPRINT"SAVED":FORT=1TO900:NEXT:GOTO11111
5010 IFJY>250 GOTO 10000
5020 GOTO 5000
5500 IF PEEK(2040)=13 THEN POKE 2040 ,14:JX=JX+4:POKEV,JX:POKE 2040,15:RETURN
5510 POKE 2040,14:JX=JX+4:POKEV,JX:POKE2040,13:RETURN
6000 IF PEEK(2040)=13 THEN POKE 2040,14:JX=JX-4:POKEV,JX:POKE 2040,15:RETURN
6010 POKE 2040,14:JX=JX-4:POKEV,JX:POKE 2040,13:RETURN
7000 X=INT(RND(0)*40)
7010 IF INT(RND(1)*10)=0 THEN RETURN
8000 IF INT(RND(1)*10)=0 THEN 9000
8010 POKE 1024+(40*6)+X,32:GOTO9000
9000 IF INT(RND(1)*40)<20 THEN POKE 1025+(40*6)+X,160
9010 RETURN
10000 PRINT"YOU DIE SUCKER!":END
11000 PRINT"U SUXESFULLY COMPLETED YOUR MISHUN!!!":END
11111 PRINT"*****":GOTO115
Ack! GOTOs!
There's one comment in the code, the not very helpful:
REM READ
Which apparently tells you something is being read. This was back when I had the philosophy that because comments are ignored by the computer, it was a waste of time to include them. My uncle, who worked for AT&T forever before retiring a few years ago, set me straight on that after I suggested that his code was good and all, but why all the comments?
Legend has it the last code Bill Gates wrote for Microsoft was a little 'game' for the DOS 1.x(!) on the IBM PC called 'Donkey'. He wrote it with then high-school kid Neil Konzen in a closet while the two of them were getting a highly confidential preview of the PC.
The PC, as well as Bill and Neil's game, caught the attention of the people on Apple's Mac team.
The most embarrassing game was a lo-res graphics driving game called "Donkey". The player was supposed to be driving a car down a slowly scrolling, poorly rendered "road", and could hit the space bar to toggle the jerky motion. Every once in a while, a brown blob would fill the screen, which was supposed to be a donkey manifesting in the middle of the road. If you didn't hit the space bar in time, you would crash into the donkey and lose the game.
You can see the code, at least a QuickBasic version, here.
Just this one line gives you an idea of how far things have come in programming in general. This IS BASIC, the 'easy to learn', 'user friendly', 'so the janitor can start writing programs' language conceived at Dartmouth in 1964:
1670 LOCATE 5, 6: PRINT SD: LOCATE 5, 31: PRINT SM
CY = CY - 4: IF CY < style="color: rgb(0, 0, 255);">THEN 2230
PUT (CX, CY), CAR%, PRESET
DX = 105 + 42 * INT(RND * 2)
FOR Y = (RND * -4) * 8 TO 124 STEP 6
SOUND 20000, 1
A$ = INKEY$: IF A$ = CHR$(27) THEN 1298 ELSE POKE 106, 0: IF LEN(A$) > 0 THEN LINE (CX, CY)-(CX + 28, CY + 44), 0, BF: CX = 252 - CX: PUT (CX, CY), CAR%, PRESET: SOUND 200, 1
IF Y >= 3 THEN PUT (DX, Y), DNK%, PSET
IF CX = DX AND Y + 25 >= CY THEN 2060
IF Y AND 3 THEN PUT (140, 6), B%
NEXT: LINE (DX, 124)-(DX + 32, 149), 0, BF: GOTO 1670
Short, cryptic variable names, hardcoded numbers all over the place, no comments, and, the cherry on top, the dreaded GOTO statement.
Bill Gates famously chided John Carmack (responsible for much of the heavy lifting on Doom, Quake, and numerous other revolutionary video games) in a video shown at the ceremony where John was inducted into the Hall Of Fame of the Academy of Interactive Arts and Sciences: " I just want you to know that I can write slicker and tighter code than John ".
To the non-technical, that scene was equivalent to a skit from a 70's Bob Hope Special in which Bob, wearing one of those leather 'Knute Rockne' football helmets, tells 'Mean' Joe Greene 'I'm gonna kick your ass on the football field today'.
Enough of that, though, this is not a bash-Gates or bash-Microsoft blog (really). In the interest of fairness, I just want you to know that I could write more unreadable and opaque basic than Bill myself, back in the 80s.
This game, 'Moonwalk III', involved helping a green guy with a nice hat get across a disintegrating bridge. It was very exciting.
1 V=53248:POKE V+21,1:PRINT"":POKE V+16,0
5 POKE V+39,5:POKE V+29,0:POKE V+23,0
10 POKE 2040,13
20 FOR T=0TO62:READ X:POKE 13*64+T,X:NEXT
25 FOR T=0TO 62 :POKE14*64+T,0:NEXT
30 FOR T=0TO62:READ X:POKE 15*64+T,X:NEXT
40 PRINT"“":POKE V+29,0
60 PRINT:PRINT:PRINT:PRINT:PRINT
70 PRINT" ’ ’ ’ ’ ’ ’ "
80 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
90 PRINT" ’ ’"
100 PRINT
110 PRINT" ’"
111 PRINT""
115 POKE V,32:POKE V+1,79
130 JX=PEEK(V):JY=PEEK(V+1)
140 GOSUB 3000
150 IF RJ=8ORRJ=9ORRJ=10THEN GOSUB 5500
160 IF RJ=4OR RJ=5ORRJ=6THEN GOSUB 6000
170 IF PEEK(V+31)=0 THEN GOSUB5000
175 IF JX>250 THEN JX=0:POKE V+16,1
176 IF JX>40 AND PEEK(V+16)=1THEN 11000
180 POKE V,JX:POKE V+1,JY
185 IF FR<>16 THEN GOSUB 4000
187 GOSUB 7000
190 GOTO 140
2000 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,1,248,0
2010 DATA 0,240,0,0,240,0,0,0,224,0,7,240,13,240,0,13,252,0
2020 DATA 13,252,0,0,248,0,1,240,0,1,177,0,3,57,0,6,15
2030 DATA 0,12,0,0,8,0,0,8,0,0
2040 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,120,0,0,252
2050 DATA 0,0,120,0,0,120,0,0,112,0,1,248,0,1,248,0,1,252
2060 DATA0,1,252,0,0,248,0,0,248,0,0,216,0,0,216,0,0,216,0,0,216,0,0,216,0,0,252
2070 DATA 128
3000 REM READ
3010 RJ=PEEK(56320)
3015 FR=RJ AND 16
3020 RJ=15-(RJAND15)
3030 RETURN
4000 POKE 2040 ,13
4010 FORZZ=1TO15:POKEV+1,JY-1:POKEV,JX+1:JX=JX+1:JY=JY-1:IFJX>255THENPOKEV+16,1
4015 IF JX>255 THEN POKE V+16,1
4020 NEXTZZ
4025 POKE 2040,15
4030 FOR XX=1 TO15:POKEV+1,JY+1:POKEV,JX+1:JX=JX+1:JY=JY+1
4032 IFJX>254 THEN JX=0:POKE V+16,1
4033 IF JX>330 THEN 110000
4034 NEXT XX
4035 IF PEEK(V+31)<>1 THEN GOTO 5000
4040 RETURN
5000 JY=JY+4:POKEV+1,JY:IFPEEK(V+31)=1THENPRINT"SAVED":FORT=1TO900:NEXT:GOTO11111
5010 IFJY>250 GOTO 10000
5020 GOTO 5000
5500 IF PEEK(2040)=13 THEN POKE 2040 ,14:JX=JX+4:POKEV,JX:POKE 2040,15:RETURN
5510 POKE 2040,14:JX=JX+4:POKEV,JX:POKE2040,13:RETURN
6000 IF PEEK(2040)=13 THEN POKE 2040,14:JX=JX-4:POKEV,JX:POKE 2040,15:RETURN
6010 POKE 2040,14:JX=JX-4:POKEV,JX:POKE 2040,13:RETURN
7000 X=INT(RND(0)*40)
7010 IF INT(RND(1)*10)=0 THEN RETURN
8000 IF INT(RND(1)*10)=0 THEN 9000
8010 POKE 1024+(40*6)+X,32:GOTO9000
9000 IF INT(RND(1)*40)<20 THEN POKE 1025+(40*6)+X,160
9010 RETURN
10000 PRINT"YOU DIE SUCKER!":END
11000 PRINT"U SUXESFULLY COMPLETED YOUR MISHUN!!!":END
11111 PRINT"*****":GOTO115
Ack! GOTOs!
There's one comment in the code, the not very helpful:
REM READ
Which apparently tells you something is being read. This was back when I had the philosophy that because comments are ignored by the computer, it was a waste of time to include them. My uncle, who worked for AT&T forever before retiring a few years ago, set me straight on that after I suggested that his code was good and all, but why all the comments?
Sunday, September 25, 2005
Possible over-exposure
I was on the front page of the local paper this morning, the Herald-Times. Here I am, with hundreds (actually thousands) of other Hoosiers, running to fight cancer and stuff. Unfortunately, there is still cancer in our world, and it wasn't a PR for me either. I did retire several months ago from competitive running, but it's like smoking, I've quit 3 or 4 times since that announcement.
This afternoon I spun the reggae classics (plus some new stuff they had in the studio) on WFHB from noon to 2 as guest selector for Reggae Children, for the guys who usually do the show and have been doing it for over ten years now. Like with running, I have made no money whatsoever out of the radio thing, but it seems to be impossible to give up. For a couple years I was even doing a monthly show from 10pm-2am, which was completely insane and eventually I stopped.
Fun fact: there is no computer in the air room at WFHB, making it unique among radio stations, where for the most part you'll find college dropout 20-somethings reading stuff off a screen (like in telemarketing sweatshops). This also helped set the atmosphere for the show, which today focused on that great period in reggae from 1974-1979 or so. King Tubby, Lee 'Scratch' Perry, Niney and the Observers, and both I-Roy and U-Roy were represented, as well as a bit of dancehall (but no slackness).
This afternoon I spun the reggae classics (plus some new stuff they had in the studio) on WFHB from noon to 2 as guest selector for Reggae Children, for the guys who usually do the show and have been doing it for over ten years now. Like with running, I have made no money whatsoever out of the radio thing, but it seems to be impossible to give up. For a couple years I was even doing a monthly show from 10pm-2am, which was completely insane and eventually I stopped.
Fun fact: there is no computer in the air room at WFHB, making it unique among radio stations, where for the most part you'll find college dropout 20-somethings reading stuff off a screen (like in telemarketing sweatshops). This also helped set the atmosphere for the show, which today focused on that great period in reggae from 1974-1979 or so. King Tubby, Lee 'Scratch' Perry, Niney and the Observers, and both I-Roy and U-Roy were represented, as well as a bit of dancehall (but no slackness).
Saturday, September 03, 2005
Kanye West is my official hip-hop hero
Check this out: http://tv.zap2it.com/tveditorial/tve_main/1,1002,271|97339|1|,00.html
I caught this this morning, thanks to TiVo and my wife, who was up this morning watching the benefit.
The looks on Mike Myers' face during this were priceless.
It went like this:
Mike Myers: blah blah forgettable blah plattitudes blah
Kanye West (voice shaking ever so slightly): "I hate the way they portray us in the media. You see a black family, it says, 'They're looting.' You see a white family, it says, 'They're looking for food.' And, you know, it's been five days because most of the people are black. ...I feel hypocritical asking for money, because I went shopping before I gave any money. I didn't even watch the TV, I've been trying to turn away from it. But now I'm talking to my business manager, asking what's the most I can give."
Mike Myers: blah blah what people are supposed to say at times like this blah
Kanye West: "America is set up to help the poor, the black people, the less well-off, as slow as possible. I mean, the Red Cross is doing everything they can. We already realize a lot of the people that could help are at war right now, fighting another way -- and they've given them permission to go down there and shoot us."
Mike Myers (shaken somewhat, on auto-pilot now): blah blah give blah tragic blah
Kanye West: "George Bush does not care about black people. He...."
Mike Myers turns suddenly to West and starts to open his mouth...
(cut to Chris Tucker, backstage apparently in the middle of fetching a Coke from a fridge)
Chris Tucker (frantic): In the past few days, America has really come together to help the people of New Orleans and Mississippi. Do what you can. Send water, send trucks. We are all one. Please please please please, help help help help help help help.
(Tucker showed all what a showbiz pro he is by not looking at his watch midway thru the stream of 'help's to see how many seconds he had left to fill).
On a musical note, I really like what Kanye West did with the production on Common's latest album. I'm going to go out and buy his two albums, too.
They are: The College Dropout and Late Registration.
...after donating to Katrina relief efforts, of course.
I caught this this morning, thanks to TiVo and my wife, who was up this morning watching the benefit.
The looks on Mike Myers' face during this were priceless.
It went like this:
Mike Myers: blah blah forgettable blah plattitudes blah
Kanye West (voice shaking ever so slightly): "I hate the way they portray us in the media. You see a black family, it says, 'They're looting.' You see a white family, it says, 'They're looking for food.' And, you know, it's been five days because most of the people are black. ...I feel hypocritical asking for money, because I went shopping before I gave any money. I didn't even watch the TV, I've been trying to turn away from it. But now I'm talking to my business manager, asking what's the most I can give."
Mike Myers: blah blah what people are supposed to say at times like this blah
Kanye West: "America is set up to help the poor, the black people, the less well-off, as slow as possible. I mean, the Red Cross is doing everything they can. We already realize a lot of the people that could help are at war right now, fighting another way -- and they've given them permission to go down there and shoot us."
Mike Myers (shaken somewhat, on auto-pilot now): blah blah give blah tragic blah
Kanye West: "George Bush does not care about black people. He...."
Mike Myers turns suddenly to West and starts to open his mouth...
(cut to Chris Tucker, backstage apparently in the middle of fetching a Coke from a fridge)
Chris Tucker (frantic): In the past few days, America has really come together to help the people of New Orleans and Mississippi. Do what you can. Send water, send trucks. We are all one. Please please please please, help help help help help help help.
(Tucker showed all what a showbiz pro he is by not looking at his watch midway thru the stream of 'help's to see how many seconds he had left to fill).
On a musical note, I really like what Kanye West did with the production on Common's latest album. I'm going to go out and buy his two albums, too.
They are: The College Dropout and Late Registration.
...after donating to Katrina relief efforts, of course.
Friday, September 02, 2005
Software Archeology, or Metal Machine Music (Part I)
Software is notoriously short-lived. Like baby sea turtles making their way to the sea, most software projects are doomed to die very early in their lives. Those projects that survive to maturity are often defective disappointments, like Paris Hilton, doomed to be quickly forgotten, unlike Paris Hilton.
Even if software survives its birth and lasts for a while, the odds are still stacked against it in the long term. Platforms change. Formats change. Storage media deteriorate and fail (some people are addressing these problems, fortunately).
A few years ago I stumbled upon a technological find in the unfinished basement of a home located in South Central Indiana. It was a box of 5 1/4" floppies, items that are not so common in this century. They were in a case made of fake wood with a transparent (and broken) top. They had not been stored in ideal conditions, and I didn't have much hope for them.
In the same building, in an upstairs closet, I found not one but two 1541 disk drives. These items can fetch up to $20 on eBay, but in the interest of science, I held on to mine.
It was hard to read the labels of the diskettes, as the writing seemed to be the work of a chimp with cerebral palsy. There appeared to be several games that were popular in the mid-80's (including that precursor to internet porn, Strip Poker) plus some code written by the aforementioned chimp, who has since gone on to write software for a number of other platforms and organizations.
There are plenty of free programs out there that emulate the Commodore 64, but most computers these days do not have 5 1/4" floppy drives, so there was still the problem of getting the data from the disks to my PC.
Fortunately, the internet brings together nerds with obscure obsessions. So one can obtain (or make your own) XM1541 or XA1541 cable allowing you to connect an ancient 1541 to the parallel port on your circa 1995 Pentium (whoa, one step at a time, can't jump to the present all at once) which runs Linux. There's software you can use that allows your computer to communicate with these relics. (There's software for Windows, too).
Once you have your cable and you've installed your software, you can start reading the disks to .d64 images. This is what I did, and to my surprise, out of the box of 20 or so disks, all but 3 were readable. I had to slow down partway through the process, though, as the drive soon got so hot I worried if I put a disk in it it would melt (I would later find out that many 1541s have found an ignoble end-of-life niche serving as hot plates in flophouses).
At this point I was very pleased, and after digging old C-64 commands like LOAD "*",8,1 out of my memory, I was up and running. It was a real Dr. Chandra plugs HAL back in moment (Good Morning Dr. Chandra. I am a HAL 9000 Series computer. Would you like to play a game of Strip Poker?).
Tune in next time for part II, which will include embarassing ancient BASIC code listings from both myself and Bill Gates.
Even if software survives its birth and lasts for a while, the odds are still stacked against it in the long term. Platforms change. Formats change. Storage media deteriorate and fail (some people are addressing these problems, fortunately).
A few years ago I stumbled upon a technological find in the unfinished basement of a home located in South Central Indiana. It was a box of 5 1/4" floppies, items that are not so common in this century. They were in a case made of fake wood with a transparent (and broken) top. They had not been stored in ideal conditions, and I didn't have much hope for them.
In the same building, in an upstairs closet, I found not one but two 1541 disk drives. These items can fetch up to $20 on eBay, but in the interest of science, I held on to mine.
It was hard to read the labels of the diskettes, as the writing seemed to be the work of a chimp with cerebral palsy. There appeared to be several games that were popular in the mid-80's (including that precursor to internet porn, Strip Poker) plus some code written by the aforementioned chimp, who has since gone on to write software for a number of other platforms and organizations.
There are plenty of free programs out there that emulate the Commodore 64, but most computers these days do not have 5 1/4" floppy drives, so there was still the problem of getting the data from the disks to my PC.
Fortunately, the internet brings together nerds with obscure obsessions. So one can obtain (or make your own) XM1541 or XA1541 cable allowing you to connect an ancient 1541 to the parallel port on your circa 1995 Pentium (whoa, one step at a time, can't jump to the present all at once) which runs Linux. There's software you can use that allows your computer to communicate with these relics. (There's software for Windows, too).
Once you have your cable and you've installed your software, you can start reading the disks to .d64 images. This is what I did, and to my surprise, out of the box of 20 or so disks, all but 3 were readable. I had to slow down partway through the process, though, as the drive soon got so hot I worried if I put a disk in it it would melt (I would later find out that many 1541s have found an ignoble end-of-life niche serving as hot plates in flophouses).
At this point I was very pleased, and after digging old C-64 commands like LOAD "*",8,1 out of my memory, I was up and running. It was a real Dr. Chandra plugs HAL back in moment (Good Morning Dr. Chandra. I am a HAL 9000 Series computer. Would you like to play a game of Strip Poker?).
Tune in next time for part II, which will include embarassing ancient BASIC code listings from both myself and Bill Gates.
Subscribe to:
Posts (Atom)