Thursday, February 28, 2008

The Magical World of Penis Unicorns

Seriously. Best t-shirt ever.

The difference between 1900 and 1904

I little while back, I blogged about how PHP can't figure out how to handle dates properly. Now, thanks to a blog posting by Joel On Software, I have come to realize that there is even more crazy things than the PHP issue. Check out this fascinating Microsoft article about the difference between 1900 and 1904.

Wednesday, February 27, 2008

Thoughts about Apple

Check out this recent news announcement from AAPL. It is quite interesting to note that Apple *finally* broke silence to talk to investors. If you read the article, it is clear that people were happy with what they had to say. After about a month of slipping downhill and almost no press articles at all, it is wild how they can manipulate the market like that with just one small piece.

Update: AAPL is even further up this morning... almost 7 points...

Tuesday, February 26, 2008

Google's Captcha broken

This is a really interesting analysis of the methodology of breaking Google's captcha for account creation. What I don't understand about all these hacking attempts is that all Google needs to do is change their captcha even slightly and it will most likely break the attempts to hack it. It is a big chicken/egg problem. If they want to try out my Kaptcha project, they are welcome to do it. Personally, I think their captcha is pretty weak. Although, I do like the fact that they encode a timestamp in the creation of the captcha so that it is only valid for a short amount of time. I might add that feature to Kaptcha and an option for people who want it.

Monday, February 25, 2008

You Save: $11,501.00 (21%)

Check out the price tag (and savings) on this watch. Better act now, only one left! Even more entertaining is the "Customers Who Bought Items Like This Also Bought..."

Adobe Releases AIR

There is a great quote in an article in today's NYT from a Microsoft employee who thinks that their technology (Silverlight) is at an advantage over AIR because security in Silverlight is better.
Microsoft executives said they thought the company would have an advantage because Silverlight has a more sophisticated security model. “Desktop integration is a mixed blessing. There is potentially a gaping security hole,” said Microsoft’s Mr. Becker. “We’ve learned at the school of hard knocks about security.”
Don't forget that most of the spam you receive today is sent from hacked Windows PC's. I think that Microsoft still has a bit of learning to do.

Congrats to Adobe. The last time that I played with AIR, I thought it was a pretty cool tool. I'll have to take another look at it again.

Sunday, February 24, 2008

Ralph Nader

I don't usually like to get involved with politics because I feel rather hopeless about the current state of affairs in America, but I read today that Ralph Nader has decided to run for President.

While I appreciate the idea of a forward thinking person running for office, this actually drives me nuts. There is no chance that he is going to become president and he only takes votes away from the Democrats.

If I have to endure another 4 years of Republican rule because Nader screws things up for everyone else, I'm going to puke. Instead of wasting a ton of money campaigning for something you know you can't win, how about donating that money to charity, feeding starving children or helping cure some disease. It sure would be a better use for those millions of dollars spent on a losing proposition.

Saturday, February 23, 2008


As the maintainer of a nice Java Captcha solution (Kaptcha), I was interested to hear the idea for Captchavertising. Sadly, the major problem with this idea is that the words are easily guessable which kind of negates the purpose of using a Captcha in the first place.

Wednesday, February 20, 2008

iPhone advertising is stupid.

I recently blogged about the people who maintain the iPhone Ste repository and their addition of advertisements to the descriptions of the ads. Unfortunately, this seemed to attract some fairly obtuse and inane attention of one of the people responsible for the ads. According to him, boycotting the companies responsible for paying for the bandwidth is a bad thing. My response to that is that they should find someone else to pay for the bandwidth or find a better way to add advertisements than ruining the functionality of You can read the full comments in the posting for a better idea of what is going on there. I've taken my side of the story.

Needless to say, this got me thinking. What if I wanted a quick solution to removing the ads? So, I created a project on Google Code's excellent project hosting, took a copy of the Ste xml file, removed the ads and checked it into svn. No more ads! If you would like to also take advantage of no more ads, you can add this repository to your iPhone and remove the lame ass full of ads Ste one. I'll try to update it every few days or so.


Instructions and documentation is here:

Friday, February 15, 2008

It's a bit of an imprecise science at this point

The government is planning on shooting down a satellite. My favorite quote is:
Lt. Gen. Carter Ham, director of operations for the Joint Chiefs of Staff, told reporters at the Pentagon on Friday that it's difficult not only to hit the satellite but even to know the best time to shoot. "It's a bit of an imprecise science at this point," Ham said.
So, what you are saying is that after dozens of years of claiming to be a "super power" we are not sure if we can even hit one of our own satellites?

Wednesday, February 13, 2008 Long live the HipTop

A little while back, my friend Jeff and I wrote a fun little application for the Danger Hiptop. Unfortunately, because it was considered an 'adult' application by T-Mobile, Danger was not able to get it distributed on their networks. It took them about 6 long pathetic months to be able to tell us that. This of course meant that the two months of work that we did on the application was totally wasted. It was a great learning experience, but what a bummer to not have the chance to sell a cool application to millions of people.

So, when the iPhone came out, I jumped ship within a month. No point in wasting my time with those guys anymore. Danger is tied to T-Mobile and T-Mobile doesn't understand that the market has just been turned upside down and inside out. Way to screw yourselves.

