Saturday, September 11, 2010

Moved

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

Saturday, December 12, 2009

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 csinitiative.com

Saturday, March 28, 2009

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: mike@csinitiative.com

Thursday, December 04, 2008

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.

Thursday, October 16, 2008

1 Sales Engineer, Please

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

Interested?

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 ...

Friday, October 10, 2008

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.

Thursday, August 21, 2008

TriSano Project Annoucement

TriSano is now open source.

Check it out!

TriSano.org

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.

Monday, July 21, 2008

JRuby 1.1.3 Performance

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!

Sunday, July 20, 2008

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.

Thursday, July 03, 2008

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.

Tuesday, June 03, 2008

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.

Friday, May 23, 2008

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 mediacast.sun.com, 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.

Monday, May 19, 2008

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.

Tuesday, May 06, 2008

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!

Saturday, April 19, 2008

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.

Monday, April 14, 2008

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.

Saturday, April 12, 2008

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.

Saturday, April 05, 2008

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.

Thursday, March 27, 2008

Ruby.war

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/startup.sh 

(that's the runbook)

Tuesday, March 11, 2008

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.