Viiieeel zu tun

…und man kommt zu nichts. Also eigentlich komme ich zu vielem, nur nicht dazu hier zu posten!
Neben der Arbeit gibt es reichlich zu tun, denn das “sommerliche” Leben hier bietet reichlich Möglichkeiten zur Ablenkung und die wollen auch genutzt werden. Außer reichlich Sport (Laufen, Fußball & Beachvolleyball) als Ausgleich für das Sitzen im Büro, gibt es auch immer wieder Biergärten die um meine Aufmerksamkeit bitten ;)
Eingelebt haben wir uns also schon ganz gut hier im Süden, auch wenn mich der Dialekt ab und zu doch noch vor einige Schwierigkeiten stellt. Auch das “Servus” geht mir bisher nur selten über die Lippen – spreche viel englisch und da sagt man das eh nicht -, aber ich schätze, dass sich das im Laufe der nächsten Monate mehr und mehr einschleichen wird.
Auch die Arbeit macht viel Spaß und ich lerne wirklich, wirklich viiieeel ;)
Heute bin ich auch endlich mal dazu gekommen die “Fortsetzung” von Clean Code The Clean Coder anzufangen und ich kann versichern, dass es sich dabei nich um eine Waschanleitung handelt :mrgreen:

So, das mal als kleines Update zwischendurch ;)

Something to read

How I Failed, Failed, and Finally Succeeded at Learning How to Code is an article I really enjoyed reading because it kinda reminds me about myself, even though I never worked with Project Euler yet :)

When Colin Hughes was about eleven years old his parents brought home a rather strange toy. It wasn’t colorful or cartoonish; it didn’t seem to have any lasers or wheels or flashing lights; the box it came in was decorated, not with the bust of a supervillain or gleaming protagonist, but bulleted text and a picture of a QWERTY keyboard. It called itself the “ORIC-1 Micro Computer.” The package included two cassette tapes, a few cords and a 130-page programming manual.

Another nice article is explaining some of basic the Clean Code ideas for those who are to lazy to read the whole book. I read both and really enjoyed them all ;)

This is a particularly simple example of a style of code that I often see (this example is a piece of prman, sanitized to hide the function of the code it comes from):

<code>int
match(struct table *tab, char *arg)
{
    int i, found = 0;

    if (tab != NULL) {
	for(i=0; i<tab->nitems; ++i)
	    if (tab->item[i].name == arg)
		break;
	found = (i < tab->nitems);
    }
    return found;
}</code>

This function determines whether tab points to a table containing an item whose name is arg.
I would write the above like this:

<code>int match(struct table *tab, char *arg){
	int i;

	if(tab==NULL) return 0;
	for(i=0;i!=tab->nitems;i++)
		if(tab->item[i].name==arg)
			return 1;
	return 0;
}</code>