Category Archives: tech

Offensive virtual festive gourds

I upgraded my Mac text editor today and saw the following surprising entry in the release notes:

[REMOVED] TextMate no longer pays tribute to human sacrifices, rape, nor does it show a picture of the God of the deaths in your dock — ticket 945BEB5D

Normally I’d expect to see a list of bug fixes or new features. The above entry surprised me, and I had to find out why it was there. It all spawned from the company deciding to push out a Halloween-oriented theme for the software. The theme included this dock icon:

pumpkin

Inevitably, someone found it offensive, and their complaint caused it to be removed: “I found this offensive and promptly removed the theme. Please understand I do not think it is offensive because I am some fanatical weirdo. But the roots of Halloween are in animal and human sacrifices as well as rape in the name if Satan.”

Here’s the full story with more detail. I can only imagine what will happen if they push out any Christmas-oriented imagery in their December updates.

N-Day

A software development war story follows. It will bore you to tears if you are not interested in software development. On second thought, it will probably bore you to tears if you ARE interested in software development. Because it truly IS boring. But it was painful, so I purge here now.

We finally went live with our web-based legal case management system for Kentucky Department of Public Advocacy and, as is typical of any software deployment, we encountered problems. A nasty search performance issue cropped up. Searching for trial cases in the app took over two minutes on average. Which is really terrible when you consider how little time it takes for Google to search the entire fracking internet !

So, while troubleshooting for many hours, we extracted the SQL and ran it by hand. Was there an issue with the database itself, or the indexing, or the query SQL?

Nope. The results returned from the database instantaneously.

Weird. We thought, “OK, is there maybe some weird connection pooling problem?”

Nope. Pools were working fine.

“Funky garbage collection janitor thread in the Tapestry web components?”

Nope. The thread was well-behaved.

“Slight differences in the syntax of the SQL generated by different JDBC query modes?”

Nope. Trying different modes resulted in the same fast queries.

We spent about three long days poking at this really obnoxious problem. Finally, through obsessive Googling, I found some obscure forum post explaining a peculiarity of SQL Server’s Unicode-based parameterization of SQL. Turns out that under certain situations, Microsoft SQL Server 2000 is really inefficient when sending Unicode-encoded parameters to queries. So inefficient that it turned our blistering fast search queries into depressing mush.

So, we’d have a database query like this: select [blah] from [table] where [column] = @P

where @P is a Unicode-compatible parameter (in SQL Server, it is of type nvarchar). Then, I added a setting to turn that Unicode stuff off. The result is that in the SQL, the parameter type of nvarchar is replaced with varchar, and the searches went from taking 2 minutes to taking a second or two.

nvarchar vs varchar.

One character. THREE DAYS of lost time. The needle in the haystack almost kicked our asses.

It’s like comparing apples to apples.

Galen, our technical manager, experienced a daily WTF moment of his own today. Here are the Java errors he quoted to us in our IRC channel:

15:35:28,248 ERROR [BasicPropertyAccessor] IllegalArgumentException in class: com.legaledge.harmony.summary.MinimalPerson, setter method of property: modelObjectType

15:35:28,248 ERROR [BasicPropertyAccessor] expected type: com.legaledge.harmony.model.objects.EntityType, actual value: com.legaledge.harmony.model.objects.EntityType

“classloaders. love ’em.”

“Hey, I was expecting an APPLE. Instead, you brought me an APPLE. Why in the world did you bring me an APPLE?”

Beauty of math and music

I love this math/music toy that Jeremy told me about: The “Whitney music box”.

“A flash animation showing the relationship between chromatics, harmonics, and even primes and non-primes.”

“A musical realization of the motion graphics of John Whitney as described in his book “digital harmony”

Picture 12.jpg

Be sure you try the other variations. And especially try Variation 17, which lets you crank the spiral yourself. Hmm… “Crank the spiral?” Sounds like some kind of surfing euphemism.

Credit card info was free at McPhee!

First off: I really like Archie Mcphee. They have awesome, fun stuff and you should go there right now and buy a cool gift for someone for the upcoming Christmas season. But I found a Web security expert there who graduated from WTF University.

A few months back, I attempted to purchase a gift certificate from Archee McPhee’s wonderful online store, McPhee.com. In the middle of filling out the form, formerly located at http://mcphee.com/info/gc.html, I noticed that it had fields for credit card information; however, a quick glance at the URL showed me that there was no SSL connection, and thus any info I’d submit would’ve been in the clear for any enterprising person to snatch. So I started a conversation with Mr. Archee McPhee, who served as a very helpful and friendly go-between for me and their IT person. After explaining to their IT person that credit card information submitted via plain old port 80 HTTP is as naked as a newborn, the IT person replied thusly:

