Archiv für die Kategorie „Allgemeines“

Zeitraubende Fehlerchen

Freitag, 17. April 2009

Nicht nur beim Programmieren sind es oft Kleinigkeiten, die einem das Leben schwer machen: Einfache Fehler, die man super schnell übersieht und somit sehr schwer findet. Genau sowas ist uns letztens passiert im Gebiet der Elektronik. Nichts funktionierte, das Multimeter hat alles angezeigt, nur nicht das richtige. Dabei war nur die Hauptspannungsversorgung vergessen…

Killer-Linux

Freitag, 27. März 2009

Linux hat mir soeben den Krieg erklärt. Das Ding will absolut nicht mehr. Dass bei meinem richtigen Rechner dass WLAN nicht mehr funktioniert, ist das geringste Problem. Genauso, wie das Problem, dass beim booten bei der Zeile kinit im Bootlog der PC hängt und ich erst Escape drücken muss und der dann alles mögliche abbricht. Nein, richtig fuxt es mich, dass ich auf meinem Altrechner Ubuntu neu installieren wollte, da die vorherige Version einfach nicht mehr richtig lief und nicht mehr zu gebrauchen war. Also erstmal Ubuntu 8.10 Server gezogen, Sicherung des Rechners gemacht, Image bebrannt und ewig installiert. Immerhin war die Installation erfolgreich. Dann wollte ich die Kiste allerdings auch booten. Dass der Bootvorgang ewig dauert, wundert mich bei dem Rechner nicht, auch die komplett verzerrte und nur halb zu sehende Grafik macht mir nichts, aber dann bleibt die Kiste immer hängen, wenn MySQL nach korrupten Tabellen schaut. Dann geht garnichts mehr. Toll. Was jetzt?

Es ist ein Wunder, dass ich in Linux trotz all meiner schlechten Erfahrungen das wahre Betriebssystem sehe. Aber was solls, Windows hat zwar bei weitem nicht so ellegante Features, aber es funktioniert.

Ach, wenn wir schon dabei sind: Will mir nicht jemand nen vorinstallierten Linux-Rechner schenken, der funktioniert?

Früher war alles besser…

Montag, 9. März 2009

Heute gab es mal wieder eine Notlage: Keine Musik-CD griffbereit, also musste eine Lösung gefunden werden. Wo gibt es im Internet kostenlos Musik? Richtig, in Videoportalen. Als ich dann die MyVideo-Webseite betrachtete, war ich entsetzt. Länger war ich nicht mehr dort gewesen.  Was sich aber alles geänder hat…

Früher sah ich in MyVideo eine schöne Alternative zu dem amerikanischen YouTube. MyVideo hatte natürlich bei weitem nicht so ein tolles Angebot. Da ich aber sowieso kein Videofan bin, habe ich MyVideo nicht mehr aufgesucht. Was ich mitkam war wohl, dass der Fernsehsender Pro7 irgendwie MyVideo unter seine Fittiche genommen hat. Ob MyVideo aufgekauft wurde oder was geschehen ist, weiß ich nicht. Als ich aber heute diese Seite war ich entsetzt. Werbung. Ohne Ende. Wie ich es von Pro7 schon lange kenne, hatte ich das Gefühl, auf einer riesigen Werbefläche gelandet zu sein.  Die Werbung über der Titelleiste und am rechten Rand wurde bei weitem bei einem Riesen Banner über dem Videobereich getoppt. Der Werbeclip am Anfang des Videos war dann aber wirklich zu viel des guten.

Wird jede bessere Seite vom Kommerz aufgefressen? Muss man als Entwickler heutzutage Angst um alles haben? Verliert man wirklich alles, wofür man Jahre gearbeitet hat auf einmal für ein Geld, um ansehen zu müssen, wie Firmen die Seite zu Mist zersetzen? Irgendwas ist da falsch….

Zum Glück gibt es im Moment noch das kleinere Videoportal Vimeo. Aber wer weiß, wie lange die Seite noch so bleibt, wie sie es momentan ist…

Via Spam für Anti-Spam-Produkt werben

