Thu 2009-12-31 ( En pr )

But it’s more due to Perl being so unpopular lately. Ruby stagnates; maybe Ruby 1.9.2, Rails 3, JRuby, MacRuby and Gemcutter can make Ruby more interesting in the future.

Update: It seems my prediction was wrong. But I wait another month before I take it back :)

Update: Epic fail. I was totally wrong; instead, Ruby is out of the Top 10 (Delphi took its place again). Every Top 10 language except C and Perl seems to weaken because of the advent of Objective-C and Google Go (the so-called company languages).

Wed 2009-12-30 ( pr En )

A cool feature of JavaScript 1.6 is called E4X:

var xhtml = <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
                <title>Embedded SVG demo</title>
        </head>
        <body>
                <h1>Embedded SVG demo</h1>
                <svg xmlns="http://www.w3.org/2000/svg" 
                        viewBox="0 0 100 100">
                        <circle cx="50"
                                cy="50"
                                r="20"
                                stroke="orange"
                                stroke-width="2px"
                                fill="yellow" />
                </svg>
        </body>
</html>;

alert(xhtml.name().localName); // Alerts “html”
alert(xhtml.name().uri); // Alerts “http://www.w3.org/1999/xhtml”

I’m trying to highlight this syntax with CodeRay, but it’s a bit more complicated than I thought.

Sun 2009-11-29 ( En pr pi )

The last weeks I have been experimenting with WebGL, the upcoming 3D extension to the HTML 5 Canvas element. It is supported by the latest WebKit and Firefox nightly builds (read about getting WebGL to run on your system).

Now, here’s a rotating 500 4000 about 4900 polygon semi-transparent 3D sphere complete with a texture and lightning, animated via OpenGL by your graphics card – no Flash plugin needed (click the image):

Click me!

If you want to stay updated about this developing technology, you can subscribe to the Planet WebGL meta-blog feed.

I can also recommend Giles’ step-by-step tutorials on learningwebgl.com, which I based my sphere example on.

This is just the beginning :) Some people are already creating games, demoscenes, and Viewers for 3D models with WebGL.

Update: Much faster mesh generation, more polygons. Always use Array.push instead of Array.concat.

Update 2: The Mesh library is now a separate file. Fixed some bugs with mesh generation.

Sun 2009-10-04 ( En pr )

In my tests, Ruby 1.8.7 runs simple benchmarks about 3-8% faster than 1.8.6 – that’s nice!

But Ruby 1.9.1 is far more fast, with speedups up to 2x for some real-life cases, and a reliable speedup around 10-20%.

JRuby performs better than 1.8, sometimes even better than 1.9, but only for longer tasks. For short benchmarks and day-to-day tasks, it’s often 2 or 3 times slower than any C-Ruby. The startup time is around 1 second, and thus JRuby is not the right tool for scripting tasks. It runs best on Java 6.

Wed 2009-09-30 ( En )

Draw here!

Draw the symbol you want to TeX in a HTML 5 Canvas, and it (mostly) gives you the command. Wow :)

Sun 2009-09-27 ( De )

Sat 2009-09-26 ( En pr )

I updated my Ruby 1.8 vs. 1.9 benchmark.

It seems they continue to speed up Ruby in the latest 1.9 trunk, eliminating some slowness and stabilizing the new VM.

For the projects I am programming lately, namely Fukubukuro (a JavaScript interpreter in Ruby) and EPIC/EVIL (a secret project ;), Ruby 1.9 turns out to be about twice as fast as Ruby 1.8.6. I also profit from faster testing, spec-checking and RDoc generation.

Sun 2009-09-13 ( De fu )

Bekanntmachungen und Aktuelles steht über dem schwarzen Kasten in der Ortsmitte von Bad Karma. Er ist leer.

Hätte Bad Karma ein Wahrzeichen, dann wäre es dieser Kasten.

Fri 2009-09-11 ( De fu )

