Sunday, March 30, 2008

Clueless Guys Can't Read Women

This is cute:

Clueless Guys Can't Read Women

I especially like the second feedback comment:

Based on the article above - the facts presented clearly point out that the problem isn't guys at all. The proper title of the piece should be "Clueless Women Can't Communicate Non-Verbally"

If you are sending a message in such a way that 70% of your target never receives the message or receives the opposite message - clearly the sender is at fault. What's next; an article on archery entitled "Clueless targets can't catch arrows"?

Wednesday, March 19, 2008

Moving right along...

Been having a pretty busy week. Did a bunch of work on AIX. Learned about some of the eccentricities of the IBM xlC compiler. It's been pretty productive though. Full steam ahead. Pedal to the metal.

Here's a rather entertaining email from Sequoia Systems (a company that make the electronic voting machines in many districts in New Jersey), and how they're threatening to sue Princeton Professor Ed Felton if he does an analysis of their voting machines:

In response to the threat, he felt it appropriate to publish one of the poll result tapes from the NJ primary, and how their machines apparently don't know that (1+13+40+3+4) doesn't add up to 60.

Ed Felton is very well respected in the community. He's written various papers on electronic voting problems, and was the guy a few years ago whose team beat the SDMI challenge (Secure Digital Watermarking Initiative). Rather than signing an NDA and taking the cash prize, he decided rather to publish a paper on his results, drawing threats of lawsuits from the music industry (rather ironic since it was their own contest to see if someone could break their watermarks).

I finally finished the Ender quartet last week, and moved on to reading Microserfs, which is a pretty quick read. It's funny because I was thinking about picking it up the last time I was at the Strand, and Victoria's psychic powers prompted her to get it for me.

Saturday, March 15, 2008

Weekend in Philadelphia

Spending the weekend in Philly with Victoria. She had to go to the clinic to do some paperwork, so I'm here at the coffeehouse trying to get some stuff done.

Unfortunately, I'm not sure if somebody else is running BitTorrent, but today for some reason the coffee house's Internet access is ridiculously slow. I have to wait ten or fifteen seconds for web pages to appear, which pretty much rules out doing connecting into the office over ssh and getting some work done.

64 bytes from icmp_seq=452 ttl=51 time=14017.783 ms
64 bytes from icmp_seq=453 ttl=51 time=13065.781 ms
64 bytes from icmp_seq=454 ttl=51 time=12576.429 ms
64 bytes from icmp_seq=455 ttl=51 time=12128.468 ms
As a background task over the last few days I have using BoundsChecker to profile some upload zip code I have in my product. Achieved a 133% performance improvement in large zip uploads with few files (400 MB zip archives containing 70 or 80 files), and a 64% improvement in small zip uploads with lots of files (4 MB zip archives containing 2500 files).

Performance profiling is one of the more fun things I get to do at work. Hand optimized assembly code is your friend.

I lost one of the rubber nubs from the Bose headphones I got from Uncle Richie and Aunt Aggie two Christmases ago. The nubs were pretty worn out (they get alot of use) and I was thinking about buying a new pair anyway. I dropped the tiny piece of grey rubber onto a concrete walkway last night and spent several minutes trying to find it before giving up. It's just annoying because I would have continued to use the old ones until I bought a replacement, and now I can't use my iPod until I find somewhere to pickup a new pair.

Ok, enough rambling for now...

Monday, March 10, 2008

Seattle Trip

Spent the last few days in Seattle with Victoria visiting her sister and her sister's boyfriend. Had lots of fun.

Got to tour the Boeing plant in Everett, which was really cool. Man that's a big building. I remember being astounded the first time I set foot in the Bell Labs Holmdel facility thinking how big it was. However, it pales in comparison though to the airplane factory.

