Getting philosophical about learning and computers

In what has to be one of the most philosophical CS papers I have ever encountered, a team of researchers from Brazil and Luxembourg have presented a fascinating overview of many issues surrounding the area of computer-based learning. In their paper, Redesigning Computer-Based Learning Environments: Evaluation as Communication, they make reference to everything from psychology to meta-communication and citing a broad yet well-chosen set of authors from Claude Shannon to Gregory Bateson.

Perhaps the most interesting aspect of this paper is it’s writing style. These authors have clearly given the subject a great deal of thought and have not been shy about getting philosophical while expressing their opinions. In fact, these authors have gone out of their way to use their variety of interdisciplinary sources to help illustrate the idea that issues in computer-based learning are never purely technical. One of the first communication models they discuss is the well known psychology concept of the double bind. While the concept isn’t worth explaining here (given the ubiquity of detailed explanations), their relation of the concept to educational evaluation is certainly significant.

Evaluation is also trapped in the double bind. Student and teacher or even the other characters such as colleagues and parents exchange many contradictory stimuli about learning. For example: have critical sense versus accept as truth what is in books, express yourself efficiently versus do not talk, concentrate on homework versus play with friends, etc. These situations are inherent to evaluation in the same sense the double bind is part of communication

The tensions described here are all-too-familiar to students, both past and present. Issues such as the ones mentioned in the paper are very real obstacles that must be overcome in classrooms all over while their complexities are only emphasized further by the still-developing experience of computer-based learning.

…the computer-based learning environment must support and, if possible, amplify the expression and the emergence of contradictory relations. These are essential to the evaluation process, since provocative statements may communicate how teacher and colleagues perceive one’s performance and understanding.

With this in mind, they conclude their discussion by explicitly stating the importance of letting real-world factors influence the design of learning systems. This exceptionally well thought-out piece of technical writing should be required reading for any educator considering the deployment of a computer-based learning system or struggling with the design of an alternative assessment mechanism.

Start Eating the Paste

Anyone who frequents programming-related IRC channels will already have an appreciation for online pastebins, originally termed nopastes. For those who might be unfamiliar the basic idea is that pastebins provide a quick and convenient way to display text on the web and share it with others. The canonical usage of a pastebin is a situation where an individual must share a snippet of source code with other programmers to illustrate a concept or seek advice. The most famous of pastebins:

Most interesting is the recent increase in pastebin spam. The open nature of pastebins make them ripe for abuse by spammers and that has led to numerous discussions of the problem and use of CAPTCHAs to try and combat the issue. I had no idea this was even an issue though it makes a lot of sense now that I think about it…

Open Source in Schools

This afternoon I read a really thoughtful paper about Free/Open Source Software in schools published in the Canadian Journal of Learning and Technology. As an aside, the CJLT has a really solid collection of papers and I look forward to paging through them in the coming months. Anyway, this paper, Open Source Software and Schools: New Opportunities and Directions by Gary Hepburn, presents a tasty discussion of the benefits and advantages to using F/OSS in schools.

After a brief overview of the proprietary software model, Hepburn devotes a solid page examining the issues surrounding using proprietary software in schools. He cites the cost of doing business with Microsoft (according to the Microsoft School Agreement), as of Winter 2005 with a school of 400 machines, to be US$7200 for the OS alone and US$19,200 for a complete desktop package. Additionally, he notes that, in general, “…using proprietary software requires a high degree of accountability” on account of license compliance issues and other legal liabilities. Alongside the financial downsides, Hepburn makes a very good point when examining “…school’s complicity in exposing students to commercial products and corporate interests”. The idea of a classroom as a corporate marketing machine is rather unappealing.

While it’s not hard to find literature extolling the virtues of F/OSS, Hepburn does a nice job of emphasizing the potential benefits for schools. One particular point that caught my eye was his comment that “Schools can also burn OSS on to a compact disc and give it to staff or students to take home and do what they wish with it”. Granted, projects like OpenDisc have been leveraging the flexibility of F/OSS licenses for some time now, but I have been toying with the idea of using virtual machines as distributable workspaces. Personally, I find the idea of being able to send a student home with their own system saved on a thumb drive very compelling.