Bad Karma, ein beschauliches Örtchen im wilden Südwesten Brandenburgs.

Hier wurde Stroh erfunden.

Sat 2009-08-15 ( pr )

Licenser and the folks of the Divided Space team want to use a hexagonal grid for their free massive multiplayer online role-play science-fiction fantasy browser game…thingy. Hex fields are so much cooler than squares or diamonds…remember Siedler 2? We want that. But it’s not easy…even the most basic thing, recognizing which hex field is currently under the cursor, proved to be hard to solve. So I worked hard to get it done, fast and reliable, because we can’t even begin to make an interface without such a function.

Licenser’s approach was absolutely funny, he actually checked the distance to the center coordinates of all hex fields to select the one nearest to the cursor – perfectly simple, but with quadratic complexity. Since the function has to be evaluated onmousemove, it needs to be FAST.

This is the function that I came up with, using school geometry knowledge and a great deal of trial-and-error:

Sun 2009-08-02 ( En ap )

uptime says my MacBook with Leopard (OS X 10.5.7) has been running for over 21 days now without reboot, and with lots of sleep phases:

 9:55  up 21 days, 20:55, 3 users, load averages: 0.47 0.36 0.35
Wed 2009-07-22 ( En pr )

A Chess simulation with JavaScript and HTML 5 Canvas.

