Archive for February, 2009

What I’ve been reading lately

Sunday, February 22nd, 2009

After starting reading week off with 2 back-to-back incidents of food poisoning[1] and a 2am ambulance chase[2] to Montfort Hospital’s emergency ward, I was able to dig through the virtual pile of papers in my stash. I’ve been keeping things organized with BibDesk. It’s great because it lets you rate and annotate your references and mark ‘em as read.

  • Pauli Byckling and Jorma Sajaniemi. A study on applying roles of variables in introductory programming. In VLHCC ‘07: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, pages 61-68, Washington, DC, USA, 2007. IEEE Computer Society.
  • Linda McIver. Evaluating languages and environments for novice programmers. Proc. PPIG 14, pages 100-110, June 2002.
  • Minttu Linja-aho. Creating a framework for improving the learnability of a complex system. Human Technology, 2(2):202-224, October 2006.
  • Jorma Sajaniemi. Psychology of programming: Looking into programmers’ heads. Human Technology, 4(1):4-8, May 2008.
  • Brian de Alwis, Gail C. Murphy, and Martin P. Robillard. A comparative study of three program exploration tools. In ICPC ‘07: Proceedings of the 15th IEEE International Conference on Program Comprehension, pages 103-112, Washington, DC, USA, 2007. IEEE Computer Society.
  • Shmuel Schwarz and Mordechai Ben-Ari. Why don’t they do what we want them to do? Proc. PPIG 18, pages 266-274, September 2006.
  • Jr. Robert M. Dondero and Susan Wiedenbeck. Subsetability as a new cognitive dimension. 18th Workshop of the Psychology of Programming Interest Group, September 2006.
  • Norazlina Khamis, Sufian Idris, Rodina Ahmad, and Norisma Idris. Assessing object-oriented programming skills in the core education of computer science and information technology: introducing new possible approach. W. Trans. on Comp., 7(9):1427-1436, 2008.

[1] First was Taco Bell; I normally wouldn’t eat there but it was right there and I was short on time and had to get out of the city before the afternoon rush. Second was yogurt. Apparently, NOV 19 meant 2008, not 2009. “What do you mean yogurt doesn’t have a 9 month shelf life?”

[2] My dad got food poisoning after eating mystery marshmallows from 2006 that he found at my brother’s house. I just recovered from food poisoning incident #2 by the time this happened.

Record keeping

Thursday, February 19th, 2009

I’ve spent the past little while evaluating a number of content/document management systems for keeping my research and course work organized. I need something nimble (i.e. no Apache/MySQL-based solutions), searchable, usable, and pretty. It has to play well with version control systems and not consume oodles of disk space (i.e. 50 megs of PDFs should still be ~50 megs of PDFs when imported into such a system).

Oh, and it has to run on OS X. Web-based is ok, too, but shouldn’t always need a ‘net connection. Subscription-based is a big no-no, so that rules out EverNote.

After evaluating Notebook, VoodooPad, SOHO Notes, Curio, and MoinMoin, I decided to use MoinMoin.

The others didn’t play nicely with Subversion; SOHO Notes actually nuked some of my .svn folders. Yikes!

Curio liked to change some files to directories; Subversion apparently gets very confused with that.

Notebook preindexed a ton of stuff in binary format. I wouldn’t want to have to commit those indices each time I make a change.

I didn’t get to check whether VoodooPad worked well with version control, actually. I didn’t spend too much time evaluating it. It felt too restrictive in terms of formatting and layout.

What I liked about MoinMoin is that it already had extensions for LaTeX and BibTeX content. It’s easy1 to extend in many ways via Python and runs in standalone mode (i.e. DesktopEdition–still needs a browser but not a full-fledged web or database server). And it stores all its pages and attachments in a straightforward hierarchical manner on the filesystem–ditto for the extensions. So I can commit my whole wiki system to version control, check it out on some other (not necessarily Mac) system, start it up and keep growing it. There are plugins for merging two MoinMoin wikis in case I make changes on different working copies, but I haven’t tried those out yet.

Oh, well, it looks promising. We’ll see how it goes.

Next up: collecting up all my notes, clippings and papers and stuffing them in.

1 Assuming Python comes easy to you :)

The wonderful thing about Tiggers…

Saturday, February 7th, 2009

This comic reminded me of why most published research findings are false.

Strange correlation

Wednesday, February 4th, 2009

This popped up on my feed while I was doing some readings for my Empirical Research Methods course. I nearly fell off my chair :)

Following the paper trail

Sunday, February 1st, 2009

I’ve been trying to familiarize myself with the current research in my field. I ended up with a whole bunch of MergePDFs(i).pdf on my desktop among other things. Why, oh why, does IEEE Xplore name them so?

From an initial set of keywords my research group brainstormed last week and pointers from fellow grad students and faculty, I came up with the following:

Keywords

  • Program comprehension
  • Software comprehension
  • Reverse engineering
  • Novice programmers
  • End-user developers
  • Empirical studies

Journals and conferences

Blog posts

And now, some of the highlights from my trawl (in no particular order):

  • Pane, J. F., Myers, B. A., and Ratanamahatana, C. A. 2001. Studying the language and structure in non-programmers’ solutions to programming problems. Int. J. Hum.-Comput. Stud. 54, 2 (Feb. 2001), 237-264. DOI= http://dx.doi.org/10.1006/ijhc.2000.0410
  • Kothari, J., Denton, T., Mancoridis, S., and Shokoufandeh, A. 2006. On Computing the Canonical Features of Software Systems. In Proceedings of the 13th Working Conference on Reverse Engineering (October 23 - 27, 2006). WCRE. IEEE Computer Society, Washington, DC, 93-102. DOI= http://dx.doi.org/10.1109/WCRE.2006.39
  • Wiedenbeck, S., Sun, X., and Chintakovid, T. 2007. Antecedents to End Users’ Success in Learning to Program in an Introductory Programming Course. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (September 23 - 27, 2007). VLHCC. IEEE Computer Society, Washington, DC, 69-72. DOI= http://dx.doi.org/10.1109/VLHCC.2007.9
  • Guzdial, M. 2008. Education: Paving the way for computational thinking. Commun. ACM 51, 8 (Aug. 2008), 25-27. DOI= http://doi.acm.org/10.1145/1378704.1378713

Now if I could only wake up from this Korean-barbecue-and-beer-induced food coma so I can start some serious reading…