WordPress -> off.

Hallo lieber Leser,

dies war einmal mein WordPress Blog. Dieser Blog ist nur noch Online, weil viele Leute ihn mal abonniert haben und ihn vielleicht doch noch mal lesen wollen.

Alle Blogposts sind aber auch auf meinem neuen Blog veröffentlicht. Falls du meine Blogs lesen möchtest, geh bitte dorthin.

Dieser Post ist zwar am 17.12.12 veröffentlicht worden, aber es gibt schon sehr viele Posts, die ich bis zu diesem Datum nur noch auf meinem neuen Blog veröffentlicht habe.

Ich weiß nicht ob ich diesen Blog mal vom Netz nehmen werde. Ich weiß nur, dass das hier das Ende dieses Blogs ist. Jetzt bin ich doch ein wenig Sentimental. Aber das macht nichts. Tschüss WordPress, Hallo neuer Blog:

>>> http://beyermatthias.de/blog <<<

Veröffentlicht unter uncategorized | Verschlagwortet mit

Nächstes mal mach ichs besser!

Irgendwie ist das Setup von meinem Archlinux Notebook ein bisschen schief gegangen damals. 15 GiB für die Root-Partition reichen halt doch nicht so ganz. Außerdem habe ich Rubygems an verschiedenen Orten gesammelt und eine Partition verschlüsselt, die ich gar nicht benutze und all so Zeug.

Deswegen habe ich für mich beschlossen, dass ich nächstes mal wenn ich mir ein Notebook kaufe, dass ich dann das Setup besser mache! Dann bekommt /usr, /var und /etc eine eigene Partition, /home ist dann in einer kleineren Partition (wer braucht 120GiB, wenn man sowieso nur Textdateien rumliegen hat) und so Dinge wie Rubygems werde ich von Anfang an richtig machen.

Das erspart nämlich später sehr viele Kopfschmerzen.

Außerdem werde ich nur das allernötigste von meinem aktuellen Notebook auf das neue Notebook kopieren. Praktisch Altlasten abwerfen!

Aber bis ich ein neues Notebook kaufe werden vermutlich noch ein paar Jahre ins Land ziehen, da mein aktuelles absolut ohne Probleme läuft. Hardwareseitig zumindest. Softwaremäßig könnte man so viel noch Optimieren. Aber dafür habe ich einfach nicht genügend Zeit.

Veröffentlicht unter computer stuff, linux | Verschlagwortet mit , , , , , , , , , , , , , , , , ,

Wie man hübschen Code schreibt (2)

Dieser Blog wird ab Januar 2013 nicht mehr benutzt! Dann blogge ich ausschließlich auf meinem neuen Blog unter beyermatthias.de/blog! Bis dahin werden alle Artikel auf beiden Blogs erscheinen.

Ich wurde auf Google+ gefragt, wie man denn schönen Code schreibt, nachdem ich einen Artikel über den unleserlichen Code des Standard-Octopress-Themes bzw. des Themes, welches ich für diesen Blog geforked habe, geschrieben habe.

Dies ist mein zweiter Teil zu diesem Thema.

Do it the right way

Es gibt in vielen Sprachen verschiedene Wege ein Teilproblem zu lösen. So bietet C die Möglichkeit, Klammern um einen If-Block zu setzen oder sie weg zu lassen, wenn in dem Block nur eine einzige Anweißung steht. Außerdem gibt es dann noch die ganz kurze Schreibweiße mit Fragezeichen und Doppelpunkt Syntax.

Folgend ein paar Beispiele.

if ( i == 5 ) {
     return 5;
}
else {
    return i+1;
}

/* oder */
if ( i == 5 )
    return 5;
else
    return i+1;

/* oder */
i == 5 ? return 5 : return i+1;

