abandoned bytes
[X] <- nail here for new monitor

Schöne neue Welt

16. Jänner 2010

Die Menschen redeten immer noch von Wahrheit und Schönheit wie von den höchsten Gütern. Bis zum Neunjährigen Krieg. Der ließ sie einen anderen Ton anschlagen. Was nützen Wahrheit oder Schönheit oder Wissen, wenn es ringsumher Milzbrandbomben hagelt? Damals, nach dem Neunjährigen Krieg, wurde die Wissenschaft zum ersten Mal unter Kontrolle gestellt. Die Menschen waren zu jener Zeit sogar bereit, ihre Triebe kontrollieren zu lassen. Alles für ein ruhiges Leben! Seit damals haben wir die Kontrolle auf immer weitere Gebiete ausgedehnt. Natürlich nicht gerade zum Vorteil der Wahrheit, wohl aber zum Vorteil des Glücks.

— Aldous Huxley - Schöne neue Welt

0 Kommentare. Kommentare anzeigen/schreiben  

OpenOffice-Maus mit 18 Tasten und Joystick

09. November 2009
OpenOffice-mouse with 18 buttons
OpenOffice-Usability, von Technikern in Mausform gekleidet

Die Maus verkörpert doch echt mal die Usability (deutsch: Benutzbarkeit) von OpenOffice.

 

 

0 Kommentare. Kommentare anzeigen/schreiben  

Wikipedia: 99 % aller Deutschen sind irrelevant

20. Oktober 2009
hürdenspringendes Kaninchen
Relevanzhürde der Wikipedia

Gut, endlich hat's jemand in Worte gefasst: Das Projekt Wikipedia muss überdacht werden, wenn die Enzyklopädie nicht ein halbfertiges Online-Nachschlagewerk mit Getrolle hinter den Kulissen bleiben möchte.

99 % aller Deutschen sind irrelevant. Und werden es auch immer bleiben. Jedenfalls nach den Relevanzkriterien der deutschen Wikipedia.

In der deutschen Wikipedia ist nur das relevant, wovon nachgewiesen werden kann, dass es auch außerhalb des Internets irgendwie berühmt oder wichtig ist oder irgendwann einmal bedeutend war, alles andere muss damit rechnen, jederzeit gelöscht zu werden, unabhängig von der Qualität des Artikels, oder ob es Millionen Menschen außerhalb der Wikipedia für relevant halten...

... Ein gut gemeinter, aber ziemlich armseliger Versuch, Regeln aufzustellen, mit denen die Menschen und die Welt in relevant und irrelevant aufgeteilt werden sollen.

Aggregat7

Zuletzt geändert: 21. Oktober 20090 Kommentare. Kommentare anzeigen/schreiben  

Windows 7 Sins

18. September 2009

Erstmal Verzeihung an die rein deutschsprachigen Leser, das ist hier schon das zweite englischsprachige Zitat. Ich kann's leider nicht ändern, und übersetzen will ich es nicht.

... Microsoft have deliberately crippled Windows 7, leaving netbook users at the mercy of Microsoft to control which applications they can use, as well as the number of applications that can be run simultaneously...

... This is not new, however. In 1996, a furor erupted over Microsoft Windows NT. At the time, Microsoft was selling two versions of its operating system: Windows NT Workstation and Windows NT Server...

... both the NT Workstation code and the license agreement restricted users to no more than ten concurrent TCP/IP (i.e., Internet) connections; while NT Server remained unlimited...

We call such limitations, antifeatures. An antifeature is functionality that a technology developer will charge users to not include — it is more difficult for Microsoft to limit Internet connections than it is to leave them unconstrained — and the limit is not something that any user would request.

Windows 7 Sins

Zuletzt geändert: 18. September 20090 Kommentare. Kommentare anzeigen/schreiben  

The Pirate Bay 3 Stunden lang offline

25. August 2009

The good people at the MAFIAA decided to sue. Not TPB, not the owners of TPB. Not even TPBs ISP. They decided to sue TPBs ISPs ISP.

And you know what? They won. They made a court believe their #lies and they made them force the ISPs ISP to shut down access to TPB.

TPB can be compared to the organisation that builds the roads for cars to drive on. The ISP can be compared to the organisation that creates the asphalt for the roads. The ISPs ISP can be compared to the organisation that creates the tools needed to the asphalt to be created. You would normally not sue that organisation if a car speeds.

The Pirate Bay

0 Kommentare. Kommentare anzeigen/schreiben  