Freitag, 27. Februar 2009

Wieder einmal hat ein Bot die Kommentarfunktion meines Blogs schamlos ausgenutzt. Das ist ja wirklich nichts außergewöhnliches. Heute wurde ich nicht zum Pokern geladen, sondern mit einem E-Mail-Provider bekannt gemacht. Und womit werben diese Leute? -  Mit ihrem Spam-Schutz! Unglaublich, sowas unseriöses. Jemand der effektive Mittel anbieten möchte und so etwas selbst verwendet. Paradox. Das finde ich mehr als fragwürdig, Kunde wird man dort besser nicht.

Ein Freund von Spam bin ich sowieso nicht. Anders kann ich es nicht sagen: Diese Form von Werbung verabscheue ich. Einfach zeitraubend und nervig. Ich meine gehört zu haben, dass das Angebot der Spammails in “nur” jedem paartausendsten Fall oder so aufgegriffen wird. Weshalb? Ich persönlich setze die Anbieter der beworbenen Produkte aus Spam intuitiv auf meine Blacklist.

Wahrhaftig, SMTP entspricht nicht mehr den Anforderungen unserer Zeit. Ein anderes System muss her, dass Spammern nicht so gut kommt, wie das existierende Spamsystem. Das Problem muss weiter bei den Wurzeln gepackt werden, Spamschutz ist keine Lösung (obwohl die Wurzel eigentlich die Spammer/Spamunternehmen sind, die gepackt werden müssen).

PS: Ich sollte mich vielleicht einmal nach einer Anti-Spam-Lösung für Wordpress bemühen.

PS: Ich hab meinen Blog ausversehen gelöscht, deshalb musste ich diesen Blogeintrag neuschreiben. Sorry an Martin, dessen Kommentar nun futsch ist… Hab einfach die falsche MySQL-Datenbank gelöscht.

Doxygen

Sonntag, 16. November 2008

Nun gibt es mal wieder ein bisschen was neues von mir…

Ich habe Doxygen ausprobiert. Das Teil scheint wirklich sinnvoll zu sein. Ich habe - wie viele andere Leute auch - ein Problem mit dem Dokumentieren: Kommentare benutze ich prinzipiell nicht. Ab und zu denke ich dann aber an die Empfehlung aus dem Informatikunterricht, den Code zu kommentieren. So füge ich ab und zu ziemlich willkürlich die eine oder andere Kommentarzeile ein, meistens sogar nur unverständliche oder unnötige Sachen. Und wenn man den Code dann weitergibt, oder ihn sich nach Monaten oder gar Jahren wiedereinmal anschaut, fällt man aus allen Wolken. Und selbst wenn der Code dokumentiert wäre, angenehm wäre es trotzdem nicht, sich den Code anzuschauen, wenn man eigentlich nur wissen will, was diese oder jene Methode oder Klasse tut. Zusätzlich kommt es vor, dass die Kommentare dann extremst verschieden gestaltet sind: Ein Kommentar ist mit ASCII-Zeichen verziert, während der nächste Kommentar nur aus reiner Beschreibung besteht und der eine Kommentar mit einem Doppelslash eingeleitet wird, während ein anderer die Konvention /* … */ nutzt. Schlimm.

Dann habe ich gestern Doxygen ausprobiert und bin vollkommen begeistert. Das hätte ich nie gedacht. Ich habe jetzt einen Plan, wie ich meine Kommentare gestalten muss, und wo ich etwas kommentieren muss. Und das wirklich Tollste ist: Eine Dokumentation wird vollkommen automatisch generiert. Wenn man ordentlich kommentiert, entfällt die komplette Dokumentationsarbeit und die Dokumentation ist immer auf dem aktuellsten Stand: WOW!

Xairro OS: Die Bundeskanzlerin verkauft Würstchen

Donnerstag, 2. Oktober 2008

Hey!

Ich habe ein bisschen am Betriebssystem Xairro OS gearbeitet. Ich bin gerade dabei, die IRQs abzufangen. Dabei ist mir etwas ziemlich komisches untergekommen.

