Archive

Archive for December, 2010

In the Home Stretch

December 30th, 2010
Comments Off

A quick update on The Architecture of Open Source Applications — we have chapters in one state or another, or firm promises, for:

  1. Asterisk
  2. Audacity
  3. Bash
  4. Battle for Wesnoth
  5. Berkeley DB
  6. CMake
  7. Continuous Integration (survey)
  8. Drupal
  9. Eclipse
  10. Erlang
  11. Graphite
  12. Jitsi (formerly SIP Communicator)
  13. LLVM
  14. Mercurial
  15. NoSQL (survey)
  16. Packaging (survey)
  17. Selenium
  18. Sendmail
  19. Snowflock
  20. SocialCalc
  21. Telepathy
  22. Thousand Parsec
  23. Violet
  24. VisTrails
  25. VTK

and I’m hoping that a few of the stragglers will pull something off as well. We’ve been sent everything from TROFF and LaTeX through HTML, DocBook, and POD to Microsoft Word and OpenOffice, and some of the diagrams were in formats whose names I had to look up, but it’s aaaall coming together. I’ll post again when it goes to production and we have a firm publication date.

Architecture of Open Source Applications

Instead of PowerPoint

December 29th, 2010

After cursing PowerPoint for eight solid months while building screencasts for Software Carpentry, I think I have figured out what I want instead. Here’s a top-down view of a PowerPoint slide (drawn, ironically, with OmniGraffle):

Here’s the same slide seen edge-on:

The vertical axis in this view is time: all of the objects in the slide are created when the slide is created, and are cleared away when we advance to the next slide.

When I’m presenting in person, I budget roughly three minutes per slide. I don’t worry about losing the audience’s interest by keeping a static image up for that long because I’m a fairly animated presenter: I point at things, walk back and forth, make eye contact, and so on, all to provide the motion and flow that my slides don’t. Many good presenters, though, prefer to keep things moving on screen as well, and PowerPoint supports that by allowing items to be revealed progressively. If we do that, the side view looks like this:

When I first started creating screencasts back in May, I quickly realized that my “static slide for three minutes” style didn’t work: unless something was changing on screen every 15 seconds or so, viewers’ attention would wander. I experimented with using progressive reveal in PowerPoint, but discovered three shortcomings. First, there is no easy way to sync my scripts (written in the notes portion of the slide) with the reveal of particular elements. Second, when slides are exported to PNG or PDF, the progression is lost—everything comes out together. Third, there’s no way for an element to span several slides: PowerPoint insists on a strict slide/object hierarchy.

The third point is the key to what I want instead. I want to be able to create “slides” like this:

Here, there’s no longer a notion of “a slide”. Instead, there are graphical objects with lifespans, and slides horizontally across the timeline that display whatever is “alive” at that moment. This model seems better suited to creating screencasts (or other continuous video), and I suspect it would be better for traditional live presentations as well (particularly if it was possible to modify the properties of objects as a function of time, e.g., to change an object’s location between one snapshot and another).

I think I could create something like this in an image editor that supported layers (one layer per object) and scripting (to turn layers on and off), though that would be a fairly clumsy user interface. A more elegant one doesn’t feel like it would be hard to design, but I’m hoping someone has already built this for me. If so, I’d welcome pointers.

Learning

More Musings on the Value of a PhD

December 29th, 2010

Yet another good post from Mark Guzdial pointed me at an article in The Economist about the value (or otherwise) of a PhD. Key stat (bold emphasis mine):

A study in the Journal of Higher Education Policy and Management…shows that British men with a bachelor’s degree earn 14% more than those who could have gone to university but chose not to. The earnings premium for a PhD is 26%. But the premium for a master’s degree…is almost as high, at 23%. In some subjects the premium for a PhD vanishes entirely. PhDs in maths and computing, social sciences and languages earn no more than those with master’s degrees. The premium for a PhD is actually smaller than for a master’s degree in engineering and technology, architecture and education. Only in medicine, other sciences, and business and financial studies is it high enough to be worthwhile. Over all subjects, a PhD commands only a 3% premium over a master’s degree.

Learning, Research

Tagging and Debugging

December 29th, 2010
Comments Off

Thanks to a cold, I had time today to catch up on some long-delayed reading. Among the highlights were two pieces of work that I wish we had been able to include in Making Software. The first is Christoph Treude and Margaret-Anne Storey’s “Work Item Tagging: Communicating Concerns in Collaborative Software Development“, which looks at how programmers use tagging to label and find work items. The analysis is interesting, but the real payoff is the recommendations they make for tool builders.

The second find was “How People Debug, Revisited: An Information Foraging Theory Perspective“, which explores how developers follow “scents” when debugging, rather than forming and refuting hypotheses. Again, the analysis is interesting, but the real payoff is the recommendations at the end.