It is to be played by two human players. I’m planning a computer opponent.

  • shows board and pieces (as letters)
  • shows possible moves
  • move pieces: click on piece, then click on target square
    • all move rules except check, castling, en passant, draw game rules
  • tested with Safari 4.0.2, Firefox 3.5.1, Opera 9.64, and iPhone OS 3.0
    • No shadows on Opera :-(
  • graphical pieces, thanks to Cburnett from Wikipedia
    • I actually extended the Shapes library to interpret SVG paths!
Sat 2009-07-18 ( En pi )

I managed to build a readable QR Code (a 2D barcode) with my Lego blocks:

The encoded content is the URL of this blog, http://murfy.de. As you can see, I had not enough black pieces, and improvised with blue. I had to fill the background with white pieces to make it readable.

Fri 2009-07-17 ( pi fu En De )

I saw this one in my Finder sidebar on Wednesday.

Wed 2009-07-15 ( En fu )

Nice new campaign from Microsoft.

Sun 2009-07-05 ( pi En De )

Sat 2009-06-27 ( En ap )

Snow Leopard, the next version of Mac OS X, is scheduled for September, a month before Windows 7. It will be almost completely 64 bit, Intel-only, and cost $29€ for Leopard users. Apple first announced that Snow Leopard would merely include speedups and core improvements, but now they added a lot of new features as well – not all of which get the publicity they deserve.

Sun 2009-06-14 ( De )

Einer sagt zum anderen, daß der Durchschnittsbürger nur wenig Ahnung von Mathematik habe. Der zweite ist damit nicht einverstanden und meint, daß doch ein gewisses Grundwissen vorhanden sei.

Als der erste mal kurz austreten muß, ruft der zweite die blonde Kellnerin, und meint, daß er sie in ein paar Minuten, wenn sein Freund zurück ist, etwas fragen wird, und sie möge doch bitte auf diese Frage mit ‘ein Drittel x hoch drei’ antworten.

Etwas unsicher bejaht die Kellnerin und wiederholt im Weggehen mehrmals: “Ein Drittel x hoch drei…”

Der Freund kommt zurück und der andere meint: “Ich werd Dir mal zeigen, daß die meisten Menschen doch was von Mathematik verstehen. Ich frag jetzt die blonde Kellnerin da, was das Integral von x zum Quadrat ist.” Der zweite lacht bloß und ist einverstanden.

Also wird die Kellnerin gerufen und gefragt, was das Integral von x zum Quadrat sei. Diese antwortet: “Ein Drittel x hoch drei.”

Und im Weggehen dreht sie sich nochmal um und meint: “Plus c.”

Sun 2009-06-07 ( En pr )

Ever wanted to know how much longer your cp -r needs? This little Ruby script might help you.

$ cp2 coderay coderay-0.8
From: 307M	coderay
To:   154M	coderay-0.8

The second line updates every second while copying. It’s fast enough on OS X, but I’m sure it can be optimized.

Here’s the code:

Sat 2009-05-30 ( En po ra )

Today, President Barack Obama released plans to create a new government office dedicated to Cybersecurity. In his announcement, he stated:

Let me also be clear about what we will not do. Our pursuit of cybersecurity will not – I repeat, will not include – monitoring private sector networks or Internet traffic. We will preserve and protect the personal privacy and civil liberties that we cherish as Americans. Indeed, I remain firmly committed to net neutrality so we can keep the Internet as it should be — open and free.

Mon 2009-05-25 ( De )

Die 37,0te Konferenz der Informatikfachschaften ist vorbei. 5 Tage lang habe ich relativ wenig geschlafen, dafür viel geredet, gegessen, gelernt.

Wie üblich wurde abends gesungen, wo ich zum einen mein Lied Bachelor (zur Melodie von Reinald Grebes “Brandenburg”; vorsicht, UTF-8) ausprobiert habe, zum anderen mit Dominic endlich mal Knorkatorlieder singen konnte.

Mein Arbeitskreis Amok – Kontrolle ist erwartungsgemäß zu einer Diskussion über Gott und die Welt geworden. Ich denke aber, wir haben alle dazugelernt; die schwierigsten Fragen zu Gesellschaft, Recht, Politik, Pädagogik und Kultur sind vielleicht nicht zu beantworten. Der Austausch darüber ist dennoch wichtig.

Beim PowerPoint-Karaoke habe ich einen hochinteressanten Vortrag über Precision Livestock Farming gehalten und dabei mein Fachwissen zum Thema unter Beweis gestellt. (Wer es nicht kennt: beim PowerPoint-Karaoke hält man einen Vortrag zu Folien, die man noch nie gesehen hat.)

Passend zum allgegenwärtigen Thema Piraten haben wir Arrrrr! gespielt: Funktioniert genau wie Schach, aber Schwarz beginnt und man sagt “Arrrrr!” statt “Schach”. Ich habe sogar einmal gewonnen!

Dank der Kamera vom CMS der HU Berlin, der fleißigen Reporterarbeit von Knut und Frank und Apple’s iMovie konnte ich in letzter Minute noch einen kleinen Dokumentations-Film über die KIF erstellen, der sehr gut ankam.

Mon 2009-05-18 ( De pi fu ap )

Kostenfreie Lieferung – cool!

1000 XServe, 1000 Mac Pros, 1000 Cinema Displays…das Zeug würde das ganze Haus, in dem ich wohne, füllen. Ich meine bis zur Decke. Falls es nicht unter den Tonnen Metall zusammenbricht. Der nötige Strom würde vermutlich die Hauptleitung schmelzen. Die Abwärme würde das Haus in Brand setzen. Und jeder einzelne Mac hätte nicht mal 1 KB/s Downstream.

Der Preis ist gar nicht mal hoch: Würden mir auch nur 1% der deutschen Steuerausfälle in diesem Jahr gehören, könnte ich diese Bestellung ca. 50x aufgeben. Na gut, minus den Feuerwehreinsatz. Aber es schafft Arbeitsplätze.

Sun 2009-05-17 ( En pi fu )

I love this movie.

Mon 2009-05-04 ( En pr )

Here’s another experiment with canvas: a simple map editor (click on the image).

You need Firefox, Opera, or Safari to see this; preferably one of the current beta versions (Safari 4 runs fastest, Firefox 3.5 is okay).

Wed 2009-04-29 ( pi De En )

Sat 2009-04-25 ( En pi ap )

I’ve always been a fan of steampunk. This one is a nice calculator for the iPhone. It was made by Halle Winkler, a programmer in Berlin – and I haven’t found out yet whether this is a female name o_O

Thu 2009-04-23 ( En pr )

TeX is much to complicated for me, especially when it comes to simple text – I prefer the simplicity of Textile. But when it comes to typesetting formulas, there’s no real alternative.

So I’m trying to combine them, with this little Ruby script which runs on Leopard and uses latex2png:

Tue 2009-04-21 ( En pr )

Another great article about programming is the quite short piece Teach Yourself Programming in Ten Years from Peter Norvig, written 2001. The title should be enough to stir your interest :)

According to this article, I’m some years and a few programming languages away from becoming a “master”. Yay me!

Sat 2009-04-18 ( En fu )

Please don’t vote now.

Actually, I think blog polls are statistically ridiculous.

Sun 2009-04-12 ( En pr )

One of the best articles I’ve read about general programming language topics is Jonathan Amsterdam’s Java’s new Considered Harmful (click on “Print” for a less ad-cluttered version.) He criticizes the use of the new Constructor(...) statement in Java on a functional level, concluding that “…for statically typed languages, it may not be possible to do better…”.

If you are interested in the never-ending discussion about static versus dynamic typing, I encourage you to read it. If you’re not, well, do something else.

Amsterdam also mentions Ruby’s approach to object creation, stating that it fixes a problematic behaviour of Smalltalk. Still, according to him, one problem remains:

A second drawback with […] Ruby is that initialize, being an ordinary method, does not chain: You must remember to begin your initialize methods with a call to the superclass’s initialize method.

Wed 2009-04-08 ( En De pi )

Wed 2009-04-08 ( De fu )

Ballersatz.

Mon 2009-04-06 ( En De pr )

1 Ruby

2 Python

3 JavaScript

4 C

5 QBasic

6 LOLCODE

7 Java

Mon 2009-03-30 ( En De ra )

Sarah Palin

Guido Westerwelle

Andrea Ypsilanti

Franz Josef Jung

Hans Joachim Schellnhuber

Hartmut Mehdorn

The Pope

Sun 2009-03-29 ( En ra pr )

-7 TeX – hate it, can’t find a replacement

-6 MSN Messenger, ICQ Client – I hate ads

-5 TWiki – the ulcer of Web 2.0

-4 coderay executable – ugly, cryptic, incomplete – needs a rewrite

-3 RDoc – hopelessly bad

-2 chatcity.de – so buggy that it hurts

-1 Internet Explorer 6 – it’s the devil

Sun 2009-03-29 ( En pr fu )

Mon 2009-03-23 ( De pi )

Wed 2009-03-18 ( an En )

The Sky Crawlers, the latest movie from Mamuro Oshii, the director of the Ghost in the Shell movies. A quiet, poetic, philosophic, dramatic, sad movie. With lots of silence, CG airfight, cigarettes, children, a mother, a father, and a dog. And to your enjoyment, it’s two hours long.

I’ll just re-post my message to Frostii here:

Tue 2009-02-24 ( pr En )

It’s final. I fell in love with JavaScript.

I still love Ruby, but she can’t do this:

Your browser sucks.

(Essentially the clock from the Mozilla Canvas tutorial, a little tweaked.)

No GIF, no Flash, no Silverlight, no SVG, no ugly hacks – just HTML and JavaScript. As an added bonus, it doesn’t work in Internet Exploder.

Mon 2009-02-23 ( En fu )

…or a meta version of them. Hard stuff.

And someone once wrote my CodeRay website was ugly!

But nothing is as cool as Zombo.com.
Hey, their favicon resembles the CodeRay one o_O

Sun 2009-02-22 ( De an )

Nach dem Beschuss ihres Autos verfolgt Major Kusanagi den flüchtigen Cyberterroristen, Togusa bleibt zurück.

Major, über Funk: Togusa, wenn Sie noch leben…reißen Sie sich zusammen und verhaften Sie die Müllkutscher!

Togusa (krabbelt unverletzt aus dem Müll): Verstanden.

Togusa (zu sich selbst): Jawoll ja, das Leben ist ein Abenteuer…

Eine actionreiche Verfolgungsszene ohne Togusa folgt.

(Video: YouTube, bei 3:26)

Falls jemand da draußen den Film immer noch nicht gesehen hat – angucken! Am besten auf DVD ;) Ich empfehle die alte deutsche Synchronisation, die auf der deutschen Fassung auch mit enthalten ist.

Mon 2009-02-16 ( pi En pr )

Another variation of Ruby-chan for the CodeRay Website.

Fri 2009-02-06 ( fu En De )

Zugreifen!

  • harakiri-training.{net,com,org,de} – ceremonial suicide for perfectionists
  • son[-]schmar[r]n.de – So’n Schmarrn!
  • mylleimer.de – nicht M. Ülleimer
  • staats-sicherheit.de – Homepage des Dr. Schäuble
  • sql-fu.de – master your SQL
  • perfect[-]cheese.com – Der perfekte Käse.
  • mieznozeros.de – ein Rhinozeros, das “Miau!” macht
  • chillkroeten.de – Ey, Dude!
  • abc[-]bombe.de – Buam!
  • curling-action.de – Die spannendste Sportart der Welt!
  • mycollapse.de – Manage your insolvency online for FREE!
  • oddeyedcat.{net,org,de} – strangely beautiful
  • this-is-sparta.de – *kick* — SOLD!
  • rmfb.de – Read My Fucking Blog!

Waldkitas sind langweilig!

  • kitawald.de
  • wallkita.de
  • wildkita.de
  • gewaltkita.de
  • kita-gewalt.de

(This is an open list, add your ideas in the comments.)

Tue 2009-02-03 ( En pr )

Nobody can solve a big problem. But some people are good at dividing big problems into smaller problems that everybody can solve.

Those people are called programmers; their skill is division.

Thu 2009-01-22 ( pi En De )

This was 4 years ago. I assume they are still computing the image of the 2006 map.

Mon 2009-01-19 ( pi fu )

by LeoLeonardo

Sun 2009-01-18 ( En ra )

github commit comments

There’s a form for comments, but if you try to send it, you’re redirected to the login page! If you don’t know how to fight spam, at least don’t let me type my shit into the trash bin. I allow anonymous comments on my blog, and if you don’t, you stink.

nVidia Forums

Your captchas are so stinkin’ unreadable that I had to try at least a dozen times ! I’m not blind you know? And if you validate my email adress anyway, why bug me with captchas? And then, I couldn’t log in! After trying a dozillion times, I found out that you have to give your email and password, instead of the nickname you had to choose. Try reading some interface guidelines! Finally:

Sorry, your account has been locked due to an excessive number of failed login attempts within a defined period. Your account will automatically be unlocked in 14 minutes

SOB!

Thu 2009-01-01 ( En pr )

Ever wondered where a deep symlink points to? Try tracelink.

13:59:48 ~ $ tl foo2
foo2 --> foo (relative)
foo --> bla (relative)
bla: empty
14:00:27 ~ $ tl `which tl`
/usr/local/bin/tl --> /usr/local/bin/tracelink (absolute)
/usr/local/bin/tracelink: a ruby script text executable
14:00:34 ~ $ cat `which tl`
Thu 2009-01-01 ( De )

Frohes Neues Nein

Zweitausendneun –
Man kanns umzäun
Dann durchn Zaun
Durchschaun.
Drinnen ist draußen.

Zweitausendneun –
Ich sollt mich freun
Freuich mich?
Ich weißes nich.
Froit oich!

Zweitausendneun –
Ich werds bereun
Und ich bereues
Frohes Neues
WELTWIRTSCHAFTSKRISE!!! Wer hat das gesagt? *umschaut*

PS: Hey, ihr Israelis und Palästinenser. Ihr könnt jetzt mit dem Raketenschießen aufhören.