Zurück von der IOI 2009 (Plovdiv, Bulgarien)

16. August 2009

Naja, ich habe bei der IOI 2009 zwar keine Medaille gewonnen, aber eine Menge Erfahrung gesammelt - und viel Spaß gehabt! Das Event war komplett und kompetent durchorganisiert und beinhaltete u.a. die Anwesenheit des bulgarischen Bundespräsidenten, Herrn Parvanov, bei der Eröffnung, und Polizeieskorte zum Schwarzen Meer ;-)

Vielleicht wird's ja nächstes Jahr in Kanada was. Ich gratuliere Henadzi Karatkevich aus Weißrussland, der den Wettbewerb mit nur 14 Jahren gewonnen hat!

0 Kommentare. Kommentare anzeigen/schreiben  

PHP + AJAX Chat

25. Juni 2009

Ich habe ein minimalistisches "proof-of-concept" AJAX Chat in PHP geschrieben. Wenn jemand an einer Basis für eine Weiterentwicklung interessiert ist, kann er sich das anschauen.

Das einzig Interessante beim Programmieren war nur, herauszufinden, dass PHP-Sessions exklusiv sind (und dadurch die Session für andere Scripts gesperrt wird, wenn ein Client auf ein PHP-Script "AJAX"-wartet, welches absichtlich die Zeit verzögert. Man muss im verzögernden PHP-Script die Session schließen).

Download: ajaxchat01.zip

0 Kommentare. Kommentare anzeigen/schreiben  

Algorithmus zum Bild-verkleinern

19. Juni 2009

Vor kurzem brauchte mein Vater einen Bildverkleinerungs-Algorithmus für eine Anwendung (ja, er ist Softwareentwickler). Man würde annehmen, dass es eine große Auswahl an Resize-Bibliotheken zum Ändern der Bildgröße gibt, da es ja auch eine Menge Algorithmen wie Bilinear, Bikubisch etc. gibt. Jede Menge Googeln führt jedoch zu einem anderen Bild. Es gibt durchaus einige Bibliotheken, jedoch mit enormen Abhängigkeiten, eine braucht sogar die komplette GTK+ Bibliothek als Abhängigkeit!

Das Projekt meines Vaters wird in Borland C++ Builder entwickelt (iiek!). Das Borland-Toolkit selbst bietet außer dem "nearest neighbor" (nächster Nachbar)-Algorithmus keine weiteren Algorithmen zur Bildverkleinerung, und dieser sieht sehr schlecht aus (pixelig). Nachdem mir das Googeln zu blöd wurde, habe ich daher eine kleine Funktion zum Bildverkleinern geschrieben, welcher nichts außer einen C++ Compiler braucht. Ich habe mir eigene Überlegungen bezüglich des Algorithmus gemacht, am nächsten kommt er jedoch an die Bilineare Filterung heran (ich mag übrigens keine mathematischen Beschreibungen auf Wikipedia. Ich bin eher ein Programmierer als ein Mathematiker!)

Die Verkleinerung wird selbsterklärend von der Funktion scale() gemacht. Dieser Code ist bereits eine optimierte Version, die leider auch Makros beinhaltet und nicht besonders gut zu lesen ist. Ich schlage vor, die Funktion einfach zu benutzen ;-) Man könnte mich ja auch nerven, eine schönere Version zu schreiben.

readpng() und die PNG Library werden nur benutzt, um ein Beispielbild einzulesen, was sowieso durch eine andere Art der Pixelbeschaffung ersetzt wird. (Ja, ja, ich habe versprochen, dass das Programm keine Abhängigkeiten hat. Ich habe nur Beispieldaten gebraucht, und BMP kam nicht in Frage, denn es ist wirklich nicht lustig, ein Programm zu schreiben, das alle unterschiedlichen Bitmap-Formate unterstützt).

Derzeit wird nur die Verkleinerung von Bildern unterstützt. Eine Vergrößerung um einige % scheint allerdings auch kein Problem zu sein.

Download: scaledown.zip

Zuletzt geändert: 30. August 20090 Kommentare. Kommentare anzeigen/schreiben  

Backup mit dump

15. Mai 2009

dump ist ein etwas älteres, aber sehr nützliches Unix-Tool zum Backupen (Anfertigen von Sicherheitskopien, schlagt mich wegen dem Anglizismus) von ext2 und ext3-Dateisystemen. Ich verwende es für das Backupen meiner Home-Partition, was nützlich ist, wenn man sie nachher mal komplett wiederherstellen will (Gründe: Festplattencrash, gestohlener Laptop etc.).

Für Leute, die nicht die gesamte Manpage lesen wollen, um zu verstehen, wie man dump aufruft, hier eine kurze Erklärung:

dump -3u -h 0 -f - /home | gzip > /pfad/zum/backup/verzeichnis/backupfile.dump.gz

Die erste Zahl, hier 3, ist der dump level, welcher für inkrementelle Backups benutzt wird - die Zahl wird jedes Mal erhöht, um nur inkrementelle Backups zu erstellen (welche ich täglich mache); das angehängte -u heißt "aktualisiere die Liste der Backups". Die -h 0 Option sagt dump, dass der nodump flag berücksichtigt werden soll; das heißt, dass Dateien, die mit dem "nodump"-Attribut versehen sind, bei dump level größer gleich 0 nicht mitgespeichert werden (mit 0 werden sie also nie gespeichert - dieses Attribut verwende ich für Videos, Bilder und andere Dateien, die ich nicht dringend brauche). Siehe weiter unten für das nodump flag.

Das -f - sagt dump, wo die Ausgabedatei zu speichern ist, was hier mit - als die Standardausgabe angegeben ist. Der letzte Parameter ist das Dateisystem (Device-Datei oder Mountpoint), welches gesichert werden soll.

Ich lasse dump auf die Standardausgabe ausgeben, welche ich dann in gzip pipe, um die Dateien etwas zu komprimieren. Ich verwende einen NFS Mountpoint für die Zieldatei, was im Endeffekt heißt, dass die Datei auf meinem Server abgespeichert wird. Man könnte natürlich auch einen Dateinamen nach -f angeben und sich die ganze Piperei zu gzip sparen.

nodump flag

Dies ist ein Attribut der ext2/3-Dateisysteme, welches von dump benutzt wird (wenn man es explizit angibt), um zu bestimmen, ob eine Datei oder ein Ordner überhaupt gebackupt werden muss. Ich benutze dieses Flag für Dateien und Ordner, welche ich nicht unbedingt dringend brauche, aber die viel Speicherplatz brauchen, wie z.B. Videos oder Ordner mit Bildern. Das Attribut setzt man mit:

chattr +d <Datei oder Verzeichnis>

Man kann das Attribut auch mit dem gleichen Befehl wieder löschen, wenn man -d benutzt. Man kann sich auch die ext2/3 Attribute ansehen mit:

lsattr

Die Syntax des lsattr-Befehls erinnert an die Syntax des allseits bekannten ls-Befehls.

Shell-Skript

Man sollte immer wieder mal ein volles Backup machen, damit man nicht ALLE Backup-Dateien braucht, um eine Partition vollständig wiederherzustellen. Man muss auch ein volles Backup machen, bevor man inkrementell backupen kann. Man kann ein volles Backup mit der Option -0u (oder dem Argument full beim Skript) machen.

Hier präsentiere ich ein kleines Shellskript, welches ich für tägliches, inkrementelles Sichern verwende. Die Grundidee ist, die Backup-Nummer hochzuzählen und den Backup-Dateinamen ein Datum anzuhängen. Verwendung des Skripts auf eigenes Risiko:

#!/bin/bash # LAST_BACKUP="/etc/last_backup" BACKUP_PATH="/mnt/public/David/_bak/laptop" BACKUP_MOUNTPOINT="/home" sudo smbmount //LINUX/PUBLIC /mnt/public sudo umount "$BACKUP_MOUNTPOINT" if [ "$1" = "full" ]; then if sudo dump -0 -u -h 0 -f - /home | gzip > "$BACKUP_PATH/home-full-`date +%Y-%m-%d`.dump.gz"; then echo 0 | sudo tee "$LAST_BACKUP" > /dev/null exit 0 fi exit 1 fi lb=`cat "$LAST_BACKUP"` nb=`expr $lb + 1` if sudo dump -$nb -u -h 0 -f - /home | gzip > "$BACKUP_PATH/home-`date +%Y-%m-%d`.dump.gz"; then echo $nb | sudo tee "$LAST_BACKUP" > /dev/null fi sudo mount "$BACKUP_MOUNTPOINT"
Zuletzt geändert: 07. September 20091 Kommentare. Kommentare anzeigen/schreiben  

Ubuntu dist upgrade

28. April 2009

Wie man festgestellt haben könnte, ist der Support für Ubuntu 7.10 Gutsy ausgelaufen. Ich hatte diese Distro auf meinem Server installiert und wunderte mich kürzlich darüber, dass ich keine neuen Pakete mehr installieren konnte (überall 404-Fehler). Daher sah ich mich gezwungen, einen Upgrade zu machen:

do-release-upgrade

... hat sehr schön in 45 Minuten (auf einer 1 GHz Maschine...) auf 8.04 Hardy aktualisiert. Es gab überhaupt keine Probleme, nur einige Konflikte in Konfigurationsdateien, die recht nett als diff angezeigt werden. Hierbei besteht dann die Möglichkeit, händisch etwas zu machen. Jöö! (ich hatte schon die Backups vorbereitet)

0 Kommentare. Kommentare anzeigen/schreiben  

Natives GCC auf dem Openmoko FreeRunner

13. April 2009

Credit: Dieses kurze How-To basiert auf einer Mail von Shawn Rutledge an die Mailing-Liste org.openmoko.lists.device-owners.

Der ganze Haufen an Zeugs (Paketen) passt nicht in den Flash des FreeRunners, sodass man eine Partition auf einer microSD-Karte erstellen und auf /usr mounten muss.

Verbesserungsvorschläge und Kritik bitte hier an mich senden.

0 Kommentare. Kommentare anzeigen/schreiben  

Ford Autoradio 4000 RDS ausbauen und reparieren oder der eingedrückte Drehknopf

29. März 2009
Ford Radio Entriegelung

Ford Radio - reparierte Frontplatine

Frage: Was macht man, wenn bei einem Unfall jemand auf den Lautstärke-Drehknopf eines Ford-Radios geflogen ist und dieser nicht mehr funktioniert?

Antwort:

0 Kommentare. Kommentare anzeigen/schreiben  

Yaomp - Yet Another Openmoko Music Player

06. Februar 2009
Yaomp player

Mir reicht's mit pythm, also habe ich mir mal einen ordentlichen, fingerfreundlichen Musikplayer für meinen Freerunner geschrieben. Yaomp basiert auf Qt und GStreamer und wird zum Download verfügbar sein, sobald ich noch ein paar Features hinzugefügt und den Code aufgeräumt habe.

Edit: Schaut so aus, als wäre die Entwicklung dieses Programms gestorben! Das ist schade, weil es einige gute Ideen eingebaut hatte (gewichtete Zufalls-Playlist, Abschaltung des Bildschirms bei Wiedergabe und Pause/Weiterspielen bei einem Anruf). Ich sollte diese Features wenigstens in Intone einbauen.

Zuletzt geändert: 30. August 20090 Kommentare. Kommentare anzeigen/schreiben  

Layer 8-Problem bei Google

02. Februar 2009

Hehe: Google hat am Samstag ein Update der Liste von Malware-URLs eingespielt, die alle Ergebnis-URLs beinhaltete (z.B. auch Googles eigene Seiten). Details siehe z.B. bei Golem.

0 Kommentare. Kommentare anzeigen/schreiben  

Binäruhr

14. November 2008
binary clock
Binäruhr zeigt 22:19:59

Nachdem ich aus unerklärlichen Gründen eine Tüte blauer LEDs gekauft hatte, und danach (nach einer Bestellung von grünem Platinen-Basismaterial) eine blaue Platine bekommen hatte, beschloss ich, eine Binäruhr zu bauen (inspiriert von ThinkGeek). Wie üblich habe ich einen Atmel ATmega8 Mikrocontroller verwendet, diesmal in einer SMD-Ausführung (TQFP-Gehäuse) hinten auf der Platine. Die anderen Teile hätten wohl auch SMD sein können, die hatte ich aber gerade nicht in SMD da (ätsch). Trotzdem habe ich versucht, sie "schön" anzuordnen.

In Wirklichkeit ist es keine richtige Binäruhr, denn sie zeigt die Uhrzeit in BCD (binary coded decimal) an, damit man sie leichter lesen kann.

Die Software ist unspektakulär: Ein Timerinterrupt zählt die Uhrzeit, während ein anderer Interrupt die Zeilen multiplext, damit man am Chip weniger Ausgänge braucht (eine Zeile wird mit jeweils einem Transistor ausgewählt). Die EAGLE-Files für die Platine habe ich verschmissen, den Assembler-Quellcode gibts bei mir auf Anfrage.

Zuletzt geändert: 20. Oktober 20090 Kommentare. Kommentare anzeigen/schreiben  

© 2009 by David Madl. Impressum | Home (English) | Home (Deutsch) | Processing time: 0.571 s

abandoned bytes (de)
User:
Pass: