Category Archives: Software Engineering

Playing On The Google Playground

I have decided to play around with Google Web Toolkit (GWT) and Google AppEngine.  Both look very interesting , very promising, and very fun.  I don’t know very much about them, so this should be an interesting experience and I am sure to learn a ton of new technologies along the way.

My first app is just going to be a Task list.  There are a plethora of Task Lists out there, but I think it will be fun and a good place to start.  I’ve already created my site, The Super List, so feel free to watch the progress (if any)!


Magic Poi

I just discovered the Apache POI Project.  I needed to export data from a JTable into an Excel spreadsheet and I didn’t want the hassle of exporting as csv and getting warnings from Excel, so a little search gave me POI, and it is simple and easy to use.

Download it and read the documentation that comes with the download (it seems to be a little more updated than the website).  Plenty of examples.


Best Of Both Worlds?

Looks like there are strengths to functional and imperitive programming, so would Scala, or a language like it, be the best of both worlds?


Functional Learning

I am looking into declarative programming languages. More specifically I am looking into the functional language Haskell; The concept of functional programming intrigues me. I want to know why/how it is helpful and what I can do with it. In this process, I am also learning about more about imperative languages, so I win all around.


Good Advice

First, this advice didn’t come from me;  I just like it so much that I want everyone to know about it.

I recently began reading the Object Mentor Blog and I came across this post, and it has really stuck a chord with me.  So often I find myself trying to hurry up and get it done, and that usually produces less than good code, which means I have to go back and fix it later or someone else will have to clean up my mess, which is no fun and embarrassing to say the least.  If, however, I take the time to carefully plan out what it is I am creating, use Test Driven Development, and slow down, etc, then the code I have just made will be less likely to break.

We delude ourselves that speed is better.  Not always.

Here are a few things “Uncle Bob” mentions in his blog post to be a professional craftsman:

1) Adopt an attitude of calm

2) Focus on the problem to be solved.

3) Solve the problem step by step without rushing

4) “When you feel the temptation to rush, resist it. Leave the keyboard and walk around. Distract yourself with something else. Do not give in to the call of your addiction.”

I am going to start remembering and implementing these suggestions;  I think I’ll be a better software engineer for it.  Thanks Uncle Bob.

As an update to the above about speed killing, I just read a post by Martin Fowler about Technical Debt.  Sometimes it may be good to deliver fast, poorly designed code that will cause you problems later in order to make an investment in the project, hit deadlines, etc knowing you will have to go back and refactor.


Follow

Get every new post delivered to your Inbox.

Join 59 other followers