Erstmal für die Laien: Im PC steckt ein Chip namens PIC, der (im Prinzip) 16 Kanäle hat. Wenn ein Signal auf ein Kanal kommt, wird eine Unterbrechungsroutine beim Prozessor eingereicht. Die Signale werden von bestimmter Hardware gesendet. So sitzt am Ende des Kanal 0 ein Timerchip (PIT) und der Kanal 1 wird vom Tastaturcontroller (KBC) (der übrigens auch viel mehr macht, z.B. kann man über den den PC resetten) angesteuert wird.

Nun habe ich angefangen die Tastatursignale auszuwerten. Dabei habe ich die ganze Zeit an Kanal 0 gelauscht. Der aufmerksame Leser wird feststellen: Kanal 0 ist garnicht mit dem KBC verbunden. Zu erwarten wäre theoretisch, das dann nix ankommt, aber so war es nicht! Der Code hat wahrhaftig funktioniert! Aber das kann nicht sein, das ist ungefähr krank wie wenn die Bundeskanzlerin im Bundestag plötzlich aufsteht und Currywurst verkauft. Es ist einfach unlogisch.

Okay, wollen wir nun mal auf die rationale Ebene zurückkommen. Es muss dazu ja eine Erklärung geben. Die ist so unspektakulär, dass es sich eigentlich nicht lohnt, die Begründung aufzuschreiben. Die Routine an Kanal 0 wurde alle 18,222 mal in der Sekunde aufgerufen. Und zufällig war dann zwischenzeitlich mal der Tastaturpuffer voll. Der wurde dann ganz regulär ausgelesen. Aber nicht auf Anweisung des KBC.

Wer mitgedacht hat und sich auskennt, wird bemerken, dass es sich hier um ein Polling mit Pausen zur Prozessorschonung handelt ;)

Vielleicht hat der Würstchenverkauf im deutschen Bundestag ja auch eine logische Erklärung…

Boost installiert

Montag, 29. September 2008

Heya, endlich habe ich die Boost C++ Library zum Laufen gekriegt. Ich habe es ja wirklich nicht mit Libraries und Linken und ähnlichem, aber heute hat echt mal etwas geklappt.

Allerdings lief nicht alles so, wie es sollte. Weiß der Teufel warum, habe ich Boost nun unter /opt liegen. Ich habe ein Testprogramm zwar Compilen können, aber bei einem solchen Speicherplatz (/opt/boost/lib) könen die Libs ja auch nicht gefunden werden. Über ldconfig habe ich die Libraries dann schließlich doch verfügbar gemacht.

Das coolste ist natürlich, dass Boost nun garnicht mehr bockt und alles wunderbar funktioniert. Jetzt möchte ich mich gerne ein bisschen mit der Asio-Netzwerk-Library Boosts beschäftigen. Allerdings finde ich das offizielle Tutorial alles andere als gut. Aber was solls…

C++, ich komme!

Blindtextalarm!

Montag, 30. Juni 2008

Wahrlich was zu berichten gibt es nicht, diese Tage entwickliche ich nicht viel. Allerdings habe ich gestern literarisch etwas entwickelt: Einen Blindtext.

Bitte nicht erschrecken, wenn ihr den Text lest, es ist ein deutscher Text, den man umgangssprachlich wahrscheinlich als “gequirlte Scheiße” bezeichnen müsste. Aber macht das nicht gerade einen guten Blindtext aus? Seht selbst!

Es ist sinnlos, da die Wurzel des Baumes sich schikaniert und der Mensch von Ängsten besessen ist. Die typische Vorgehensweise beim Bau eines Xylophons entspricht deshalb nicht dem Entstehungsvorgang der menschlichen Sinne. Im Großen und Ganzen bedeutet das, dass die Welt anders ist, als so mancher Erdenbürges es für möglich hält. Im Endeffekt ist es der Baum, der sich nicht von Schokolade ernährt, weil dieser vorallem von Wasser und Mineralien lebt und Schokolade ein wertvolles Gut der Menschheit ist. Auch der Humor der Menschheit ist betroffen und spaltet sich in verschiedene Gruppen auf. Ob schwarzer Humor oder unlustige Witze, die Spanne der fabrizierten Werke reicht weit. So nimmt die Geschichte ihren lauf.

