25 February 2009
I decided I needed a change of pace last week, so I sat down with Eclipse, the Mobile Tools for Java (MTJ) plugin, and MPowerPlayer on the Mac, and cranked out a little toy game using the Game APIs. My only reference was the Beginning J2ME: From Novice to Professional ebook and previous experience.
Starting up the mobile project was never easier -- the stack finally works nicely, even on a Mac. Within about 7 hours of coding and interruptions, I had a working platform-style game with a little backhoe that can be driven back and across the screen, and you dig for little jewels. It's dead simple and the kids find it amusing. It looked good in the MPowerPlayer emulator, and it worked even better on my SonyEricsson W810i.
The next day, I spent 2 more hours or so adding some trees to plow over. It still needs a few finishing touches and features, but you can grab Ben's Backhoe and amuse your kid in the grocery store or something with a simple little game. I hope to be able to put together a few more little mini games like this -- Paige is already making requests.
28 March 2008
I'm organizing An Evening of Emerging Technologies at MapQuest in Lancaster, PA on 23 April 2008.
It's a free open space conference, so join us to hear about technology in our region and to share your own experiences. Click the link and register today.
16 March 2007
Apress was again so kind as to send me a copy of Practical Subversion, Second Edition. I had read the first edition a couple years ago and gleaned lots of good information, so this time around I was already pretty familiar with the subject material. Today, I use Subversion to track the source for my various Java projects.
The introduction and crash course chapters provide a great primer to the basics of version control -- any version control. Since the newest versions of Subversion have added support for features like locking, the authors added material on these as well. In these chapters I learned about these new features and their recommended application.
The administration and migration chapters ensure that you'll be able to handle any aspect of keeping your repository running. I know lots of tools to help me when I need them, but I've not needed most this knowledge yet, since my usage of Subversion remains pretty simple. I was delighted to find that there was a new backend to the repository (FSFS) which doesn't suffer the complexities of the old BerkleyDB backend. I found my newer repositories were created using this backend, so I went back and converted all my old repositories.
I only skimmed the chapter on Apache integration, since I accomplished most of that with the previous version of the book.
I greatly enjoyed the chapter on best practices. I love these more academic discussions trying to learn the big picture. Everyone should read this chapter (again, for any version control system). Lots of people have already figured out the best ways to structure and use a repository, so take benefit of their experiences.
In the chapter on tool integration, I found Trac! It's a repository browser, wiki engine, and simple issue tracker. This was the real jewel for me in this chapter, and I happened upon it exactly when I was looking for such a tool. ViewVC and SVN:Web are covered in more detail, but I think the book would have probably done well to concentrate more time on Trac. Otherwise, the authors provide some quick pointers to get you started integrating your IDE with Subversion. I'll also come back to this chapter when I need to get Ant pulling source code for a continuous build system.
Throughout this newer edition of the book, there are scripts and add-ons highlighted to make your life with Subversion easier. There are many more noted here than in the previous edition. You can definitely tell that more people are using Subversion and this book does well keeping up with the advances that those people have made.
The final chapter of the book talks about using the Subversion APIs. In my review of the first edition of this book, I had predicted that knowing these APIs could be useful for me to do complex manipulations and reporting on the repository, but in reality, I've still not touched them. To be honest, I probably never will. I just don't need that much power, and other people are doing good things for me (see Trac).
The appendices include the obligatory reference for all the commands in case you're not actually sitting at your computer with the built-in
help command. Otherwise, there's the quick comparisons of Subversion to other version control systems. Each system is only covered in a couple pages, but this is especially useful if you're migrating and still think primarily in another system.
These days, I mostly interact with Subversion through the Subclipse plugin for Eclipse, but I often drop into a shell when bootstrapping a new repository and project (and sometimes for entertainment, I just struggle trying to get Subclipse to do the right thing). That said, I wouldn't carry around a paper copy of this book in my bag on a daily basis for my needs. I think daily operation with Subversion is relatively easy. If I was the administrator of a repository for lots of other people, it would be a different story -- this book would never be far from my reach.
23 January 2007
The new edition of Practical Subversion mentioned Trac as a simple issue tracking software that integrated nicely with Subversion. Fortunately, Debian has it already packaged up, so I installed it, read a little, and setup a few Trac repositories to match my Subversion projects.
I just used the default SQLite support, and I was on my way pretty quickly. It gives me a wiki, issue tracker, and time-line, and source viewer -- all of which interlinked for easy navigation. Now that it's working, I may go to the trouble to convert the DB over to my preexisting PostgreSQL install.
After having read Practices of an Agile Developer, I started to realize that I could use a few extra tools to help me organize my personal projects and keep on track. Wikis have also seemed like an intriguing technology, but I always have doubts about my own ability to keep it in order and be able to find things when I need them. It must be better than the knowledge just floating around in my head only though. (That feels like a real problem at work.)