Subscribe: Panic From Fuzzy
Preview: Panic From Fuzzy

Panic From Fuzzy

Mike Herrick's Blog.

Updated: 2015-11-07T11:44:00.991-08:00




I'm officially retiring Panic From Fuzzy. It's moved to See you there!

Hiring Web Core Developers


Collaborative Software Initiative Inc. is hiring Core Developers to contribute to the development of some exciting products. We are looking for great people who love software as much as we do, who take pride in their work, enjoy being part of a distributed team, and thrive on the CSI Collaborative Approach:
  • Transparent development model inspired by Open Source
  • Community Source: Developers are directed in their efforts by Subject Matter Experts
  • Collective Vision: Breakthrough Thinking
  • Team Building
  • Lean and Agile Software Development
  • Pragmatic Product Management
  • STAR Award Best Practices for Product Support
  • Defined Governance Model
See The Collaborative Approach for more information.

We use a wide range of web technologies in our products including JRuby, Ruby, Java, PHP, Postgres, MySQL, NoSQL based databases etc. The product development teams we are currently hiring for have a mixture of Ruby and PHP and have exciting feature areas. Think you are one of us? Contact me at mike ATSYMBOL

Looking for another TriSano™ Core Developer


We are looking for another Core Developer to join our CSI TriSano™ team. CSI TriSano™ is an open source, citizen-focused surveillance and outbreak management system for infectious disease, environmental hazards, and bioterrorism attacks.

You can live anywhere in North America.

Our team is distributed and very tight. We have members of the team in Portland, Ore, Boston, MA, Cleveland, OH, and Indianapolis, IN., and Washington DC. We use open source and Lean techniques in our pursuit of greatness.

Check out CSI TriSano™ Enterprise Edition Core Developer Job Description.

To learn more about the project see: TriSano™ Community Site

To learn more about the product see: TriSano™ Product Page

Email me if interested:

TriSano Perf Notes - JRuby & Postgres


We've been doing a little bit of rudimentary perf testing for TriSano lately on our test infrastructure at OSL SA'd by Lance Albertson. We haven't turned a whole lot of knobs yet, but we are seeing some rather exciting trends in Postgres and JRuby.

In upgrading from Postres 8.2 to 8.3 we saw some crazy improvement with inserts. Check it. Selena Deckelmann our favorite Postgres person (and trusted consultant) explained that this was due to HOT. Nice! When we first ran it, we didn't believe it so we re-ran it a couple times before we believed it. Much rejoicing on that one.

With JRuby, were seeing impressive improvement between 1.1.3 and 1.1.5 in terms of speed & memory usage. I love watching big honkn' GCs. Check it 1.1.6RC1 isn't showing a whole lot of difference for TriSano in our testing yet. JRuby 1.1.6 Final is due next week. The JRuby project is on a pretty wicked trajectory. Exciting stuff. We really can't say enough about the JRuby guys.

TriSano uses Rails - we haven't had the chance to upgrade to Rails 2.2 yet, but we'll do that next year. That will be another exciting perf test to watch in terms of memory footprint given the multi-threadedness of 2.2. Exciting stuff.

1 Sales Engineer, Please


Collaborative Software Initiative is on the hunt for a killer experienced Sales Engineer.


Email us.

Update 18-OCT:

This position is actually called "Technical Director" its a key role in both project forming and productization. The intersection of business, market and technical strategy ...

TriSano @ GOSCON


Come hear all about TriSano at GOSCON.

I'll be speaking with David Jackson, from the State of Utah.

Here is our session overview: Applying Open Source Methodologies to Build Public Health Software Collaboratively.

Some exciting stuff is happening in government facilitated by collaboration and open source. Come hear about it.

TriSano Project Annoucement


(image) TriSano is now open source.

Check it out!

This is an exciting day for the TriSano team & Collaborative Software Initiative.

From the project annoucement:

Collaborative Software Initiative today announces the launch of the TriSano application and community. TriSano is an open source, citizen-focused infectious disease surveillance system that allows local, state and federal entities to collaborate for the good of public health.

With TriSano, the Collaborative Software Initiative provides a forum in which subject matter experts (i.e., doctors, nurses and epidemiologists) and software developers work together to facilitate the cre-ation of citizen-centric public health applications. This innovation ensures application features meet the specific requirements of each jurisdiction, allowing public health employees to achieve the goal of protecting lives.

See What is TriSano for name explanation. And say it with me ... its pronouced "tri-SAH-no" :)

Update Added the logo because I love it. Our talented UI dude Odanrot did it. That is Tornado spelled backwards (how cool is that?). Here is what it means:

The TriSano™ Eye represents a zooming (micro/macro) view on disease detection and prevention..