Aus oben genannten Gründen entspricht der menschliche Bedarf an Gütern einer unvorstellbaren Utopie, die das unereichbare übersteigt. Der Mensch ist so und wird so bleiben. Als Synonym für die Umwelt wird aus bekannten Gründen auch ein anderes Wort benutzt. Im Endeffekt ist sowieso alles total verwirrend.

Viel Spaß bei der freien Verwendung!

Ausgrabungsfund: Der alte OS Dev Blog

Dienstag, 17. Juni 2008

Hallo allerseits!

Die alten Hasen von euch kennen vielleicht noch den Vorgänger diese Blogs: Den OS Dev Blog. Ich habe zu Testzwecken das alte Xairro wieder zum Laufen gebracht und den alten Blog wiedergefunden. Die wenigen Beiträge sollen nicht verschütt gehen, deshalb liste ich sie hier nocheinmal chronologisch auf:

GRUB und C, es klappt vom 07.06.2007

GRUB und C, diese Kombination aus dem beliebten Multi-Boot-Loader und der mächtigen Programmiersprache sollten eigentlich einen komfortablen und einfachen Einstieg in die Welt der Betriebssystemprogrammierung bieten. Eigentlich. Theoretisch könnte man nahezu ohne Assembler auskommen (für den Anfang)…

Leider hat sich das alles als nicht ganz so einfach herausgestellt, es war ein Kampf gegen die Maschine. Bis ich von den kleinen Syntaxfehlern bis zu den größeren Logikfehlern alles zusammengebastelt hatte, viel mir ein Stein vom Herzen, jetzt konnte es los gehen.

Seit dem ist noch nicht viel Zeit vergangen, aber ich konnte komfortabel Funktionen für die Textausgabe auf dem Bildschirm, eine Kopierfunktion für den Arbeitsspeicher etc. schreiben. Das ist nicht viel, Eingabegeräte werden bis jetzt noch vollkommen ignoriert und auch die Protected-Mode-Dinge sind noch nicht vorhanden, nicht mal eine GDT. Es gibt noch viel zu tun, ich habe Unmengen an Plänen…

Mein jetziger Kernel heißt einen momentan nur mit einem lila Text im VGA-Text-Modus willkommen;)

printf und va_list’s vom 12.06.2007