Now, word is out that Danger was bought by Microsoft. This is clearly a desperate move to try to buy a popular cell phone manufacturer to compete with the iPhone. The funny part is that the Danger devices are built entirely on technologies that M$ hates... Java, Perl, Oracle, Linux, etc. They are going to have to re-engineer the entire platform to make it run WinCE and all of the coolness left in the device (that wasn't instantly outdated by the iPhone) is going to go out the window. All of the talented engineers who were working for Danger have already left for other jobs. If anything, this move just helps Apple because now everyone will definitely jump ship.

Steve Jobs must be really enjoying himself right now.

Sunday, February 10, 2008

BW wtf?

My iPhone just started showing me advertisements. I just have to say: It is really friggen pathetic.

I fully understand the need to support yourself as a software developer (I do it), but come on, this is over the top! If you are willing to invest so much time and money into developing such a cool piece of software as, then you should be smart enough to figure out how to get paid to do so. I know it costs money for hosting and you need donations, but it should not be at the expense of your users ability to use the application. Screwing up the user interface of your application and forcing users into having to view an ad on each and every single package in is just plain absurd.

Boycott those two sites. Don't give them a single cent.

Update: I have my own advertising free feed to replace Ste's feed with.

Thursday, February 7, 2008

March 9th 2008 @ 2am does not compute

I find problems like this terribly fascinating... first some background...

At work, we integrate with a PHP based application called NATS in order to provide us with affiliate tracking as well as manage the connection between the credit card billers and our users. So, when a user comes to one of our sites, clicks the join button, they are redirected to NATS. They fill out a bit more information and are then redirected to the biller to enter their credit card information. After they are done, the user is redirected back to us. On the back end, the biller tells NATS that the user has paid and NATS also passes that information back to our code so that we can track their subscription as well. The majority of our subscriptions are for a month at a time. This is a convoluted process which mostly works great except that recently we figured out that NATS has been creating subscriptions for about a month from now... which is March 9th... which happens to be a daylight savings time switch at 2 a.m.

So, the summary of that long paragraph is that we have a system that is creating an expires date for a time that does not exist! So, March 9th @ 2am does not exist. To quote another site: "In spring, clocks spring forward from 1:59 a.m. to 3:00 a.m."

After a bit of digging in google, I found this issue. It seems that after so many years of PHP existence, they have still not been able to get date time handling correct. It is possible to create an invalid date/time in PHP! Because we use Java for our systems, when we get the expires time from NATS we use the most excellent Joda Time library to create a new DateTime object. This library correctly recognizes it is an invalid date and throws an IllegalArgumentException.

Fun times indeed.

Whaling for Science

Apparently there is a Japanese ship that claims that they are killing whales for scientific research. The Australian govt. sees things differently and has published photos (via some GreenPeace activists with huge nuts). I don't always agree with the way that GreenPeace acts, but at least someone is trying to do something for the whales.

Here is a quote from the Japanese website:
The research includes non-lethal sighting surveys and biopsy samplings from live whales as well as a lethal research take of 850 minke whales and 50 fin whales.
Mr Morimoto said that commonsense needed to be brought into the discussions over commercial whaling. “Many whale stocks in the world today are abundant and commercial whaling can be managed on a sustainable basis, while conserving real threatened species (such as the blue whale) based on evidence derived from scientific research.”
I'm sorry, but as someone who grew up very close to the ocean and has spent a lot of time in the ocean, I just have to vote for the whales. We don't need to kill them in order to do research. Just because there is enough whales, it does not mean that we should kill even a single one. We don't know enough about whale life to really help them and I don't think we ever should know much about it. We should just leave them alone. They get the oceans, we get the land. It is a fair deal.

Tuesday, February 5, 2008

Sunday, February 3, 2008

iPhone 1.1.3 hacking

Last night, I upgraded my iPhone to 1.1.3 using the official 1.1.3 based hack. It would have gone smoothly except that I first answered no about whether or not to use hactivation. I should have answered yes.

So, I had to first downgrade to 1.1.1 which was a pain to figure out how to do because I could not get the phone into a restore state. Hold down power button and home button on startup. as soon as you see apple logo, let go of power button. Once I re-hacked up to 1.1.2, I did the 1.1.3 hack again, answered yes to both questions and now I'm running 1.1.3.

Everything seems stable except for a few problems like installing older themes. I had to log into the phone and symlink /var/root/Library/SummerBoard to /var/mobile/Library/SummberBoard. There is also an issue with zsh and the delete key when logged into the phone. The quick solution is to just use bash. There is some talk about a .profile fix, but it did not work for me. Customize also seems to no longer have control over the Dock so I'm back to 4 icons there instead of 5. Oh well, I really appreciate the ability to re-order applications now. I also had to install the Locate Me application and use it once before the Google Maps location feature would work.

One great security feature about this new version of 1.1.3 is that the 'desktop' no longer runs as root. It now runs as the 'mobile' user. I can't believe apple didn't do that from the start. Basic unix sysadmin instructions are that you shouldn't run apps as root unless you need to bind to a low port number... and that app should start as root and then switch to a different user once the port is bound.

Saturday, February 2, 2008

Wired on Kink

Wired published an article about the company I work for. It is a rather dry article. I'm not really sure what the article is about other than saying something along the lines of "Kink produces interesting and real porn." That said, I do like positive press about the company, so I'm including it here in case you are interested.