Sunday, December 31, 2006

new years resolutions 2007

I will not be pigeon-holed, undersold, brainwashed, whitewashed,
soft-spoken, or a token.
I will not be branded, blanded, left-handed, Ayn-Randed,
Garfunkled, uncled, Ralph Nadered or Darth Vadered.
I will not be scrutinized, routinized, lobotomized, sodomized,
Neo-Conned, Slobodan'd, sat upon, spat upon.
I will not be scattered, smothered, covered, chunked, topped, diced,
sliced, iced, riced, or niced.
(Or, for that matter, miced)
I will not go gentle into that good night.

Friday, December 15, 2006

pop quiz

GLBA stands for:
  1. Gramm-Leach-Bliley Act of 1999
  2. Great Lakes Beach Association
  3. Gay/Lesbian Business Association

When your 2-year-old wakes you up at 4:00 and you turn to TV to try to lull her back to sleep, there really isn't anything G-Rated on except for TVLand. So, I find myself exposing my kids to "Little House on the Prairie".

Where they will learn from Nellie Olsen how to be a b&^%$.

Laura: My Pa works hard.
Nellie: So does a mule!

EDIT: Popped in Bambi. Let 'em learn about Cartoon Deer Death.

PS: I'm in ur base, killin ur data.

Thursday, December 14, 2006

It is a far, far better thing that I do..

If you work with me, and you read this tomorrow, you'll probably be trying to kill me.

Monday, December 11, 2006

guess this stack trace

What was I trying to do when I got this, instead of what I expected?

javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:526)
com.dynix.hip.struts.processor.HipRequestProcessor.processException(HipRequestProcessor.java:134)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:467)
com.dynix.hip.struts.processor.HipRequestProcessor.processActionPerform(HipRequestProcessor.java:116)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
com.dynix.hip.struts.processor.HipRequestProcessor.process(HipRequestProcessor.java:55)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:523)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1033)
com.dynix.hip.struts.processor.HipRequestProcessor.doForward(HipRequestProcessor.java:217)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:436)
com.dynix.hip.struts.processor.HipRequestProcessor.processForwardConfig(HipRequestProcessor.java:94)
org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:401)
com.dynix.hip.struts.processor.HipRequestProcessor.processActionForward(HipRequestProcessor.java:83)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
com.dynix.hip.struts.processor.HipRequestProcessor.process(HipRequestProcessor.java:55)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:523)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
root cause
java.lang.NullPointerException
com.dynix.common.util.Log.printStackTrace(Log.java:87)
com.dynix.common.util.Log.printStackTrace(Log.java:64)
com.dynix.hip.struts.requests.HoldRequestAction.execute(HoldRequestAction.java:200)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:465)
com.dynix.hip.struts.processor.HipRequestProcessor.processActionPerform(HipRequestProcessor.java:116)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
com.dynix.hip.struts.processor.HipRequestProcessor.process(HipRequestProcessor.java:55)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:523)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1033)
com.dynix.hip.struts.processor.HipRequestProcessor.doForward(HipRequestProcessor.java:217)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:436)
com.dynix.hip.struts.processor.HipRequestProcessor.processForwardConfig(HipRequestProcessor.java:94)
org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:401)
com.dynix.hip.struts.processor.HipRequestProcessor.processActionForward(HipRequestProcessor.java:83)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
com.dynix.hip.struts.processor.HipRequestProcessor.process(HipRequestProcessor.java:55)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:523)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)

Friday, December 08, 2006

some rule of programming language design..

.. says that the more commonly something is done, the less typing should be required to do it. The most frequently-used constructs of a language should be able to be written so compactly that no one even notices them.

This is why in (modern) languages, string concatenation requires less typing than many other operations, because string concatenation is darn frequent.

The original design of Java deliberately violates this "rule" in many aspects of the language (although curiously not with string concatenation). Old school Java in fact favors explicitness and exacting clarity over compactness in nearly every other feature except for string concatenation. Newer features like the for-each loop, and proposals like closures, seem to be swinging it back toward the other side.

Of course as a language evolves, what is "frequently used" can change. At the time C was invented, one can guess that incrementing variables was used all the damn time, so often that nobody could be troubled to write i=i+1, no the language had to have i++. Meanwhile strings were out in edge-case-land, so relatively arcane and insecure means of dealing with them were considered good enough.

Perl probably takes the "common therefore compact" philosophy to the extreme. I don't think I need to show any examples. You either know enough about Perl to already understand that, or you won't get the examples anyway.

File under: random musings

Monday, December 04, 2006

to do today

Buy some real pseudoephedrine.

EDIT: they limited the amount they would sell me, but they didn't ask for my name so they could put it in their big book of suspected meth terrorists.

Although I assume that by using a credit card instead of cash, they've got me now anyway.

Sunday, December 03, 2006

first Gilmore Girls, now baking... am I a big old girly-man or what?

The ANZAC biscuit is the only cookie that I am competent and trusted to make without help from my wife.

In keeping with the idea that these things originated as a minimal cookie for the trenches of WWI, I make them without coconut.

everybody must get stoned

Now playing: "Rainy Day Women #12 & 35" by Bob Dylan

I recently got an early Christmas present: an iPod! The first ever such thing I've ever owned. (Full disclosure: it's shared with my wife)

This little beast immediately screamed "feed me, Jeffrey!", and I have since been trapped in front of iTunes stuffing CD's into it. I feel like I have to catch up on the past five years or s0 of technological development.

Warning: the music you listen to, will never be the same once you have listened to it through ear buds will doing things like helping small children use the toilet.

It occurred to me that it's been a long time since Atlanta had an "oldies" station. How do kids these days find out about the Beatles and the Stones? Or for that matter, Wayne Fontana and the Mindbenders or Gary "U.S." Bonds?

Maybe the answer is "the Internet", but I bet the truth is they only know what they hear on TV and movie soundtracks. And commercials. But how can they appreciate, for instance, that recent episode of Gilmore Girls which involved a brief music appearance of Jay and the Americans? That scene was based entirely on audience familiary with the song.

It will be interesting to hear what effect this has on popular music in the years to come.

Friday, December 01, 2006

things to do today

  • stir up trouble at meetings
  • write scathing email

values of beta may lead to dom..

Frist post with the "beta" blogger.

This is one for you comics fans. Exactly how many comic book characters have had the name "Marvel" as part of the superhero name?

I can think of at least three Captain Marvels. The "Shazam!" one who wasn't actually a Marvel Comics character; and two different ones from Marvel itself: a white guy, and a black woman. Wait, wasn't there also a blond chick? Or was that Ms. Marvel? Then there's at least two Marvel Girls I can think of.

Wednesday, November 29, 2006

excuses, excuses..

Yeah, I know, I still haven't done a full write up of my Chicagoland adventure yet.

Even lamer, I never wrote anything about Seattle either.

Google Groups: rec.music.theory

Who says USENET is dead? There's gold in this here thread, and its only a few months old.

Choice quote: "This thinking is what has killed modern jazz."

Alan W. Pollack's Notes on ... Series

I've blogged this before, but this looks like it might be a better collection.

In 1989 the American musicologist Alan W. Pollack started to analyze the songs of the Beatles. He published his first results on internet. In 1991 — after he had finished the work on 28 songs — he bravely decided to do the whole lot of them. About ten years later, in 2000 he completed the analysis of the official Beatles' canon, consisting of 187 songs and 25 covers.

Tuesday, November 28, 2006

a once-in-a-blue-moon hardware post..

The only thing Toshiba really knows how to make is hard drives.

Discuss amongst yourselves.

Monday, November 27, 2006

making my computer match my expectation..

I need to figure out how to make it so that no matter what program I am using, CTRL+T brings Firefox into the foreground and opens a new tab.

Friday, November 24, 2006

about the brine

1 cup kosher salt
1 cup sugar
4 chicken bouillon cubes
approx 1.5 gallons water

Heat and stir until everything dissolves cleanly.
Let brine cool completely before soaking turkey.

Thursday, November 23, 2006

we got our own thing going...

.. my grill, Samuel Adams, and I.

One of the things you learn when you burn stuff on a regular basis, is that a lot of the pleasing aromas smells that the you of ten years ago thought were specifically caused by burning marijuaXXXXXXna (censoored, but you can figure it out), can actually be had just by burning some wood.

Turkey Cooking Techniques

Invaluable information on this day...

The Food Safety and Inspection Service announced a change in the "Single Minimum Internal Temperature Established for Cooked Poultry". The new cooking recommendation is as follows:

"A whole turkey (and turkey parts) is safe when cooked to a minimum internal temperature of 165°F as measured with a food thermometer. Check the internal temperature in the innermost part of the thigh and wing and the thickest part of the breast. For reasons of personal preference, consumers may choose to cook turkey to higher temperatures."

This new cooking temperature is a change from previous 180°F for a whole turkey and 170°F for turkey breast. The single minimum internal temperature change to 165°F was recommended by the National Advisory Committee on Microbiological Criteria for Foods (NACMCF) in a press release earlier this year. All turkey cooking recommendations for this website have been changed to reflect this update (11/06).


I love the smell of burnt hickory and roasting animal flesh in the afternoon. Smells like.. being at the top of the food chain!

Also, #1 daughter just took a big step towards being able to ride a bike. Finally, she picked out her wedding music a while back.

Hello Kitty Sandwich Bags


Hello Kitty Sandwich Bags, originally uploaded by kbo.

For your travel liquids. Give those TSA screeners a smile the next time you travel. (Yes, I actually did this when I went to Chicago a couple of weeks ago.. wait, I never blogged anything about Chicago? That needs a post of its own)


when's that parade start?

Oatmeal long since eaten. Just microwaved some more beans. Heh. On my trip to London Egham, Surrey, England last year, one of things that impressed me the most was the fact that Heinz Beanz were an essential ingredient of every English breakfast. I swear if I lived in England I'd have beans for breakfast, fish and chips and mushy peas for lunch, and curry every night. And ale, all day long. Actually I could do that in America but then it would seem weird. If I lived in England nobody would notice.

I think that Sesame Street has been significantly dumbed down since the old days. In fact I level this same accusation against all of kids TV. Educational TV used to be about teaching kids to read and write and count because they weren't learning that stuff at school. That's the alleged justification for government funding PBS, isn't it? Well actually learning anything from PBS or any other channel is a thing of the past. Actually teaching kids is the domain of videos and DVDs you have to frigging buy. On TV its all either mindless entertainment (which I don't mind as much), or constant preaching about how to behave. Now that I think of it, Sesame Street was probably always this bad. I'm just being old. It's enough to make me want to start the girls on Tom and Jerry and Looney Toons now.

I wanna see some giant balloons.

Happy Thanksgiving

Blog, I've been ignoring you lately. I'm going to make a conscious effort to blog as many random thoughts as I can manage, in order to not lose them. In that spirit:

One of these days, I'm going to track down a recipe for real old-fashioned "mush", the favorite hot breakfast cereal of old movie characters like the Little Rascals, and serve it to my kids for breakfast. Not today, though. Already made oatmeal.

For various reasons, this oatmeal is the first real meal I've eat since lunch yesterday, which consisted of pork-n-beans. (My wife recently announced that she found something special for me at Big Lots. Turns out it was little pony cans of pork-n-beans. While genuinely delighted to receive canned beans as a gift, their small size means that I ate two yesterday.) I didn't feel particularly starved in the meantime, but now that I've had a taste of the oatmeal my hunger has been awakened.

Why did I let the kids eat all the Canadian bacon? I know its not "real" bacon, but still.

Been reading Achewood lately. Almost but not quite appropriate for a day of turkey cooking: http://www.achewood.com/index.php?date=03132003

Like I said, almost.

A turkey breast has been soaking in brine overnight. If it turns out well, I'll tell y'all what was in the brine.

(Firefox's spell checking corrects "ya'll" to "y'all".)

I'm gonna barbecue the thing. No, not with barbecue sauce. I mean I'm gonna slow cook it on the grill with indirect heat and smoke from smoldering smoky wood chips. I have enough Sam Adams in the basement fridge to make this a regular barbecue day. Not only will it free up the kitchen for my wife's use, it'll also keep my older daughter busy watching the grill thermometer. Slow and low.

Windows wants to reboot. Patch Thursday?

Tuesday, November 21, 2006

those Germans have a song for everything

Realizing, after hearing a couple of bars of it in an episode of the Simpsons, that one of the pieces of music that you carry around in your head and constantly whistle, is the same tune as Deutschland über alles... priceless!

Friday, November 17, 2006

songfight plug of the week

Not from the official fight this time, but Paco del Stinko's cover of my own song, Butterfly Massacre for Cover Fight 18. It's a real rush to hear someone else sing and play a song that you wrote. Especially someone who plays it better than you did.

Friday, November 10, 2006

qotd

I am and shall remain vigilant and sanguine.

Monday, November 06, 2006

Think in Cans

Poll: what canned food product, intended for human consumption, bears the greatest similarity to canned dog food?

a) potted meat
b) corned beef hash
c) spam
d) write-in candidate: ________________

(In terms of appearance, texture, and smell.. familiarity with the actual taste of dog food is not required)

Friday, November 03, 2006


Clausewitz, On War (1873 translation)

read later

vauguely threatening quote of the quarter

"My guns are on you." - Warrant Officer Hugh Thompson, Jr., March 16, 1968

Thursday, November 02, 2006

Plastic stem and thorn and petal, but I love her, oh I love her, anyway.

Ever wonder what it would sound like if TMBG covered a Gordon Lightfoot tune? It would friggin' rock, and it might sound just little bit like Plastic Rose by the John Benjamin Band.

Is it friend-flooding if I tell people to go vote for somebody else's song?

I think this begins a weekly series of blog posts in which I will pimp other songfighters' fight songs.

Monday, October 30, 2006

maybe I should've stayed in bed

Within the past hour I have managed to:

1. forget that my laptop case was sitting on the trunk of the car
2. run over the laptop with the car, after it fell off
3. lock the keys in the car while cussing about the laptop
4. ... with the lights on

EDIT: the laptop was not actually hit by the wheels of the car; the car's body passed harmlessly over it. The laptop is being used to write this update.

Thursday, October 26, 2006

bbaadd.com: Why SiteKey Can't Save You


Saturday, October 21, 2006

half time report

You know I don't often watch football, not even Alabama football. But today is one of those days when I think even I am being sucked in, owing to:

1. grilling
2. having earlier today thrown a party for 2-year-olds, which leads to..
3. drinking
4. the presence of my father

Wednesday, October 18, 2006

Web Application Security Mailing Lists 101

The web application security "community" has always been based primarily on email interaction. Right now, the somewhat annoying situation exists that there is no one "main" mailing list that you can just join, there are several. The only way to get as many experts as possible to read your emails, is to cross-post.

webappsec@securityfocus.com
subscribe: webappsec-subscribe@securityfocus.com
archive: http://www.securityfocus.com/archive/107
info: http://www.securityfocus.com/archive/107/description

This is the original web application security list. It is so old that it was originally called "mobile code" because it predates any of the modern terminology of web applications. This is the place where OWASP was incubated. Unfortunately, in recent years the list has suffered from long posting delays (due to inconsistent moderation), and tons and tons of crap bouncing back at your every time you post, and alleged lack of responsiveness on the part of the hosting company.

websecurity@webappsec.org
subscribe: websecurity-subscribe@webappsec.org
archive: http://www.webappsec.org/lists/websecurity/archive/
info: http://www.webappsec.org/lists/websecurity/

Started in 2005, and took some of momentum and users away from the first list. Smart people almost immediately subscribed to both lists.

webappsec@lists.owasp.org
subscribe using web form: http://lists.owasp.org/mailman/listinfo/webappsec
archive: http://lists.owasp.org/pipermail/webappsec/

This is the newest list, and is the result of OWASP finally getting fed up with the problems with the old list, and creating their own. So now you need to subscribe to THREE lists.

your local OWASP chapter

You probably also want to join the mailing list for your local OWASP chapter, assuming you have one in your city. All of them are listed here:

http://lists.owasp.org/mailman/listinfo

What if Clippy came to PHP?

bwahahahahaha

Saturday, October 14, 2006

The Advertising Artwork of Dr. Seuss

This is the kind of website which, when you run across it, makes you glad the WWW exists.

Thursday, October 12, 2006

i am a lucky man

Yesterday, I left a laptop bag, containing a laptop, sitting on the trunk of my car, in plain view of the street, unattended, for about an hour, and no one stole it.

This morning, I discover my house and car keys in the lock of the front door of my house. Outside, also in plain view of the street. They'd been there all night. And no one used them to either break into my house, or steal my car.

Saturday, October 07, 2006

FM

I just saw the 1978 movie "FM". Other than being like a 2-hour episode of WKRP, the most striking thing about this movie is how similar the soundtrack is to certain current radio stations.

I don't mean the same styles of music, I mean the exact same songs. Right now, in 2006, in Atlanta, at least three radio stations could be playing any of the songs from this movie. Probably at least two stations are playing the same one of these songs at the same time.

The kids of today should defend themselves against the seventies.

Friday, October 06, 2006

ESR on password encryption in fetchmail

A Few More Lessons from Fetchmail:
Another lesson is about security by obscurity. Some fetchmail users asked me to change the software to store passwords encrypted in the rc file, so snoopers wouldn't be able to casually see them.

I didn't do it, because this doesn't actually add protection. Anyone who's acquired permissions to read your rc file will be able to run fetchmail as you anyway—and if it's your password they're after, they'd be able to rip the necessary decoder out of the fetchmail code itself to get it.

All .fetchmailrc password encryption would have done is give a false sense of security to people who don't think very hard.

Thursday, October 05, 2006

lesscode.org

todo: read every post in this blog's archives

Design patterns of 1972

Patterns are signs of weakness in programming languages.

When we identify and document one, that should not be the end of the story. Rather, we should have the long-term goal of trying to understand how to improve the language so that the pattern becomes invisible or unnecessary.


See also: this.

Tuesday, October 03, 2006

to do list for today..

1. write scathing email
2. wait for the screams

Monday, October 02, 2006

what does it say about my workplace..

..That I can actually download the JDK from Sun's website over my home cable modem connection faster (and not just a little bit faster, either) than I can copy the same file from a file server at work?

Friday, September 29, 2006

Avant News - deadpan satire from plausible futures - Avant News

"Tomorrow's News Today". This may be better than The Onion.

Wednesday, September 27, 2006

'Itsy Bitsy' writer victim of itsy-bitsy imposter

Could you imagine going your whole life telling everyone, even your wife, that you wrote "Itsy Bitsy Teenie Weenie Yellow Polka Dot Bikini"? Would you eventually start to believe it yourself?

Thursday, September 21, 2006

GNUCITIZEN

This is a security blog to watch. Sample postings to pique your interest:

Backdooring MP3 Files
Google Search API Worms
JS Port Scanning

Tuesday, September 19, 2006

and in the "duh" department..

I've had a "media center" computer since, like, 2004 and only now did I realize that I can "capture" a still picture from a TV show to the clipboard by hitting "print screen". Duh. When are they going to close this obvious hole in copyright protections?

EDIT: after doing it three time while watching a DVD, now the DVD won't play anymore. No I'm not making this up. They're coming to get me any minute.

Extreme Funny Humor - Animations - Mario short movie

Oh, lord yes!

Monday, September 18, 2006

time for a poll

What is the least useful and/or or least frequently used blade in a swiss army knife?

My nominations:

- Phillips screwdriver. The end of the can-opener will work for larger phillips screws. Any screw too small for the can-opener is also usually too small for the big clunky phillips driver as well, making it almost completely redundant.
- That hook-like thing. You know what I mean.

Friday, September 15, 2006

EconoCulture - Going Underground

Is the real goal of "anti-piracy" zealots to make it illegal for independent musicians to distribute their own music? (Rhetorical question)

Wednesday, September 13, 2006

Welcome to Yacht Rock!

How have I not been informed about this already?

Tuesday, September 12, 2006

Ladies and Gentlemen, the Fabulous Stains

Three clips from an 80's movie I've never heard of. The fact that I've never heard of it before probably makes me lame.

real punk rockers were this movie too!

Activating the Right Layout Mode Using the Doctype Declaration

This is way, way, more complicated than it should be.

Monday, September 11, 2006

whole house fans

Our house has a whole house fan which we had never used in a year and a half of living here, until yesterday.

Good lord, that thing is amazing. A fan located above the ceiling in the central hall way of the house, creates such a... sucking... that metal venetian blinds in faraway rooms pull away from their windows and stay there, suspended in the air as if by a giant magnet.

Friday, September 08, 2006

How To Make A Duct Tape Wallet

Those of you who know John "Wiccan Boo" Robinson, this looks like something he would find useful.

Thursday, September 07, 2006

PLONK!

In the interest of actually being able to read all of my RSS feeds every day again, I just unsubscribed from the following:

Slashdot
Bugtraq
The Server Side
Javaworld
JRoller (all of it)
several Security Focus feeds
java.net (all of it)

Teetering on the edge of unsubscription:

Digg

"Java Browser Edition": New name, first steps

I was cautioned by several folks at Sun that the Browser Edition would simply never happen.

Thursday, August 31, 2006

PDF Web X

Enter a URL, get a PDF file of its contents.

conlang stuff, in case you didn't read the comments to the grunge speak entry..

I'm slightly flattered that somewhere out on the Internet, a mentally ill teenager liked my old constructed languages enough to take them and try to pass them off as original work.

If only the kids would go crazy like that over my music.

It Works Right Out Of the Box!

Look at just about any successful open source Java project, look at Tomcat or JBoss, at ant, JEdit or even Eclipse, and there is one thing they all have in common. They all work right out of the box. Download any of these masterpieces and a few minutes later you will have something running.

Wednesday, August 30, 2006

Grunge speak - Wikipedia, the free encyclopedia

Studying up on this stuff, for my upcoming trip to Seattle.

more forgotten innovations in computers

Many people think that Doom was the first game in which you could trick the enemies into fighting each other. I distinctly recall that in the Bruce Lee game that I played on the C64, you could sometimes get the Ninja and the fat green guy to beat each other up.

