Archive for August, 2006

Settlement

Monday, August 28th, 2006

One of the interesting things that sometines happens in life is that you are involved in a class-action lawsuit, often without even realizing that you were harmed. I think that I have been part of three different class-action lawsuits now, two of which involved Microsoft. I found this quite humorous at the time, having actually worked at Microsoft myself. (I guess that was self-inflicted harm…?) Those particular lawsuits involved pricing on some of Microsoft’s products, and the settlement papers required you to report how many units of various products you had purchased. I didn’t do anything for those lawsuits since I always get my Microsoft products through the Microsoft Alumni Network, so I never have to pay what is normally charged in stores. A perk of having put in my time…

I was recently informed that I had been wronged again, much to my surprise, this time by a credit card company. And a few days ago they finally sent me my settlement, a check for $4.92. I feel that this is a very appropriate amount; it completely covers all of the pain and hardship that has been imposed on me. I think I will get coffee and a scone with my settlement.

Honestly, these class-action lawsuits seem like a big joke. The lawyers are probably the only ones who make out like bandits. Different people in the class will have suffered in different amounts, and if everybody gets a check for five bucks, it makes a mockery of those that suffered greatly, and also pays people who don’t really deserve or need it, like me.

Nonetheless, I’m going to drop my check off at the bank. I could go for a scone.

undefined

Friday, August 25th, 2006

I went to the ATM today, but something was a little funky:



Seems that some locale-specific resource was missing! I think this was the “Would you like a receipt?” screen.

Subversion Branching: Not So Crazy After All

Friday, August 18th, 2006

I finally had an opportunity to begin using Perforce for version-control on a project. It seems like a pretty solid tool, although I have only scratched the surface as far as its feature-set is concerned. (Finally, a project where someone else takes care of branching and merging! Yay…)

Once upon a time, long ago, someone complained about Subversion’s directory-based branching and tagging approach. Imagine that someone’s surprise when that’s exactly how Perforce presents branching! Now that I see that this approach to branching is used by one of the more popular commercial version-control tools, I am warming up to it. I still need to think about all the implications of that, but at least now I know that the approach is not without merit.

SURFers and the Urban Challenge

Friday, August 18th, 2006

Yesterday the students working on the DARPA Urban Challenge presented posters describing their summer research, and I got to go over and see them. It was pretty neat - problems like this always provoke a lot of interesting ideas and approaches. I learned a couple of new things:

  • I learned about clothoid curves, whose curvature varies linearly over the curve. They are also called Cornu spirals. This might be a surprise, but just about everybody has encountered a clothoid in a big way - they are most often used in rollercoaster loops because they require less energy than circular loops! Plus they don’t give you quite as bad whiplash.
  • I also discovered that there is a new version of the A* pathfinding algorithm called Anytime Dynamic A* (or D* for short). It was developed at CMU, and it is more well-behaved than “standard A*” in situations where there isn’t a lot of time for pathfinding, or when environments are updating frequently. This could be a huge boon for gaming - pathfinding is a critical component of many games, and being able to dynamically scale the CPU resources for the pathfinding component could be very helpful.

Pretty neat stuff.

Package Tracker

Tuesday, August 15th, 2006

Buying stuff online is fun. Even more fun is getting a UPS or FedEx tracking number, and checking up on your package’s progress as it wends its way to your doorstep.

But, I think this may be the best option yet: now you can go to www.packagemapping.com and see your package’s path plotted on a US map, thanks to the Google Maps API and the package-tracking APIs provided by the various shippers.

Of course, my package is taking forever to show up…

Phew!

Friday, August 11th, 2006

This is my second summer here at Caltech, and one would think it would be more relaxing than my first summer, since I have more things taken care this time around. However, it has been quite busy since we are trying to put together a new and improved homework management system. It promises to be pretty slick, or at least slicker than cs1man was. It is also a Java EE (aka J2EE) application running on JBoss, like cs1man is, but I am using Hibernate for the persistence layer.

However, I kept running into problems with getting Hibernate to actually save changes back to the database! This was really confusing, since I was trying to integrate Hibernate’s session and transaction management into JBoss’ container-managed transaction (CMT) mechanism. I thought that I had gotten it all configured properly, but it just wasn’t happening.

Finally, today I had the key insight - if I am going to use CMT then the application server kind of needs to know about the data-source too! I had configured Hibernate to connect to the database directly, in order to avoid all the hassles of setting up the data-source in JBoss. That had the unintended side-effect of removing my database interactions from the CMT mechanism, and lo and behold I ended up with no committed transactions.

D’oh!

Once I figured that out, I reconfigured JBoss to expose the database as a JNDI data-source, got Hibernate to pull its DB connection from JNDI, and everything started working properly.

Phew!