193 symposiums and 30,000 attendees since 2001

Matt Stine

Software Development Group Leader, St. Jude Children's Research Hospital

Matt is the Group Leader of Research Application Development in the Research Informatics Division of Information Sciences at St. Jude Children's Research Hospital in Memphis, Tennessee. Matt has been developing and supporting enterprise Java applications in support of life sciences research for St. Jude since 2001. Matt is a committer to multiple open source projects and is the founding member of the Memphis/Mid-South Java User Group. Matt is also a regular contributor of book reviews to DZone, and authored a two-part series on "Easy E-Commerce with Grails" for GroovyMag. His current areas of interest include Groovy/Grails, OSGi, functional programming, lean/agile software development, and iPhone/Android development.

Blog

Dead Programmers Society

Posted Tuesday, February 16, 2010

A local Pastor once gave the advice of introducing ourselves and our kids to dead people. It is his belief that if his kids grow up idolizing the likes of Eric Liddell, Jim Elliot, and Hudson Taylor, they would be far better off than b more »

LOTY/TOTY for 2010

Posted Wednesday, January 6, 2010

If anyone’s interested, here’s a clue as to what I’m more »

Securing Grails Plugin Artifacts with Filters

Posted Tuesday, November 10, 2009

So you’ve just installed the handy dandy Spring Security plugin (http://grails.org/plugin/acegi), which makes it incredibly easy to secure entire Grails controllers and/or controller actions with annotations, such as the following: more »

Pomodoro: The First Iteration

Posted Wednesday, November 4, 2009

I spent about an hour last night reading through Francesco Cirillo’s e-book The Pomodoro Technique. Up until this point I knew the basics of the technique, but I really wanted to drill down and get the details. I won’t explain more »

Hi, I’m Matt Stine, and I have technology ADD…

Posted Tuesday, November 3, 2009

Yes, it’s true. I came to the realization that there is such a thing as TADD…technology attention deficit disorder. Ironically, I came to this realization while reading a sample chapter from the upcoming book from the Prags, Po more »
Read More Blog Entries »

Presentations

Polyglot OSGi

One of the greatest benefits of OSGi is its firewall-esque encapsulation of implementation details. The only traffic that gets in or out is the traffic that you explicitly specify; otherwise, all bets are off. The aspiring polyglot can bring in the right more »

Easy E-Commerce with Grails

Grails provides outstanding support for building e-commerce sites, both from the standpoint of general web development capabilities and from a rich set of available plug-ins targeted at e-commerce. This talk will walk through building a complete online sh more »

The Agile Guerilla

So you discovered agile software development this weekend. You've finally found the tools that you're going to use to fix your team. Do you rush in to work Monday morning with a slide deck in one hand and a baseball bat in the other, ready to bludgeon the more »

Tracer Bullet Development with OSGi

Tracer Bullet Development (TBD) is a technique that allows you to prove out the proposed architecture of your system by firing a "tracer bullet" through a vertical slice of your system that exercises all of its horizontal components. It has multiple benef more »

A Developer's Guide to Getting Things Done

Flow. That state you get in where it's just you and your code, and everything else fades to black. Before you know it it's 5 o'clock, and you've been incredibly productive. more »

Polyglot OSGi

close

Matt Stine By Matt Stine

One of the greatest benefits of OSGi is its firewall-esque encapsulation of implementation details. The only traffic that gets in or out is the traffic that you explicitly specify; otherwise, all bets are off. The aspiring polyglot can bring in the right tool for the right job by hiding it behind OSGi services as an “implementation detail,” provided that only Java language types are exported.



This talk will:

  • give a brief introduction to OSGi and polyglot programming
  • explore the pros and cons of the polyglot OSGi approach
  • experiment with Groovy, Clojure, and Scala in an OSGi container
  • look at some of the “gotchas” one might encounter along the way

Easy E-Commerce with Grails

close

Matt Stine By Matt Stine

Grails provides outstanding support for building e-commerce sites, both from the standpoint of general web development capabilities and from a rich set of available plug-ins targeted at e-commerce. This talk will walk through building a complete online shopping experience, starting from the point at which a customer is ready to add items to his/her shopping cart, continuing through the checkout process, and then closing out with payment processing.



We'll cover the following topics in detail:

  • Building Product CRUD and Categorization
  • Building Product Customization forms with a basic Entity-Attribute-Value (EAV) domain model
  • The Grails Shopping Cart plugin
  • Payment processing with the Grails PayPal plugin
  • Building a wizard-like checkout process with Grails in-built support for Spring Web Flow
  • Payment processing alternatives (PayPal Pro, Amazon FPS, Google Checkout)

The Agile Guerilla

close

Matt Stine By Matt Stine

So you discovered agile software development this weekend. You've finally found the tools that you're going to use to fix your team. Do you rush in to work Monday morning with a slide deck in one hand and a baseball bat in the other, ready to bludgeon the first person who checks in untested code? How do you think that's going to work out for you? I can tell you from personal experience that it doesn't play out too well. There is a better way.



In this talk, we'll look at strategies for taking a guerrilla warfare approach to agile adoption. We'll walk through many of the agile practices and discuss how we can apply them on our own and still deliver value, including:

  • test-driven development on an island
  • underground continuous integration
  • personal kanban
  • the daily "walk around" meeting
  • and more...

After we've gotten as agile as we can on our own, we'll show how you can infect your team and your boss with the agile bug by demonstrating the dramatic increase in your own productivity and code quality. After all, sometimes it's easier to ask for forgiveness than permission.


Tracer Bullet Development with OSGi

close

Matt Stine By Matt Stine

Tracer Bullet Development (TBD) is a technique that allows you to prove out the proposed architecture of your system by firing a "tracer bullet" through a vertical slice of your system that exercises all of its horizontal components. It has multiple benefits, including encapsulation, decoupled code, parallel code development, and more. OSGi is a specification for a dynamic module system for Java with multiple open source implementations. It allows you to modularize your system into "bundles" which essentially firewall their own classloader space. Objects running within a bundle can only see types that they explicitly import and only expose types that they explicitly export. They interact with other bundles by expose and consuming services which are registered under a public interface. It seems that Tracer Bullet Development and OSGi are a match made in heaven!



In this talk, we'll examine the principles undergirding TBD, the pros and cons of this approach, and walk through the design of a system using TBD. We'll also get a brief introduction to OSGi and its various implementations, look at some of the tools available for OSGi development, and then implement our TBD design.


A Developer's Guide to Getting Things Done

close

Matt Stine By Matt Stine

Flow. That state you get in where it's just you and your code, and everything else fades to black. Before you know it it's 5 o'clock, and you've been incredibly productive.

Most of us struggle to get into that state of flow. Instead, we often find ourselves much closer to unproductive chaos. Why? Because of our own inappropriate management of the "stuff" in or lives - those things that we have allowed into our psychological or physical worlds that don't belong where they are, but for which we haven't determined our desired outcome and the next action step. Rather than manage these things, they manage us. Our brains are cluttered, hopelessly trying to keep all of our commitments and stuff in view. Not only do we not feel good about what we're doing right now, we don't feel good about what we're NOT doing now.

There is a better way. We can get into that state of perfect readiness - in karate they call it "mind like water." How do we get there?



Getting Things Done is a productivity methodology created by David Allen that has spawned a subculture. It's especially geek friendly, and I've personally used it to keep myself organized as a developer, tech lead, and manager over the past five years. In this talk, we'll look at how you can apply this to your work.

We'll cover:

  • Inboxes
  • The Trusted System
  • Workflow
  • Weekly Reviews
  • Tools for implementing GTD
  • and more!


Matt's NFJS Schedule

Memphis, TN
Apr 23 - 25, 2010

Reston, VA
Apr 30 - May 2, 2010

St. Louis, MO
May 21 - 23, 2010


Books

by

Biomedical Informatics for Cancer Research Buy from Amazon
List Price: $179.00
Price: $169.78
You Save: $9.22 (5%)
  • This book will review work from a number of researchers who have produced open source software addressing the need for data management, integration, analysis, and visualization to aid cancer research. With the advent of high-throughput technologies in biomedicine, the need for data management and appropriate data analysis tools in genomics has increased dramatically, joining clinical trials data as a major driver of informatics at cancer research centers.

    The gathering of this data requires careful encoding of metadata, usually through the use of controlled vocabularies or ontologies, as well as the linking of data from model organisms, done at both a physiological level (e.g., anatomy) and at a molecular level (e.g., orthology). This data will then find use within computational and statistical models, which require data pipelines and analysis systems, as well as algorithms, visualization methods, and computational modeling systems. We will introduce open source tools available for these aspects of the problem.

    The editors plan to divide the book into five sections, beginning with a section containing high level overviews of the field and key issues. This will include an introductory review of informatics in cancer research, followed by five overviews addressing issues in authentication and authorization, data management, data pipelines and annotations, algorithms and models, and the NCI caBIG initiative. This will be followed by sections dedicated to data systems, data pipelines, algorithms for analysis and visualization, and modeling systems. Each of these areas has seen publication of open source tools, ranging from the widely known R/Bioconductor package to little known but powerful systems such as SImmune for biochemical modeling. The area of laboratory information management systems has seen development of a number of unpublished but powerful systems, which we would also include. Three groups have agreed to provide chapters in this area (USC/Norris CAFE extensible clinical trials system, St Jude Unified LIMS, Fox Chase/British Columbia flow cytometry LIMS).

    While there has been a great deal of development of informatics tools that can be applied to problems in cancer research, there has not been adequate dissemination of details on these tools to the community. As such, there remains low adoption of all but a few tools. This book aims to increase overall adoption of tools by providing cancer center leaders and researchers with a single volume detailing both issues that must be addressed and tools that are ready for use.