That is as close as I'm ever going to get to a bird of prey reference in a product. I love birds of prey. They have binoculars for eyes just like TriSano. Its true. Look it up.

JRuby 1.1.3 Performance


(image) I tweeted this, but thought I'd put it here too.

The JRuby guys have been busy. They released JRuby 1.3.3.

We upgraded to it from 1.1.1. Our app runs JRuby as does our build.

Check out the performance difference in the last few builds!

OSCON Postgres Day Postgres FTS JRuby Slides


Ed Copony and I gave a presentation today at the OSCON PDX PUG Day.

Check out the slides Fighting Disease with PostgreSQL Full Text Search and JRuby on Rails

OSCON is here!

It may be the most epic OSCON ever. OSCON + Collaborative Software Initiative (CSI) co. meeting with open source luminaries in attendance + CSI nerd night - lots of stuff to do this week.

Good Day: R2 & Time Mag!


So it is all a but of a blur, but I'm pretty sure today was a good day.

Two things happened:

Check the groovy pic of the Portland office peeps (too bad rest of team couldn't be there - pros and cons to a distributed company - mostly major pros):


It's nice to have a head of steam!

Stay tuned - its going to be a newsworthy summer.

And now I will partake in a hike in Forest Park because I'm spent.

Collaborative Software Initiative Job Posted


Come join the public health core team.

See Core Developer Job Description.

See InfoQ Article on Tech we are using.

Update 25-JUN Note, we filled this position yesterday. We found an ideal person right in the JRuby community - JRuby experience, testing passion, and years of medical software dev.

InfoQ Article


Check out the InfoQ article: Real world JRuby on Rails: Infectious disease reporting and management

Here is the intro:

JRuby and JRuby on Rails continue to being adopted by many projects. After Mingle, Oracle Mix or Sun's rewrite of, a new project using JRuby on Rails has surfaced.

From the press release Collaborative Software Initiative (CSI), the company that brings like-minded organizations together to work on collaborative software at a fraction of the cost, today announced the release of the first open source, web-based infectious disease reporting and management system.

The disease reporting and management system, which is being piloted in Utah, will be adaptable in all 50 states and available under an open source license later this year. It is designed to support local health departments in the early detection and investigation of individual cases and local clusters of communicable diseases, while simultaneously meeting the state and federal needs of outbreak control, disease surveillance and epidemiologic research.

One thing to note further down in the press release: the project uses JRuby. We talked to Mike Herrick, Program Manager at the Collaborative Software Initiative, to talk about the experience of using JRuby for the project.

CSI Public Health Open Source Project Annouced


I'm pretty proud to be involved in this project.

How often do you get to say this about the impact of your project?

When deployed, UT-NEDSS project will directly contribute to the prevention of sickness and death by effectively collecting, identifying, tracking and trending information gathered about infectious diseases and bioterrorism attacks. Additionally, this unique partnership is providing lessons for public health informatics on:

  • Open source software best practices
  • Lean Software Development practices
  • Building an open source community for a public health product
  • Contractual relations between public health entities and a commercial open source software company that support long-term product sustainability

We have a great team of folks working their hearts out on this. It truly is an honor to be part of the team.

I love moments like this - those strange joyous moments of clarity where anything seems possible in software.

Groovy New Commuter Bike



I picked up a new commuter bike today to get me to work on my fairly incredible commute I used to call river walk. Its "river ride" now I suppose.

I got a 3 speed, pedal break simple old school euro bike. It's an Electra Amsterdam Classic.

I love my other bike, but it isn't practical for commuting.

Looking forward to a groovy summer on my new granny bike!

Hiring technique: "the blitz"


So I like to think that I have become good at hiring people. I'm definitely not bad at it. Over the past couple years I have generally been good at hiring people who are way smarter than me. That's what you do when you are a Lean manager and you aren't stupid or insecure.

My techniques are not magic, but they seem to be quite different than how I see lots of managers/companies operating.

If you have determined that you truly need to hire someone, that generally means that your team is hurting - it needs resources that it doesn't have - at some level you are already failing. Your #1 mission as a Lean manager is to protect the team and to get it the stuff it needs to be successful. Once you are in this position, barring a crisis, you have no task that is more important than filling the position with the most qualified person you can find as quickly as possible.

So my co-worker Ed termed what I do yesterday, "the blitz". Here is generally how it works:

Step 1: Collect Qualified Peeps
  • Check your network for a trusted person.
  • If FAIL, post job to the places the kewl kids are. Examples here and here
  • If FAIL, post job to craigslist and batten down the hatches - you are going to get inundated with qualified and unqualified people contacting you. DO NOT put your phone number on these job postings.
  • If FAIL, do WHATEVER YOU NEED TO DO to find qualified candidates. Get creative, clocks tickn'.
Step 2: Quick Vetting
  • Pick the ones that look like they are truly talented and passionate.
  • Schedule in person interview for today or tomorrow
  • Short list.
Step 3. Homework Torture Test
  • Give the short list candidates a homework assignment. Something they can do in a couple of hours that will make it abundantly clear who is the most talented & the best fit.
Step 4. Second Opinion
  • Define decision making rules so everybody on the team understands how the decision will be made (e.g., unanimous vote, majority, or defer decision to manager for expediency and efficiency)
  • Depending on the position, pick one, more, or all people from the team to interview the finalists after they have reviewed the homework results for fit, talent, and passion.
  • Gather feedback
Step 5. Pick, yer done or Rinse and Repeat if FAIL

I think the only major difference compared to typical hiring practices is in how I do this. I go all in. It's a blitz. When I'm in this mode, I generally do it 8-12 hours a day until I'm done. I can generally wrap up hiring someone in <= 2 weeks from start to finish. And the results generally speak for themselves. This technique works great for me as the "hiring manager" and for job candidates.

Hiring people can be quick and painless or can drag on and on for weeks and months if you don't make it priority #1. While you have unfilled positions, you are continuing to fail (at some level). Your team is continuing to feel pain. Distraction grows and grows. Before you know it, your project is failing.

Anyway, this way works for me. Your mileage may vary.

Now next week I can get back to job #2 of a Lean manager: empowering the team/sharing leadership, staying out of the way, & adding real value off the critical path.

19-APR 9:30 PT: Updated with links to Lean SW Dev.

Web Application User Interface Designer


We are looking for a part time User Interface Designer. Here is the description I came up with. Contact me if interested.
Looking for a paid part time contributor to one of CSI's projects. To start with up to 20 hours per week for 3 months paid hourly commensurate with experience. You will contribute by:
  • Producing wire frame mockups
  • Producing CSS, XHTML, images, etc.
  • Producing minimalistic Style Guide
  • Producing other design stuff
  • Interview SME (Subject Matter Expert) members of our project Core Team on their desires for the user interface
  • Making User Interface design decisions
We are looking for a freelancer and not a firm or an agency.

A little bit about you:

  • You were raised on Jakob Nielsen
  • You are pragmatic
  • You work well with distributed teams
  • You work well with application programmers (ours happen to be very nice and smart!)
  • You deliver
  • You are quick
  • You have a lot of experience with web application focused design
  • You have samples that you can show off
  • You have a long list of people who rave about you and your work

19-APR Update: this position has been filled via the blitz. Don't worry, we'll be back.

Core Team & Contributors


I really like the concept of Core Teams. For Collaborative Software Initiative (CSI), our Core Teams are a mix of Subject Matter Experts (SMEs), and Developers. We create "whole" Core Teams & the team is jointly responsible for delivery. Its a true partnership model and its a beautiful thing to be a part of. Its the exact inverse of the typically adversarial relationship that often exists between SMEs and developers in more "traditional" development efforts.

We are still learning as we grow on the health care related project I am focused on. Our Core Team has had some success. The work load and what the team is capable of are both growing. We are becoming advanced enough together to take on more work and more people bit by bit.

We are currently experimenting with adding "Contributors" to the project. For any number of reasons, we are not able to add these people to the Core Team. But we have certain tasks that are well suited for part time contributors. It works well for us and the contributor. In some cases, the contributor just has an itch they want to scratch (e.g., want to learn Ruby/JRuby). In others we have a need we *need* scratched and we pay them to do the work.

I realize none of this is earth shattering - its common with open source projects. I am just saying that its exciting to be a part of it and see it working.

I am of course biased, but I continue to think that the CSI model is game changing. It certainly doesn't apply to everything, but it applies to an awful lot. Time will tell.

JRuby 1.1 Released


JRuby 1.1 was released today.

We shipped our first release of an application Monday with the pre-release.

The JRuby guys are great. Its becoming a great little community. I'm happy to be a small part of it. There seem to be big plans for the future after 1.1.

After working with it for the past 3 months in anger, I continue to believe that its a very compelling platform.



I'm taking a break from the lead up to a release. I'm a little cooked and useless at the moment.

Pete and I worked on our deployment script last night. In the early days of our project, we thought we'd use Capistrano. Make no mistake, it is a great tool (I took it for a spin).

But when you are using JRuby, its a bit overkill.

I'm fairly new to the Ruby world, but I know the other deployment options for Ruby. They aren't awful, but they take a bit of work & have some moving parts to them.

A lot more work than handing over a .war file with a configured # of run-times to run within the JVM, a database script, and a runbook anyway. That in and of itself is compelling.

Oh yeah, you have to also run:

$apache-tomcat-6.0.14$ bin/ 

(that's the runbook)

Ruby Authorization and Entitlement


We are bearing down on our first release (first of many on a big roadmap). Times are crazy, yet a lot of fun. I feel strange posting here - its been a while. Well, at least I tweat fairly regularly.

Anyway, our final iteration of our initial release is primarily focused on authentication, authorization, and entitlement.

I have a feeling we'll end up rolling our own, but there are a number of Rails plug-ins out there for this purpose that may have some useful bits. Also, a number of Ruby based rules engines.

So far, my real tired google search turned up:

I'll dig into these tomorrow. Let me know if you have had success with these or any other plug-ins/gems that may be of use for a fairly sophisticated user authorization/entitlement impl.

I'll try to update this post with our findings.

19-MAR-2008 Update

We are still digging into this, but so far we haven't used any above given our situation, but Bill Katz Rails Authorization Plug-in looks somewhat promising so far. Seems easy enough to make work with SiteMinder in front of you.

27-MAR-2008 Update In case anyone stumbles upon this later, we ended up writing our own. Nothing against the other's we just didn't see enough compelling in them to take them on. Rolling our own seemed easiest.

Lean Software Development Joy


As I mentioned recently, I'm freak busy at work. In a few months, things will calm down I'm sure and maybe things may pick back up here. On the other hand, things may get even busier.

In the meantime I have to say that I'm having a great time. Long hours to be sure, but the work is very rewarding.

For me, the most joyous part (other than working with exciting all FOSS technology, and being a member of a budding high performing team) is working with a business partner that truly seems to understand and embrace Lean Software Development. The proof will be in the eventual pudding, but its amazing what can be accomplished with a willing business partner that understands the fundamentals of software.

Or perhaps they just trust us, because we generally know what we are talking about. ;)

Or maybe we really are onto something and our business model is a better way to develop software.

Or maybe its all three :)



My lovely wife Erin has for some reason become a blogger.

She used to make fun of me for blogging.

Now she makes fun of me for using twitter.

Anyway, you will quickly see that I married up if you read her blog. She talks about her more than full time job of being a mom.

On Architects


Bill de hÓra excerpts from Dietrich Kappe.

I couldn't agree more with:

If you've made the transition from a hierarchical environment to an agile, self-organizing team, you know what I'm saying. You won't ever want to go back..

I've been called various things. My last title was "Architect". Before that "Technologist". And now "Program Manager". I used to be a pretty decent developer, but never a great one. I'm starting to get ok again. I'll be pretty good again soon. I've worked with a lot of great developers so I know the difference between good and great. I figured out somewhere along the way that I'm fairly good at sensing what teams need and sucking it up and doing the often crucial not-so-fun stuff. I like doing this stuff because it is rewarding knowing that I contributed to a team. As time allows I make technical contributions too (more and more now). There is nothing like being on a high performing team and carrying your own weight.

Seagull Architects are an abomination. I had a realization as I left my last job; for a variety of reasons I never want to have the title "Architect" again. In talking to other "Architects" and former "Architects" I was fairly surprised how common this sentiment is. I'd be happy with what I have now or "Developer". I also like Steve Vinoski's "Member of the Technical Staff". I don't really care what you call me, but I do care that I carry my own weight. More than anything I care that I'm on a whole team that is already or has the potential to become a high performing team.

Let's just all just stop using the term "Architect" in software. How about we get rid of "Engineer" too while we are at it.



I've been freak busy as of late. My blog is suffering and will likely continue to suffer. I'm going to give twitter a try. I've scoffed at it for a while, but am now succumbing.

You can follow me around here.

CSI on Linux Magazine’s Top 20 Companies to Watch in 2008


Linux Magazine’s Top 20 Companies to Watch in 2008

Oh dear - 2008 is going to be busy.

Take the open source development methodology, mix well with enlightened self interest, stir with companies that have the dosh to fund serious development, and you have a really compelling business model. We're referring here, of course, to Collaborative Software Initiative (CSI).

CSI launched in early 2007, the brainchild of Stuart Cohen (formerly CEO of the Open Source Development Labs, which merged into the Linux Foundation in 2006). Its business model is to use the open development model to create necessary software for niche markets. For example, CSI's most recent project is creating software to automate the BITS Shared Assessment Program for companies in the financial services industry.

While it's unlikely that a community would spring up around this sort of software naturally, CSI is using the open development model to create software needed by industries and letting several companies split the development costs. Its role is to do the collaboration and community building, project management, tech support, and foundation building necessary to shepherd the software through its life cycle.

This is an idea that should have been obvious years ago, and we expect to see the CSI do well in 2008-- and attract copycat initiatives as well.

Update I liked the way it read so much that I put it in the post.