If you have a need to use the command pattern and want to have a standard interface but with type safe parameters, I have come up with a solution. This is one of the most interesting uses (or hacks) of generics I've ever seen or come up with and being that it took a little bit of deep thought to get worked out, I'd like to share it with you all.
Continue reading Advanced Typesafe Command Pattern using Java Generics.
For years I've had a theory about teleportation that has only recently been brought to mass attention by the movie The Prestige. Many films have been made about the topic and I'm sure some lesser-known films have covered the idea of copy and kill but not as well as this film. With such a wide reach across the world, I'm happy that many people are able to see the issue with this concept. If you think I'm just being a paranoid sci-fi nut, think again because this technology is being actively researched with some success and may actually manifest itself in a human-usable way in the future.
Continue reading Teleportation will be the end of us all.
One of the prerequisites of being able to stick 180s is the ability to ride "switch" proficiently. Switch-stance just means riding facing the opposite direction of your normal stance. If you ride regular-foot, your normal stance faces to the right and your switch faces to the left. If you ride goofy-foot, your normal is to the left and switch is to the right. It can feel very awkward to begin riding switch, but without acquiring the skill, you will struggle to balance or ride away from a 180 or (don't get ahead of yourself yet!) a 540.
Continue reading Snowboarding: How To Reliably Stick a 180.
After having read the article about a new USPS surcharge that could cut into Netflix's profits I got to thinking about the future of movie rentals. If you're a Netflix customer and haven't tried their streaming video service, I recommend you give it a shot. I've noticed the weak selection of titles available on it and can only imagine that it must be a licensing issue with the MPAA or specific rights-holder. While I enjoy their online video-watching service, I don't enjoy watching movies on my laptop as much as on my TV and I also don't enjoy having to plug my laptop into my TV. There is a feasible solution for all of this covering concerns like licensing agreements (giving consumers better selection) to proper television integration (no more laptops plugged into the TV.) Read on to find out how I see a successful movie rental business operating in the near future.
Continue reading I Propose Online Movie Rentals 2.0.
Continue reading Guitar Hero III on PS3 has Severe Playability Issues.
Netflix has dominated the internet DVD rental market since its inception and until recently, that has been their only service. I've had a Netflix account for years now and have been quite satisfied with their service. I was especially happy when they introduced Blu-Ray and HD-DVD as options. More recently they have upped the ante with their instant video service, which allows users to start watching a video instantly using a PC. This review will go over technical problems, selection, video quality and overall user experience with this new Netflix service.
Continue reading Review: Netflix Instant Streaming Video Service.
Remember a time when there weren't ads before movies? It used to be that people were excited just for the previews and previews were all you got. Times were simpler then. People actually showed up early to see previews because previews were considered a perk of going to the theater. After paying $10 per seat and the same for refreshments, most people expect a certain level of comfort and service for their money. The TV-style ads have been annoying to say the least but recently I hit a new limit.
Continue reading Three Minute National Guard Movie Theater Ad Is Too Much!.
Continue reading How to use your cell phone as a wireless Bluetooth modem.
Hibernate is an excellent tool which saves many projects from substantial amounts of code. Gone are the days of writing massive datasource layers full of obnoxious JDBC code. As gravy you also get simple query objects, caching, connection pooling and countless other great features. GWT on the other hand provides a robust API using a revolutionary new paradigm for writing javascript and complex dhtml interfaces. The latest version of Hibernate supports annotations, meaning you can ditch all of the XML that was previously required. This feature of course requires Java 5 to support annotations. Unfortunately, as of GWT 1.4, only Java 1.4 is supported on the client-side. I have created a solution to bridge the Java 1.4 to Java 5.0 gap.
Continue reading Using Hibernate with Google Web Toolkit (GWT).
Wikipedia defines polymorphism as "the ability of objects belonging to different types to respond to method calls of the same name, each one according to an appropriate type-specific behavior." There is nothing too fancy about polymorphism other than it's name. All it means in layman' s terms is that you can define some common behavior for multiple types of objects and have a common codebase which may or may not care about the different variations on a type. A good analogy would be the biological taxonomy system. You may remember this from high school. It has Kingdom, Phylum, Class, Order, Family, Genus and Species. If we were to model all living things according to their taxonomy, then we could have software which behaves much like a dog kennel. The dog kennel takes domesticated dogs. There are many specific breeds of dogs but the kennel knows that any domesticated 4 legged dog will do and will be compatible with their kennel. We could say this dog is polymorphic in a way. Not only is it a domesticated dog, but it's a carnivorous canine which is an animal. Does our software support all animals? Maybe. If so, this dog would work there too.
Continue reading Object Oriented Programming Explained - Part 2 - Polymorphism.

