2009/11/10

Coders at Work

I recently bought and read Coders at Work, a collection of interviews with past and present people of influence in the programming world. Very easy book to casually read. A few typographical problems, but I have fairly low expectations. Full of fascinating stories that really made me think about how far we’ve come in some areas and how little we’ve progressed in others. I recommend it if you’re into that sort of thing.

I found three quotations particularly poignant. I don’t have anything to add to them; make of them what you will.

Douglas Crockford:

My interest in programming is helping other people to do programming, designing a language or a programming tool specifically so that it’s more accessible to more people—the thing that got Smalltalk started. Smalltalk went in a different direction, but the initial direction was really attractive to me. How do we build a language specifically for children or how do we build a language specifically for people who don’t think of themselves as programmers?

Ken Thompson:

I think by necessity algorithms—new algorithms are just getting more complex over time. A new algorithm to do something is based on 50 other little algorithms. Back when I was a kid you were doing these little algorithms and they were fun. You could understand them without it being an accounting job where you divide it up into cases and this case is solved by this algorithm that you read about but you don’t really know and on and on. So it’s different. I really believe it’s different and most of it is because the whole thing is layered over time and we’re dealing with layers. It might be that I’m too much of a curmudgeon to understand layers.

Fran Allen:

Isaac Asimov made a statement about the future of computers—I don’t know whether it’s right or not—that what they’ll do is make every one of us much more creative. Computing would launch the age of creativity. One sees some of that happening—particularly in media. Kids are doing things they weren’t able to do before—make movies, create pictures. We tend to think of creativity as a special gift that a person has, just as being able to read and write were special gifts in the Dark Ages—things only a few people were able to do. I found the idea that computers are the enablers of creativity very inspiring.

Information wrangling

I’m not particularly happy with the state of how I collect, absorb, share, and store generic information electronically. (On the whole, I’m generally happy with how I browse information, however. It’s not too hard to spend too much time reading about interesting things.)

  • I use Google Reader to browse information, from which I can also share items I find interesting.

  • I use Delicious to share other things that I’ve read from plain old “web browsing”.

  • On my computer, I store in a BibTeX database a subset of whatever appears in the above two public feeds plus “other things” that I haven’t shared for whatever reason.

    The BibTeX database also contains links to local content on my machine, so I can still read articles and watch videos that I’ve collected, even away from a network.

  • Keywords or tags are used separately both in Delicious and in BibTeX to help organise the items therein, but the tagging is inconsistent and not kept in sync.

It’s all a bit of a mess. To top it all off, I still don’t have any good way of organising all this local information so that I can browse through it in a way that doesn’t remind me of combing through a poorly-maintained database (which is exactly what it is).

Furthermore, all of the organisation of my actual research literature I have no way of sharing with anyone. Someone coming along to do a similar literature review as I’ve done will either have to read my thesis or start from scratch, and even reading my literature review will hardly give a good overview for their research interests.

There are sites like Cite-U-Like and so on which aim to make academic literature reviewing a more “social” activity, but the fact that they are web applications means that I still need to locally sync my databases whenever I add new content. Manual syncing is simply not a useful solution. (Aside: I’m looking at you, Things.app.)

Furthermore, I can’t maintain an online database of research and be able to store the papers offline in a local database that contains a superset of the online content. In other words, I don’t want to maintain a folder structure and file-naming scheme for content that’s mirrored in a database.

All of these factors indicates to me that there’s still something missing to tie together all of these different aspects of information wrangling. I hope a solution rears its head at some stage in the not-too-distant future. What’s the point of 3D animation on the web if we don’t have similarly-advanced information systems with which to play?

A measure of low academic funding

The common theme in Australian academia is that lecturers are hired on their research merits but must spend too much of their time teaching and performing administrivia, which ends up sucking the life out the research side of their job.

Certainly in my department, the more established as a lecturer you become, the lower the publication count trends in general.

Now, I know publications are not everything, because a professor will often be sitting on top of a pile of other researchers who are doing the grunt work below them. Still, in my opinion a healthy researcher should still be writing at least some of their own papers to indicate that they are still actually doing some of the research.

Could this be measured to a degree by looking at the publication output of every research group in every school in every university in Australia? Interesting results might appear after crunching the numbers on things like

  • Normalised number of publications per person.
  • Ratio of professors to academics to postdocs to postgrads.
  • Weighted number of publications per role according their ratio in the research group.

For example, let’s say that the ratio of roles is something like 1:4:6:20 (I have no idea if these numbers are feasible or representative). Papers published by a person in each role should be weighted by the inverse of these numbers, so the total number of publications per role is given equal weight (one paper by a professor is equal to twenty papers by the PhD students). Justify this by saying the time of a professor is twenty times more valuable than a grad student.

Now sum the papers per role according to these weights; if you see a large discrepancy from a 1:1:1:1 ratio of weighted publications, something is looking a little fishy. (This is just a hypothesis; I presume the numbers could be analysed a posteriori to determine that a healthy ratio might look like 1:2:4:3 or whatever.)

Even if this isn’t at all a suitable way to gauge the research health of a research group, it should at least be useful in comparing in a more detailed way the publication output between similar groups around the country. If it turns out the RMIT’s academics publish far more than Adelaide’s (after you’ve removed the masking influence of high-publishing postdocs, say), isn’t that a difference worth investigating?

Of course, my opinion on all of this comes back to basic funding at a tertiary level: the number of academics per student should be increased to give the academics more time for research. My aim at discuss ideas like “weighted numbers of publications per research role” is biased towards indicating this at some level. But I don’t have the time to actually look into the matter. (Especially being that I’m not actually part of the system at the moment.)

Does anyone do “research on engineering research”? In my opinion, they should.