I accidentally left the brochure in Washington, but here are some fun stats (from

  • The building is 98.3 acres and 472,000,000 cubic feet, making it the largest building in the world (by volume).
  • The building is .78 miles in length, meaning it's longer than my walk to work every morning (0.56 miles)
  • You could put Disneyland inside of the building and still have thirteen acres of indoor parking
  • The 767's are on an assembly line where the planes move 1.7" per minute. They have big ten foot long boxes painted on the floor that say things like "Day 1 shift 1, 1-4pm", "Day 1 shift 2, 4-8pm" where the plane rolls along.
  • Boeing provide 1400 bicycles for the engineers to get around in the building.
  • We went througha series of service tunnels under the facility, with ten feet of concrete between the basement and the factory floor.

It's very strange to be 100 feet up in the observation deck, looking down at 747 aircraft that look like the size of matchbox cars. They say you can't take any cameras, cell phones or iPods into the factory out of fear that you will drop them onto someone from the observation deck. Heh. Certainly it wouldn't have anything to do with a fear of industrial espionage.

Update: here it is on Google Maps:,-122.272078&ie=UTF8&ll=47.925114,-122.271566&spn=0.013286,0.030556&z=15

Tuesday, March 4, 2008

Anybody need a kitty?

Vikki found a cat, and she's looking for a good home for her.

Here's her description. If anybody is looking for a cat, or know of someone who might be interested, please send me an email.

I found this cat in north east Philly on Sunday. It's a pretty bad neighborhood, and the cat was about to run into a busy street when I found her. She didn't have any tags.

This cat is a female and short haired with pretty tortoise-shell coloring. She is on the petite side. She's a littled banged up right now, with patches of fur missing, but came right up to me when I called her and let me pet her and handle her right away. She's very docile and sweet as far as cats go in general, never mind street cats. The vet was only able to roughly estimate her age at 5 years old, but she may be a bit younger.

This cat was obviously someone's pet at one point or another, since she is so domesticated, but has been neglected for some time now. When she was at the vet, they found she was dangerously constipated from eating tin foil and had to preform a procedure to resolve this. She tested negative for Feline AIDS and Leukemia, and was given a medication to rid her of any possible fleas. The vet reassured me that with a good diet and a clean, indoor environment, her hair will grow back. I did not think to ask if she is spayed or not, but I will cover the cost to fix the animal if she isn't.

We are looking for a loving, indoor home for this cat. I know she will make a great pet; I would keep her myself if space allowed. I have been calling her "Sweetie" because of her great disposition...

Saturday, March 1, 2008

Why I like my job...

This week we had a demo with a very large prospective customer. However, instead of doing what we usually do which is to demonstrate it in one of our test environments, they wanted us to provision a SQL Server clustered instance in their environment.

This is generally considered a risky proposition for a demo since you have no idea what their environment will look like and the very first time you try it is in front of the customer.

It's pretty funny, because before they started the operation the customer's tech guy was saying things like, "well, it's really not that hard to do in that you just have to copy the media over to the server, fill out a few wizard pages and hit the 'Finish' button".

Our product caught fifteen things they had not properly configured in their two node environment. A number of which were things that were obscure enough that Microsoft's SQL Server installer would not have caught it.

The problem with SQL Server is that at face value it appears to be easy to install. It's all the edge cases and bugs that are the real problem. To Microsoft's credit, many of them are documented in their knowledge base, but by that point the installation failed in some obscure and difficult to understand way, and you're doing a post-mortem trying to figure out what went wrong. In most cases, if you're looking at the knowledge base you've already spent at least an hour going to each cluster node and digging through the log files trying to find the error message to query for.

Just for fun, here's a small sampling of bugs in SQL Server that would result in failed installs that would be difficult to know why they failed. None of these are secret/proprietary information, they're all published in Microsoft's knowledge base if you look hard enough. Also bear in mind that I've picked some of the easier to understand issues in the interest of clarity.

  • If the NetBIOS hostname of any of your servers is longer than 13 characters, the SQL Server 2000 installer will crash (kb289828). That means you see "Access Violation" and setup exits with no other discernible error message.

  • If you're logged into any of the other nodes when you run setup, the install will fail with the error message "Setup failed to start on the remote machine. Check the Task Scheduler event log on the remote machine."kb910851. This includes being logged in via Remote Desktop but "disconnected" from the session.

  • If you try to deploy SQL Server 2000 onto a cluster that has more than 4 nodes, the install will go through but then you can't start the instance (kb811054). It doesn't matter how many nodes you deploy the instance onto; just the total number of nodes in the Microsoft cluster. If you attempt to install a two node instance onto a five node cluster, the install will go through with absolutely no errors, but the instance won't startup, and it won't tell you why it won't start. The only way we figured out why it failed was when we dug through the log file and put "[clushelp.cpp:150] : 259 (0x103): No more data is available" into Google.

There's a common theme to all of these issues - none of them told you what was really wrong or what you had to do to fix the problem. In one case the installer crashes, another it gives a useless error message, and the third the installer gives no error at all but then you later find out the instance you installed doesn't work.

The power of our product is that we have done the work for you. We've spent the time going through the knowledge base analyzing every documented SQL Server bug. We've written pre-checks that look for those cases, and we validate your entire environment before any operations are performed. We've deployed hundreds of instances in all sorts of test environments, analyzed the problems we found and come up with the checks to ensure you don't encounter the same thing. And in the cases where a precheck finds a problem our software tells you how to fix the issue or points you to the Microsoft knowledge base article describing the issue in more detail.

There's some personal satisfaction in seeing your product perform in a live environment, recognizing that it did it's job well and solved a real problem.


Insomnia is back. I was up at 5:00 this morning and couldn't get back to sleep, which was pretty annoying.

Picked up a shroom burger from Shake Shack on my way into the office. Sat for a little while in Madison Square Park and enjoyed the weather. I'm going to Seattle on Wednesday so I'm trying to get all my development done for the release before I go. Making good progress...

Maybe I'll go home soon and take a nap.

Here's a really good xkcd comic I ran across this morning: