starline-logo Originally uploaded by jschementi.
Yesterday I revealed Starline (starline.schementec.com), a project of mine that I’ve kept on the backburner for about a year now. It was previously “POS”, a project Mike Veilleux started and I continued. We’ve moved between so many different technologies, but finally I’ve found happiness with this project being a web application. The main reason I’m meantioning this is to point out what I’ve learned from the project so far. Programming can be very painful. In college, it was easy; your projects were nicely scoped and you just pounded out code until the damn thing worked. Thought I’m still in school, I’ve been taking on more and more real projects and finding that a lot of my work can feel very ugly to me. I don’t know about you, but I have a need to write really neat code. The more time I spend working on code that doesn’t immediately solve my problem the more angry I get at the project. This is exactly what happened with POS. The first version was in Java/SQL, and creating the backend functions to handle every little thing I wanted to do with the database was SO ugly. I hated it so much I cut the SQL out and moved the ½ done application over to db4objects, a object database. The project sat for most of this time, accumulating dust, while I worked on other cool stuff. When I came back to it, I had such a hard time testing the object database (for example, tests would pass that it successfully stored the object, but the actual application couldn’t retrieve anything). I got so fed up with this transactional crap that I completely re-thought the application and switched technologies.Note: let me clarify myself a little here; I actually think object databases are very cool, and db4o is a great product and something I did enjoy using ... there was a reason I moved away from SQL and an object database was a good solution in Java. However, this post is about me getting frustrated with Java and moving to Ruby, db4o kinda got caught in the crossfire.

This has been a common behavior of my projects. I start off using Java, then get frustrated and move to Ruby. Last time was ViGL, and that worked out for the best. This time, I decided that a web application would be more along the lines of what I wanted to make, so that’s what POS became. Plus, I figured I could deploy it easier on the web. Oh and it also needed to have a new name, and a long time ago I called this project “Starline” after a room in the restaurant we’re making the software for.

Anyway, I’m excited to get this prototype out the door and hopefully reach Alpha quality next week. But now, it’s time for sleep. I was at Microsoft until 10pm today, and I don’t want to do that again tomorrow.