Mittwoch, 23. Dezember 2009

Nokia N900

Eben hab ich mir im überfüllten AEZ das Nokia N900 angeschaut. Es gibt insgesamt drei Modelle von Nokia, die eine ausziehbare Qwertz-Tastatur haben und auf zwei davon läuft Symbian. Aber auf dem N900 läuft Linux und Maemo. Was ich interessant fand, war folgendes:
  • Vorne auf dem Werbe-Faltblatt über das N900 wird auffällig damit geworben, dass Open-Source-Software eingesetzt wird. ("Unglaublich schnell. Open Source. Linux.")
  • Der Verkäufer war von Fragen, die in Richtung Liunux gingen, etwas überfordert aber nicht total überrascht und irritiert. Er meinte, es wären schon öfter Leute mit ähnlichen Fragen gekommen.
  • Viele Fragen konnte ich großartigerweise selbst beantworten, weil auf dem Ding ein Terminal zur Verfügung stand. So konnte ich in Erfahrung bringen, dass im Moment sowohl GTK-, als auch Qt-Bibliotheken im Einsatz sind. Vermutlich sollen sukzessive immer mehr Dinge durch Qt ersetzt werden.
  • Python war installiert. Witzig, in einem Einkaufszentrum in einem Handy-Shop mal eben ein Hello-World-Programm zu schreiben und auszuführen. Übrigens hab ich keine Ahnung, ob ich irgendwas schlimmes hätte anstellen können.
  • Auf dem Terminal ist man etwas aufgeschmissen, wenn man nicht alle ASCII-Zeichen eingeben kann. (Wenn man "<", ">" oder "|" braucht, muss man die Hardware-Tastatur wegklappen, dann durch Tippen auf das Terminalfenster die Bildschirm-Tastatur öffnen und dann auf ein Sonderzeichensymbol tippen.) Vielleicht ist das in der Variante mit englischem Tastaturlayout besser.
  • Was allgemein in Linux-Shells fehlt (oder ich kenn's nicht), ist eine Möglichkeit, rauszufinden, welche Distribution (in welcher Version) man gerade benutzt und welches Paket-Management zur Verfügung.
In dem Laden kostete das Handy 599 €. Huihuihui.

Dienstag, 15. Dezember 2009

Keinohrwurm



Was das mit dem Film zu tun hat, weiß ich auch nicht.

Montag, 7. Dezember 2009

Handschuhe

Dokumentation für mein zukünftiges Selbst:

Beim Strickteil wird der Schlauch von Anfang an verkürzt, von 61 Maschen auf 40 Maschen. (Moment, nee, ich hab 41 Maschen. Nochmal nachzählen...ach nee, die eine wird noch abgeworfen, also 40) Das geht durch Aufnehmen von zwei Maschen alle vier Maschen. Als 1-1-1-2.

Wenn der Schlauch lang genug ist, muss abgehäkelt werden. Auf der Seite des kleinen Fingers anfangen. Die Häkelnadel durch die Schlaufe wie bei Rechtsmaschen. Vom freien Faden eine Schlaufe wie beim Häkeln bilden und durch beide durchziehen (beim allerersten Mal nur durch eine). Eine Luftmasche machen. Wiederholen.

Samstag, 14. November 2009

Gaga

Lady Gaga - Just Dance



und "One Way Gal" in der Version von den Notting Hillbillies.

Mittwoch, 4. November 2009

Handschuhe

Dokumentation für mich selbst:

  • Umfänge:
    Daumen - 16 Maschen
    Zeige- bis Ringfinger: 15 Maschen
    Kleiner Finger: 12 Maschen

  • Finger nicht zu lang machen, eine Masche zu kurz.
  • Den Ringfinger zuletzt machen, mit dessen Faden erst den Mittel- und Zeigefinger dranhäkeln, dann eine Masche rundrum, und einen später erst den Kleinen Finger. Der Daumen kommt sowieso später.
  • Die Masche, die genau zwischen den Fingern liegt, benutzt man zweimal, einmal auf dem Hinweg und einmal auf dem Rückweg. Man nimmt also pro Zwischenraum eine auf.
  • Nach dem Fingerzusammenhäkeln nimmt man in jedem Fingerzwischenraum zwei Maschen weg, damit der Handschlauch nicht zu groß wird. Also insgesamt 12 wegnehmen (ohne Daumen gerechnet). Der Handschlauch zwischen Daumen und Fingern hat also wieviel Maschen? (3 * 15 + 12) + 3 - 12 = 48. Ich zähl mal nach, ob das stimmt... Ja, zstimmt.
Ja, da bin ich auch erst. Der Daumen liegt noch auf dem Tisch. Übrigens würde ich gerne berechnen können, wie man beliebige geometrische Figuren häkeln kann. Das geht doch bestimmt.

Samstag, 24. Oktober 2009

USS Enterprise

Ich spiele mit dem Gedanken, den Uberman-Schlafrhythmus auszuprobieren. Oder schreibt man das auf deutsch mit Umlaut. Jedenfalls sieht das sehr interessant aus, finde ich. Ich hoffe, ich kann das ab dem 18. 12. machen. Uber Weihnachten.

Donnerstag, 15. Oktober 2009

Unter dem mit Karmic mitgelieferten Eclipse kann man keine Plugins installieren (https://bugs.launchpad.net/ubuntu/+source/eclipse/+bug/438414). Behoben werden kann das mit:


sudo sed -i 's/SDKProfile/PlatformProfile/' /usr/lib/eclipse/configuration/config.ini


Und vielleicht muss man .eclipse und den Workspace löschen.

Sonntag, 11. Oktober 2009

Google Wave

Ich hab mal nach dieser Anleitung Google Wave installiert. Also den Server und einen ganz einfachen Kommandozeilen-Testclient. Das funktioniert zwar alles, der Testclient ist aber total langweilig. Also ein eher spartanischer Chat-Client.



Aber es soll andere Projekte geben, die Clients implementieren, in Java und Python. Die hab ich aber noch nicht ausprobiert. Und die Weboberfläche ist wohl noch gar nicht veröffentlicht.

Update: Die Sachen in Java und Python sind wohl Bibliotheken für diese Robots und keine Clients.

Donnerstag, 8. Oktober 2009

Stromausfall

Gerade gibt es einen Stromausfall bei Flo. Wo wir beide an unserem neuen Spiel arbeiten. Der Router von Flo ist natürlich auch aus, deswegen haben wir kein Internet. Ich war gerade damit beschäftigt, Wordpress für unsere Webseite einzurichten, da macht sich so ein Stromausfall nicht sonderlich praktisch. Hmm, ich geh erstmal eine rauchen.

Freitag, 2. Oktober 2009

Abba

Seit mehreren Wochen massive Abba-Ohrwürmer. Langsam ist es nicht mehr lustig. Obwohl, doch.

Montag, 28. September 2009

darcs-ssh-Zugriff

Wenn man ein darcs-repo hat und über ssh mit mehreren Personen schreibend drauf zugreifen will, dann will man wahrscheinlich folgends tun:

1. legt man eine Gruppe gruppe an, in der alle Leute, die zugreifen können sollen, drin sind.

2.:

chown :gruppe -R .
chmod g+rwX -R .
for d in $(find -type d)
do
chmod g+s $d
done

3.
In _darcs/prefs/defaults kann man dann folgendes reinschreiben:

apply umask 0002


Die ersten beiden Schritte sind für alle möglichen anderen Repos wahrscheinlich ähnlich.

Dein Sönke

Sonntag, 19. Juli 2009

Demokratie-API

Es gibt eine Petition für das Bereitstellen einer API für im demokratischen Prozess erhobene Daten durch den deutschen Bundestag. Das wäre doch eine gute Sache.

Zur Petition

Neue Ohrwurm

"Festival In Bahia" auf dieser Platte: McCoy Tyner and the Latin All-Stars.

Montag, 6. Juli 2009

Sonntag, 5. Juli 2009

argc, argv

Falls ich (oder irgendwer sonst) nochmal in C oder C++ argc und argv selbst erstellen will, das geht so:


int* argc = (int*) malloc(sizeof(int));
*argc = 1;
char** argv = (char**) malloc(sizeof(char) * 2);
argv[0] = progName;
argv[1] = NULL;

fakemain(*argc, argv);


Bestimmt geht das auch irgendwie eleganter, aber was weiß ich?

Mittwoch, 1. Juli 2009

for-Schleifen

Wie übersetzt man das hier:

for (int i = 0; i <= 10; i++) {
...
}


nach Haskell? Anwort:

flip mapM_ [0..10] $ \ i -> do
...

Dienstag, 16. Juni 2009

Codename Nikki

Flo und ich arbeiten ja seit ein paar Tagen an einem Computerspiel. Ich hab heute versucht, dass Spiel unter Windows XP zu kompilieren. Was ganz gut funktioniert, ist, cygwin und Haskell Platform zu installieren. Dann hat man eine unix-ähnliche Umgebung zum kompilieren von Bibliotheken und Programmen in C und Haskell. (Man muss nur die include- und lib-Verzeichnisse von cygwin in der Konfigurationsdatei von cabal angeben.)

Die größten Probleme im Moment: Es fehlt noch eine plattformunabhängige Soundbibliothek, die von Haskell aus funktioniert. Und es gibt Tearing und Ruckeln in der Grafikausgabe.

Dies ist der erste von hoffentlich vielen kurzen Updates über unser Spiel.

Freitag, 29. Mai 2009

Ich hab eine Wortwolke von diesem Blog erstellen lassen.
Von http://www.wordle.net/.
Via Wadler's Blog.

Dienstag, 26. Mai 2009

Vorurteile

Disclaimer: Diesen Post habe ich vor ein paar Wochen mal angefangen.


<outdated>

Mir passiert es öfter, dass ich mit einem Computer etwas machen will, und ein bestimmtes Feature vermisse, oder Software für einen bestimmten Usecase buggy ist. Oft denke ich dann: "Ja, wenn ich jetzt statt X Y verwendet hätte, dann hätte es bestimmt funktioniert." Besonders oft hatte ich das vor ein paar Jahren mit Open-Source-Software und ihren proprietären Pendants:













XY
LinuxMicrosoft Windows XP Professional Edition™
OpenOfficeMicrosoft Office XP™
ArdourDingens, hier, Cubase, oder so


Manchmal habe ich die Möglichkeit gehabt zu überprüfen, ob diese Gedanken korrekt waren und in den meisten Fällen festgestellt, das sie es nicht waren. Nach meiner persönlichen Erfahrung ist Microsoft Word XP™ genauso buggy wie OpenOffice.
Heute hatte ich eine ähnliche Erfahrung mit zwei Open-Source-Projekten: X = KDE 4, Y = Gnome (2.irgendwas, oder wo sind die gerade?). Das kopieren von größeren Dateimengen über ssh in dolphin hat irgendwie nicht funktioniert (weil plasma gecrasht ist, weil die Notification abgeschmiert ist, oder so, kopiert wurde nur ein Teil der Daten.). Dann hab ich Gnome gestartet und das gleiche mit Nautilus versucht. Der Kopiervorgang hat sich aber irgendwann aufgehängt (hat sich einfach nicht mehr bewegt.)

Fazit:
Statt amarok2 werde ich also jetzt mal nicht auf exaile umsteigen, sondern auf amarok1 downgraden. Der war doch sowieso total super.

</outdated>

Ja, das Fazit hätte ich mal beherzigen sollen. Wegen der Playlistprobleme in amarok2 hatte ich kurz exaile ausprobiert. Exaile ist aber bei bestimmten mp3-Dateien einfach abgestürzt. Und deswegen bin ich auch darauf gekommen, diesen alten Post wieder auszugraben. Ohne mich an das konkrete Fazit erinnert zu haben. Der schönste Sieg ist der Sieg, wenn man sich nicht mehr daran erinnert, was man mal für gute Ideen hatte. Oder so.

ps.: Ich will nicht undankbar erscheinen: Alle erwähnten Open-Source-Projekte sind großartig und ich benutze sie gerne. Was ich eigentlich sagen wollte: KDE 4 und amarok2 sind zwar an einigen Enden und Ecken noch nicht fertig, aber trotzdem schon ziemlich geil.

Amarok skips tracks

Yes, Amarok 2.1-beta1 (und beta2 wohl auch) überspringt einfach Tracks aus der Playlist. Manchmal erst, nachdem ein paar Sekunden des Tracks zu hören gewesen sind. Das macht den Player leider fast unbenutzbar, finde ich. Der Workaround, der bei mir (bis jetzt) geholfen hat, ist, das "Now Playing"-Plasmoid nicht zu benutzen. Schade, das fand ich eigentlich ziemlich gut.

Montag, 4. Mai 2009

zsh tab completion für '..'

Unter Jaunty funktioniert die Tab-Completion unter zsh für '..' (Elternverzeichnisse) nicht. Zumindest nicht so, wie unter Intrepid. Das liegt wohl an der neuen zsh-Version (4.3.9). Das alte Verhalten kriegt man durch die folgende Zeile in der .zshrc:

zstyle ':completion:*' special-dirs true

Dein Sönke

Dienstag, 28. April 2009

Visualisierung von Loops

Hmm, ich wollte eigentlich ein bißchen öfter schreiben, aber es ist ja immer dasselbe... Aber wir haben hier in Barcelona gute Fortschritte gemacht. Die zentralen Objekte, um die sich bei uns alles "dreht" (haha), sind Loops. Das sind geordnete Listen von komplexen Zahlen. Von diesen können mehrere nebeneinander visualisiert werden. Als Riemannsche Zahlenkugeln. Ausserdem gibt es zwischen den Loops Abhängigkeiten, d. h. die eine ist z. B. die Fouriertransformierte der anderen. Und man kann die einzelnen Punkte auf der Kugel mit einem Gamepad manipulieren. Das Bild zeigt (wie das Bild im letzten Post) eine Loop und eine zerogepaddete Version.

Freitag, 17. April 2009

Fourierspaß

Heute habe ich kleine Bibliotheken geschrieben, mit denen sich Slow Fourier Transformation durchführen läßt, das heißt, diskrete Fouriertransformation mit Fenstern, deren Länge keine Potenz von 2 ist. Ausserdem kann man die Winkel von Polygonen in der komplexen Zahlenebene quantisieren. Und Zero-Padding habe ich eben ausprobiert und folgendes Bild geplottet. Es ist wunderschön.

Donnerstag, 16. April 2009

Ankunft

Gestern mittag bin ich in B. angekommen. Gestern Nacht hab ich noch versucht, die Horde auf meinem neuen Laptop an den Start zu kriegen, leider ohne Erfolg. Peach (so heißt mein neuer Rechner auf Moritz' Vorschlag hin) kann zwar OpenGL 2.0, aber bestimmte benötigte Extensions werden nicht unterstützt. Explizit: Extension EXT_texture_compression_s3tc not supported. Doof. Jetzt vermute ich, dass die Hardware da irgendwas einfach nicht kann. Ich kann mir aber auch vorstellen, dass der Mesa-Treiber das theoretisch können könnte, falls dieser Satz Sinn macht. Ansonsten macht der neue Rechner Spaß.

Mittwoch, 15. April 2009

Barcelona

Lange her, dass hier irgendwas zu lesen war. Aber morgen fliege ich nach Barcelona, um da mit Thomas Noll, Martin Carlé und Moritz Mattern an einem interessanten Projekt zu arbeiten und werde versuchen, hier ab und zu etwas darüber zu schreiben. Das Projekt ist unter anderem deshalb interessant, weil ein Teil -- nämlich die Programmierung eines 3D-User-Interfaces -- in Haskell passieren wird. Pünktlich habe ich dann heute auch mein neues Notebook geliefert gekriegt: Ein MSI VR220 YA in pink. Und gleich muss ich noch packen und morgen dann früh um 8 in Tegel sein. Ich freu mich schon.

Freitag, 23. Januar 2009

Seiteneffekte in Python

Im Moment bin ich auf Amrum, draußen liegt Schnee und ich programmiere in Python. Ich habe gerade lange einen Bug in meinem Code gesucht, der sich aus für mich überraschenden Seiteneffekten in Python ergab. Folgendes Skript demonstriert das:

n = 10

l = range(0, n)

lazyList = []
for i in range(0, n):
lazyList.append((lambda x: x[i], l))

resultList = []
for (fun, x) in lazyList:
resultList.append(fun(x))

print(resultList)


Das Ergebnis ist wider Erwarten:

[9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
Die mit lambda erstellten Funktionen verändern also ihr verhalten, weil sie anscheinend auf i referenzieren und nicht den Wert abspeichern. Ist das gewollt? Oder ein Bug im Python-Interpreter? In beiden Fällen, wie kann man das umgehen?

Donnerstag, 8. Januar 2009

Scrubs

Es gibt neue Folgen von Scrubs. Mit Monika Chandler-Bing als Dr. Kelso.