After touching briefly on the subject of Linux, Hepburn goes on to discuss some of the neater software packages from the F/OSS world. In particular, OpenOffice.org gets a shout out though I don’t know if I agree with his insinuation that OO.org requires fewer system resources (specifically hardware) than MS Office. Overall, I do agree with his other major points which support the ideas that the F/OSS community is better equipped to respond to change and correct errors. Moreover, I fully support the idea that more diverse exposure to different types of software will lead to an overall greater computing literacy.

With a healthy sprinkling of Lawrence Lessig quotes and shameless support for F/OSS, this paper is definitely worth a read.

Does Losing Weight Make Me Un-Trendy?

Over the past 8 months, I have been trying to eat healthy and be more active. Between rekindling my love for vegetables, subduing my desire for pastry and doing my nightly routine of old-man floor exercises, I’ve lost over 10 kilos. Since getting home, I’m walking to synagogue every morning (someday, I hope to be accepted by the Minyanaires) and bringing my book to the track near my house so that I can read and walk at the same time. While not fanatical, I am certainly pleased with the level of activity in my new routine and it’s my hope that such efforts will please my physician. Though I was never a hulking behemoth of a man, I have certainly noticed the improvement in my body muscle and reduction in my waistline. In fact, I need to find some new clothes…Anyway, though I will never be a body builder and my large frame will always retain some heft, I do feel noticeably better both physically and mentally.

Having said that, imagine my shock when Wired Magazine’s most recent Jargon Watch featured the term “Fatosphere”. I was caught off guard by the number of pro-fat blogs and websites which seem to be part of a developing fat acceptance movement. In addition to the links on the NAAFA website (National Association to Advance Fat Acceptance), blogs like Fatosphere, Fat Fu and Big Fat Blog offer a fascinating glimpse into America’s underbelly as activists seek to combat what is perceived to be fat discrimination.

Does my shrinking paunch make me un-trendy?

A Paper on Self Organization in Wikipedia

I just finished reading a fascinating paper on the topic of self organization in Wikipedia. These Dutch researchers put together a very entertaining read for the 2006 WikiSym workshop on Research in Wikipedia where they analyzed the Dutch Wikipedia, as it was in 2005, looking for signs of self organization.

One of the most interesting things that the researchers measured was the degree of article connectedness. They modeled the entire Dutch Wikipedia as a giant graph with each article being a node while measuring the number of articles linking to it (indegree) and a the number of articles it links to (outdegree). The indegree and the outdegree are combined to give you the article’s total degree. In order to classify articles based on degree, the research team coined terminology to describe connectedness. Articles were designated as a guru authority, all-around authority, referring authority or a regular node. For details on the results, you  really must see the paper.

It’s really fascinating to realize that a lack of top-down control can lead to an effective working team. Even more impressive is the sheer scale of Wikipedia’s accomplishments. With 2.3+ million articles in the English Wikipedia, it’s become quite apparent that the community at large is most certainly capable of producing effectively. The specifics of this are made clear by the paper’s discussion of author expertise. Most informative are the histogram plots detailing authoring and edit patterns.

Of course now, after reading this paper, I have a strong desire to download a text dump of the English Wikipedia and crawl it to determine connectedness. Granted I could certainly find a computer capable of holding the the full dump (~3.8 Gb compressed XML) but it would most likely take an eternity to crawl the document Moreover, the resulting data would be particularly unwieldy even if stored in a decent database. Perhaps someday…

Yes, But Will It Blend?

This one comes from my beloved brother, Ari, who always likes to remind me that I don’t have a life and miss all the good stuff.

Imagine being an iguana living in a Tokyo pet store when Godzilla attacked. You’d probably feel something like an ordinary kitchen appliance who’s just seen the Blendtec Total Blender. Basically, it’s this professional strength blender than seems able to reduce just about anything to slurry, powder and mush.

In an exceptionally entertaining example of viral marketing, Tom Dickson, the founder of Blendtec, opened this fantastic website called Will It Blend? which showcases videos of the Total Blender deconstructing various objects. There is some seriously Mr. Wizard-stlye feel good flavor to the videos as Tom conducts each demonstration with a vanilla charm and matching lab coat inside the Blendtec test kitchen. Appropriately enough, Tom has a genuinely-amused smile on his face as he destroys everything from whole cans of Coke to garden hoses and glow sticks.

Though the overwhelming majority of videos are in the “Don’t Try This @ Home” category, you can still find some neat (and safer) demos in the “Try This @ Home” category. The coolest part? You can even submit ideas and suggestions for what sort of things they should try blending in the future.

