The Singularity Is Near

January 17, 2010

I first stumbled upon Ray Kurzweil’s website some years ago. It immediately turned me off with words like “Fantastic Voyage: Live Long Enough to Live Forever.” It sounded like one of those “How to be happy and get everything you want” books, which rarely accomplish anything but big bucks for the author, and disappointment for the suckers who buy them.

I’ve read The Singularity Is Near now, and my opinion about the book is mixed. I don’t remember what made me look it up in the first place — but I certainly don’t regret reading it.

Kurzweil argues that evolution is an exponential process, and that each new paradigm opens the door towards a faster development of the next one. As evidence, he shows logarithmic plots such as this:

singularity countdown

If this were plotted linearly, most of the “interesting” events (like Homo Sapiens, cities, and the Internet) would be grouped together in a small chunk of recent time, compared to the time it took for life before that to evolve.

Read the rest of this entry »

Advertisements

Why Open Source Rocks (and the music industry does not)

August 9, 2009

If you ever looked for song lyrics online, you know how most lyrics sites are. Plenty of ads, popups, silly scrolling flash gadgets, bad punctuation, and no easy way to send in corrections. Why not apply to lyrics the same community-driven editing model that has made Wikipedia so successful?

LyricWiki.org has done exactly that, and more. They have provided an API, making it easy for media players to query the database and fetch the lyrics for a specific song. To get an idea of this project’s success, check out these stats. At the time of this writing, LyricWiki is the fifth largest MediaWiki in existence, and the largest wiki that is not a Wikipedia or Wiktionary. What an inspiring example of a community built around the ideals of improving content and making information available. What could go wrong?

Read the rest of this entry »


pv: Progress Bar for md5sum et al.

February 4, 2009

Tools that know they will take a long time often come with a built-in progress indicator, but there are other utilities on Linux that often leave the user frustratedly tapping their fingers, wondering how much longer they will have to wait.

Luckily, there is a nifty little tool called pv that will donate a progress bar to any program that can read from standard input or a pipe. pv probably stands for pipe viewer.

1. Simple example: figure out how long an md5sum will take:

pv eternal.avi |md5sum

will display something like

96.5MB 0:00:05 [25.3MB/s] [=======>                                    ]  9% ETA 0:00:48

Read the rest of this entry »


HOWTO: Read Vista-burnt UDF DVDs on Ubuntu Linux

June 14, 2008

Recently I got my hands on a DVD which I couldn’t get to mount. The message that appeared consistently in dmesg was:

UDF-fs: No fileset found

Searching the forums I found out that this is a widespread problem. Vista uses some kind of non-standard UDF which only Windows can read. I was very tempted to run to the Windows PC in the other room and let it eat the disc, but I was curious if there was any other solution.

Many suggested mounting manually with -t udf, but that didn’t work. Another suggestion was patching and recompiling the kernel. I was obviously NOT in the mood to do that. Digging a bit deeper I found that there is actually a less greasy solution. The two relevant links are one and two. I will describe now the exact procedure I used to get my Linux box to recognize the Vista-burnt DVD. Note that, because of the rapidly changing environment, this will probably NOT work on anything OTHER than *Ubuntu Hardy with kernel version 2.6.24.

Read the rest of this entry »


Konvert2Ogg 0.2 is here

March 21, 2008

Finally,

after a complete redesign,

and a complete code rewrite,

released under a full moon,

feature-complete and usable,

[drum roll],

[fireworks],

Konvert2Ogg 0.2 is here.

(updated) Home page
SourceForge.net project page
KDE-Apps.org page

I am especially thrilled about what I’ve learned while developing this project:

  • How to implement a factory in C++, so that when I want to add a new class, I don’t need to add references to it all over the place.
  • As a bonus, make that factory a singleton ;)
  • Lots of things about Qt, KDE, and even svn, XHTML and CSS, that I could only learn hands-on. (too many to list)
  • I even fixed some bugs / made some improvements to kdelibs while working on K2O!
  • Probably a bunch of other stuff I am forgetting right now.

Although the program now works and does what I want, this is no way the end of the journey. There are many more cool things in the can :D


The Case Against Screen Savers

August 30, 2007

I don’t use a screen saver because:

  • It distracts me.
  • It doesn’t let the CPU sleep, hence generating heat.
  • It provokes silly discussions like ‘OMFG, Wow, can you give me the .exe?’ [No, but here’s the .deb]

I use a power-off-monitor-after-two-minutes-of-inactivity scheme because:

  • I want the backlight to last longer.
  • I want it to save my kilowatts, not my ‘screen’.
  • If it kicks in while I’m in front of the PC, I know I must have been wasting time / day-dreaming.

Pragmatic, heh? 8-)


Dissecting an iptables Rule

May 29, 2007

IPTables is a tool for firewall / fine-grained packet manipulation on Linux systems. After reading this great tutorial, I decided to try something more interesting (root is required):

iptables -A FORWARD -p tcp ––syn -s 192.168.1.34 ––dport ! 80 -m connlimit ––connlimit-above 5 -j DROP

Let’s take this word-by-word and explain what this rule means:

Read the rest of this entry »