The FileSystemHashMapNotepadCalculator

Worse Than Failure, ehemals The Daily WTF, veranstaltete einen Wettbewerb, wer die grottigste Taschenrechner-Anwendung schreiben kann. Platz eins und zwei sind bereits nominiert. Der erste zeichnet sich durch "perfekten" Code aus. Der zweite, mein heimlicher erster Platz, durch Schwachsinn pur, schön in einer Flash-Animation dargestellt.

Add comment Juni 5th, 2007

Text-Erdbeere fuer den Mac

Bei den Texteditoren werden religiös anmutende Kriege gefochten. Uralt ist zum Beispiel der zwischen Vim und Emacs (ich nutze vim auf der Konsole). Nur was wird als Text-Editor mit GUI verwendet? Die mitgelieferten Programme taugen meist nicht viel. Das gilt für Windows (Notepad) und Mac OS X (TextEdit). Es gibt kein Syntaxhighligt für alle möglichen Sprachen sowie Konfigurationsdateien und - wenn überhaupt - nur rudimentäre Suchen- und Ersetzen-Funktionen.
Auf dem Mac habe ich bis vor kurzem die kostenlose Version von BBEdit TextWrangler verwendet. Die war jedoch weder schön, noch besonders flexibel und einfach. Daher musste eine Alternative her. In Smultron habe ich diese gefunden. Die Oberfläche gefällt mir wesentlich besser und es handelt sich um ein OpenSource-Projekt. Auf der Feature-Liste findet sich alles was ich brauche. Gut der Fullscreen-Modus ist vielleicht überflüssig, aber wer weiß. Auf jeden Fall ausprobieren!

Add comment Mai 21st, 2007

Bugs im Java Bytecode finden

FindBugs ist ein Tool, um potentielle Fehlerquellen in Java aufzuspüren. Dabei arbeit es nicht auf dem Quelltext, sondern dem Bytecode. Damit muss nicht zwischen Java 1.4, 5 oder 6 unterschieden werden, da sich in den neuen Releases nur Sprachfeatures und etwas Syntax geändert haben. FindBugs ist kein Wunder- oder Allheilmittel. Es hilft jedoch lästige und häufig auftretende Fehlerquellen aufzuspüren. Bewerten und entscheiden muss der Programmierer nach wie vor selbst.

Add comment März 3rd, 2007

The Daily WTF aendert den Namen

WTF Logo Warum der schöne und meiner Ansicht nach zutreffende Name dieser Seite geändert wurde ist mir ein Rätsel. Eine Seite die sich mit Kuriositäten aus dem Programmiereralltag beschäftigt, kann meiner Meinung nach nur so heißen. Da ich jedoch nur ein B-Bloger bin, zähle ich nicht und die Seite ist ab sofort unter www.worsethanfailure.com/ erreichbar. Das Kürzel WTF bleibt gleich, lediglich die (offizielle) Bedeutung wird anders interpretiert.

Add comment März 1st, 2007

Adieu, Floppy-Disk! Wir basteln die Enterprise

“Adieu, Floppy-Disk!” lautet der Titel einer Homage von Tagesschau.de auf die alten Disketten. Der lange Artikel ist sogar in einen ersten und einen zweiten Teil aufgespalten. Darin finden sich nicht nur längst vergessene Softwareperlen und aktuelle Verwendungsmöglichkeiten für die Plastikteile, sondern auch eine Bastelanleitung für den Metallteil einer Diskette: Raumschiff Enterprise aus einer Diskette.

Add comment Februar 8th, 2007

Mac OS X Taschenrechner mit coolen Funktionen fuer Programmierer

Ich muss gestehen, dass ich bisher den dämlichen Rechner im Dashboard benutzt habe. Dass Apples OS X einen eingebauten Rechner hat, hatte ich in Jahren nicht bemerkt. Das liegt aber an der Namensgebung. Wenn ich in Spotlight Taschenrechner oder Calculator eingebe, passiert nichts. Apple nennt das Programm schlicht und einfach Rechner. Toll.
Jedenfalls hat das Tool nicht nur eine normale und eine wissenschaftliche Ansicht, so wie der Windows Taschenrechner oder kcalc, nein es gibt eine spezielle Ansicht für Programmierer. Und die ist wirklich sehr nützlich. Folgendes ist möglich:

  • Boolsche Operationen
  • Shifts
  • Vertauschungen
  • Rotationen
  • Einer- und Zweierkomplementdarstellung
  • Hexadezimale, Oktale und Dezimale Eingabe
  • Bit-Ansicht mit 64 Stellen
  • Zeichenrepräsentation in ASCII oder Unicode