Free, Legal TV on the Web

Want to see the latest episode of your favorite TV show? Did you miss it on TV and don’t have a DVR (like TiVo)? Don’t want to watch grainy and partial clips on YouTube or pick it up from some other illicit means? Starting this week, you’re in luck!

A new joint venture of FOX and NBC has all of your favorite programming online, in decent resolution for free. You can watch what you want, when you want and you don’t need to subscribe for an on-demand service only to be even more tied to your television set. Hulu has stuff from NBC and FOX channels like SciFi, Bravo, FX and others. It even offers a bunch of full-length movies that you can watch at your leisure. Best yet: it also seems to be presented with limited commercial interruption through episode sponsorship. I’m watching the latest episode of House as I write this. Go to Hulu.com and check it out for yourself.

My real criticisms are that the Flash player is rather heavy and can slow down easily, thus skipping frames. Also, the resolution is decent but doesn’t scale well so avoid the full screen player. That being said, there is, supposedly, an HD gallery but I haven’t poked around in it yet.

Profile Your Ruby Code in One Easy Step!

Everyone has written slow code so let me make an important distinction and say that code can be slow for two main reasons:

  1. The operations being performed are, by nature, intensive in the form of being either computationally-heavy or I/O-dependent.
  2. The code is poorly written or designed such that it is sufficiently sub-optimal that it’s inefficiency becomes noticeable.

Though code slow for the first reason is often code that cannot be improved much, code slow due the second reason can often be improved through various optimization techniques like algorithmic refinement, complete reimplementation or, less frequently, refactoring. Tracking down the slow parts and to determine the best way to proceed is not always easy in large or complicated programs.

To assist in such performance analysis, there are numerous profilers available (but, as usual, Mac users should beware of foul play). For Ruby, there is the profiler module which enables automatic profile reports to be generated at the conclusion of a program’s run. When running quick analyses, you can enable profiling by telling the interpreter to require the profiler module at load-time with the -r command-line flag. If your program is contained in a file called program.rb, then you’d want to run ruby -r profiler program.rb while being conscious that the report is written to standard error. You can add a require 'profiler' to those files which you would like profiled all the time.

Peeling Oranges

I’ve recently begun to really enjoying fresh oranges. Specifically, I have been devouring ripe, Navel oranges which are sold for cheap by my local supermarket. While I’ve gradually developed my orange-peeling skills over the past few weeks, I am still occasionally plagued by bits of orange rind being stuck to the surface of the underlying flesh. It often toughens the texture of the fruit thus making it harder to chew, and picking it off is rather tedious.

A quick bit of searching yields a few results including a two different howto documents (eHow and wikiHow), an article in the Hitchhiker’s Guide and an instructable indicating how to get the skin off in one piece.

In my own experiments, I have noticed that the faster I remove the skin, the less pith sticks to the fruit. I believe that a swifter separation minimizes the undesirable adhesion. Is such a theory logical? Has anyone tinkered with this? Might there be some tips out there?

VirtualBox to QEMU

Recently, I had cause to convert a VirtualBox virtual machine to one compatible with QEMU and KVM. A quick search found me multiple methods for converting an image QEMU -> VirtualBox but nothing helping me to go from VirtualBox -> QEMU. After asking on the PLUG mailing list, I got some help and managed to convert it without any issues. In order to do it, you’ll need the vditool tool contained in the virtualbox-ose package available from the Debian repositories. Here’s how I got it working:

  1. vditool COPYDD vbox-image.vdi raw-image.img
  2. qemu-img convert -f raw raw-image.img -O qcow2 qemu-image.qcow

The first step copies the contents of the image (*.vdi is the VirtualBox filesystem image extension) to a raw disk image. Be advised: this file will be the full size of the virtual hard drive. That means that, unlike *.vdi and *.qcow formats, if the virtual disk has a maximum capacity of 8Gb, the raw image will be 8Gb in size regardless of how full the disk is.

Once you have the raw image, run the second step which uses the QEMU disk image manipulation tool, qemu-img, to convert the raw image into the QCOW2 format. The new QEMU image will be much smaller than the raw image was and it can be made smaller by passing qemu-img the -c option to enable transparent compression. However, seeing as how this just uses zlib on each cluster, this might introduce more overhead to I/O than is desired and will most likely degrade your overall VM performance.

« Previous PageNext Page »