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.

Montag, 29. Dezember 2008

Scarlett Thomas

Ich lese seit gestern "Troposphere" (das ist merkwürdigerweise der deutsche Titel, der englische ist "The End of Mr. Y"). Und das Buch ist ziemlich großartig. Ich werde mir bald mal "PopCo" kaufen.

Sonntag, 28. Dezember 2008

RealWorld

Mit ist das zwar schon länger bewusst, aber eben erst ist mir die Komik daran aufgefallen: In Haskell gibt es einen Datentyp "RealWorld" (für Zustände von Operationen in der IO-Monade). Der wird allerdings bei der normalen Benutzung der Sprache absichtlich vor der Programmiererin versteckt.

Samstag, 20. Dezember 2008

Android

Die Weihnachtsferien haben angefangen und deshalb hab ich ein bisschen Zeit, mich mit dem OpenMoko Freerunner zu beschäftigen. Gestern Nacht hab ich Android installiert, nach dieser Anleitung: http://forum.koolu.org/viewtopic.php?f=10&t=34. Ich hatte vorher 2008.12 drauf und hab damit die SD-Karte formatiert. Dazu braucht man mkfs.vfat, das ist im dosfstools-Paket. Das ist aber in den 2008.12-(ASU, oder?)-Repositories nicht drin. Aber das gibt es hier: http://lists.openmoko.org/nabble.html#nabble-td723604. Als ich adb benutzen wollte und dieses kein Device gefunden hat, hat bei mir ungefähr folgendes geholfen:
./adb kill-server
ADBHOST=192.168.0.202 ./adb start-server
ADBHOST=192.168.0.202 ./adb devices

Jetzt versuche ich gerade das WLAN zum laufen zu kriegen, das geht über die GUI noch nicht.

Mittwoch, 19. November 2008

SMS verschicken

debian-gta02:~/playground/dbus# ./test org.freesmartphone.ogsmd \
/org/freesmartphone/GSM/Device \
org.freesmartphone.GSM.SIM.RetrieveMessagebook "[String \"all\"]"
Array:
1: Struct:
1: Int32: 1
2: String: sent
3: String: +49xxxxxxxxxxx
4: String: Dies ist eine durch ein Haskell-Skript \
versandte Test-Simse.

2: Struct:
1: Int32: 2
2: String: unread
3: String: +49xxxxxxxxxxx
4: String: Dies ist eine von klenz versendete \
antwort


Ich hab jetzt Debian auf dem FreeRunner laufen und hab ein Haskell-Programm geschrieben, um DBus-Methoden aufzurufen. DBus ist ziemlich gut. Besonders für Benutzer etwas exotischerer Programmiersprachen. Weil das Interface total sprachunabhängig ist. Man kann eigentlich alle (schon implementierten) Funktionalitäten des Telefons über Haskell ansprechen. Hmm, was kann man damit denn jetzt anstellen...

Montag, 10. November 2008

Neues Telefon

shahn@habana:~$ ssh root@192.168.0.202
root@192.168.0.202's password:
root@om-gta02:~# cd /proc/
root@om-gta02:/proc# cat cpuinfo
Processor : ARM920T rev 0 (v4l)
BogoMIPS : 199.47
Features : swp half thumb
CPU implementer : 0x41
CPU architecture: 4T
CPU variant : 0x1
CPU part : 0x920
CPU revision : 0
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format A
Cache format : Harvard
I size : 16384
I assoc : 64
I line length : 32
I sets : 8
D size : 16384
D assoc : 64
D line length : 32
D sets : 8

Hardware : GTA02
Revision : 0360
Serial : 0000000000000000



Juhuu!

Mittwoch, 5. November 2008

Skalen in Jena

In einer Woche (am 13.11.) gibt es in Jena die Veranstaltung "Absolut Jena". Da werden auch Visualisierungen von Skalen gezeigt, die ich im Moment programmiere. Informationen dazu gibt's hier: http://systemprogramm.info/Absolut_Jena.html. Es gibt auch einen sogenannten Jena-Shuttle, der vormittags von Berlin aus losfährt und nachts zurück. Mit dem werde ich auch unterwegs sein. Bin mal sehr gespannt, wie das da wird.

Dienstag, 28. Oktober 2008

Neuer Blog!

Tim hat jetzt auch einen Blorg: http://s223357750.online.de/ Unter diesen veränderten Voraussetzungen habe ich mich entschlossen, meinen eigenen Block hierher zu migrieren. Mein alter Blog befindet sich hier: http://open-projects.net/~shahn/index.cgi?seite=blog, wird aber bald nicht mehr geupdatet. Solange die Kommunisten diesen Blog hier nicht abschießen.