Es ist wichtig zu wissen, dass man diese Möglichkeiten hat. Aber noch wichtiger ist es, zu wissen wann man diese Möglichkeiten nutzen sollte und wann nicht. So ist die letzte der drei aufgezeigten Möglichkeiten die, die am schnellsten unübersichtlich wird. Man sollte sie auf keinen Fall bei komplizierten If-Anweisungen verwenden. Ich verwende sie gar nicht, einfach aus Prinzip.

Die zweite der drei aufgezeigten Möglichkeiten ist zwar schick, aber wenn noch etwas dazu kommt, also mit in den If-Block, müssen die Klammern recht mühsam hinzugefügt werden. Deswegen nehme ich meistens die erste Variante.

Ein allgemeines Kochrezept gibt es natürlich nicht und es ist von der Situation abhängig, welche Schreibweiße man benutzt. Solange man den Code so übersichtlich wie möglich hält, ist es meiner Meinung nach auch kein Problem die verschiedenen Arten der If-Syntax zu vermischen.

Loop vs. Block

Eine weitere Sache, die mir vor kurzem aufgefallen ist, sind manche for-Schleifen (speziell jetzt in C), die man als einzige Schleife schreiben kann, ganz ohne Block.

So sind folgende Codeabschnitte äquivalent:

/* erste Variante */
for(    del_pos_found = 0, i = 0;  
        i < m->cnt_set_elements && 
        !del_pos_found; 
        i++ ) { 
    del_pos_found = 0 == memcmp(&m->elements[i], del, sizeof(*del));
}

/* zweite Variante */
for(    i = 0;  
        i < m->cnt_set_elements && 
        0 != memcmp(&m->elements[i], del, sizeof(*del)); 
        i++ );

Die Frage ist nur: Welchen nehmen?

Ich habe das auch auf stackoverflow gefragt und folgende Antwort erhalten: Wenn man so "schwere" Funktionsaufrufe wie memcmp() machen muss, sollte man die Variante mit Block wählen, andernfalls ist die ohne Block durchaus okay.

Wichtig ist, wie hier auch zu sehen ist, dass der Code übersichtlich gehalten wird. Hier habe ich das mit Zeilenumbrüchen versucht zu realisieren.

Next Time

Und wieder will ich diese Reihe an dieser Stelle nicht beenden, sondern einen weiteren Artikel in Aussicht stellen. Wann dieser kommen wird, weiß ich allerdings noch nicht.

Veröffentlicht unter languages, programming | Verschlagwortet mit , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

surf und tabbed

Dieser Blog wird ab Januar 2013 nicht mehr benutzt! Dann blogge ich ausschließlich auf meinem neuen Blog unter beyermatthias.de/blog! Bis dahin werden alle Artikel auf beiden Blogs erscheinen.

Ich habe ja schon ein paar mal darüber geschrieben, dass ich dwm als Windowmanager benutze und mir auch ein bisschen angepasst und mit verschiedenen Patches, welche ich aus dem Internet habe, verändert habe.

Jetzt habe ich angefangen, zwei weitere Programme zu patchen.

surf

surf ist ein, wie der Name schon sagt, Browser. Er ist auf Googles WebKit aufgebaut und natürlich so minimalistisch wie möglich.

Ich möchte ihn patchen, dass er mehr kann als er eigentlich kann. So will ich dass er bei Downloads ein Terminal startet, in welchem das Linuxtool wget dann automatisch das Download macht. Ich möchte außerdem Lesezeichen und eine Historie haben. Und natürlich sollen sich die Tastenkürzel genau so verhalten wie ich es gewohnt bin.

tabbed

tabbed ist ein Programm um mehrere Programme in einem Fenster zu starten. Im Grunde also ganz einfach. Ich möchte tabbed aber so anpassen, dass es sich perfekt in meinen dwm integriert, so sollen zum Beispiel die Tabs in der Statusleiste von dwm angezeigt werden. Wenn ich surf in einem Tab starte soll die URL in der dwm Statusbar angezeigt werden.

Also geht jetzt das fröhliche gepatche los.

Veröffentlicht unter C, linux | Verschlagwortet mit , , , , , , , , , , , , , , , , , , , , ,

