Richard Cyganiak’s Weblog

5. 12. 2004

Project Management Checklists

Abgelegt unter: Programmieren — Richard @ 17:50

Für meine Bookmarks: Alan Green hat eine Reihe von Project Management Checklists für Software-Projekte. Projektanfang, Projektende, wöchentlich, neues Teammitglied und so weiter. Was drin steht, ist common sense, aber nützlich damit unter Stress nicht ein wichtiger Aspekt unter den Tisch fällt.

(via 43 Folders)

29. 10. 2004

Ich lerne AppleScript

Abgelegt unter: Apple, Programmieren — Richard @ 01:11

Es passiert nicht mehr alle Tage, dass ich eine neue Programmiersprache lerne.

AppleScript ist so was wie VBA für Mac OS. Es ist eine recht einfach gehaltene Sprache, die selbst nicht viel kann, aber auf die Funktionen und Daten vieler Mac-Programme zurückgreifen kann.

Ein typisches Beispiel: Im Adressbuch von Mac OS X kann man Geburtstage eintragen, aber diese werden im Kalender von Mac OS X nicht angezeigt. Das ist eine Parade-Anwendung für AppleScript. Wahrscheinlich wurde die Funktion extra weg gelassen, damit die Leute einen Grund haben, AppleScript zu lernen. Mein erstes Programm löst genau dieses Problem und ist hier zu finden: Applescript: Kopiere Geburtstage vom Adressbuch nach iCal

Lernen war einfach. Ich habe mir Matt Neuburg’s AppleScript: The Definitive Guide gekauft, was wahrscheinlich Overkill ist. Ich habe die ersten 40 Seiten gelesen (sehr nützlich, sie geben einen groben Überblick zu Anwendungsmöglichkeiten, Tools, usw.), und 4-5 Mal zu bestimmten Themen nachgeschlagen. Mehr war nicht nötig, um den Einstieg zu schaffen. Bis das Script fertig war, vergingen etwa drei Stunden. Nicht schlecht.

(Zugegeben, zwei Dutzend Geburtstage von Hand zu kopieren, hätte zehn Minuten gedauert.)

AppleScript ist offensichtlich auf leichte Erlernbarkeit angelegt. Programmzeilen lesen sich halbwegs wie englische Sätze (was ja keine gute Idee sein muss, siehe COBOL). Beispiel: make new event at end of events of theCalendar with properties eventProps. Dabei sind theCalendar und eventProps Variablen, deren Wert ich vorher gesetzt habe. Mir gefällt das ganz gut. Ist zwar viel Tipperei und nervt wahrscheinlich auf Dauer, aber merkt sich extrem gut.

Was fiel mir bei der Lernerfahrung negativ auf?

  • Kein automatisches Anzeigen von Fehlern während des Tippens, wie z.B. bei Eclipse.
  • Schlechte Fehlermeldungen. NSScriptFooBarError, und die verursachende Zeile wird markiert. Ursache war dann vielleicht, dass ich auf ein nicht existierendes Array-Element zugreifen wollte.
  • Es ist schwer nachzuvollziehen, was für Ergebnisse die einzelnen Befehle geben. Mein Wunsch: Nach der Ausführung des Scripts mit der Maus über den Code fahren und in Tooltips die letzten Werte aller Rückgaben sehen, inkl. Elemente eines Arrays, Eigenschaften eines Objekts usw.
  • Als Ersatz diente mir die display dialog-Funktion. Sie akzeptiert aber nur Zeichenketten und keine komplexeren Strukturen wie Arrays.
  • Der Rückgabewert des letzten Befehls wird in einem extra Bereich angezeigt, auch inklusive Array-Elementen und Objekteigenschaften. Manchmal steht da aber nur “event 12 of calendar 3 of iCal”, was überhaupt nicht hilfreich ist.
  • Zum Lernen wären ein paar Beispielscripte hilfreich gewesen, an denen man sich die Grobstruktur eines Scripts und nützliche Idiome abschauen könnte.

Mit einer besseren IDE als dem doch recht bescheidenen Script Editor von Apple wäre es ein superleichter Start geworden. Das gibt mir Hoffnung, dass Programmieren mit der richtigen Sprache und den richtigen Werkzeugen doch eines Tages zu einer Grundfertigkeit wie Lesen, Schreiben und Rechnen werden kann.

28. 10. 2004

C als Scriptsprache?

Abgelegt unter: Programmieren — Richard @ 16:05

TinyCC ist ein superkompakter, extrem schneller C-Compiler. TinyCC kann beispielsweise einen Linux-Kernel in 15 Sekunden kompilieren. Schnell genug, um das bei jedem Bootvorgang zu machen, wie Slashdot schreibt.

In einem Kommentar habe ich das gesehen:

#!/usr/local/bin/tcc -run

main()
{
    DoSomethingHere();
}

Mir ist schwindelig. C als Scriptsprache? Man kann sich auf gar nichts mehr verlassen dieser Tage.

15. 10. 2004

StatCVS 0.2.2 veröffentlicht

Abgelegt unter: Projekte, Programmieren — Richard @ 22:09

StatCVS ist ein CVS-Statistiktool, dessen Maintainer ich bin. Jetzt habe ich Version 0.2 veröffentlicht. Ich musste gleich noch 0.2.1 und 0.2.2 nachschieben, da sich Fehler in den Buildprozess eingeschlichen hatten, die ich erst nach dem Release bemerkt habe.

Es ist das erste Release seit eineinhalb Jahren. In der Zwischenzeit haben sich eine Vielzahl neuer Features und Bugfixes angesammelt, die jetzt endlich auch für Leute verfügbar sind, die sich ihre Software nicht aus dem CVS selbst kompilieren.

Hier ist ein StatCVS-erzeugter Beispiel-Report, der die Entwicklung von StatCVS selbst darstellt.

8. 10. 2004

SourceForge-Projektaktivität als RSS

Abgelegt unter: Projekte, Web 2.0, Programmieren — Richard @ 23:45

Bei SourceForge gibt es diese Projektstatistik-Seiten mit Anzahl der täglichen Seitenaufrufe und Downloads. Ich schaue immer gern auf diese Zahlen. Ich messe daran – wenn auch subjektiv – den Erfolg meiner Projekte. Wohin geht der Trend? Wie wirken sich aktuelle Meldungen auf die Download-Zahlen aus? Oder, bei manchen Projekten, hey, wieder ein Download!.

Heute habe ich RSS-Feeds für die Statistiken gebastelt. Dort kann ein Feed für jedes beliebige SourceForge-Projekt erzeugt werden. Hier ist ein Screenshot des StatCVS-Feeds in NetNewsWire.

Leider hinken die Statistiken immer zwei Tage hinterher. Das liegt an SourceForge.

Update: Das SourceForge-Statistiksystem war lange down, jetzt geht alles wieder.

Powered by WordPress