Wer das alles nicht verstanden hat, wird es nicht brauchen :D. Für den Programmierer ist das jedoch sehr sehr nützlich! Gefunden bei Stralau.

ApplesTaschenrechner

1 comment Februar 5th, 2007

Geschichte der Programmiersprachen

Die Geschichte der Programmiersprachen gibt es bei O’Reilly. Das Poster geht zwar nur bis 2003, die Sprache D fehlt zum Beispiel, gibt aber dennoch eine schöne Übersicht.

Add comment Januar 31st, 2007

D ist da (Programmiersprache)

Nach C kommt D. Logisch. Auch wenn dazwischen C++ und Java als bekannteste Vertreter stehen. Was ist mit A und B? Und worum gehts hier eigentlich?
Nun D ist eine neue Programmiersprache, wobei sie schon seit ein paar Jahren durch das Web geistert. Auf Tutorials.de haben wird das vor ziemlich genau zwei Jahren schon einmal kurz diskutiert. Seit Anfang Januar ist die Sprache jedoch mit allen notwendigen Tools wie Compiler und Dokumentation in der Version 1.0 veröffentlicht worden (Bericht auf heise.de).
Der Hersteller Digital Mars stellt auf seinen übersichtlichen Seiten ausführliche Informationen zur Verfügung. Für einen schnellen Überblick, zumindest für Entwickler, ist diese Tabelle gedacht. In ihr wird D mit anderen Industriestandards wie C, C++, C# und Java verglichen. Wie man sieht vereint C viele Vorteile der Bytecodesprachen C# und Java mit denen von C++. Zudem ist die Syntax sehr ähnlich.
Man kann nicht davon ausgehen, dass sich diese Sprache mittelfristig gegen die starke Konkurrenz (C# von Microsoft und Java von Sun) durchsetzen kann. Eventuell geht sie auch völlig unter. Meiner Ansicht nach hat sie jedoch auf jeden Fall eine Chance verdient. Ausprobieren!
Viele Zusatztools wie Unit-Testing, Coverage und Converter aus anderen Sprachen existieren bereits, bzw. sind direkt integriert. Zudem gibt es den Compiler für alle wichtigen Betriebssysteme, sowie Unterstützung von sehr vielen Entwicklungsumgebungen. Darunter Eclipse, Visual Studio und XCode (1.5 only!). Zudem gibt es bereits eine extra Webseite: dsource.org, mit gut 100 registrierten Projekten.
Und wer so lange durchgehalten hat: A und B hat es natürlich nie gegeben. Ein A+ jedoch schon! Es ist ähnlich zu APL und heute absolut unbekannt :D.

2 comments Januar 5th, 2007

Reihenfolge von Bits umdrehen

Bereits vorgestern habe ich den Artikel Reverse bit order geschrieben. Da es mein erster englischer Artikel ist, ist dieser hier mehr fuer die Robots. In dem kleinen Codebeispiel wird gezeigt wie man die Reihenfolge der Bits in einem Integer, Short oder Byte umdrehen kann. Es ist in Java programmiert, funktioniert aber auch in jeder anderen Programmiersprache.

Add comment August 21st, 2006

Reverse order of bits in Java, or any other language

At "Summercamp 2006" at the University of Passau I was working with pupils on a simple Voice over IP application. They finished this task quite fast and after two days we had to give them something more complex. So they worked on recording and manipulating sound.
Then we had the problem of changing the order of bits efficiently. I do not mean a simple xor, so I give you an example:

0 0 1 1 0 1 0 0 : 52 (changing order of bits)
0 0 1 0 1 1 0 0 : 44

I tried a few things with build in Java classes but did not find the solution. So I took a pencil and tried a lot with boolean operators. It turned out that you can restrict it to two lines of code, with a surrounding for statement:

for (int i = 0; i i< size; i++) {

    newInt = (newInt * 2 + (temp & 0x1));
    temp =  (temp / 2);
}

And because the members of our team where not familiar with these operators I wrote a whole Java class, which you can find here in my blog: BitFlip.java. The class requires a Java 5 compiler, because of the size constants. Feel free to use it in your projects.

1 comment August 19th, 2006

Next Posts Previous Posts