Pages

May 17, 2008

Possible Next Project...

I've come to the conclusion that I need a nice side project to do this summer. I spent most of last year working on a simulation for my thesis. It was done in C++ with the simulation framework created by my professor. The entire time I worked on it I wished there was a Java version of his framework so I wouldn't have to deal with all of the pointers and memory allocation/de-allocation issues that come with C++. At the time I wanted to create a nice Java simulation engine and framework to use for any simulations I, or others, might do in the future.

Now six months have passed since I finished my thesis and I still feel like I want to create the framework so I am going to do it. I will be creating a nice, simple, and easily extended Java discrete event simulation library and engine. This will be my first real experience with building software for the "community" so it should be something I will be able to use to further increase my craft.

After attending Dallas TechFest and getting to interact with some of the speakers in the time since, I've realized that I need to put my knowledge to good use. This means becoming active in some of the local user groups, attending more conferences, and creating projects that can be of use to others. Just going to work and doing the limited amount of development that happens in an office environment will not get me where I want to be. I have to take my craft and career development in my own hands and take them to the next level.

I Am Ubuntu!!

After months of delay, I finally have Ubuntu installed on one of my machines. I grabbed an old laptop that was collecting dust, popped in the install CD, and a boot and double-click later I had a computer with a nice Linux OS. I had a little problem getting my Broadcom 43xx wireless card to work with Ubuntu, but it only took a search of the large Ubuntu community forum to find a solution.

Here's a screenshot of my Ubuntu I took while I was doing some research for some work I plan on doing with Groovy.


So far, I really like Ubuntu. There are a large number of apps readily available to be installed at the click of a button. It also doesn't hurt that Ubuntu comes with Open Office, Pidgin, and Firefox already installed and ready for use. I've yet to find anything that I can't do with Ubuntu that I could do with Windows. I can't wait to get into it in more detail.

So if you have an old PC laying around, load it up with Ubuntu and you'll have a nice Java development machine ready to go. I know I already have plans for some nice Java apps I am going to be able to develop on this machine!!

May 13, 2008

First Taste of TDD

Yes, I am one of those people who have fallen behind the curve. Until today I had not joined the ranks of the Test Driven Development enthusiasts, but now I am certainly one of them. I have been working on a reporting application at work that has a list of very vague and constantly changing requirements. The only thing that has not changed is that the application must be able to execute report definitions and export the output to one of seven file formats. As you can guess, the thought of having to run a report definition against my application seven times each time I was going to make a tiny change to see the effect was not appealing. So I turned to TDD.

Now I have done a lot of reading on the various xUnit test frameworks, but had never actually used any of them. I was a little worried that it would be difficult, but I got through the NUnit install fairly easily and had four test fixtures implemented by the end of the day. I saw my fair share of the dreaded "red bars," but I am proud to say that by the time I left for the day I was seeing nothing but green.

I am so mad at myself for not trying this out earlier as it would have made my life so much easier. I remember in the past having to do long build and deployments to test a small change to make sure it had not changed the expected business logic. All that time I could have been just looking for the green, haha.

Now I just need to find some good TDD books so I can convince the guys that sign the checks that it's the way to go. I know.... Good luck with that, haha.

May 6, 2008

Android TrivialGPS Demo

I made contact with Jason Hudgins of Droidworks and he graciously gave me a link to a blog post he did on the Android GPS application he demonstrated at Dallas TechFest 2008.

Blog Post: http://jasonhudgins.blogspot.com/2007/12/cruising-around-with-android.html
TrivialGPS Source Code: http://code.google.com/p/trivial-gps/

He explains how the application code was written and gives some pretty good insight on some of the basic concepts of the Android SDK.

May 5, 2008

Dallas TechFest 2008 Recap

Well I made it out to Dallas TechFest 2008 and it was a great pleasure to be there. There was a large turnout and it was very well hosted. I just want to give a little recap on the day.

The day was broken up into 5 sessions across .NET, Java, Ruby, Emerging Technologies, and Flex. I was able to get in a session for each track except for Flex, as it does not interest me at this time (though I still grabbed one of the free Flex Code Camp t-shirts...). Here's a little info on the sessions I attended.

Google Android by Jason Hudgins, Droidworks
This is the platform for mobile devices that was initiated by Google. Jason Hudgins gave a nice overview of the Android SDK and had a few demos that showed how easily an application can be built for an Android phone. I mostly enjoyed the demo he had that tied the GPS capabilities of a mobile device with the Google Maps capability that will be included in the Android phones. The demo showed you can literally track your current traveling path on your phone just like you would with any of the handheld GPS devices that are currently available.

Pardon the Interruption: What's the Deal with Groovy? by Paul Holser and Derek Lane, Semantra
In this session I finally got some well overdue exposure to one of the new languages that run inside of the JVM. The speakers gave a nice overview on how Groovy was different (and in some cases easier!!) than Java. They then went through an example on how easy it is to convert an application written in Java to Groovy without much effort. I though this was very interesting and made a mental note to look more into this in the future.

Groovy is something that could come in handy for writing unit tests as it does not require as much use of types as Java. With TDD your tests must be written before you do any real development and with the less restrictive Groovy those tests would be very simple to write (not to mention that Groovy has unit test capabilities right out of the door...).

Instant Web Applications with ASP.NET Dynamic Data by Jason Kergosien, Ingen Systems
This was a very nice session on one of the new features coming to ASP.NET. I am interested in getting into ASP.NET in the near future so it was nice to actually get some real exposure to it. The new Dynamic Data package is very powerful. It allows you create a fully functional data driven web application in the span of minutes.

In the demo that was given, the speaker created a simple CRUD application based on the Northwind database by using the Dynamic Data wizard. The application had data validation right off the bat with no extra work done, even including the enforcement of referential integrity. You can't beat that.

REST: The Basics and Not So Basic... by John Heintz, New Aspects of Software
A nice talk on the different pieces of REST services. There were no demos in this session so I was a little disappointed, but it was nice to get more insight on how REST really works. It reminded me a lot of RDF, which I used in the past. The speaker gave a link to the thesis that specified REST so I will have to get my hands on it and give it a read. I wonder if it as good as my award-winning thesis. (shameless plug)

Robotics Studio: Managing Concurrency in the Real World - Even If It's Just Virtually by Phillip Wheat, Microsoft
This is the session that I was looking forward to all day. I have a Lego Mindstorms NXT robot kit like the one Phil Wheat uses in his demonstration. He was at the Microsoft booth before his session and I got to speak with him about his ideas for uses of Robotics Studio for not only the NXT, but for areas outside robotics. What really excited me though, was that he mentioned how you could use Robotics Studio to write programs to collect data from small external sensors and then deploy it to a large number of small, inexpensive devices that have wireless communication components. Then, because the Robotics Studio provides modules that will allow the programs to be written with mesh networking capability built-in, the devices could form a mesh network and allow the data to be easily collected by connecting to one of the devices. Sound familiar??? It should because that was exactly what my graduate thesis was. I let Phil Weat know this and we had a nice talk about it. Amazing...

Now, in the session Phil Weat let everyone know that Microsoft has created an on-line robotics competition where contestants use Robotics Studio to create robots that will compete in virtual competitions. There will be about one competition a month and the top contestants after they are all completed will win $$$ and be sent to a finals competition where actual robots are built. I will probably give it a shot!!

All in all, the day was a lot of fun and I came away with some free goodies. Not to mention, I won $50 gift card to Fry's a.k.a. Nerd Nirvana. I am looking forward to Dallas TechFest 2009 and I think I am going to start making it out to some of the user group meetings in the area.