Both papers are prime examples of the kind of pragmatic research that is quietly revolutionizing software engineering. I look forward to seeing what both teams do next.

Making Software

Falk and Dierking’s 95% Solution

December 28th, 2010

The most interesting thing I read over the holiday was Falk and Dierking’s article “The 95 Percent Solution” in the Nov-Dec 2010 issue of American Scientist. (The article is behind a paywall at its source, but Google turned up this cached PDF copy.) The key stat is at the end of the first page:

Elementary-school-aged U.S. children perform as well as or better than most children in the world, but the performance of older U.S. children has been mediocre at best. Interestingly, however, for more than 20 years, U.S. adults have consistently outperformed their international counterparts on science literary measures…

Their explanation (which they back up with copious primary and secondary research) is that American adults have access to, and use, a “vibrant free-choice science learning landscape…filled with a vast array of digital resources, educational television and radio, science museums, zoos, aquariums, national parks, community activities such as 4-H and scouting and many other scientifically enriching enterprises.” Putting it another way, people do learn about science: they just learn it from Mythbusters, rather than in class.

There’s a lot of interesting stuff in the article (not least the observation that trying to reproduce what works in free-choice settings in the classroom doesn’t work). There are also lots of implications for computer science education…

Learning

You’re Never Too Old for Space Camp

December 27th, 2010
Comments Off

I can’t remember how I stumbled across BuyThisSatellite.org, but I’m glad I did. I’ve been a science fiction fan for (literally) as long as I can remember, and while I doubt I’ll ever make orbit myself, there’s something gosh-darned cool about actually buying a chunk of an actual orbiting satellite. Their web site says it best:

  • The owner of the world’s most capable communication satellite just went bankrupt.
  • We’re fundraising to buy it.
  • So we can move it.
  • To connect millions of people who will turn access into opportunity.

Please help—after all, how many things do you know that can bring BoingBoing, Al Jazeera, and Popular Science together?

Uncategorized

It’s a Shame People Don’t Get Credit

December 27th, 2010
Comments Off

It’s a shame people only get meaningful academic credit for creating new knowledge (regardless of its importance), and not for explaining existing knowledge better than anyone has before. For example, have a look at Neil Brown’s “Ghost of Unix Past” series, or almost anything from the SysAdvent blog (such as Adam Fletcher’s look at what really happens when you run ‘ls’). If things like this were counted toward promotion and tenure, I think there’d be a lot more of them, but how to count is a hard problem. As Titus Brown recently posted on his blog:

This is the problem with the online world for scientists: there’s no real systematized incentive to any of this online stuff. And that makes it really tough. I’m going through Reappointment right now…Nowhere on there is there a place for “influential blog posts”—how would you measure that, anyway?

Learning

So How’d I Do?

December 22nd, 2010
Comments Off

Back on November 9, I laid out my goals for the remainder of the year. Let’s see how I did:

  1. Time with family: yes.
  2. Help Mike and Zuzel finish their theses: mostly. Mike’s is done, Zuzel’s is close.
  3. The gym: epic fail.
  4. Three more lectures for Software Carpentry: only got two done. Funding: haven’t started (worrying fail).
  5. Revitalize online run of the course: didn’t happen. Organize next term’s: 78 have filled in registration so far.
  6. Wrap up my dad’s book: check.
  7. Publicize Making Software: I’ve done what I can (including last week’s webinar).
  8. Start editing The Architecture of Open Source Applications: check, though chapters are still coming in.
  9. Finish one of the children’s books I’ve got on the go: complete fail.
  10. Wrap up the undergrad projects I’m supervising: check

Total: 8/14 (since some bullets are actually several things). Here’s hoping for a higher score in 2011…

Uncategorized

I Still Read

December 20th, 2010
Comments Off

You wouldn’t know it from this blog, but I actually do still read books. In particular, I just finished Terrence Ryan’s Driving Technical Change: Why People On Your Team Don’t Act on Good Ideas, and How To Convince Them They Should. (Full disclosure: I’ve done two books with its publisher, Pragmatic, and am editing a third right now.)  Ryan divides skeptics into the uninformed, the herd, the cynics, the burned, the time-crunched, the boss, and the irrational, then introduces several persuasion strategies and explores how they’ll work with each group.  It isn’t rocket science, but it is well organized, hype-free, and useful. Recommended.

Books

Blinkered, Not Graceful

December 13th, 2010
Comments Off

I wasn’t particularly hopeful when I first heard about Grace, a new programming language being developed for teaching purposes. Having followed their blog for a while now, I’m positively underwhelmed:

  1. Early in a 21st Century full of CAD tools and other rich ways to interact with complex data, Grace’s creators still insist on representing programs as sequences of ASCII tokens.
  2. Their post on Nov 4, 2010, titled “Let’s Start With Syntax“, says exactly nothing about usability testing.

Unsubscribing and moving on…

Learning