Archive

Subscription

Blogroll

I posted a pic of my son a little over a year ago while I was holding him and trying to use the computer: http://blog.eflow.org/archives/307

He has since tripled in size and now is attempting to write some OpenMRS code. I need to sign him up for an OpenMRS ID soon so that he has a good username reserved for when he starts submitting patches. 🙂

Over time the messages in our Spring message.properties files grow stale. When a developer updates/changes code he/she doesn’t necessarily go to the messages.properties and remove all the keys that they removed from code. This has not detrimental effect on code, it just means that when translating into a new language the translator is potentially more work than they need to.

I wrote this quick shell script to loop over the file and do a recursive grep for that key. The key is considered “used” if it exists in the current directory with quotes around it (single or double). This WILL NOT find keys if they are only used programmatically. (e.g. VAR + “.started”)

#!/bin/sh

# Loops over all the keys in the given messages.properties file
# and looks in the current directory for the string in quotes.
# Results are printed to stdout
#
# use: (from the “web” dir in openmrs)
# sh ./findunusedmessages.sh WEB-INF/messages.properties

Overall I was quite pleased with how the training went. There were more people involved that I expected: 40+ were in attendance physically at the Regenstrief building at some point during the week and another 10-15 that participated via the online web casts! One very positive outcome from the week was that Darius and I created a lot of wiki pages directly from the content we were talking about. This gave us a blueprint from which to talk while preserving the content for future users to see. I am still waiting to hear from Michael about the long-term availability of daily recordings.

I really see these types of trainings being a good long term revenue stream for OpenMRS. Obviously it won’t be able to be the only source, but if we had 3-4 trainings a year at various locations around the globe we would be able to hit a large number of developers. (Doing an implementer-centered training is a whole other matter) We learned a lot through this training: get the word out earlier, give out pre-training required reading, and write the entire week’s lesson plans prior to starting the training!

My wife gave birth to our first son on Saturday: Andrew Benjamin Wolfe. He was a very healthy 8 pounds and 21 inches long. He has been eating and sleeping very well. Sleep is at a premium in the Wolfe household and we take it whenever we can get it. Our daughter, Eden, is 14 months old, and does her best to keep us both up all day to play with her!

I’ve been attempting to keep up with email while at home, but Andy has been fighting me for computer time!

This seems fairly simple in hindsight, but I had a difficult time finding an answer to it, so I putting it down here for posterity’s sake.

SET FOREIGN_KEY_CHECKS=0

I put this as the first changeset in a liquibase xml file. This disables the foreign key and constraint checking in mysql. This would work for other db’s as well, but I haven’t looked up their syntax just yet.