Mein letzter Blogeintrag ist schon ne Weile her. Das liegt u.a. daran, dass ich ein vergleichsweise arbeitsreiches Semester hinter mir habe… und jetzt noch zwei Klausuren vor mir. Mit ein bisschen Glück gibts jetzt aber wieder etwas öfter was von mir zu lesen. In der Zwischenzeit haben sich eine Hand voll halb-fertige Artikel angesammelt. Ebenso wie einige interessante Links…
Informatik
- Mein Vortrag für die diesjährigen Delphi-Tage ist angenommen worden. Auf der “Agenda” steht was von “Was die OOP-Tutorials verschweigen”. Es geht grob gesagt darum, wie man objektorientiert denkt. Die Folien werde ich online stellen, wenn ich sie fertig habe.
- How Not To Sort By Average Rating. Ein interessanter Artikel über das richtige Sortieren von Bewertungen (via).
- Ich hab jetzt mal auf WordPress 3 aktualisiert. Ging überraschend reibungslos. So wie ich das sehe, gehen alle Plugins noch, obwohl die meisten davon nicht für die 3er-Version aktualisiert wurden. Eigentlich sollte das bei gutem Design ja normal sein. Eigentlich…
- Wer sich ein bisschen für Security interessiert, sollte sich vielleicht mal “Tatort Internet” ansehen. Bisher gibt schon 4 Folgen. Alle sind sehr interessant und kurzweilig geschrieben. Da sieht man mal wie Malware wirklich funktioniert. Wenn man mitkommen möchte, sollte man aber ein paar grundlegende Assemblerkenntnisse mitbringen.
- “software is like sewage pipes, I want it to work reliably and I don’t want to know about the details” (gefunden bei Martin Fowler). Das Bild passt auch ganz gut auf Module. Denn genau so funktioniert Kapselung (“I want it to work reliably”) und Information Hiding (“and I don’t want to know about the details”). Der Artikel ist übrigens auch ganz interessant.
- Ich finde ja Assertions sehr praktisch. Also wenn man sie richtig anwendet. Vor einiger Zeit hab ich dazu einen interessanten Artikel gelesen: Design by Contract and Unit Testing. Die Frage ist nämlich u.a. wie das mit Unit-Tests zusammenpasst. Es gibt da noch ne Menge dazu zu sagen. Da werde ich aber wohl separat mal dazu bloggen. Wenn ich hoffentlich bald mal dazu komme…
- Zehn Zentimeter: In diesem kurzen Blogpost erklärt Isotopp sehr schön, welchen Beschränkungen verteilte Systeme hinsichtlich der Performance ausgesetzt sind.
Anderes
- Nein, heute gibts nichts anderes…
Tags: Assertions, DBC, Delphi-Tage, Isotopp, Kapselung, Martin Fowler, OO, Security, Unit Testing, Wordpress
Gefangen, nicht gefunden! | Christian |
7. August 2010 15:49 |
Kommentare (0)
Informatik
- Das Windows-Setup wird auch immer schlechter. Letztens hab ich meinem Cousin nen DualBoot eingerichtet. Bei der Linux-Installation Platz für Win gelassen, dann Vista-Setup gestartet. ==> “Es wurde kein Systemvolume gefunden, das den Installationskriterien entspricht.” Äh… die gewählte Partition war die erste auf der einzigen Platte und war auch schon NTFS-partitioniert und auch groß genug. Was bitte fehlt da noch? Und die Fehlermeldung ist natürlich mal wieder ziemlich nichts-sagend. Die allwissende Müllhalde hat diverse merkwürdige Vorschläge geliefert (u.a. mit XP-CD booten und von da aus formatieren). Letztendlich hat es sich heraus gestellt, dass man händisch mit diskpart die Partition als aktiv markieren musste. Und dann hats geklappt. Warum bitte kann das Windows-Setup das nicht selbst tun?
- Zwischendurch hab ich schon gedacht, die Spam-Bots werden intelligenter. Statt sinnlos 20 Kommentare mit Potenzmittel-Werbung zu hinterlassen, kommen jetzt viel weniger und mache davon sind sogar schon auf deutsch und verzichten auf Werbung im Kommentar. Und mit ein bisschen Glück passt der Text sogar zum Artikel. Beispiel:
An sich ne gute Sache, ich frag mich nur, ob das auch dauerhaft brauchbar bleibt.
Das war ein Kommentar in meinem Artikel Opera-Profil mit Windows teilen. Der Text passt perfekt. Würde man ja fast freischalten, wenn da nicht der Benutzername “Spiel Roulette” wäre und ne einschlägige Website angegeben wäre. Außerdem wurde der Artikel zwei Mal kommentiert. Mit gleicher Mail-Adresse, unterschiedlichem Benutzernamen und anderem – diesmal etwas weniger gut passenden – Text. Schlussfolgerung: Entweder sind die Spam-Bots schlauer geworden oder sie haben mich in die Liste gepackt “Sinnloses Bombardement hilft nix, aber vielleicht isser ja blöd genug, deutsche Kommentare zu akzeptieren.” Immerhin hab ich jetzt weniger Spam zu löschen… Mittlerweile wird der Spam aber auch schon wieder mehr und wieder dümmer. *seufz*
- Ich lese gerade The Pragmatic Programmer und dort ein sehr interessantes Kapitel über Exceptions. Dazu muss ich auch mal was bloggen. Das hat auf jeden Fall einen eigenen Blog-Post verdient. Das Buch kann ich jedenfalls weiter empfehlen.
Anderes; heute: Recht
- Ich höre in der Uni gerade (freiwillig) Zivilrecht. Vom Prof. empfohlen: Tele-Jura. Ist ganz interessant und gut gemacht.
- Ein interessanter Vortrag von Udo Vetter (lawblog) über rechtliche Aspekte des Bloggens.
Informatik… mehr oder weniger… oder weniger
- Delphi-Treff wird 10. Anlässlich dieses Geburtstags gibt ein neues Design, ein Update der Forensoftware und ein Gewinnspiel.
- Wer sich schon immer mal gefragt hat *wie* kompliziert C ist, sollte sich mal diesen Artikel über printf() ansehen (via). Da kann man manchmal nur noch den Kopf schütteln.
- Eigentlich dachte ich zu wissen, was Thunderbird meint, wenn von “Komprimieren” die Rede ist. Dachte ich… Tz…
Anderes – hauptsächlich Typographie
Seit ich LaTeX gelernt hab, finde ich Typographie ganz interessant. Und achte seit dem auch (ein bisschen) darauf. Zumindest bei allem, was über einen Blog-Post hinausgeht. Hier ein paar interessante Links dazu:
Informatik
- MPICH2 (zumindest die Windows-Version) ist wohl eines der wenigen Programme das seine Versionsnummer verheimlichen will. Readme – schweigt sich aus, Changelog – gibts (in der Installation) nicht,
--version-Parameter – gibts nicht, Ordnername mit Versionsnummer – auch nicht. Letztendlich hab ich den Wert nur in der Systemsteuerung gefunden (da wo man das deinstallieren kann; früher hieß das mal “Software” jetzt glaub ich “Programme und Funktionen”).
- Deadlocks sind unlustig. Insbesondere, wenn man sie sich mit MPI baut. Naturgemäß lassen sich die Dinger nur schwer debuggen. Da braucht man ne ganze Zeit, bis man die Fehlerquelle überhaupt lokalisiert hat…
- Hat schonmal jemand seine Bugs protokolliert? Ich hab das mal gemacht und es ist ganz interessant zu sehen, welche Fehler man so macht. Vllt. blogge ich mal ne Statistik.
Anderes
- Letztens hatte ich mal die Gelegenheit die Menüführung von dem “Bordcomputer” vom Mercedes Sprinter zu bewundern. Schlecht! Mit Useability scheinen es die Auto-Bauer nicht so zu haben. Normalerweise ist sowas ja nicht schwer zu realisieren. 4 Knöpfe reichen da: Menü/OK, Hoch/+, Runter/- und Exit. Das System sollte hinlänglich bekannt sein und ist bei den meisten Monitoren für die Farbeinstellungen, etc. genau so implementiert. Die Entwickler hatten die Lösung also wohl direkt vor der Nase. Was aber ist denen eingefallen: Es gibt 6 Knöpfe: MenüHoch, MenüRunter, Hoch, Runter, + und -. Kein OK, kein Exit, aber dafür Hoch-Runter drei mal. Äh… Was haben die sich dabei gedacht? Vielleicht unterschiedliche Hoch/Runter-Knöpfe für unterschiedliche Hierarchieebenen? Das wär ja schon bescheuert, aber noch nicht mal das stimmt so recht. Sry, aber ne Useability-Schulung täte den Ingenieuren gut.
- Noch ein Useability-Unfall beim Sprinter: Scheibenwischer und Blinker sitzen hier auf einem Hebel. Zum Wischen muss man da jetzt die Hand vom Lenkrad nehmen und drehen… Da wollten sie wohl den Regensensor verkaufen…
Informatik
- Sieht jemand den Fehler in folgendem C++-Code? Was doch ein einzelnes Zeichen ausmachen kann…
1 2 3 4 5 6 7 8 9 10 11 12
| #include <iostream>
double foo(double a, double b = 0)
{
return a * b;
}
int main()
{
double var = foo(1. -3);
std::cout << var << std::endl;
} |
- Kollisionserkennung mag ja in 2D recht trivial sein; in 3D wird das aber richtig kompliziert. Hätte das gar nicht gedacht. Nicht nur, dass sich z.B. Kugeln mit unterschiedlichen Massen und Geschwindigkeiten in unterschiedlichen Winkeln (im Vergleich zur Bewegungsrichtung) treffen können. Es gibt auch lustige Sonderfälle, die man beachten muss. Beispielsweise, wenn sich eine Kugel nicht bewegt und demnach ihr Bewegungsvektor der Nullvektor ist, kann man diesen nicht normieren. Im Physikunterricht muss man ja nur für einen konkreten Fall etwas berechnen. Will man das aber programmieren, so muss man jeden auch noch so seltenen Sonderfall beachten, weil der u.U. ne Exception auslöst. Wenn jemand mal zu viel zeit haben sollte, ist ne (einigermaßen) physikalisch korrekte Simulation eines Ballwurfs (mit Kollisionen an Wänden, anderen Bällen etc.) ne herausfordernde Aufgabe.
- Ein Tutorial über Exceptions steht auch noch auf meiner Liste der noch zu schreibenden Tutorials. Die Idee ist insbesondere bei Anfängern noch nicht ganz erfasst. In diesem Post geb ich mal so einen kleinen Eindruck. Es gibt aber noch viel mehr zu sagen. Mal sehen, wann ich dazu komme…
Anderes
- CiteSeer ist zwar ne tolle Seite, aber leider viel zu oft down…
- Im Master-Studium gibts so viele interessante Vorlesungen, dass man sich kaum entscheiden kann. Und damit die Entscheidung auch ja nicht so leicht fällt, gibts Abhängigkeiten zwischen den Vorlesungen und manche Vorlesungen nur in unregelmäßigen Abständen angeboten. Allein die Planung ist da ja schon ne Wissenschaft für sich…
Informatik
- So langsam gewöhne ich mich an git. Der Ansatz gefällt mir außerordentlich gut. Allein schon die Möglichkeiten von git log sind erstaunlich.
1
| user@host:~/rep$ git log --since="2009-01-01" --until="two months ago" |
Es dauert allerdings etwas, bis man sich an git gewöhnt. Anfangs wird man fast von den vielen Möglichkeiten erschlagen und so kann ich noch lange nicht sagen, dass ich schon das meiste kann, aber die grundlegenden Sachen sind nicht viel schwerer als bei SVN…
- Wenn ich schon bei git bin, dann soll natürlich das Git-Buch nicht verschwiegen werden: book.git-scm.com Auch hier gibts dazugehörige Videos. Diese sind ein ganzes Stück ausführlicher als der Text und scheinen nachvertont zu sein. Das Video ist oftmals einen Tick schneller, sodass während über das eine Kommando gesprochen wird, schon das nächste da steht. Trotzdem sehr empfehlenswert.
- Durch eines der Videos ist mir aufgefallen, dass ich ein interessantes bash builtin bisher noch nicht kannte. Mit
pushd kann man wie mit cd in ein neues Verzeichnis wechseln, allerdings wird das alte auf einen Stack gelegt. Mit popd kann man es wieder vom Stack nehmen und dirs zeigt den Inhalt des Stacks an. Man page lesen lohnt sich.
- Ich habe schon wieder in einem C++-Projekt vergessen einen virtuellen Destruktor zu vergeben und dadurch ein Speicherleck produziert. Warum erzeugt der doofe Compiler da keine Warnung? So schwer sollte das doch nicht sein…
- Exceptions sind toll. Sie helfen ungemein Fehlerbehandlung und eigentlichen Code zu trennen und machen den Code lesbarer wartbarer und robuster. Ich benutze Exceptions sehr gerne. Aber wo Licht ist, ist auch Schatten: Exceptions sind manchmal nicht ganz einfach richtig zu verwenden. Ein interessanter Artikel über Exception Safety zeigt das.
Informatik
- Ich arbeite mich gerade etwas in git ein. Hier ein interessanter Vortrag: Git The Basics Tutorial Leider ist der Ton nicht so gut. Am Anfang katastrophal, wird dann besser aber nicht gut. Der Inhalt ist aber gut. Relativ viel Zeug, sodass man sich nicht sofort alles behalten kann, dennoch eine gute Einführung.
- Wer ein Tool zum schnell mal n UML-Diagramm Hinschmieren sucht, kann sich mal yUML ansehen. Man kann damit auf einfache Weise einfache Klassen-, UseCase- und Aktivitätsdiagramme erstellen. Text dient als Input, die Diagramme werden automatisch gezeichnet. Nichts um ernsthaft zu modellieren, aber gut zum schnell mal was zusammen zu kritzeln…
- Auf DelphiGL.com (übrigens ne gute Adresse, wenns um OpenGL geht) habe ich drei Tutorials zum Thema Softwareentwicklung gefunden. Sowas wollte ich auch mal schreiben. Streckenweise sind diese Tutorials ganz gut, das ein oder andere gefällt mir aber nicht so ganz. Manches Wichtige wird unterschlagen (Grundprinzipien der Modellierung z.B.), anderes ist etwas… äh… ungenau (man könnte auch sagen: falsch). Teilweise bin ich auch nur anderer Meinung. Insgesamt wird der Modellierungprozess etwas zu starr beschrieben, wie ich finde. Ist also nur bedingt zu empfehlen. Vielleicht schreibt ich ja auch mal was zu dem Thema. Es darf sich aber jeder selbst ein Bild davon machen…
- Durch das Lesen der Tutorials ist mir nochmal aufgefallen, dass ich mir mal genauer Gedanken darüber machen sollte, was ich von Robustheitsdiagrammen halten soll. Im Studium haben wir die nie benutzt und auch so hab ich sowas noch nie verwendet. Abwechselnd finde ich die Dinger entweder klasse oder kontraproduktiv, weil in die falsche Richtung führend. Momentan tendiere ich zu letzterem, das kann sich aber schnell wieder ändern. Ich glaube ich muss das irgendwann einfach mal ausprobieren…
Informatik
- Ein Blick über den akademischen Tellerrand in die Praxis: Ein paar Gedanken zu Foreign Key Constraints. Bisher hab ich FK-Constraints immer positiv betrachtet. Der Artikel zeigt, dass es auch Fälle gibt, wo sie kritisch zu sehen sind. Wieder mal heißt die Antwort auf eine SE-Frage “It depends.”…
- Ich werde bald eine Seminararbeit zum Thema “Software architectural tactics and patterns for safety and security” schreiben. Sehr interessantes Thema!
Sonstiges
- Bei Netzpolitik hab ich einen interessanten Radiobeitrag gefunden. Es geht um Journalismus und die Blogosphäre.
- Eigentlich hatte ich ja vor, über die aktuelle Relevanzdiskussion in der und über die Wikipedia zu bloggen. Ich hatte da auch schon angefangen. In Anbetracht der Tatsache, dass meine Zeit momentan leider sehr begrenzt ist und die Debatte so schnell ist, dass ich ihr selbst kaum folgen kann, wirds wohl nix mit dem Blog-Post.
Informatik
- Daniel hat der Delphi-Reference ein Update spendiert. Jetzt wird das PSDK noch vollständiger und zudem das DocWiki indiziert. Klasse!
- Meine Zusammenfassung zu [post="unicode-und-co" text="Zeichenkodierungen"] ist fertig geworden. Tutorial will ichs noch nicht nennen, aber es sollte trotzdem einen Überblick verschaffen können.
Sonstiges
- Am 1. Oktober wurden wieder die Ig-Nobelpreise verliehen. Sind wieder ein paar lustige dabei: u.a. Milchkühe, Isländische Banken und BH-Gasmasken. Wer diesen Preis noch nicht kennt, sollte sich auch die Preisträger der vergangenen Jahre ansehen.
- Bin gerade auf ein interessantes Online-Wörterbuch gestoßen: Wortschatz der Uni Leipzig. Neben den Bedeutungen gibts Häufigkeiten, Synonyme, Beispiele und Kookkurrenzen.
- Im Mittelalter dachte man, die Erde wäre eine Scheibe? Teflon ist ein Nebenprodukt der Raumfahrt? Und Einstein war ein schlechter Schüler? Ich bin gerade (mal wieder) auf das Wikibook “Enzyklopädie der populären Irrtümer gestoßen, das genau mit sowas aufräumt.
Informatik
- Daniel aus der DP hat ein neues Projekt gestartet: Delphi-Reference ist eine Art Meta-Suchmaschine für Delphi. Indiziert wird momentan Die Delphi 2009-Hilfe(docs.embarcadero.com), ein Teil des PSDK und die DP. Die D2010-Hilfe(docwiki) soll noch folgen. Interessant wär natürlich, wenn noch weitere Quellen ergänzt werden, aber das schon jetzt klasse! Hab ich gleich mal in Opera als Search-Engine integriert…
- Neben der Delphi-Reference hat Daniel auch wieder ein neues Delphi-Video. Diesmal zum Thema RTTI und Attribute in Delphi 2010.
- Zum dritten mal informiere ich mich jetzt über Zeichensätze. Da ich da anscheinend immer wieder gern was vergesse, werd ich das mal zusammenschreiben. Demnächst gibts also wohl einen kleinen Artikel dazu.
- Gestern hab ich mir mal mal LINQ in Prism angesehen. Genial. Überhaupt ne geniale Sprache. Zu schade, dass ich Prism mangels Gelegenheit wohl erstmal nicht unter die Finger krieg.
Sonstiges
- Der Qualitätsjournalismus entdeckt (mal wieder) Twitter: “Wir waren Franz Müntefering“
- Ich habe gerade einen sehr interessanten Wikipedia-Artikel über das Voynich-Manuskript gelesen. Diese Handschrift stammt wohl aus dem Mittelalter und ist in einer unverständlichen Schrift geschrieben. Zudem enthält es zahlreiche rätselhafte Zeichnungen. Die Deutungen reichen von Schabernack bis Zauberspruch. Interessant zu lesen…