STJUDE-SRM 1.0 Released


On July 27, 2007, STJUDE-SRM 1.0 was released.

STJUDE-SRM is a laboratory management system designed to support shared resource facility (or core lab) activities. It was designed and developed by the Hartwell Center for Bioinformatics and Biotechnology at St. Jude Children's Research Hospital.

Shared resources supported include DNA synthesis, Peptide synthesis, DNA sequencing, Functional Genomics (spotted microarray laboratory), and Affymetrix (commercial microarrays) laboratories. STJUDE-SRM was also designed so that it is sufficiently modular and scalable to support other laboratory activities as needed. It could conceivably support all facilities on a campus or at a research organization and provide a single portal for investigators to access these resources, retrieve data, receive invoices for services, and generate reports.

Currently available is a build of STJUDE-SRM which is certified for JBoss 4.2.0.GA running on J2SE 5.0. Builds for JBoss 4.0.5.GA and BEA Weblogic Server 8.1 are forthcoming.

STJUDE-SRM 1.0 can be downloaded here:

Please report all bugs you find in the STJUDE-SRM bug tracker:

This is a VERY satisfying announcement for me, as I have spent the better part of the last six years working on this project. I was so excited when I learned we would be releasing it to the open source community. Enjoy!

For more information on STJUDE-SRM, please visit:

My Professional Development Goals for 2007-2008

I posted earlier on my desire to become a better programmer. Well, I've since put together a plan of action for the next twelve months. I've based some of these goals on suggestions from The Pragmatic Programmer by Andy Hunt and Dave Thomas.

  1. Learn Groovy and Grails

    Andy and Dave suggest learning a new language every year. I had already informally started learning Groovy and Grails after JavaOne 2007. Since I already have a head start on this one, Groovy will be my language for the next year (I'm learning Grails mainly because of my web development background - it will provide me more opportunity to apply my Groovy knowledge). This should be an easy way to get started on the goal of a new language each year since my Java knowledge should transfer easily.

  2. Release HallKeeper v1.0 as part of #1

    Several years ago I started an open source project called HallKeeper. HallKeeper is planned to be a web-based management system for university residence halls. Life got in the way of this project so it lay dormant for a few years. I've recently revived it as sort of a "lab" in which to learn Groovy and Grails, and hopefully have a little fun along the way.

  3. Read and LEARN the following books:

    • The Definitive Guide to Grails - Rocher
    • The Pragmatic Programmer - Hunt, Thomas
    • Computer Algorithms: Introduction to Design & Analysis - Baase, Van Gelder
    • Concepts of Programming Languages: Sebesta
    • Groovy in Action - Konig

    When I say LEARN, I mean I don't just want to do a cursory read of these. I want to really engage the concepts presented in each and apply them to my day-to-day work. I already have a head start reading the first two books. The third and fourth books are actually textbooks from my undergraduate education. I could really use a refresher on these concepts, and I think I'm a much more serious student now as a professional than I was when I was actually a student.

  4. Review two books for the JavaLobby/DZone book review team

    I joined this team several months ago and was actually assigned to review two books - again, life got in the way (if you have any small children, you'll understand). Things have settled down a bit now and I've asked to rejoin. Hopefully I'll be able to crank out some reviews this time and learn something in the process.

  5. Pass the Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 Exam

    I want to do this mainly to give myself an excuse to go back over the fundamentals of Java, as well as learn the new features that 5.0 brought to the table in detail (generics, annotations, etc.). I have still basically been living in a Java 1.4 world as I'd say roughly 85% of my daily work is on an application that is still bound to that JDK. So, passing this is mainly just a reason to study, and it is a nice edition to the resume as well.

  6. Write one Java/software development blog article per week

    This would be numero uno! I've always stressed about the frequency of my blog writing - I've felt compelled to write every single day, and I usually end up writing a one paragraph synopsis of some other guy's blog entry. Not exactly something that will attract many readers. I'll still post those on a more frequent basis as they keep the content flowing, but I also want to write at least one in-depth article per week to give people something to look forward to. One way I'll do this is to blog about the books I'm reading. The Pragmatic Programmer provides challenges and/or exercises at the end of each chapter - great seeds for entries.

  7. Attend JavaOne 2008 or similar conference

    This one depends on the boss - hopefully I'll get to travel again this year. I'd love to go back to JavaOne - I learned a lot, and big geek shows always motivate me to go back and introduce new technology to the group, as well as get more involved in the community. I always feel a surge in my professional development in the 2-3 month period following my attending a conference.

  8. Start a Memphis/Mid-South Area Java User Group

    We don't have a JUG in this area and I really think that we could benefit from one. My company has a large number of Java developers, and I know that several others in the area, including FedEx and Autozone do as well. This would be a great way to get some of the good speakers from the conferences I've attended to speak locally, and it may even serve to get us on the map with some of the smaller shows like NFJS. Sun and others really seem to take an interest in supporting JUGS, so I look forward to see what happens. I've started a Google Group for the newborn JUG, and I'll be blogging more in the future about it.

On Agile: Why You Won't Fix It Later

Ryan Cooper writes a brilliant essay on why quick fixes today turn into tomorrow's code rot. I believe every word of this article. Unfortunately, I'm all too often my own worst enemy when it comes to implementing these ideas. Thanks for the reminder, Ryan!

On Agile: Why You Won't Fix It Later

Graeme Rocher's Blog: 5 More Misconceptions About Grails

Graeme Rocher, founder of the Grails project, answers five more misconceptions about Groovy/Grails vs. Ruby/Rails. I've grown to be quite fond of both of these languages/frameworks; however, given the amount of investment I've placed into learning and applying Spring and Hibernate to the applications I've developed over the past two years, I have to say that Grails just makes sense for me as the next step toward becoming more "dynamic" in my approach to development projects.

Graeme Rocher's Blog: 5 More Misconceptions About Grails

Help me become a better programmer!

I have decided to embark upon a quest to become a better programmer. I would really like to improve my understanding of the computer science that underlies my day-to-day tasks, particularly as it relates to programming language design as well as algorithm design and complexity analysis. I would also like to improve my analytical and problem solving skills. I've found that I'm really good at learning new technologies and quickly bringing them to bear on web application development problems, but take me out of that problem space and I get nervous rather quickly.

Who has ideas about the best way to go about this? Please comment!