computing

Better electronic reading, step 1

For the past 2 years I've been fantasizing about buying a tablet PC or a portrait monitor, that would enable me to use the full screen to read e-books or similarly laid-out documents.

A couple of months ago I found the poor man's portrait monitor. Here it is.

To read PDFs in portrait mode, I just rotate the document inside Acrobat Reader and switch to fullscreen mode. To read other formats (like Web pages) I flip the Windows orientation, with the help of my video driver. I also a wireless mouse that helps with flipping pages remotely. I think a wireless keyboard would also help.

Graphviz for software visualization

Graphviz is an open source graph diagramming system. From an input description of a graph, the system generates an automatically laid-out diagram to one of several output formats including PNG, SVG, and HTML image maps.

The open source domain has created an explosion of source code to be examined and used. The potential savings in terms of development effort are huge, but they don't come for free: it is essential to build an understanding of the downloaded source code before attempting to use it or modify it. The difficulty is compounded by the fact that typical open source projects produce very little technical documentation, so the interested developer must go through the source code unassisted to build understanding.

Geek joke

I remembered this from my youth, and kudos to IG for finding it! Taken from MAD Magazine, issue unknown, volume unknown, year unknown. Drawing by Sergio Aragonés.

In the same vein:
There are 10 kinds of people in the world: those who understand binary and those who don't.

That's how I'd like Arabic to be rendered

Leaving aside the religious content (for the sake of this discussion), check out the Arabic text on this page. You'll have noticed it is an embedded image, but see how clearly the writing and diacritics are displayed. One would wish that Arabic text were rendered this way on a browser.

What does it take to do that, I wonder.

Micropay per email

According to Rady, the e-world would be a better place if we had to pay for each email sent. The rationale is that people would actually think twice before sending email (instead of the current logorrhea): no more bad jokes, useless links, and probably much less spam! Take SMS for example: the percentage of short text messages I receive that deliver a useful piece of information is much higher than the percentage of equivalent emails. That's a good clue.

Vancouver BarCamp Aug 25-27, 2006

I attended the Vancouver BarCamp. What is a BarCamp? It is a very informal conference (actually called "un-conference" to underline its informality) where geeks and non-geeks meet for 24 consecutive hours to share information and do some social networking. Like conventional conferences, several sessions are happening at the same time, but the difference here is that sessions are announced and scheduled on the morning of the conference.

I liked many things about this event. First, the subjects presented were varied and interesting: from programming to software process to marketing and social computing. There were some crazy sessions like one on creativity where the author advocated creating postcards as a form of expression, and another on yoga for geeks! It was great to experience this open mind and freedom of expression. I guess that's the hallmark of countries with a high standard of living and a democratic process. Anyway.

Wiki not suited for organizing information?

I've been struggling with Wikis for a couple of years now, trying to use them at home and at work to organize information.

Apart from the standard unusability and instability problems inherent with software (please don't ever use eGroupWare's Wiki or you'll wish you were illiterate!), I felt a deeper problem in the act of organizing the actual information. In short, when the information is to be entered over large periods of time, which is the usual case, its structure tends to become random again, unless you aggressively refactor the structure all the time. So Wikis invite entropy.

The cost of forgetting

One of the mysteries of information theory is Landauer's Principle, stating that "any logically irreversible manipulation of information, such as the erasure of a bit or the merging of two computation paths, must be accompanied by a corresponding entropy increase in non-information bearing degrees of freedom of the information processing apparatus or its environment". In other words, energy is spent to erase information.

Regardless of the thermodynamics aspect of this proposition, which I am not qualified to discuss, I can say that intuitively, erasing information requires choice and processing, whereas adding new information just requires more tape. The cost of erasing is the cost of organizing.

The trouble with computer science undergraduate education...

...is that it is precisely computer science oriented. In all of the CS departments I've seen, undergrads are only required to turn in proof of concept programs of the topic being studied, in the form of assignments or term projects.

In the real world, the prototype is the very first release in the lifecycle of a system. It is never used in a production environment, to solve a real problem. Starting with the prototype/proof of concept, the professional software team adds to the system all the software qualities required for it to be put to good use. Qualities including robustness, scalability, security, extensibility, manageability. And the system keeps getting upgraded throughout its lifetime as a result of interaction with the real world. The undergrad student never experiences any of these stages, and only gets exposed to them theoretically through the "Software Engineering" course. The practice of the engineering discipline is almost never offered, except perhaps through internships of dubious benefit.

A good bug to have

Once the prototype of the original arcade game Pong was made, it was set up at a local bar for testing. Its makers, the first Atari engineers, watched as bar patrons started playing, then left. Next morning, they learned the machine had stopped working after some time. When they opened the box, they found that the money coins had filled up the bin and caused the machine to hang.

Found in a 2003 Discovery Channel documentary, "The Story of Computer Games", a Leopard Films production.

Syndicate content