Lastfm goodby?

Dieser Blog wird ab Januar 2013 nicht mehr benutzt! Dann blogge ich ausschließlich auf meinem neuen Blog unter beyermatthias.de/blog! Bis dahin werden alle Artikel auf beiden Blogs erscheinen.

Hoffentlich nicht!

Die Lastfm-Nutzer unter meinen Lesern haben es vielleicht schon bemerkt: Einige Dienste von Lastfm können ab 15. Januar nur noch kommerziell genutzt werden.

So wird in den USA, UK und Deutschland die Desktop-Applikation nur noch gegen Kohle nutzbar sein, in ein paar Ländern gibt es keine Änderungen und der Rest der Welt muss ohne Lastfm auskommen.

Caschy, ein bekannter Blogger, meint sogar schon, dass Lastfm die Puste langsam aus geht. Immerhin sei der Dienst kaum kommerziell.

Ich kenne zumindest niemand, der für Lastfm zahlt. Ich fände es sehr schade, wenn Lastfm offline gehen würde. Wo soll ich denn sonst Radio hören und vor allem: Wohin soll ich scrobblen?

Die kompletten Änderungen können hier nachgelesen werden.

Veröffentlicht unter social media | Verschlagwortet mit , , , , , , , , , , , , ,

Andere Länder, andere Sitten

Dieser Blog wird ab Januar 2013 nicht mehr benutzt! Dann blogge ich ausschließlich auf meinem neuen Blog unter beyermatthias.de/blog! Bis dahin werden alle Artikel auf beiden Blogs erscheinen.

Nun, wir wissen ja alle das es in anderen Ländern anders zugeht. Aber was ich heute über fefes blog lesen durfte, war echt wieder mal ein Augenschmaus!

Und zwar prügeln sich Ukrainische Politiker im Parlament. Sehr nett! Das Video dazu ist Entertainment pur! Und ich denke mir nur: Wenn das bei uns passieren würde, was dann los wäre, kann man sich gar nicht vorstellen.

Veröffentlicht unter politics | Verschlagwortet mit , , ,

Octopress vs. Matze

Dieser Blog wird ab Januar 2013 nicht mehr benutzt! Dann blogge ich ausschließlich auf meinem neuen Blog unter beyermatthias.de/blog! Bis dahin werden alle Artikel auf beiden Blogs erscheinen.

Es ist echt zum würgen. Ich habe jetzt ungefähr drei Stunden daran rumgespielt, auf meinem Archlinux Rechner das Syntax Highlighting für Octopress hinzubekommen.

Es. Tut. Nicht.

Ich weiß nicht was ich noch ausprobieren soll. Ich habe versucht, einen alternativen Highlighter zu benutzen (CodeRay) – aber das hat sich als Fiasko herausgestellt und ich kann dann viele Features, wie zum Beispiel das einbinden von Quellcodedateien, nicht benutzen und generell hat es auch nicht wirklich funktioniert.

Dann habe ich versucht, die Librarys, die den pygments-Syntax Highlighter aufrufen, manuell zu modifizieren. Hat natürlich auch nicht funktioniert.

Das Problem ist, dass ich nicht genau weiß wo ich ansetzen muss. Ist eines meiner Gems, welche von Octopress benutzt werden, das Problem? Oder ist es PyGments selbst? Wenn es letzteres ist, kann ich nichts tun, da ich von Python absolut keine Ahnung habe.

Und jetzt bin ich gefrustet. Ich habe das alles natürlich an einem neuen Pull von Octopress ausprobiert, damit ich an meinem Blog nichts kaputt mache. Aber selbst mit dieser ganz frischen Umgebung (nicht der Branch 2.1, welcher gerade entwickelt wird, sondern der aktuelle master) will es einfach nicht funktioniere.

Veröffentlicht unter octopress, Ruby | Verschlagwortet mit , , , , , , , , , , , , , , , , , , , , , , , , , ,