“the gc buy page is NOT secure, in that it doesn’t use SSL, but in this case it doesn’t matter. this particular page kicks off a script on the server which then transfers the information to us via an encrypted email. no credit card information is ever passed on via HTTP, therefore the SSL certificate doesn’t come into play. A sniffer would have to be running on our actual server, since no internet traffic is generated by the form post. In fact, the gc.html page does not even touch the cookie.”

Those of you who are familiar with how the web works will see the flaws in this logic right away. Basically, it’s like a waiter at a restaurant putting my credit card information in their protected safe while taping a copy of the information to the front door.

Thankfully, they have taken down their online gift certificate ordering page. Hopefully they will put up a secure form soon so I can resume giving the gift of bacon strip bandages, bobblehead Jesus dolls, and avenging unicorn playsets. Despite my experience, I still highly recommend Archie McPhee – don’t let this post stop you from buying stuff from them!

And here is an interesting related post from spugbrap.

PhreakyBoys

Tonight, I was surprised to find that BoingBoing, one of my favorite sites, posted my submission about the audio recordings I made of “phone phreaking” (a.k.a., phone hacking) back when I was a troublemaking teen. The recordings are a snapshot of a seemingly by-gone age of hacker culture when it existed primarily in BBSes and compromised voice mail box systems. I kind of miss those days. My Apple //c’s 2400 baud modem was a speed demon!

Many, many thanks to Jason Scott of Textfiles.com and BBSDocumentary.com for his gracious support and efforts with hosting and cataloging my recordings. Be sure to visit his sites and see all of the wonderful work he has done to preserve computing history.

Link

Update: I just wanted to post a pic of the type of recording device I used to obtain these recordings.

pRS1C-2266550w345.jpg

Prior to purchasing it, I spent a lot of time scribbling down on paper the codes and numbers I heard on the voice mail boxes. Some of the phreakers spoke too quickly, so I bought the recorder in an effort to keep up. It was crude but very effective.

Interesting searches

Oranchak.com’s web logs have interesting info on what search terms people are using in Google and other search engines to get to my site. Last month somebody browsed to my site by searching for this text:

what does a smudge on a window on a skyscrapper mean

Makes me wonder what was going through this person’s mind as he stared at the window smudge with a puzzled look on his face. “Is it a sign? Is somebody trying to contact me? Perhaps it is a message from the FUTURE!”

There are also a surprising number of searches for “sea monster”. I did not know my site was a reference point for such things. And for some reason I get a lot of searches for “i want to be a hulkamaniac”. That phrase very dependably continues to appear in the logs.

Other noteworthy search phrases:

not the smartest peanut in the turd

i get red splotches on my chest and back after showers

But Clint by far wins the award for the most bizarre search phrase used to get to a personal blog.

Bring me her brains!

Followup to the previous post

I made some more animations of Carolyn’s MRI scans, and Clint expertly strung them together and set them to music!

Watch the video above, or click this YouTube link

Journey into the soft machine

Carolyn recently had an MRI done, and Clint posted the photos onto their Flickr account. The pictures are all stills from a “media viewer” that comes with a CD given to Carolyn after the procedure. After seeing some of the stills, I realized that they had a lot of potential to be animated (they were not animated in the media viewer). So I generated an animated GIF and converted it to a movie. Clint posted it on YouTube. Have a gander:

The sequence fascinates me. Yet gives me the heebie-jeebies. Props to Carolyn for her bravery in posting her brain on the web!

See more info here.

Robot poet

The development team I am a part of is scattered across the country. We chat in an IRC channel to keep in touch about our progress, questions, issues, schedules, and whatever else comes to mind. In the IRC channel there is an IRC bot named inky that is used to store occasionally useful snippets of information, such as phone numbers, development server logins, and so forth. But one of its fun features it that it is able to generate random haikus based on phrases that are taught to it by participants in the IRC channel. Here are some highlights:

pelvis and booty
it’s a crazy chicken world
you boinked the undead

what a flippin tool.
I had a bunch of those too
really bites my crank

hey, that fragment sucked
goddamn bill gates and excel
in death’s dream kingdom

she wore blue velvet
never pet a burning dog
rhinoceros? where?

sounds deafen the ear
i’m just thorns without the rose
my skin holds me in

Ah, how it reminds me the good ol’ days when I worked on GOOSE with Jerry.