Category Archives: Technology

Coming out of retirement…

Back at the end of April I made the decision to get away from the software industry for a bit to invest in myself. Mind, body, and soul. I know how very Californian of me!

The past 6 months have been wonderful. I just finished up traveling throughout Europe for a few months. Logged a ton of time on my bicycle and at the gym getting into shape. Spent free time tooling around with various business ideas which had been kicking around my head for quite some time.

Most important of all. I was able to spend over a month with my family back in Rochester, NY. I haven’t had the opportunity to do this in quite some time and enjoyed it immensely. It was nice not to have to feel rushed, it gave me time to kick around my hometown and explore it a bit. For some reason I never did that when I lived there for the first 20+ years of my life…

Anyway, today I am happy to announce this has all come to an end. I have joined a few of my friends in starting a new company. Backblaze! We plan to make everyones lives a bit less stressful. Especially those who tend to be the ‘go to tech guy‘ of the family!

More about what we are doing in the following weeks…

Now playing: Pixies – GiganticSurfer Rosa & Come On Pilgrim

java.util.Calendar.roll() works in mysterious ways…

So I found the behavior of the roll() method inside the java.util.Calendar class a bit odd. The method declaration is:

roll(int field, int amount)

Where the field can be any attribute of the date. I’m interested in the HOUR field since I need a rolling hourly window.

When you pass the field of HOUR and 1 for the amount, you would expect that to bump the hour up by one, and when it reaches midnight roll over to the next day. Right?

Well here’s what happens:

cal.roll(Calendar.HOUR, 1)

Time: Fri Jan 27 10:29:23 PST 2006
Time: Fri Jan 27 11:29:23 PST 2006
Time: Fri Jan 27 00:29:23 PST 2006
Time: Fri Jan 27 01:29:23 PST 2006

Holy crap, it doesn’t even get past noon! After reading the docs a little more closely I’ve found HOUR to be associated with AM/PM and what I really should be using is HOUR_OF_DAY.

Okay here we go:

cal.roll(Calendar.HOUR_OF_DAY, 1)

Time: Fri Jan 27 22:37:14 PST 2006
Time: Fri Jan 27 23:37:14 PST 2006
Time: Fri Jan 27 00:37:14 PST 2006
Time: Fri Jan 27 01:37:14 PST 2006

A little closer, but not quite! Why didn’t it roll to the next day? It seems like it should do considering the documentation suggests that.

So after about 20 minutes of dicking around with this, I decided to give the add() method a go. And low and behold it works as one would expect:

cal.add(Calendar.HOUR_OF_DAY, 1)

Time: Fri Jan 27 22:41:17 PST 2006
Time: Fri Jan 27 23:41:17 PST 2006
Time: Sat Jan 28 00:41:17 PST 2006
Time: Sat Jan 28 01:41:17 PST 2006

So my question is, what is the purpose of the roll() method? Can someone enlighten me?

Now playing: Morcheba – Slow Down

Yahoo! Maps Redux

Yahoo! has done it again! There is great competition between them and Google these days. I tend to believe Yahoo! is winning.

Now you are right to think Google is the one pushing the envelope by coming out with fancy services like Google Maps and GMail which top what Yahoo! had in place for years. Which is exactly what needed to happen to get Yahoo! fired up again. They continue to answer what ever Google puts out and tend to do it in a big way.

Now it’s not that Yahoo! has better developers than Google, that line of thought is ridiculous. Both have some of the brightest engineers in the valley at their disposal. The big advantage is Yahoo! has really come to the understanding that time needs to be taken up front to get the user experience just right!

The new Maps services is just another great example.

Update: TechCrunch has a pretty good review.

Being Phoneless

The other night Christopher and I went over the House of Shields to check out the Web 1.0 Summit. Which was mildly entertaining.

In the process of getting my drink on I ended up misplacing my cell phone. This wasn’t realized until I got home around midnight, which by that time Cingular no longer answers their phones. Hopefully the dick head that picked my cell didn’t have any friends in Asia which he was longing to chat with!

I have to say being without a cell phone is giving me a disconnected from the world feeling. Sort of how I am without internet access. The funny thing is I hardly use my phone, but it’s obvious it has become a security blanket. Which I’m guessing is not a good thing.

Never stay too long…

When is a programming gig like a party?

When you stick around too long, you will always find yourself stuck cleaning up the mess. In this case ones own!

My rule of thumb, once I find myself yelling, “Who wrote this crap!”, and then ten minutes later mumbling, “Ohh shit, this is my code.”

It’s probably time to move on. ;)