Beanz Warz, part 1

On a recent outing (the main purpose of which was drinking) in downtown Norcross, I happened to mosey into Taste of Britain, where I purchased a can of genuine "Heinz Beanz".

A very English co-worker told me that the rough equivalent in the American market is "Heinz Vegetarian Beans".

Well, I've compared the two by eating them, for both breakfast and lunch, on subsequent days.

The British version has slightly larger beans (like, maybe only larger by a matter of millimeters, but you still notice), and the beans are notably paler. The sauces are not identical either. The American version has a browner, stickier sauce. The British beans, the sauce is thinner, runnier, and redder.

It's much harder to tell them apart in taste. I'm not sure I could do it, if I was blindfolded. I want to say that the American version is sweeter, more like syrup, and the British version tastes more like ketchup.. but this could just be my imagination running away after the visual impressions made by the sauces.

Tuesday, August 29, 2006

Free the Maps

seen on BoingBoing, which is one of the blogs I normally avoid because I know I'll waste too much time on it.

missing links in computer history

In discussions of the history of computer design, the Milton Bradley company is rarely given credit where credit is due, for pioneering the form factor of all laptop computers with their "Battleship" game.

Look at the people in this picture... they could just as well be playing each other a game on their two laptops with wireless.



Image from The Computer Vet, which page you should read.

Anybody who reads The Daily WTF is probably used to being bombarded with ads for "Sumo Lounge" bean-bag furniture. Ever actually follow the ad to their website? The flash ad is, to my eyes, just plain trippy. Look at that thing change colors!

Monday, August 28, 2006

one of those end-of-an-era type of things..

On a recent trip to the grocery store, I noticed that Spam no longer comes in the kind of can that you open with a "key". At least this particular store, had particular cans of Spam, with pull-off lids. I don't know if the key is really gone forever, or what. Various other canned meat products still have them though.

Friday, August 25, 2006

Swing apps as remote X clients

I'd heard a long, long time ago that the performance of Swing applications was awful when running with a remote X server. Well, that was a long time ago, and since then they seem to have fixed it fixed it good. I just tried Netbeans, running on Debian with Cygwin on a different box as the X server, and I cannot tell any noticeable speed different between this and using it locally. None at all. Granted, these two machines are right here in the same office, so the network speed between them is as about as good as it can get, but still, this is impressive compared to the horror stories I'd heard. Belated thanks to Sun for fixing that one.

Tuesday, August 22, 2006

rock and roll gives me more reasons to hate the world

How can a song like "Crazy Bitch" by Buck Cherry be a "hit"? It's everything I wanted in a song when I was 14, and the world refused to give to me back then. It wouldn't have been allowed anywhere near the radio back then. Kids these days have all the fun.

Watch this video

(The irony of course, is that the people responsible for this song are in fact my age, some of them at least. That kid in the video of course is young enough to be one of the band's bastard children. Is it even legal for high school kids to have access to music with the word "fuck" in it?)

Friday, August 18, 2006

another breakfast abomination

I think, but am not sure, that I just ate some bacon that was "cured" with an artificial sweetener rather than sugar. HOW IS THIS POSSIBLE? It sure tasted artificial to me.

EDIT: no, it's sugar-cured. I checked. Must've been a bad mix of flavors from other things eaten at the time. Note to self: never eat bacon with canteloupe.

breakfast of... well, not champions, exactly..

Red bull and pork rinds.

Thursday, August 17, 2006

IMDb Search

Everybody google's their own name. How about finding yourself on IMDB?

Boy have I been in some obscure crap.

HEAVY DUTY

IF you pine for the day when you could decorate your mom's basement with black-light posters over your waterbed and still be considered hip, then prepare to rejoice: '70s riff rock is back!

Crazy-man drums, uber-distorted guitar solos, frenzied bass riffs, howling vocals, raw production and even Frank Frazetta's mystical album covers are flying out of the dustbin and onto your iPod.


OMFG.. as far as I'm concerned, only good can come of this.

Wednesday, August 16, 2006

interesting bizarre fact time...


The cartoon snake charming song -- (AKA "There's a place in France") was originally "written" for the Chicago World Fair.

The band that was hired to play for the belly dancers had no idea what sort of music would make for an appropriate accompaniment. So, Sol Bloom, the music promoter who developed the midway for the fair, improvised this tune on the spot as an approximation of middle eastern music.


from Song Fight

it says something important, but I'm not sure what..

.. when half the business processes that keep a company running, are based around bypassing the GUIs of the internal applications and using SQL queries to pull reports on what is really going on.

Tuesday, August 15, 2006

Java vs .NET where it counts..

..where a (good) programmer spends most of his time: in the documentation!

Compare:

http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html
http://msdn2.microsoft.com/en-us/library/system.decimal.aspx

.NET: DHTML-y, corporate-y, Outlook-y. Looks like the sort of webpage that would have "document.all", though fortunately not.

Java: Looks like a page designed ten years ago, because that's more or less what it is.

Neither is valid (X)HTML.

Comparing the content, Java is definitely the geeker of the two. See:

Appeals to ANSI or ISO standards to explain behavior:

Java: 5 uses of the word "ANSI"
.NET: none


Sample code that is US-dollar centric, without reminding the clueless reader that it might be a bad idea to copy this code into a Foreign-Exchange application:

Java: no
.NET: yes, in all known .NET languages

Number of ways to "round" a number:
Java: 7 (number of values of the RoundingMode enumeration)
.NET: 6 (count of overloads of "round" method on System.Decimal, including both possible MidpointRounding values)

Use of something that looks like BNF:
Java: yes
.NET: no

Use of numeric Unicode references ("\u002B"):
Java: yes
.NET: no

Other terms appearing only in Java docs:

scale
semantics
addend
augend
minuend
subtrahend
multiplicand

Monday, August 14, 2006

department of longstanding diabolical trademarks

It does look like "they" got to Red Devil Lye. All the top hits for it are about how you can't buy it anymore. Mainly impacted are soap-making hobbyists.

Different "they", though. It would appear that lye was a victom of the War on Drugs.

In the department of Wikipedia articles that very surprisingly don't exist yet

Deviled Ham

EDIT: according to this page, the Devil image on cans of Underwood Deviled Ham is the oldest "existing trademark still in use in the United States".



Why haven't the people who made Proctor and Gamble change their logo done anything about this? For cryin' out loud, it's a picture of SATAN, on our nation's canned meat products!

Thursday, August 10, 2006

scripting: Project Home Page

Notice that one of the "scripting languages" supported is Java itself. This means being able to "eval" Java source code at runtime, like you can in, say, ColdFusion. That will be... interesting.

Scripting for the Java Platform

read later

Tuesday, August 08, 2006

holy crap, ClearType!

There was an article on Mezzoblue about how most people never bother to turn on ClearType in Windows XP, and how this affects web design, and how IE7 is going to change that. Suddenly I realized that I'm one of "most people".

I'm so far out of the loop on that kind of stuff that all these years I'd always assumed Windows XP would turn it on automatically if it detected a display where ClearType would work. I guess this is giving them way too much credit..

ClearType was turned off on the computer I'm using to write this, and has been off for the entire time I've owned it (since 2002!). I just turned it on, and it makes a huge difference.

Thursday, July 27, 2006

The Contest in America, by John Stuart Mill

This essay is the source of the often-seen quote:

War is an ugly thing, but not the ugliest of things. The decayed and degraded state of moral and patriotic feeling which thinks that nothing is worth war is much worse. The person who has nothing for which he is willing to fight, nothing which is more important than his own personal safety, is a miserable creature and has no chance of being free unless made and kept so by the exertions of better men than himself.


The original has two entire sentences in the middle, which are normally edited out. Why?

War is an ugly thing, but not the ugliest of things: the decayed and degraded state of moral and patriotic feeling which thinks nothing worth a war, is worse. When a people are used as mere human instruments for firing cannon or thrusting bayonets, in the service and for the selfish purposes of a master, such war degrades a people. A war to protect other human beings against tyrannical injustice; a war to give victory to their own ideas of right and good, and which is their own war, carried on for an honest purpose by their free choice--is often the means of their regeneration. A man who has nothing which he is willing to fight for, nothing which he cares more about than he does about his personal safety, is a miserable creature, who has no chance of being free, unless made and kept so by the exertions of better men than himself.

Friday, July 21, 2006

HTTP Made Really Easy

Written in 1997, which you might think about make it outdated, except when you remember that all this time later we're still using HTTP 1.1.

Thursday, July 20, 2006

MSN - News - 'Sixth Sense' Star in Hospital After Crash

Osment ... was driving a 1995 Saturn about 1 a.m. when the car collided with a brick pillar and flipped


A 1995 Saturn. That is one movie star who knows how to live below his means. (As a two-time Saturn owner, I'm allowed to diss them with impunity)

Tuesday, July 18, 2006

Jakarta Tomcat Connector - AJPv13

This does not bode well..
This describes the Apache JServ Protocol version 1.3 (hereafter ajp13). There is, apparently, no current documentation of how the protocol works.

Monday, July 17, 2006

hatom - Microformats

hAtom is basically that carries (some of) the information of an Atom feed right in the attributes of XHTML... How did I miss this? This is like so my kinda thing.

Leaving W3C QA Dev. from Bjoern Hoehrmann

Via Zeldman.

Friday, July 14, 2006

The top 10 unintentionally worst company URLs


James Bach’s Blog ? Blog Archive ? Should Developers Test the Product First?

(via TSS)
Many testers would advise the programmer to test the product himself, first. I have a different answer. My answer is: send me the product the moment it exists.

Wednesday, July 12, 2006

SPACEWAR - Fanatic Life and Symbolic Death Among the Computer Bums.

Alan Kotok just died.

TiddlyWiki - a reusable non-linear personal web notebook

It's written in HTML, CSS and JavaScript to run on any modern browser without needing any ServerSide logic. It allows anyone to create personal SelfContained hypertext documents that can be posted to a WebServer, sent by email or kept on a USB thumb drive

Weblogs Forum - When Reuse Goes Bad

The contractor was no longer just trying to solve the customer's problem, they were trying to solve all problems that looked like it. So for that reason alone the project would have required 10x the original time and money.

Tuesday, July 11, 2006

Free Routing Number Search

Enter a bank routing number, find out what bank it is. For those of you who that are co-workers, yes this is what we call ABA numbers.

Saturday, July 01, 2006

to human misery!

Simpsons DVDs, beer, and a big bag of chips. The last refuge of the old married geek.

Wednesday, June 28, 2006

Kimberly-Clark Hi-Q - Wikipedia, the free encyclopedia

I played Hi-Q in high school. I never realized that Alabama was only one of four states where this somewhat odd variant of a quiz game is played.

Differences (from memory) between Hi-Q and a normal "college bowl" type of game:

Matches involved *three* teams, not two.

Hi-Q matches were held at one of the schools competing, not at a neutral location like in some other academic competitions.

Hi-Q matches took place in front of the entire student body of the hosting school.

Hi-Q was played with microphones, like a real game show.

Team discussion was allowed on all questions (not just "bonus" questions, which I'm not sure Hi-Q even had).

The first thing spoken into the microphone by any player was considered the team's answer, so players put their hands over the mic while discussing the answer.

I can't even remember if Hi-Q teams had a "captain" or not.

Hi-Q's buzzers were big blocky things, like you may recall seeing on "Family Feud".

I don't think the buzzers were used the same way they are in college bowl. Each team was asked the same number of questions, without a contest to see who could buzz in first. The buzzers were used for *something*, but I can't remember what it was.

The matches were MC'd by local celebrities, not faculty or staff.

Hi-Q matches were televised. This is why my parents insisted that I play Hi-Q in addition to the several other academic teams I was on (yes, I was that sort of nerd): they thought that being on TV would increase my chances of getting a scholarship to college, or something.

The Delaware County site linked from Wikipedia says that a team's ranking is determined by their total score over the whole season, not by number of wins/losses. I don't remember anything quite this f***ed up, so it may be new since I played.

Tuesday, June 27, 2006

Jews for the Preservation of Firearms Ownership

No matter what your opinions about gun control (or, for that matter, Judaism), you've got to admit these guys have one of the coolest logos EVAR.


Friday, June 23, 2006

10 Reasons Why High Definition DVD Formats Have Already Failed

Via digg.com

Tuesday, June 20, 2006

Doctors who had a taste of their own medicine

via Digg.com.

The young chemist Humphry Davy discovered the properties of nitrous oxide, or laughing gas, after inhaling it with friends, including the poets Robert Southey and Samuel Coleridge.

Thursday, June 15, 2006

Card Dialer Telephone

I just remembered that when I was a child, some of my toys were the cards leftover from a phone like this. The phone itself was long gone by the time I was born.

I thought they were punch cards from a computer, and this may just be one of the things that got me started wanting to do something with computers when I grew up.

Ma Bell shows some leg..


Bell System Memorial - Main Home Page

I may have blogged this before.

A website created as a memorial to the people, history, technology and the "Spirit of Service" of what was known as the "Bell System" prior to 1984.


Btw, these ladies are way overdressed for the task they are performing in this picture:


Wednesday, June 14, 2006

Simon Morris's Blog: 80 Sprites - Beat That!

Something to do with comparing Java ME to the C64.. read later.

Tuesday, June 13, 2006

Dictionary of the History of Ideas

Epic time sink. Dense. Smart. Makes Wikipedia look like Slashdot.

Slate blogs the Bible. By David Plotz

I've been meaning to read this for some time.

Friday, June 09, 2006

Are white hat hackers an endangered species?

One problem, of course, is lack of a definition of what "white hat hacking" is.

bloglines xss fixed?

The XSS issue in Bloglines that I complained about recently appears to have been fixed. Because of me?

The first thing I did was inform Bloglines.

Then I did some searching, and found out this was a known issue that had been disclosed months ago, and still not fixed. That was the point at which I started blogging about it, both on this blog and Jroller, complete with entries to exploit the behavior. (Note that while the number of people who regularly read this blog is probably less than a dozen, large numbers of Java programmers read everything posted to Jroller, which I why I posted it to both)

So which was it that caused them to fix the thing? Did they finally fix it because I reminded them about it privately, or because I complained publically?

Star Wars vs Star Trek!

I think I've blogged this before, but I'm blogging it again because I want YOU to waste a lot of time reading it.

This is the kind of thing that awaits you:

One of the oldest trekkie arguments is that electrical sparks from damaged bridge and control-system components indicate that Imperial technology is based on 20th century Earth electrical technology. Therefore, the argument goes, since Federation technology has "graduated" to plasma conduits, it is more advanced.

In reality, this only demonstrates the weaknesses of Federation starship design. Electrical power systems are far safer for low-powered systems (like bridge and control-system components) than plasma conduits, because electrical power always arcs to ground in the event of an open circuit. Plasma conduits, on the other hand, undergo explosive decompression in the event of a conduit rupture, resulting in the infamous "exploding console" problem on Federation starships. A control panel is not a high-powered system- it does not require exotic power supplies, and if its power supply system is known to be a potentially lethal safety hazard, then it is quite clear that the basic design philosophy should be reviewed immediately.

A Prairie Home Companion (2006)

Close enough.

Hiring: The Lake Wobegon Strategy

That reminds me, isn't there a Lake Wobegon movie now?

Wednesday, June 07, 2006

a public service announcement


This is a public service announcement. If you are reading this blog through an aggregator (such as bloglines), and you saw an alert box just now, then the software you are using has a serious security flaw and you should complain loudly to the people who control the software.

phil ringnalda : No, ask what Bloglines can do to you

The XSS holes described in this blog from LAST NOVEMBER still exist in a website used by many thousands of people. And I thought I sucked.

a new (not really) low

XSS being used not for any pseudo-1337 purpose such as fraud or identity theft, but for plain old SPAM. This is like breaking into somebody's house and not stealing anything, just slaping your advertizing all over their stuff and getting out.

More details after I've figured out exactly who to complain to.

Tuesday, May 30, 2006

Curiosity is bliss: Cross-domain AJAX using Flash

Why does Flash allow this? Doesn't this pretty much blow a hole in browser security? One more reason I'm glad I have this stuff blocked.

EDIT: it appears this isn't nearly as bad as it looks, because of the requirement to use crossdomain.xml files on the server-side.

It still seems like you could write some sort of port-scanning flash movie that can tell whether a request failed because of lack of crossdomain.xml or because of a host/port not responding. Maybe by timing how long it takes for it to fail? I don't know enough about flash to know how to try it.

Belgian radio rocks..

I think last night I heard the original Spooky Tooth version of "Better By You", probably more infamous as the Judas Priest cover version that was involved in one of the first "backward masking causes suicide" cases.

Meanwhile, somebody help me figure out what song starts with lyrics something like this:

my mama told me
when I was young
"cry in the night until
you wake up the sun!"

unexpected Google suckage

Google apparently decides which language to display based on your IP address, ignoring the Accept-language header.

Yes, btw, I am in Belgium.

Friday, May 26, 2006

My life as a Code Economist

every good software company ships products with known bugs
Every time you fix a bug, you risk introducing another one.
Every code change is a risk. A development cycle that doesn't recognize this will churn indefinitely and never create a shippable product. At some point, if the product is ever going to converge toward a release, you have to start deciding which bugs aren't going to get fixed.

Wednesday, May 24, 2006

Cornish Hurling - Wikipedia

The game involves a physical battle on the streets, between two teams of "Townsmen" and "Countrymen", with the shops in the town barricading their windows and doors to protect from accidental damage, which sometimes occurs.

Tuesday, May 23, 2006

Any Officer Who Goes Into Action Without His Sword is Improperly Dressed


Damn Interesting ? Flying Rams

Via Digg.com. This is, in fact, damn interesting.

insert bileblog-like insult here

We are constantly bombarded with announcements about solutions that free the developers of web applications from writing basic "CRUD".

It's not that these kinds of things aren't good or needed, it's just embarrassing to watch the world of web apps catch up to an idea whose time had come 20 years ago.

Isn't this all the same damn thing that PC "database" products (which didn't even support SQL yet) could all do back in the 80's? (And, IIRC, certain mainframe-based environments even before that?)

Considering that at least some of the people inventing this stuff are old enough to remember that era, I can only assume that people have selective memories. Or that back they were too busy fighting the Unix Wars or playing Rogue to pay attention to anything as dull as business applications.

Let me refresh you: before 1990, there were a number of "database" products that allowed the ordinary business user (user, not programmer) to create his own tables to hold his data, specify the format (number, text, etc) for that data, graphically create screens which can be used to edit that data, create and print any number of different reports based on the data, etc. And all without writing a line of "code".

The most well-known surviving modern example from this category is of course Microsoft Access, but its a cruddy (heh) example, as it is actually harder and requires more programming skills to use than its competitors. Mac users may be familiar with FileMaker Pro, which I've never used but which was supposed to have been utopia at some point. There were others. I remember using the database component of a software suite called "Eight in One", that was exactly like what I described above.

And people ate up these kinds of applications. The thing that killed them was the fact that they were desktop-based solutions in the age the Internet. And the fact that they were all proprietary.

It's taken the web world approximately 1991 until now to catch up. Why are we all so proud of this fact?

Geertjan's Weblog : Weblog

Part 1
Part 2

NetBeans IDE 5.5 will totally redefine the word "productivity". I mean, forget wimpy little bits of code, pretty little samples, and obsequious hints and suggestions. Think big. How big? Well, how big can you think? That's how big, plus a little bit of extra bigness added on top.


Dude, man.

Significant rant coming soon.

The BigBook Technique

After failing to win several arguments on this point, the engineers became exasperated and decided to hold an intervention with the CEO. They each bought a copy of Brooks' book, brought the CEO into a conference room, and stacked up the copies of the book, telling him, It is extremely urgent that you read this book. We've bought you many copies so that you might read it faster. They made their point.

A Modular Approach to Data Validation in Web Applications

I haven't actually read the article yet. It might be interesting, might not. But I do take umbrage at the first sentence of this posting:

Data that is not validated or poorly validated is the root cause of a number of serious security vulnerabilities affecting applications, such as Cross Site Scripting and SQL Injection


Validation (or the lack thereof) is not the root cause of these vulnerabilities. XSS and SQL injection are, by definition, all about confusion. Confusing code with data, and vice versa. Validation is one (of several) ways to deal with the problem, and in some cases it is the best. But to say it is the root cause of the issue is a mistake.

EDIT: oh, wait this is that same paper that was beat to death on webappsec. The actual PDF doesn't make the same simple (but wrong) statements as the TSS story. It's actually one of the better brief explanations of validation concerns that I have ever read. I still do not, however, share the author's opinion that sanitizing data is a subclass of validation, and I think that lumping them together will confuse the ignorant.

Of course, one of the replies neatly sums up the whole thing, so there is no need to really even read the PDF:

- handle simple input validation (string, number, length etc.) when input enters your system, either from the user or a subsystem
- Never massage input to make it valid - throw away and give an error message
- Handle domain specific input validation in your domain objects as this is domain knowledge
- Handle meta characters when data is leaving your system

Oracle Regular Expressions

What the title says.

Sunday, May 21, 2006

Will Continuations continue?

A couple of weeks ago I was embroiled in a rather passionate argument about the relevance of continuation-based web servers at an academic retreat at Dagstuhl, Germany. This is an opportunity for me to write down my thoughts on that topic, as the two are closely linked.

Friday, May 19, 2006

Using Aspect-oriented Software Development

Any blog post this long, and with this mich UML in it, has got to be worth reading at some point... maybe.

FOOM!

Choosing passwords to remind you of things you need to be reminded of.

Example password/phrases of this kind include "dontstopwriting", "keepstudying", "doittoheronemoretime" and "donteatchocolate".


I particularly like "doittoheronemoretime".

Thursday, May 18, 2006

NetBeans house cleaning

Yesterday I had all of the following versions of NetBeans installed:

3.6
4.0 beta
4.0 final
4.1
5.0 developer build
5.0 final

I have just uninstalled all of them except for the last. I guess it's a good thing that unlike most software from Microsoft, most open source programs (and almost anything written in Java) are happy to have more than one version installed on the same computer. On the other hand, it can contribute to cruftification if you're not careful.

Wednesday, May 17, 2006

Google Web Toolkit - Build AJAX apps in the Java language

Yeah, there are lots of AJAX toolkits out there, none of which I've tried. But this one is from Google. The folks who made AJAX hot.

Evan Summers's Blog: Swing trumps Ajax and Web 2.0

The author warns at the start that text in italics is off-topic. Note that most of the article is in italics.

cajo: The cajo Project

I am still not exactly sure what this project does, but I like this sentence:

"Best of all, this framework is 100% pure Java: i.e. it requires no Bloody XML, and no Silly Annotations!"

Electro Empire - Home of --<=ELECTRO FUNK=>---

Apropos of nothing... just like everything else on this blog.

Stuck in my head: "B Girls" by Young & Restless (with Eric G.)

Jittery Joe’s Coffee

Is this place named after the one Marge visited in 1F03?

ThinkGeek :: Buzzaire - Metered Dose Caffeine Inhaler

Yes, this is really what it looks like. A device just like an asthma inhaler, only instead of delivering asthma medicine, it delivers caffeine.

Energy Fiend - The Caffeine Database

Sortable by name, ounces, caffeine, and caffeine per ounce.

Notice how much stronger Starbuck's coffee is than the generic coffee. "I can see why his is so popular"

Monday, May 15, 2006

CREEM ONLINE: Stooges — Of Pop And Pies And Fun

This is probably about the fifth time I've tried to read this particular "classic" or rock criticism, and I don't believe I've ever made it through to the end. I don't even think this is the first time I've blogged it.

CREEM ONLINE: Creem Archive

wow.

somesongs [song info: Fat Bird (One Night in Heaven)]

Ah, big songs about big women.

Seeking Scalable Web Authentication

Haven't read this yet, so I don't know if it is any good.

Friday, May 12, 2006

The Censored Cartoons Page

My daughter just got her accidental first taste of golden age cartoons, in the form of a DVD of 1940s-50s Mickey Mouse and Pluto cartoons mistakenly shipped to use by NetFlix.

Four years of efforts by me, mama, and the rest of society to feed our kids on a diet consisting solely of safe, educational TV just went out the window.

These Disney shorts are, of course, still pretty tame. I now have to figure out what age to introduce her to the real hard stuff, like Tex Avery.

Wither Those Tiers

This looks interesting but I haven't had enough coffee yet to read it.

Wednesday, May 10, 2006

Architectural Styles and the Design of Network-based Software Architectures

This is the HTML edition of "the" REST paper.

Tuesday, May 09, 2006

the word of the day..

"mouthfeel"

Beer Judge Certification Program (BJCP)

I suggest that we all pursue this certification rather than SCJP.

Raganwald: I'll take Static Typing for $800, Alex.

Here's my question to my fellow Java programmers: why do we tolerate a compiler that forces us to type some things as BigDecimals and some things as Integers, but we don't insist that the compiler catch places where we aren't checking for nulls?

Why do we resist the idea that programming might be hard


A List Apart: Articles: Calling All Designers: Learn to Write!

This is not just marketing text (though it’s that, too). It’s interface. This is text that can’t come from the PR department—it comes from us, the designers who are responsible for the user experience. The text is as much a part of the UI as the colors, the pixels, the stuff that designers are usually concerned with. Perhaps more.

It rather involved being on the other side of this airtight hatchway

keyword: security

Monday, May 08, 2006

any sufficiently technical email..

... is indistinguishable from non-sense SPAM.

Specifically, the strings of random words that spammers through together to evade filters.

Proof: I got a (non-spam) email entitled Normal Horde Probes and Strange Ones

Friday, May 05, 2006

what happened to April?

Did I really not blog anything during the whole month of April?

Chansons

The design of this blog is cool. I have no idea who this is, or if the CSS was designed by someone else, or what. Whoever this person is, her life appears to be going well, so good for her. But I just like the design.

Generics gotchas

By the "Hoskinator". Good links.

Thursday, May 04, 2006

Full-up Google choking on web spam? | The Register

from digg

Session Timeout Issue of an AJAX Driven Page

So what happens when the user session times out?

On the bogusness of reporting the winning word in a spelling bee

Nobody misspelled the winning word, so how hard can it be?

Schneier on Security: Man Sues Compaq for False Advertising

"Convicted felon Michael Crooker is suing Compaq (now HP) for false advertising. He bought a computer promised to be secure, but the FBI got his data anyway"

Slashdot | Classic Star Wars Trilogy Finally on DVD.

This is too good, to too many folks, to be true. It has to be some kind of a hoax, right?

Whizlabs: SCJP 5.0 Preparation Article

"Power your way to success"

Evan Summers's Blog: Explicit Reflection

Using strings to refer to instances and methods is "fragile" eg. not refactoring-safe" (or "exception-safe") and is not readily "toolable" in the sense that it does not enjoy auto-completion and error-highlighting in IDE's.

Wednesday, May 03, 2006

Hollywood's Take on the Net

Hollywood's Take on the Internet Often Favors Fun Over Facts

The Good and Bad in Email


The TAGRI (They Aren't? Gonna Read It) Principle of Software Development

"The basic idea is that very little of the documentation which gets created during software development actually gets read by the actual target audience."

Tuesday, May 02, 2006

Bum Wines

"Call them bum wines, street wines, fortified wines, wino wines, or twist-cap wines. Whatever you call these beverages for the economical drunkard, this page explores the top five."

Rwal Life Super Mario

I suspect everyone else has already seen this, but I'm playing catch-up with most of the internet right now.

Eitan Suez's Blog: MVC without leaks implies generic VC

See, over time, everyone eventually gets to be as smart as me.

GUI is plumbing

The Bosnia-Atlantis Connection

I think we heard about this on "Coast to Coast".

Wednesday, March 15, 2006


Wednesday, March 08, 2006

spring "gardening"

Or rather, lack thereof. No need! The soil of yard is full of hidden bulbs, which were just waiting to pop out at the first sign of the approach of spring, some starting as far back as late January.

Crocuseses hidden among the rocks and trees. A big patch of daffodils, which seem to be all over the neighborhood.

Last fall, on EXACTLY 9/11, several long, thin, lone stalks poked up and bore red lilly-ish flowers. This spring, some thicker foliage appeared in the same spots. Same plant? Maybe.

A couple of things that haven't bloomed yet.

And the hostas are still dormant. Not to mention the impatiens seeds that are surely lying in wait to blossom this summer.

It's like living at my grandmother's old house.

A bunch of links to stuff about regional speech

From, of all places, The Song Fight!

Thursday, February 23, 2006

The Clueless Manifesto

Sometimes NOT knowing about a "problem" weakens (or eliminates) it.

Perception is a powerful tool. Believing there's a limitation can sometimes create that limitation. And for the clueless who don't know about the limitation, well, it's as if it doesn't exist.

The Clueless Manifesto

Sometimes NOT knowing about a "problem" weakens (or eliminates) it.

Perception is a powerful tool. Believing there's a limitation can sometimes create that limitation. And for the clueless who don't know about the limitation, well, it's as if it doesn't exist.

Friday, February 17, 2006

Common Locale Data Repository

Most operating systems and many application programs currently maintain their own repositories of locale data to support these conventions. But such data are often incomplete, idiosyncratic, or gratuitously different from program to program. In the age of the internet, software components must work together seamlessly, without the problems caused by these discrepancies.

Wednesday, February 15, 2006

Index of Compute! articles

(Full article text is primarily available beginning with Issue 20.)


I really wish the text of the issue 2 article "The Deadly Linefeed" was online.

Tuesday, February 14, 2006

friggin little hard drive

Thursday, February 09, 2006

900913 1|\/|493 534r0/0(|-|

Holy shit! Google in leet-speek!

The image search actually says "§34|2(¦–¦ Þ¦–¦Ø|2 Þ|2Øl\|" !!

Better File Uploads with AJAX and JavaServer Face

Rock!

Wednesday, February 08, 2006

your assignment for tonight..

How many 32-bit hex strings that "spell something" correspond to IP addresses that actually have web servers at them? For example:

0xcafebabe = 202.254.186.190

.. which unfortately does not appear to be a webserver. But that's the example.

Better find them all before IPV6 make it irrelevant(er).

Optional challenge: include 1337-speak.

not engaging in friend-stuffing, but...

http://www.songfight.org/cow/

The number of people who read this blog wouldn't tip the scales for me anyway, unless they cheated.

Seriously, don't vote for me unless you really think I'm the best. Getting your mom to vote for you and such is really frowned on there.

I'm just trying to draw attemtion to SongFight itself. SF has been kicking around for years and years before I finally stumbled on it by following a link from a link from a link from Chet. How'd I miss it for long? Its like the coolest idea EVAR.

a bit of Peachtree gone



This old section of Peachtree Road, which I blogged on when I took this horriblly fuzzy photo a couple of years back, now appears to be closed. There is a gate across the road near the railroad museum.

Sunday, February 05, 2006

The women's petition against coffee (1674)

Summary: coffee causes impotence, by "drying" out the precious bodily fluids or something.

Friday, February 03, 2006

What happens when an all-flash page gets hit by the Slashdot/Digg effect


2005 Underhanded C Contest

n many ways this is the exact opposite of the Obfuscated C Code Contest: in this contest you must write code that is as readable, clear, innocent and straightforward as possible, and yet it must fail to perform at its apparent function. To be more specific, it should do something subtly evil.

Wednesday, February 01, 2006

6 Degrees Of EJB

Like the Kevin Bacon game, only for Java nerds.

what I want on my tombstone

"Some may say I couldn't sing, but none may say I didn't sing" - Florence Foster Jenkins, via Andy Balham

Wednesday, January 25, 2006

Character Conversions from Browser to Database

Looks geeky.

Tuesday, January 24, 2006

what is the Unicode Mark of the Beast?

It should be obvious by now that Unicode is a tool for both good and evil. Now, it is also known that 666 is the Number of the Beast. The question now arises, what Unicode character is the Mark of the Beast?

Now, character 666 in Unicode, or U+029A in hexadecimal, is this innocent-looking thing:

ʚ


Could it be the mark of evil?

Our other candidate is sneekier. Since hex is almost always used in discussions of unicode, maybe U+0666 (decimal 1638) fits the bill better:

٦


This one also happens to be the digit "6" in Arabic. How convenient, as the Church Lady might say.

The Professional Device Hole

I don't normally take the time to read Freedom to Tinker, because it just gets me angry. This is no exception.

Not only will it protect Hollywood from the downside of the bill, it will also create new barriers to entry, making it harder for amateurs to create and distribute video content — and just at the moment when technology seems to be enabling high-quality amateur video distribution.


And this comment:

Who is a professional is a horrendous problem for reasons that nobody has mentioned yet: what about independent low budget filmakers? Will it be illegal to sell professional equipment to them because they “aren’t really professionals” or will they be chained down by rediculous DRM schemes?


This isn't only or even mostly about piracy, this is about stopping competition.

Monday, January 23, 2006

TPCI - TIOBE Programming Community Index

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system.

This stuff is fun to look at, but I can't believe they so casually recommend picking a programming language based on how many people are currently using it. I think Paul Graham or ESR has a rant about that, somewhere.

Sunday, January 22, 2006

somesongs.com, 2006-01-21


Wednesday, January 18, 2006

Monkeygrease Overview

Monkeygrease, Monkeygrease,
why do we sing of your fame?
Monkeygrease, Monkeygrease,
because we like saying your name.

(and also because it's a cool idea)

Thursday, January 12, 2006

proof that it works


import junit.framework.*;
import java.lang.reflect.*;
import java.util.Arrays;
/*
* DoNothingTest.java
* JUnit based test
*
* Created on January 12, 2006, 10:35 PM
*/

public class DoNothingTest extends TestCase {

public DoNothingTest(String testName) {
super(testName);
}

protected void setUp() throws Exception {
}

protected void tearDown() throws Exception {
}

public static interface BunchaMethods {
void doVoid();
int getInt();
String getString();
Integer getInteger();
Object getObject();
int[] getIntArray();
}

public void testNewInstance() {

BunchaMethods b = (BunchaMethods) DoNothing.newInstance(BunchaMethods.class);

b.doVoid(); // nothing happens!

assertEquals( 0, b.getInt());

assertEquals( null, b.getString());
assertEquals( null, b.getInteger());
assertEquals( null, b.getObject());
assertEquals( null, b.getIntArray());

}

}

java code you shouldn't need, but sometimes do


/*
* DoNothing.java
*
*/

import java.lang.reflect.*;
import java.util.Arrays;

/**
* Creates a dynamic proxy that simply does nothing and returns null
* or "0", when any of its methods are called.
*/
public class DoNothing implements InvocationHandler {

/**
* Creates a do-nothing proxy that implements all the interfaces.
*/
public static Object newInstance(Class[] interfaces) {
return Proxy.newProxyInstance(DoNothing.class.getClassLoader(), interfaces, new DoNothing());
}

/**
* Creates a do-nothing proxy that implements one interface.
*/
public static Object newInstance(Class iface ) {
return newInstance( new Class[]{iface});
}


public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Class returnType = method.getReturnType();

// if the method isn't supposed to return anything,
// return null
if(returnType == void.class) {
return null;
}

// if we have a return value, return whatever it is
// that new arrays of our return type are filled with.
// this is a convenient way to get "0" as the right
// kind of primitive, or null for objects, in one
// line of code.
return Array.get( Array.newInstance(returnType,1), 0);
}


}

Tuesday, January 10, 2006

Uniform (adjective.org)

Blogging this now before I forget to read it.
Uniform is a java class library supporting runtime supertyping. In practice, that makes it somewhat like Latent Typing or Duck Typing.


This looks pretty damn cool. I'm going to tell people at work to look at it.

Thursday, January 05, 2006

MF Bliki: ImplicitInterfaceImplementation

Both Java and C# share the same model of pure interface types. You declare a pure interface by going interface Mailable, then you can declare you implement it with class Customer implements Mailable (in Java). A class may implement any number of pure interfaces.

One of the things this model ignores is that you have implicit interfaces whenever you have a class. The implicit interface Customer is all the public members declared on Customer. One thing that neither Java nor C# allow you to do is to implement an implicit interface - you cannot write class ValuedCustomer implements Customer.

Incompatibilities Between ISO C and ISO C

I don't work in an environment in which C is the main language, and I haven't since well before 1999, so I don't know how many people really use C99. When I think "C", I think C90. But this still makes for some interesting reading.

Tuesday, January 03, 2006

Doucheeburger


PIC_0198, originally uploaded by jeff_robertson.

Most unfortunate sign ever?