Ich persönlich finde die Kombination aus Code + BDD/Unittests + einer informativen Beschreibung in den meisten Fällen eine ausreichende Kombination. Sauberer Code braucht weniger Kommentare, weil er einfach verständlicher und lesbarer ist. Für Asserts/Pre/Post-Conditions/Tests sind Unit-Tests zwar kein vollständiger Ersatz, doch lässt sich damit einiges abdecken.
Was die Dokumentation angeht: Der meiste Code ist ohnehin in einzelnen Modulen oder Bereichen eingeteilt. Zwischen den Modulen entstehen Schnittstellen. Verwendet irgend jemand “fremdes” meinen Code, interessiert ihn primär die Schnittstelle, nicht die eigentliche Implementierung. Will man einen Fehler fixen, muss man sich sowieso in den Code einarbeiten. Deshalb finde ich es extrem wichtig, diese Schnittstellen sauber zu definieren/planen und auch konsistend und so intuitiv (für den Nutzer) wie möglich umzusetzen. Eine Dokumentation dieser Schnittstellen kann dann von mir aus an jeder Stelle stattfinden. Ob das jetzt in einer LaTeX-Doku festgehalten ist, per JavaDoc angeheftet wurde oder am Anfang der Datei beschriebe nist, ist mir dann eigentlihc egal. Aber das Problem der inkonsistenz bleibt natürlich bestehen :(
Die Ansätze von dir finde ich aber dennoch nicht verkehrt oder schlecht. Ganz im Gegenteil: Solche Erweiterungen (gerade das interaktive Abrufen von Dokumentation) fände ich genial. Ich erwische mich oft dabei, in irb the “methods”-Funktion aufzurufen und dann die Liste zu durchwühlen und anhand vom Namen zu erraten was die Methode eigentlich macht. Am Ende schau ich dann doch wieder auf APIDock nach, weil mir die Information nicht ausreicht.
Zum Thema “Optimierung einstreuen” hatten wir in unserer Thesis ja schon einen echt schicken Ansatz, leider ist das so mit den heutigen Mainstream-Programmiersprachen nicht möglich (Meta-Ebenen).
Deine Vision einer IDE mit mehreren “Layern” finde ich übrigens genial! Sowas würde ich mir beispielsweise auch bei Rails wünschen. Bearbeitet man gerade einen Controller, würde man mit einem Klick zur entsprechenden Stelle in der routes.rb springen können oder in die von dem Controller verwendeten Views bzw. Models. Einen Layer weiter wären dann schon die UnitTests zur Controllermethode.
Viele Grüße, Aaron
]]>Auf meinem Blog habe ich noch Google Analytics eingebunden, was ich aber (erneut) mal überdenken werde. Piwik (und einige andere mehr) habe ich mir vor längerer Zeit mal angesehen, hat mich aber alles nicht überzeugt. Wie bist du inzwischen zufrieden damit?
Was das Javascript von fremden Seiten nachladen angeht: Dieses Vorgehen macht bei populäreren Projekten wie Jquery oder YU richtig Sinn, da sie dann gecached werden können. Aber ich gebe dir recht: Gebe ich eine URL in der Adresszeile ein, spreche ich ein indirektes Vertrauen für diese Webseite aus, nicht für irgend eine andere Seite.
]]>warum ReadLine() am ende: wenn man den quellcode aus visual studio heraus compiliert und startet, erscheint automatisch eine dosbox/shell/cli (wie ihr das auch immer nennen mögt), in deren context das programm ausgeführt wird. nach beendigung des programms verliert diese dosbox ihre notwendigkeit und wird mit beenden des programms daher automatisch wieder geschlossen. hat man nur die ausgabe von ein paar zeilen text in seinem programm veranlasst, geht das alles so schnell von statten, dass der benutzer nichts erkennen kann. daher ein ReadLine() am schluß, um die beendigung des programms (und damit die schließung der dosbox) zu verhindern. erst wenn das ReadLine() abgearbeitet wurde ist das programm fertig. üblichwerweise macht man dies mit einem return. auf deutsch, programm starten, dosbox erscheint und bleibt stehen, user drückt return, dosbox verschwindet.
gruß
]]>Du hast Recht, das Thema Passwörter ist ein leidiges Thema und die meisten sehen das nicht mal als ein Problem an. Passwörter sind dazu da um die Privatsphäre zu schützen und sich auszuweisen. Ersteres ist vielen Menschen scheißegal. Sie lassen ihr Notebook offen stehen, das E-Mail-Programm noch offen und in Facebook eingelogged. Oder den Kontostand an einem offenen Surf-Terminal gecheckt und ohne sich abzumelden weggelaufen. Alles schon gesehen. Da muss man ja schon froh sein, wenn sie ein Passwort für alles haben, sich das gemerkt haben und den Logout-Knopf finden.
Was ich noch zum Passwort ändern sagen wollte: Grade heute stand auf Golem “Kundendaten/Zugangsdaten von Die ZEIT wurden auf einer P2P-Plattform verteilt”. Diese Schwachstelle ignoriert man sehr gerne und ist bei einem “Ein-Passwort-Für-Alles”-User natürlich fatal. Deshalb sind die von dir beschriebenen generierten “Wegwerf-Passwörter” natürlich das beste. Verwendet man eine Passwortverwaltung die sich gut ins System integriert, kann das Passwort auch 50 Stellen lang sein, wenn man es nie zu Gesicht bekommt.
]]>Die Frage ist doch was will ich denn mit dem Passwort schützen und wie soll ich mir all die generierten Passwörter merken. Dabei bin ich jetzt natürlich nicht dafür Passwörter ala Sunshine oder ähnliche zu verwenden. Aber die Satz und erste Buchstaben Methode finde ich, in den meisten Fällen, Verhältnismässig angebracht. Wenn man dann noch darauf achtet, dass nicht alle Wörter mit a, e, o, r anfangen und man auch mal was anderes als 1 als Ziffer benutzt würde ich mal behaupten, dass müsste in den meisten Fällen reichen.
]]>Dafür ist die Option “-e” vorgesehen, mit der die Animation mit der TastenKombi Strg/Ctrl + c unterbrochen werden kann. Einfach den Alias um diese Option erweitern – also bspw. alias ls-=“sl -e”.
]]>Ansonsten echt geiles, universell einsetzbares Tool!
]]>Was jetzt natürlich noch interessant wäre, wäre eine Möglichkeit sich Statistiken anzuzeigen.
Kleines Beispiel: Ein Open Source Projekt arbeitet mit einem Subversion Repository, in dem der Source Code liegt. Interessant wäre es jetzt natürlich zu wissen, wie viele Programmierer aktiv am Code arbeiten, wer es ins Leben gerufen hat, ob noch aktiv entwickelt wird, ob Patches von aussen eingespielt werden usw. Solche Metriken könnte man aus einem Subversion/Git/Mercurial/CVS gut rauslesen.
Kennst du so ein Programm oder müssen wir uns das wieder selbst programmieren? :)
]]>Zu tcptraceroute: Super ding, ist installiert :)
]]>alias ls-="sl"
@ Aaron: Ne natürlich gibts da keine Taste zum überspringen. Würde ja sonst gegen den Sinn zerstören
]]>Gibts da auch ne Taste um es zu überspringen? Da wird man ja ganz schön bestraft für ein mal vertippen :) Witzige Sache, ich lass es mal installiert :)
]]>Nicht frei wär aber auch nicht schlimm ;) Liegt wohl eher daran, dass der Server noch recht jungfräulich ist.
]]>Die Ausgabe auf meinem Server:
Non-free packages installed on srv2052.xenway.de figlet Frank, Ian & Glenn's Letters 1 non-free packages, 0.3% of 398 installed packages.
:D
]]>Mach nur weiter so, hier findet man immer was interessantes auch wenn ich nicht ganz so der Geek bin. Aber auf Erlang hast du mich mit deinem Blog schon gebracht.
]]>Klar könnt ihr die Grafik wie alles andere auch gern kopieren. Ich hab die Idee ja schließlich auch nur geklaut ;-)
]]>Die Grafik in deinem “about” ist auch verdammt genial, die werde ich mir mit Erlaubnis gerne mal für mich nachbasteln :)
Ach ja, wäre gut wenn du noch einen RFC für die E-Mail Kommentare rausbringen könntest, damit wir wissen in welchem Format wir posten können.
Alles in allem super Sache! Da bekomm ich Lust die Bugs in meinem Blog auch mal zu fixen… naja, zummindest mal anzuschauen :)
Zum Posten hätte ich da noch ne Idee:
Wie wärs mit ner Art Server-Komponente die auf deinem Server läuft und auf einem bestimmten Port einen Socket offen hält. Mit diesem kann man sich dann über ein Textbasiertes Protokoll unterhalten, ähnlich wie SMTP. Darüber lassen sich dann die Kommentare absetzen.
Oder aber echt E-Mail verwenden und eine Struktur vorgeben. So kannst do spamassasin für deine Blogkommentare verwenden, aber dennoch automatisiert in dein Blog einbinden in dem du die Mail an ein Skript weiterreichst.
]]>Es macht erstmal wenig Sinn zu wissen was der höchste Berg von China ist. Wenn man allerdings hört bei dem Berg K2 hat sich ein Unglück ereignet, gibt dies im Kontext das K2 der höchste Berg Chinas (und nebenbei der zweithöchste Weltweit) ist einen ganz anderen Eindruck.
]]>Ich hätte wohl nicht den Titel auf Open Access ändern sollen da es anscheinend ein bisschen den falschen Eindruck vermittelt. Mir ging es schon primär um OpenSource Projekte die versuchen durch die Community Daten zu sammeln.
Aber trotzdem danke für die interessanten Links. =)
]]>MusicBrainz hab ich jetzt noch garnicht so als “Schatz” wahrgenommen. Ich glaub das muss ich mir mal genauer anschauen.
Die Sache mit OpenLibrary ist so ne Sache, da es noch relativ neu ist. Ich verfolge schon seit ein paar Jahren den “Author” von diesem Projekt (Aaron Swartz), aber seit ca. einem halben Jahr hat er nichts mehr daran gemacht.
Noch ein paar weitere Schätze freien Wissens (nicht alles OpenSource!):
Was auch noch zu erwähnen wäre: http://producingoss.com/
]]>Auch die anderen Projekte hören sich gut an. Ich würde mich über mehr solche Beiträge freuen mit Alternativen. Viel übersieht man ja, oder es ist net unbedingt klar, dass es offen ist.
]]>Allerdings gibt es auch viele Projekte, bei denen es echt toll funktioniert. OSM beispielsweise.
]]>Wegen der Länge: Ein Thema ganz erschlagen kann man denke ich garnicht. Das Problem habe ich auch jedes Mal. Da hilft nur entweder nur einen Hinweis auf mehr setzen oder weglassen und in einem späteren Beitrag vertiefen. Zu viel ist immer schlecht fürs Lernen, und darum gehts ja.
]]>Da ist man auf der Suche nach Erlang Tutorials, weil man in irgendeiner Vorlesung davon gehört hat und stößt dabei auf den nougad.
Die Welt ist klein g
]]>Zugegeben bietet XSLT einige interessante Möglichkeiten (hatte mich noch nicht damit beschäfigt) aber allein durch Preprocessing wird mein HTML Problem nicht zufriedenstellend gelöst.
Ergänzungen: - Anscheinend kann man doch Überschriften nummerieren: http://de.selfhtml.org/css/eigenschaften/pseudoformate.htm#nummerierung
- Das Äquivalent zu b ist strong nicht emph (thx kb)
]]>contaxts.xml: http://howflow.com/pastes/1542 (Das Ist die selbe XML-Datei wie aus deinem Beispiel, nur die zweite Zeile kam dazu.)
contact.xsl: http://howflow.com/pastes/1543 (Damit lässt sich das XML nach HTML transformieren).
Ergebnis: http://howflow.com/pastes/1544
Auf diese Weise könnte man nun für alles Mögliche Libs in form von XSLT-Files erstellen, und da XSLT Turing-Complete ist, lässt sich damit auch alles machen :) Beispiel: Ne Menü-Lib, die >menu>>item >… Tags nach >ul>>li>… transformiert und mit CSS dementsprechend formatiert. Für die Druckausgabe wird natürlich das Menü nach "" transformiert, dass es nicht angezeigt wird und für die Darstellung auf Handys wird das Menü in das OS integriert, dass es keinen Platz verschwendet.
Die Technologien sind alle schon seit Jahren da, werden aber nur sehr spärlich eingesetzt. Ich glaube, das Hauptproblem ist die Komplexität, die dahinter steckt. Ein WYSIWYG-Editor kommt mit sowas nicht klar. (X)HTML ist nunmal der kleinste gemeinsamme Nenner, der jeder versteht und der überall funktioniert.
]]>Ein Update zum Draft gibt es noch nicht, wird es aber geben ;-) Ich versuche verschiedene Client Kollegen anzuhalten meinen Proposal schon umzusetzen.
Es ist in der Tat etwas unorganisiert. Geht leider nicht viel besser, wenn man so viele Leute mit möglichst wenig Aufwand zusammen bringen möchte ;-)
]]>Das wäre ja absolute Wahnsinn wenn das mit GrupDAVv2 so funktioniert. Ich habe mal dein groupdav-set.sh getestet konnte aber das DavRepo anschließend nicht nutzen. Könnte wohl daran liegen das in Kontact 1.2.9 bisher nur die Version 1 verfügbar ist (nur eine Vermutung).
Wie weit ist denn Version 2? Ich habe dein Proposal auf der GroupDAV-Mailingliste von Anfang August gelesen. Allerdings konnte ich noch nichts weiter dazu finden. Ich nehme an das es noch kein Update des Drafts gibt? Demnach wohl auch noch in keinen Libs/Clients implementiert?
Ich finde die Idee (soweit ich sie verstehe) von Groupdav (vor allem v2) absolut genial. Allerdings kommt es für mich als Außenstehender etwas “chaotisch” vor. Hat so bisschen was von Wlan-Draft-N … “Jeder” nutzt es ohne das es überhaupt vollständig spezifiziert wurde. Aber vielleicht bin ich auch einfach nicht genug in der Materie.
Ich hatte zumindest mal an eine Goupdav-Lib gedacht aber ich blick irgendwie noch nicht so ganz durch.
Der Ausdruck “Fork” war von mir vielleicht nicht ganz richtig gewählt. Ich habe vom Prinzip deine Aussage gemeint, aber wohl das Wort “Fork” etwas zu weit dafür ausgelegt.
Ich bin gespannt was sich in nächster Zeit bei euch so tut!
]]>a) mit GroupDAVv2 (kleine Änderungen zur Verbesserung der Kompatibilität) ist jeder CalDAV Server automatisch auch ein GroupDAV Server (und nahezu jeder WebDAV Server). Sprich, jeder CalDAV Server kann dann mit einem GroupDAV Client verwendet werden.
b) SOGo ist kein Fork von OpenGroupware.org. SOGo ist Teil des OGo Projektes und die Software wurde parallel zu OGo entwickelt. Der Groupwareteil wurde nicht von OGo abgespalten, sondern auf andere Anforderungen hin neu entwickelt. Die beiden Varianten existieren regulär nebeneinander weiter (Anwendungen mit ganz unterschiedlichem Fokus).
Gruss, Helge
]]>Und zum Fisch: LOL :D
]]>Es wird offensichtlich aktiv weiterentwickelt. Inzwischen ist die Version 3.0 verfügbar, die auch große Image Dateien (z.B. von VMware, Xen, oder auch mbox-Dateien) schnell und effizient sichern kann.
Die Aussage O(2) zur Performance ist völlig falsch. StoreBackup berechnet nur bei neuen bzw. geänderten Dateien die md5 Summe neu.
Siehe auch: http://savannah.gnu.org/projects/storebackup
]]>Die Festplatten rausche ich alle 2 Jahre aus, auch wenn sie noch (ein bisschen) funktionieren. Da ist mir das Risiko zu hoch, dass sie irgend wann (im unpassensten Moment) den Geist aufgeben.
Zur Zeit experimentiere ich etwas mit Amazons S3 und Jungledisk herum. Wenn ich da was lauffähiges/sinnvolles habe, melde ich mich nochmal.
Abgesehen vom Backup gibt es auch noch ein weiteres wichtiges Kriterium, auf das ich seit Jahren schaue: Kann ich mit den Daten noch was anfangen, wenn ich das Programm dazu nicht mehr habe? Sind die Daten wertlos, wenn ich auf ein anderes Programm umsteige? Kann ich mit meinen Daten auch auf ein anderes Betriebssystem umziehen?
]]>Im Server läuft ein RAID 1, von dem per Volume Shadow Copy alle 4 Stunden ein Snapshot der Dateien gezogen wird. Die Historie geht über 14 Tage. Einmal wöchentlich wird ein inkrementelles Backup der Daten auf eine externe Festplatte abgelegt und in unregelmäßigen Abständen, wenn ~4gb zusammen gekommen sind auf DVD gebrannt.
Aktuell bin ich dabei, scriptgesteuert ein vollständiges Backup der Platten anlegen zu lassen, sobald sich die SMART Daten der eingesetzten Festplatten über eine definierte Einheit (zum negativen hin) verändern.
]]>Aber Versionierung auf FS-Ebene hört sich schon nicht schlecht an. Allerdings wird es kaum an den Feature-Reichtum und der Sicherheit von ZFS heran kommen, da hier einfach SUN als große Firma dahinter steht.
]]>Mit LDAP hab ich privat auch etwas herumexperimentiert, aber fand es für meine ~200 Kontaktdaten doch etwas zu übertrieben und zu aufwendig. Und auch das problem – wie du schon gesagt hast – das man nur lesend darauf zugreifen kann ist nicht gerade ideal.
Groupware-Lösungen hab ich alle schon durch und nichts hat wirklich gepasst. Entweder viel zu aufgeblasen, zu langsam, zu verbuggt oder einfach nur hässlich :) Zeit da selbst mal Hand anzulegen =)
]]>Mit dem entsprechenden Grundwissen kann man sich alles weitere selbst in kurzer Zeit selbst erarbeiten, wenn man nur weiß, wie man an die entsprechenden Informationen kommt. Leider scheitern bei der Informationssuche sehr viele oder wissen schlicht nicht, wie sie an die Informationen rankommen.
]]>Delicious brauche ich nicht, ich sync meine Bookmarks mit Foxmarks und die sind in gute Ordner eingeteilt ;)
]]>Allerdings verstehe ich, dass es Leute gibt die sich dafür interessieren, und die darauf angewiesen sind. Aber warum schließen diese Leute sich nicht freiwillig (oder so pseudofreiwillig) wie die evangelische Kirche zusammen? Das man quasi von Geburt aus drin ist, Beiträge zahlt .. aber raus kann wenn man keinen Nutzen daraus sieht. Wenn deine Argumentation schlüssig ist, was sie ja ist, dann sollten sich da ja genügend finden. Und wenn man die GEZ nicht mitbezahlen muss wären es vielleicht sogar noch geringere Gebühren. Evtl. könnte man ja diesen Leuten ja damit gleichzeitig das Wahlrecht entziehen. Vielleicht machen sich dann auch mehr Gedanken bevor sie wählen gehen, als das sie gerade das wählen was sie als letztes positiv empfanden.
]]>Also ich gebe dir ein allgemeines Statement zu deinen Blog-Einträgen:
Ich bin (wie du auch) eher der Typ von Blogger, welcher nicht so häufig postet, aber dafür die Einträge etwas ausführlicher schreibt. Mir persönlich gefallen deine Beiträge sehr gut, da du einzelne Dinge immer sehr kritisch betrachtest aber trotzdem ein wie ich finde faires Schluss-Resume ziehst. Ein Splitting von sehr großen Einträgen halte ich ebenfalls für sinnvoll, um den Leser nicht zu stark mit Infos zu überfluten. Ich kann nur sagen, dass ich deinen Blog sehr gerne lese…
]]>Ganz ehrlich: für n Tutorial für noch eine Programmiersprache hätte zumindest ich im Moment keine Zeit. Ich hab ja noch nicht mal F# vom Andy durch :( :(
]]>Die Seite mit der ich es getestet war, hat den download über die robots.txt ausgeschlossen… Dumm gelaufen…
Allerdings habe ich es nicht geschafft die “Sperre” zu umgehen, obwohl es anscheinend möglich ist
]]>Wenigstens hast du sie zurückgetragen, als dich damit zufrieden zu stellen. Aber bei dir hätte ich auch nichts anderes erwartet ;)
]]>Beim Thema Pre/Post-Conditions bin ich gespaltener Meinung. Zum einen hat man hier die Absicherungen direkt an der Stelle, wo die Action passiert und gehen so “leichter von der Hand”. Anderseits mach ich dieses Vermischen von Testcode und eigentlichem Code nicht wirklich. Mir sind hier klar getrennte Ansätze wie UnitTests oder Systemtests lieber.
]]>Ich denke jeder Deiner Blogleser wird Dir in dieser Hinsicht zustimmen, dass nicht die IDE alleine den Software Entwickler ausmacht. :-)
]]>Don’t feed the trolls!
]]>Sehr coole Aktion!
]]>Außerdem (habe ich im Post vergessen) finde ich es unmöglich wie man in der Doku nano als Editor empfehlen kann… Musste mal raus ;-)
]]>Irgend wie hab ich schon mal Lust mir Gentoo etwas näher anzuschauen, allerdings glaube ich das ich dann noch mehr am Rumspielen als am Arbeiten bin :)
]]>Bei mir läuft eigentlich au alles bestens .. nach nem Monat. Muss nur noch den Brenner zum laufen bekommen.
]]>Ich bin nicht ganz zufrieden mit dem Artikel, da er viel länger wurde als erwartet und ich trotzdem nicht weiß ob meine Message rüber kam.
Deswegen hier noch mal kurz und knapp:
Das Tolle ist ich brauche nicht wie in anderen Programmiersprachen dutzende von Befehlen und Libraries sondern ich habe nur einen kleinen Interpreter der im Grunde nur Dateien mit Parameter aufrufen müsste (in Wirklichkeit macht der Interpreter noch viel mehr). Das ganze ist total simpel zu erweitern da ich einfach nur eine neue Datei anlegen muss. Und absolut Sprachunabhänig. Ich kann sowohl ein Bashscript, ein Pythonscript, ein Rubyscript, ein C++ Programm ein Java Programm oder was auch immer miteinander verknüpfen. Solange sich alle an dieses total simple Interface halten (Parameter, Exit-Code, und noch ein paar die ich nicht explizit erwähnt habe).
]]>Spaß bei Seite. Ich empfehle für die Reisepässe die Klebervariante. Damit kann man schon ganz gute Resultate erzielen. Die Ämter haben zwar die Anweisung Fingerabdrücke nur in lesbarer Qualität zu nehmen, allerdings was will man machen wenn es nicht möglich ist? Bei alten Menschen und Leute die Viel mit den Fingern arbeiten ist der Fingerabdruck ja ebenfalls sehr schwer lesbar.
Aber natürlich muss man sich auch dabei klar darüber sein das es Ärger geben kann.
]]>Klar, es wird nich immer geprüft bei jedem Grenzgang ob die Fingerabdrücke passen, aber wenn du mal in der Beweispflicht bist stell ich mir das doch schon ziemlich pikant vor – von wegen Dokumentenfälschung und so.
]]>Wie man an dem Update sieht, das ich auf den Artikel gemacht habe: Wenn man die richtigen Programme startet kann man unter Linux und Windows gleichzeitig arbeiten. So hat man beide Vorteile (auch wenn Windows nicht wirklich Vorteile bietet).
Das mit dem Tutorial muss ich mal schauen. Ist vom Prinzip ja relativ einfach.
]]>Und auch sonst ist die Software eher jämmerlich.
Ich denke die Software wird irgendwas einiges sein. Die ist ja auch als Plattform für viele Blogs gedacht. Man hat ja auch sein eigenes Blogger.com Profil etc. Halt bisschen auf Community aufgebaut.
Mal abwarten wie lange ich bei Blogger.com bleibe ;-)
]]>DOch hier an der FH ist das ideal. Im Windows-Pool gibts große TFTs und die Programme “zieht” man sich dann einfach vom LinuxPool :)
Muss ich demnächst unbedingt mal austesten.
Das wäre übrigends auch nen “Tutorial” auf linux.hs-heilbronn.de wert.
]]>Was mich allerdings an blogger.com stört ist diese wirklich beschissen gemachte Kommentarfunktion. Was läuft denn da im Hintergrund für eine Blogsoftware? Ist das was eigenes?
]]>