Recently I’ve decided to give up computer games for the most part. I’ve been a huge fan of computer games since before I even got my first computer. Before I had a computer I went over to friends’ houses and played games on their computers. I can remember visiting a friend’s apartment when I was in college, and his showing me the game Civilization for the first time. I played for like 6 hours straight, completely tuning out the world. Not healthy. Anyway, what I find is that when it comes to computer games, I have an addictive personality and that more than getting joy out of them, they mostly trigger compulsive behavior that prevents me from doing stuff I enjoy more, like hanging out with my wife or going to the movies or reading books, and stuff I have to do, like get my work done.
What I’ve recently discovered though is I can exploit this compulsive aspect of my personality and use it to my own advantage. For example, anything that feels like the sort of game that I get addicted to triggers that same compulsion. For example, I’ve learned that I work best on projects that have a bug database. I find that I’m more motivated if I can get the psychological payoff of fixing bugs and seeing my bug count go down. By the same token, at my job where we review code, I found my productivity went way up when they added a graph to our code reviewing tool that shows how much progress each member of the team has made on a graph. The scorekeeping really helps keep me focused.
Once you become an adult, these sorts of weird personality quirks are pretty much hard wired, I think, so your best bet is compensating for them rather than getting rid of them.
More on PHP vs J2EE scalability
Ian Kallen weighs in with his thoughts on PHP vs J2EE when it comes to scalability. He points out that most performance issues with Web applications stem from mistakes that can be made with any platform.
Update: More from the PHP side of things. Here’s Jeremy Zowodny arguing against using database abstraction layers in PHP, and instead using the DB-specific functions and wrapping them in a DAO (data access object) layer, although I doubt that’s what PHPers call it. In the Java world, I’ve become a big believer in the use of persistence layers (or at least Hibernate) over JDBC mainly because it’s a huge savings in terms of lines of code that you have to write. Since I’ve been trying Spring, though, I’ve decided that abstracting away Hibernate with Spring and a DAO layer is the way to go. I’ll probably change my mind again soon.