Jetzt hat mich der Teufel gepackt! Der printf-Befehl und va_list’s. Ich wollte gerne soetwas wie printf programmieren. Also musste ich erstmal erfahren, wie man eine beliebige Anzahl von Parametern an eine Funktion übergibt. Nach langem befragen von teilweise unhöflichen Besserwissern habe ich in einem deutschen Channel die Antwort bekommen: va_list’s. Die muss ich jetzt erstmal implementieren, dann geht es an die printf-Funktion. Im Moment geht es leider nicht ganz so flott voran:(

Hilfe vom 21.06.2007

Uff, im Moment schaffe ich nichts. Das will alles nicht so, wie ich will. Aber es gibt einiges zu tun.

Ich muss nun Keyboardfunktionen schreiben, das will nicht wirklich, im Moment. Dies ist mal wieder eine Situation, wo man sich eine Fehlermeldung wünscht.

Aber wenigstens heute morgen habe ich etwas geschafft: Ich habe in unserem Forum OS-Development-Kategorien angelegt. Und das aller Beste ist: http://www.xairro.de/content/view/83/7/, das ist ein Artikel zum Thema Betriebssystementwickelung mit vielen Infos, schaut selber.

Ferien vom 05.07.2008

Im Moment sind Ferien, ich komme zu nichts, will alles nicht so recht gelingen. Ich habe nichts geschafft, seit dem letzten Posting. Hoffentlich bekomme ich iwann mal Hilfe von jemandem, der das drauf hat. Für mich ist das ziemlich schwer, ohne Hilfe, ich bin nicht mal erwachsen. Aber kommt Zeit kommt Mitstreiter. Genießt eure Ferien auch!

Interrupts, Interrupts und noch mehr Interrupts vom 02.08.2008

Trotz der Ferien habe ich mich jetzt schon wieder an das OS gewagt und habe mich nun ein bisschen weiter mit dem Protected Mode auseinandergesetzt. Genaugenommen waren es bloß Interrupts mit denen ich mich auseinandergesetzt habe… Ich habe nun verstanden, wie Interrupts im Protected Mode funktionieren, aber das Umsetzen war ein Problem. Wie immer habe ich per Textoberfläche von Ubuntu (Linux) mit dem Editor “nano” gearbeitet. Ich hätte aber soooo gut Copy & Paste gebrauchen können, ich habe schließlich die 32 Exception-Interrupts des Prozessors + die 16 PIC-Interrupts eintragen müssen, der Code dabei ist nahezu immer gleich, das war ziemlich anstrengend^^ Aber jetzt bin ich soweit. Die Softwareinterrupts funktionieren, das habe ich getestet. Dann wollte ich aber die Hardwareinterrupts testen, das wollte ich mit dem Timer des PITs realisieren, hab schön ne Routine für IRQ 0 geschrieben - aber es funktionierte nicht. Nichts passierte. Ich weiß nicht, ob es an meiner PIT-Programmierung oder an meiner PIC-Programmierung liegt :P Was solls, ich habe einen Fortschritt gemacht, den Fehler finde ich wann anders. Ich freu mich schon total auf später, wenn alles immer abstrakter wird, dann wird das programmieren wohl einfacher, ich komme in bekanntes Gebiet und weiß, was zu tun ist. Bis bald, PowerProgrammer

Die IRQs… vom 06.09.2007

Nach einer kleinen Programmierpause habe ich wieder damit angefangen, womit ich das letzte mal aufgehört hatte: Mit den IRQs. Und, ja, ich habe mehr oder weniger den Fehler gefunden… Das ist ziemlich peinlich. Ich hatte nämlich mit

cli
hlt

die Interrupte deaktiviert (und den Prozessor angehalten). Dann kann das natürlich nicht klappen. Stundenlange Fehlersuche umsonst, grrr^^ Jedenfalls klappt es jetzt mehr oder weniger, allerdings rattert der Text “CBCBCBCBCBCBCBCBCBCBCBCBCB…” flott den Bildschirm herunter anstatt jede Sekunde mal Testweise einen Punkt auf den Bildschirm zu zeichnen. Das Pröblemchen: Ich weiß nicht, wo dieses ganze “BC” herkommt. Joa, mal sehen, das werde ich dann beim nächsten mal beseitigen… Aber ich bin weitergekommen und nur das zählt:)

Der Sprung ins Nirwana… vom 11.09.2007

Jetzt weiß ich wenigstens, wo ungefähr der Fehler mit dem “cb” liegt. Es lag an meinem IRQ-Handler. Dieser sollte in der Theorie einen Timerhandler aufrufen… In der Theorie… Praktisch allerdings springt der Prozessor aber wo ganz anders hin, wo er nichts zu suchen hat. Dort steht der Code zum Ausgeben von “cb”. Allerdings weiß ich nicht, wo er da hinspringt und wieso er das überhaupt macht:D:D:D Da muss ich nochmal auf Fehlersuche gehen.

Jetzt fragt ihr euch sicher, wie es momentan mit dem Xairro OS aussieht. Das ist eine berechtigte Frage. Leider habe ich im Moment nicht ganz so viel Zeit. Xairro ist neu herausgekommen und ich musste Python lernen und mich in das Framework Django einarbeiten etc. Aber es wird sicher weitergehen. Yarca, ich werde dir nicht folgen! Ich bleibe beim OS Deven!

Django - Ein Python-Webframework

Sonntag, 1. Juni 2008

Wie die meisten Leute unter euch wissen, benutzen wir auf Xairro.com nun das Webframework Python, darüber möchte ich hier etwas erzählen.
An das Teil herangekommen bin ich über Julian (einer der Xairro-Administratoren). Er hat ein Codepastingtool für das alte Xairro gebastelt. Und aufeinmal kam irgendwann BlitzChecker (der andere Xairro-Gründer) und erzählte mir, dass Xairro an seinem Geburtstag auf Django umsteigt. Über meinen Kopf hinweg wurde dies entschieden und mir ist ziemlich schleierhaft, wie Julian es geschafft hat, BlitzChecker zu dem Framework zu überreden. Jedenfalls hieß es: All die (mühevolle) PHP-Arbeit kommt weg, jetzt wird Xairro eine Pythonreferenz. Und so ist es nun seit nicht ganz zwei Wochen amtlich. Die Meinungen spalten sich. Aber ich habe eine Meinung zu Django und diese möchte ich kurz erläutern.
PHP habe ich nie sonderlich gemocht, es gibt einige Sachen, die mir einfach nicht zusprechen. Und auch Python und Django sind nicht perfekt! Aus der Traum der perfekten Entwickeln fürs Web, es ist eine Utopie. So schön Django sich auch anhört, es war ein Schock für mich. Wir hatten schon lange das Ziel, ein großes Portal auf die Beine zu stellen, ohne von etlichen anderen Projekten abhängig zu sein. Das ist jetzt natürlich vorbei und wir sind an Django gebunden. Wenn das Djangoprojekt aufgegeben wird, dann muss noch etwas ganz anderes aufgegeben werden…
Und nun komme ich aber wirklich zum Thema. Mein Bericht über Django.
Die Webentwicklung mit Django unterscheidet sich komplett von der herkömmlichen Programmierung. Es ist nicht wie unter PHP, wo HTML-Dateien Skripte hinzugefügt werden können (mehr ist PHP ja nicht wirklich). Das Konzept ist ein vollkommen anderes. Daher ist es sehr schwer, sich dort flott einzuarbeiten. Ich habe jetzt ca 4 Tage gebraucht, um so langsam was mit Django auf die Beine stellen zu können. Aber das Gute ist, dass man - nach einer intensiven Einarbeitungszeit - relativ einfach und schnell Webseiten veröffentlichen kann. Django bietet dazu einiges an Krims an, um dem Programmierer Arbeit abzunehmen. Da gibt es zum Beispiel die sehr praktischen Model-Objekte, die die SQL-Programmierung zu Alteisen macht. Diese Model-Dinger ermöglichen einen sehr komfortablen Zugriff auf verschiedene Datenbanksysteme. Aber die Implementierung dieser Teile gefällt mir doch nicht so. Es ist tatsächlich so, dass Django in den Quelltexten nach Variablen (!) sucht, die das Framework steuern. Von wegen Funktionen und eleganten Lösungen… Da graust es mir doch schon etwas. Das ist nicht alles, ich habe dauernd viele viele Dateien im Editor geöffnet, da verliere ich schnell den Überblick. Unter PHP-Zeiten hatte ich selten mal vier Dateien offen.
Und so ist das halt in allen Bereichen von Django, überall gibt es echt tolle Sachen, aber es ist halt total anders als die altbekannte Programmiermethode. Ich weiß nicht, was ich über Django denken soll. Ich denke nur noch mit einem Kloß im Hals an all die Stunden Programmierarbeit mit PHP zurück. An eine Applikation erinnere ich mich noch… Jemand hat versucht, sie nach Python zu portieren, hat es auf die Schnelle aber nicht hinbekommen. Da meinte irgendwer zu mir (kp wer): “Vergiss es! Können wir einfach eine fertige Lib nehmen, gibts bestimmt!”. Da ist mir wirklich fast der Kragen geplatz.
Und so ist Django doch noch ziemlich fremd für mich. Mal sehen, was ich in einem halben Jahr schreiben werde.
Außerdem würde ich gerne mal wieder am Xairro OS weiterarbeiten, fern von abstraktesten Highlevelgeschichten, die einem Kopf und Kragen kosten;)

Bis dann!