28 April 2010

BYU Conference on Computerized Family History & Genealogy

I attended BYU's Conference on Computerized Family History & Genealogy Monday and Tuesday this week.

It was really informative and disorienting in a good way. I've been working on New FamilySearch for a long while and not realized fully what kind of a target audience I've been developing for. When I was one of the only 30-somethings in the room, and we were talking about a more-than-a-decade technology generation gap, it finally sunk in that the world was different than I had thought.

The main topics I came away with were:
  • The technology generation gap is NOT ok, and needs to be bridged (by both the younger and the older generations).
  • Among serious genealogists, there is a very real drive to publish, similar to the scientific community's reputation-based drive, but motivated also by a desire to preserve research that would otherwise be obliterated by death or lack of interest on the part of direct descendants.
  • There is also a gaping technological hole in the genealogical community: Lack of Internet-style content-driven collaboration on genealogical research. Even serious genealogists seem to be content with this state of things.
  • The Next Generation (TNG) looks really nice. I want to use it for the Sumsion family tree on sumsion.org/genealogy.
The idea that I can make a difference here is VERY motivating.

21 December 2009

Building Mup on Ubuntu Jaunty 9.04

I really like the Mup music typesetting program. It had been a while since I had needed to do some music, and I had never installed it on Linux before, so I thought I would give it a go.

It was harder than I thought, but I got it to work. Here is what it took:
  • download and extract the source tarball
  • install the following packages: gv, playmidi, libx11-dev, libfltk1.1-dev, libxpm-dev, libxext-dev
  • change the makefile to link in some different libs, here is what I got to work:
# You can use fltk_jpeg or jpeg library, whichever you have
JPEGLIB = fltk_images

# You can use fltk_png or png library, whichever you have
PNGLIB = fltk_images

# You can use fltk_z or z library, whichever you have
ZLIB = z
  • sudo make install
Now mup works, and the new mupmate and mupdisp, too.

The license code goes in a single-line text file: ~/.mup -- similar to the DOS mup.ok contents.

06 October 2009

Starting a box with git

In The Creative Habit Twyla Tharp talks about "starting a box" to keep track of all the creative ideas that come on a project.

I've used git to just start tracking ideas in digital form. A brand new git repo is my digital box. Usually, the ideas start out as a whiteboard diagram or scratching on paper, which I then scan to PDF and put in the folder. The organization varies, but chronological file naming has worked for me, as has thematic subfolder organization.

Being able to just capture the work frees me up to try new things and not worry about whether that stuff I just did is safe or whether I can get back to it if I try something new out.

Git does such great cross-file compression that even after several revisions across binary files, the resulting repo sizes are surprisingly small.

04 September 2009

An entire sprint without an SVN branch

A typical development flow has been:
  • request an SVN task branch (wait for CM to help)
  • do stuff (1-3 weeks)
  • run all the regression tests (not on the latest stable)
  • hope that nobody did anything that conflicted with us
  • merge to the pending release (and pray we resolve any conflicts correctly)
Now we do the following:
  • set up a team git repo (able to do this without CM's help)
  • clone off a repo for each team member
  • set up a daily cron job to get the latest stable from the pending release
  • set up a daily hudson build to merge that in and push to team if it passes unit tests
  • pull from team as we go (fast!)
  • run all the regression tests (on the latest stable)
  • use git to merge on top of the pending release and commit back to SVN (with minimal conflict windows)
Well, we finally got through a whole sprint without an SVN task branch. Maybe that seems like a small victory, but it saved us a bunch of late-breaking integration risk.

03 September 2009

Exchanging gravitons with the monolith

When I was telling my colleague about my plans to aggressively modularize the monolith, he said:
You're exchanging gravitons with the monolith.
And he was right. The effect of the warped space-time in the close vicinity of the monolith was such that I lost sight of the new work we had recently embarked on. The trajectory I was on got skewed by the gravitational pull.

It is not sufficient to be doing work that is improving modularization. It is required to be doing work to deliver user value all the time -- and to take advantage of every opportunity to modularize in order to deliver user value.

Letting modularization become an end in itself is sometimes tempting, but in the end it was not the right path forward.

02 September 2009

Blog by writing post titles

I got sick of trying to think of profound things to say here.

So I just started writing post titles until I found a topic I wanted to write about. Maybe that is what I can do the next time I'm feeling like a post is over-due.

15 August 2009

Site Design Tips

In thinking about what next for fshelper.org, I've been on the lookout for good site design ideas. Here is the most recent article by Jakob Nielsen who has cared about this for much longer than I have.

Also, I found the Daleri Structure site design by Andreas Viklund to be very appealing for how I want the site to feel: informative, down-to-earth practical, and well-linked.