Dies ist das Archiv für September 2008.

Mein erstes noobiges Shellscript

Abgelegt unter Code am 29.09.2008

Mich hats genervt, dass die CPU zu schnell für die Festplatte war. Die Lösung war einfach. Von einer Platte lesen, auf die andere schreiben. Da ich recht viel unrare, habe ich mir dieses kleine Shellscript überlegt.

#!/bin/sh
if [ -n $2 ]
then
unrar x -ad $1 -p$2 /home/kb1/mnt/sda9/in/
else
unrar x -ad $1 /home/kb1/mnt/sda9/in/
fi

Das ruft unrar auf, aber entpackt immer in einen bestimmten Ordner auf einem anderen Laufwerk. Also quasi eine weitere temporäre Ablage. Neben dem Downloads-Ordner. Muss man halt zwei mal aufräumen, aber dafür nicht so viel jeweils.

Dann noch ein alias auf unrar, und bis auf die Parameter geht alles wie gewohnt. Nur doppelt so schnell! Danke an Lostinspace und Flo für die kleine Hilfestellung jeweils.

Kunst in SQL

Abgelegt unter Code am 27.09.2008

Also dieses Statement finde ich wahrlich schön formatiert – ansonsten wäre der Überblick auch schwer. Und es funktioniert (natürlich!).

SELECT
	SQL_CALC_FOUND_ROWS c.id
	c.id AS id,
	c.comment AS content,
	c.date AS date,
	c.userid AS userid,
	c.userid AS username,
	v.status AS voted

FROM
	comments c

LEFT JOIN (
	SELECT *
	FROM comments_votes
	WHERE  userid =  4
) v
ON c.id=v.commentid

WHERE
	c.type = 0
	AND c.refid = 1
	AND c.status > -5

ORDER BY c.date DESC

LIMIT
	0,
	25

Ich würde es ja gerne noch gruppieren und mit HAVINGs schmücken. Aber es würde einfach keinen Sinn ergeben

Es geht um eine Votefunktion für Kommentare – so wie bei youtube. Es muss jeder User geloggt werden der abgestimmt hat, um zu verhindern dass das Vote-Element noch mals angezeigt wird. Es muss halt für jeden User anders sein, und für jeden Thread anders. Deshalb gehen keine Autojoins. Da hätte man am Ende eine Ergebnissmenge wo gar nichts mehr drin steht. Das alles ist allerdings nur das Nebenprodukt. Eigentlich sollten nur die Kommentare an sich ausgegeben werden.

SQL_CALC_FOUND_ROWS ist übrigens ein ganz besonderes Schmankerl.

Weiterbildung mit Altlasten

Abgelegt unter Code am 26.09.2008

Zur Zeit gibt es nicht viel spekakuläres. Viel zu tun für die Arbeit bei Computec, nächste Woche geht es weiter zu studieren (und ich bin mir immernoch unschlüssig was genau ich dieses Semester machen werde). Jedenfalls muss ich nochmal einen kleinen Auszug aus pragmatic thinking geben, denn das ist wirklich war und habe ich in den letzten Jahren – auch bei mir selbst beobachten können. Diese Entwicklung trifft ja fast auf mich zu, nur dass am Anfang PHP war. Was ja auch nicht arg viel anders als dieses C-Gedings ist. Aber mein Javacode hat sich wirklich stark daran orientiert wie ich PHP programmiert habe. Nicht nur von den einzelnen Zeilen, auch vom kompletten Aufbau. Und momentan versuche ich Ruby mit meinem Java Mindset zu denken. Leider. Bzw. mich nicht davon befreien kann. Aber wie der Autor schon sagt, dass ist wohl auch der Lauf der Dinge.

You learn a new programming language relative to the concepts you knew from the last programming language. That’s why in years past we saw so much C++ code that looked like C, so much Java code that looked like C++, so much Ruby code that looked like Java, and so on. It’s a natural transition from one set of skills to the next.

Ach nee, wie süß

Abgelegt unter Leben am 24.09.2008

[...] schade, dass Sie den regelmäßigen Bezug unserer Zeitschrift c’t zur Ausgabe 11/2009 beenden möchten. Wunschgemäß haben wir die Belieferung nach Erhalt der zugesicherten Ausgaben eingestellt.

Wir würden uns freuen, wenn Sie zukünftig die eine oder andere Ausgabe c’t auch direkt im Handel erwerben.

Aber sicher, wenn ihr so lieb fragt! :)

Kurschgeschlossener Neokortex

Abgelegt unter Internet am 18.09.2008

Ein kleiner Auszug aus meinem erst just angeschafften Buch.

Darin heißt es unter anderem, dass die schnellen Kommunikationsmöglichkeiten (im Vergleich zu einem Brief oder ähnlichem aus früheren Zeiten), den Neokortex kurzschließen und man deshalb zu schnell (und falsch reagiert). Kann man sehr schön an Internetflames beobachten. Teilhaber solcher ewig langen sich im Kreis diskutierenden Diskussionen, sind deshalb mit Echsen evolutionstechnisch auf einer Ebene zu sehen. Deshalb:

Breathe out, deeply, and get rid of the stale air. Breathe in, deeply. Count to ten. Remember that you’re the evolved one. Let the lizard reaction pass, and allow the neocortex to process the event.

Misslungen

Abgelegt unter Wohnen am 15.09.2008

Wenn der Kartoffelbrei die gleiche Konsistenz hat wie die Soße die es dazu gibt..

Anomalie des Nachdenkens

Abgelegt unter Subjektiv am 14.09.2008

Warum hat man die Lösungen zu größeren Problemen immer erst dann, wenn man wirklich kurz davor ist aufzugeben?

Pragmatic Thinking and Learning

Abgelegt unter Code am 13.09.2008

Pragmatic Thinking and Learning: Refactor Your “Wetware” (by Andy Hunt) ist meine neuste Anschaffung.
Habe es als Beta-PDF direkt im Pragmatic Bookshelf gekauft. Das heißt, ich kann jetzt schon mal die Beta-Version als PDF lesen und bekomme bei Release (in 2 Wochen) die fertiggestellte Version. Ein Super Service. Wirklich hübsch gemacht ist auch die Widmung. Auf jeder Seite werde ich daran erinnert, dass das meine spezielle Version (jahaha!!) ist: Prepared exclusively for Klaus Breyer. Nebenbei verhindern sie so wohl auch noch das illegale spreaden des Titels. Desweiteren absolute Transparenz und Service für den Kunden! Aber etwas anderes kann man vom momentan besten Verlag für Entwicklerlektüre nicht verlangen – oder?!!

Software development happens in your head. Not in an editor, IDE, or design tool. You’re well educated on how to work with software and hardware, but what about wetware—our own brains? Learning new skills and new technology is critical to your career, and it’s all in your head.
In this book by Andy Hunt, you’ll learn how our brains are wired, and how to take advantage of your brain’s architecture. You’ll learn new tricks and tips to learn more, faster, and retain more of what you learn.
You need a pragmatic approach to thinking and learning. You need to Refactor Your Wetware.

Besonders gut gefällt mir auch schon mal, was der Autor der Einleitung nach vertritt. Genau über diesen Punkt habe ich vor kurzem erst mit jemandem philosophiert.

Software isn’t designed in an IDE or other tool. It’s imagined and created in our heads.

Pragmatic Thinking

Babylon A.D.

Abgelegt unter Film am 12.09.2008

Ich wusste nichts bevor ich rein gegangen bin. Aber bei manchen Filmen weiß man einfach das man rein muss. Auch wenn man null Informationen darüber hat. Ich hab es gespürt, als ich den Namen das erste mal gelesen habe. Darunter: Scyfi-Thriller. Alles klar, das Genre ist genau mein Ding, ich musste ihn einfach sehen. Also war ich heute im Kino. Und es hat sich echt gelohnt.

Was ich bekam? Gleich zwei Spieleverfilmungen auf einmal! Und noch Schokolade dazu! Wirkliche Spieleverfilmungen sind es zwar nicht, aber an zwei Spiele musste ich denken. Die erste Hälfte von Babylon A.D. ist ca. das Spiel Stalker. Paramilitärische Gruppen in einem Russland ca. 2025, der Regierung gleitet alles aus den Händen und Söldner werden angeheuert. Die zweite Hälfte ist fast pures Deus Ex (mein alleroberabsolute Lieblingsstory!). Der Spagat zwischen dem Göttlichen und den Maschinen, Nanoimplantate, verschiedene Organisationen die sich langsam herauskristalisieren, Anschläge,.. es könnte eine Story sein, die parallel zu den beiden Deus Ex spielen gelaufen ist.

Ich bin ja generell ein Fan von Endzeit, Dystopie. Beklemmend, melancholisch, final, packend, .. das sind die Gewürze für eine großartige Story. Was ich nicht mag an Filmen, ist wenn kleinere Störungen drin sind die mich aus dem Konzept reisen. Z.b. bei Starwars Clonewars ein “Mach schnell, bald gibts Mittagessen”. Das zerstört die ganze Atmosphäre. In Babylon A.D. war kein einziges subversives Element drin. Es war alles aus einem Guss. Okay, doch. Einen Kritikpunkte hätte ich, denn das fand ich albern: Lieber Vin Diesel. Wenn du nicht rauchen willst, dann ist das deine Entscheidung. Aber am Anfang vom Film eine Zigarette gerade mal nur fast zum glühen zu bringen, sich danach 5 mal eine Zigarette versuchen anzuzünden, es aber dann doch nicht tun, um im restlichen Film Nichtraucher zu sein.. das klaut dir deine Glaubwürdigkeit. Sogar in einem beträchtlicheren Maße, wie dich als Cyborg zu sehen.

9/10.

(Nur um die Bewertung mal zu unterstreichen: 9 Punkte sind schon das beste was ein normaler Film erreichen kann. 10 bleiben für Filme ala Fight Club reserviert.)

WOAH

Abgelegt unter Leben am 12.09.2008

Es gibt wieder McFlurry DAIM! Ein Traum wird wahr. 10 Jahre lang habe ich darauf gewartet. Ungefähr. Aber 8 waren es mindestens..

FF2 – übles JS-Workaround

Abgelegt unter Code am 11.09.2008

Zwecks meiner Arbeit musste ich mich mit dem FCKEditor beschäftigen, einem WYSWYG-Editor für Websites. Dazu sollte ich auch einen Live-Switch bauen. Direkt zur Laufzeit musste der Editor zwischen einer Textarea und dem FCKEditor switchen. Dazu hatte ich folgenden Codeabschnitt

// Set the current text in the textarea to the editor.
oEditor.SetData( document.getElementById(’DataTextarea’).value ) ;

Im FF2 hat das aber nicht funktioniert. Ich habe das testweise mal zu

// Set the current text in the textarea to the editor.
oEditor.SetData( document.getElementById(’DataTextarea’).value ) ;
alert(’switch zu html’);

umgebaut – um zu testen ob die Methode aufgerufen wird. Und wenn der einen Alert bringt, dann funktioniert das Übertragen problemlos – man kann 100 mal switchen. Wenn kein Alert drin ist, dann wird der Text aus der Textarea nicht übernommen. Jetzt war ich aber gespannt, an was das lag. Denn ein

// Set the current text in the textarea to the editor.
oEditor.SetData( document.getElementById(’DataTextarea’).value ) ;
document.getElementById(’testarea’).value = “switch zu html”;

brachte nicht das gewünschte Ergebnis. Es ging also nicht grundsätzlich darum, etwas danach auszuführen. Ich vermutete, dass ich etwas ausführen musste, dass das Script stoppt. Also versuchte ich die

function Nix()
{ /* gar nix weiter */ }

direkt danach aufzurufen:

// Set the current text in the textarea to the editor.
oEditor.SetData( document.getElementById(’DataTextarea’).value ) ;

window.setTimeout(”Nix()”,1000);

Brachte mir ebenfalls nicht das gewünschte Ergebnis. Im Endeffekt muss ich jetzt jedes mal den Editor neu erzeugen (anstatt nur die Daten zu übernehmen). Schade eigentlich!

Deus Ex 3

Abgelegt unter PC am 10.09.2008

Ja ist das denn die Möglichkeit? Das beste Spiel aller Zeiten (und von 2002) bekommt einen Nachfolger! Deus Ex 3 ist angekündgt!! Als ich im Trailer die alte Titelmusik gehört habe, waren sofort wieder alle Erinnerungen da.

Deus Ex 3

Der Trailer sagt:

Who we are is but a stepping stone to what we can become.

Genau meine Meinung! Lasst euch nicht einschränken, sondern entfaltet euch. Allerdings ist das wohl in einem etwas anderen Kontext gemeint, denn ..

Wiki sagt:

Patrick Melchior, Direktor von Eidos Frankreich, offenbarte in einem Interview mit IGN, dass ein neues Deus Ex in Arbeit ist. Wie die ersten beiden Deus-Ex-Spiele (Deus Ex und Deus Ex: Invisible War) soll auch der dritte Teil eine Mischung aus Ego-Shooter und Rollenspiel in einem futuristischen Szenario sein. In Deus Ex 3 geht es dem Teaser-Trailer zufolge um Biomodifikationen am Menschen, die Folgen und die Frage danach, was das Menschsein ausmacht. Derzeit seien 80 Leute bei Eidos in Montreal beschäftigt, davon ein Teil in der Qualitätssicherung und ein Teil in der Entwicklung. D’Astous zufolge hat das Entwicklerteam gerade das “Proof of Concept” für Deus Ex 3 hinter sich gebracht, nun soll die eigentliche Entwicklung losgehen. Das Spiel befindet sich also noch in einer sehr frühen Phase. Die Konzeptionsphase ist bereits abgeschlossen – ohne die bekannten Spieleentwickler Warren Spector und Harvey Smith, die für die ersten beiden Deus-Ex-Teile verantwortlich waren.

Na da bin ich ja gespannt, ob das was ohne Warren Spector wird. Aber andererseits war Warren Spector auch kein Qualitätsgarant für den zweiten Teil..

Ich spiele ja echt nicht mehr viel am PC, aber das währe es wirklich Wert sich eine Grafikkarte zu kaufen.

Starwars Clonewars

Abgelegt unter Film am 08.09.2008

Gerade angeschaut. Fand ihn eigentlich recht solide. Verstehe nicht, warum so viele Leute darüber meckern. Man darf halt keinen richtigen Starwars erwarten, sondern eher einen Kinderfilm.
Ein wenig genervt haben diese Zwischenaussagen “.. und es ist eh Mittag..” Die ziehn das etwas zu sehr ins alberne. Ansonsten fand ichs gut, dass die Sprecher die gleichen waren wie sonst auch (im Gegensatz zu den Amis!), und auch die grafische Aufbereitung war echt hübsch. Mal was anders als der 100te Shrek-Verschnitt.

7.5/10

Mein oder Dein Gästebuch?

Abgelegt unter Internet am 07.09.2008

Diese Frage habe ich mir schon des öfteren gestellt. Wenn man auf irgend einer Plattform (Studivz, etc,..) etwas ins Gästebuch geschrieben bekommt was einer Antwort bedarf – wie liefert man dann diese Antwort?

Im Studivz hat es sich, glaube ich, eingebürgert, dass man im Gästebuch des Anderen einen Eintrag hinterlässt.
Vorteil: Der andere ist informiert, dass es eine Antwort gibt. Denn oft hinterlässt man nur mal so einen Spruch bei jemand, wo einen die Antwort gar nicht sooo brennend interessiert.
Nachteil: Für User ist die Kommunikation zerstückelt. Es ist zwar eine Frage da, aber wenn man dem ganzen auf den Grund gehen will muss man erst mal eine Weile suchen.

Postet man dahingegen in sein eigenes Gästebuch dann bietet sich eben, der Vorteil dass der geneigte Leser der Konversation folgen kann.
Der Nachteil aber auch, dass es schnell zugespamt wird (weil man selbst noch dazuschreibt) und das relevante (also was wirklich Gäste hinterlassen haben) verloren geht.

Ich bin mir dessen irgendwie immer noch nicht ganz sicher, hat jemand dahingehend irgendwelche Argumente? Oder ist das in jeder Community einfach anders – so eine Art von stiller Vereinbarung?

Wanted!

Abgelegt unter Film am 05.09.2008

War gerade mit Flo in Wanted! Spitzen Film!
Wie Shoot em up und Max Payne in einem! Eigentlich nur wie Shoot em up mit Bullettime und bisschen mehr (aber dafür schlechterer) Story. Ist sicher nichts für Fans

Man kann einfach drin sitzen und sich über die Effekte freuen. Es macht einfach extrem viel Spaß die Bullettime Tötungsszenen sich reinzuziehen.. Sich nebenbei ein paar Gedanken über sein eigenes Leben machen.. ist es eigentlich inzwischen Mode, dass Filme einem ständig einreden dass man was aus seinem Leben machen soll? Zuerst Hancock, jetzt dies hier.

Ich weiß jetzt nicht ob er besser als Shoot em up ist, da ich den schon lange nicht mehr gesehen habe. Er ist auf jeden Fall sehr ähnlich, und wem Shoot em up gefallen hat, der kann damit nicht viel falsch machen.

8.5/10

UPNP-Server Mediatomb für PS3 konfigurieren

Abgelegt unter Linux, PS3 am 05.09.2008

Jetzt geht das auch noch. Langsam gehen mir die Sachen aus, die ich in den Ferien lernen oder fixen wollte. Lediglich eine einzige Zeile hat gefehlt. Hier mal die komplette Installation unter Ubuntu:

sudo apt-get install mediatomb

sudo vim /etc/mediatomb/config.xml

Darin:

<protocolInfo extend=”yes”/><!– For PS3 support change to “yes” –>

..

<!– Uncomment the line below for PS3 divx support –>
<map from=”avi” to=”video/divx”/>
<map from=”avi” to=”video/x-divx”/>

Wichtig ist die zweite von mir hinzugefügte Zeile! Da scheinen die einen Bug gemacht zu haben. Warum auch immer, für europäische PS3’s gehts so nicht. Dann jedenfalls die Datei speichern. Und das ganze Starten.

sudo /etc/init.d/mediatomb start

Wichtig: Wer das bereits installiert hat und damit kämpft, der muss nach der Änderung in der config.xml sämtliche Dateien neu hinzufügen!! Natürlich erst nachdem der Server neu gestartet worden ist. Beachtet bitte auch, dass ein restart nicht sauber funktioniert. Der Server muss gestoppt und wieder gestartet werden.

So – jetzt gibts Filmgenuss auf dem heimischen Fernseher – frisch gestreamt, was immer das Herz aus meinem Medienarchiv begehrt.

Kreuzing

Abgelegt unter Internet am 05.09.2008

Wie die Zeit vergeht. Da mir Ole sein Xing-Profil gezeigt hat, habe ich doch mir mein Passwort wieder zuschicken lassen. In folge dessen erst mal mein Profil ausgeschmückt und einige alte Schul- und Geschäftsfreunde gesucht (und damit gut 3 Stunden verbracht). Wirklich interessant, wie sich die Plattform seit meiner Registrierung vor 18 Monaten gemacht hat. Total ver-ajax-ed, aber echt angenehm – Gute Usabillity, man weiß immer wo man ist und was man machen kann. Hier ist mein Profil, aber die meisten Leser sollten bereits eine Anfrage von mir haben. Wer noch keine hat, kann mich hinzufügen.

Customized Eclipse

Abgelegt unter Code am 03.09.2008

Da ich eigentlich ständig nur Probleme mit Eclipse-Plugins habe (ich glaube ich habe inzwischen 5 Ordner aus 3 Versionen mit jeweils anderen Pluginkonfigurationen – und alle nerven rum!), hat mich folgende Seite doch leicht erfreut. Man kann dort angeben welche Eclipse-Plugins man haben will und bekommt ein Archiv zu download indem alle Plugins, und vor allem, alle Abhängigkeiten gelöst sind. Ganz speziell für einen Zugeschnitten.

Ich hoffe jetzt einfach mal, dass ich damit endlich PDT ordentlich zum laufen bekomme. RadRails scheint im Ubuntunativen Callisto-Eclipse momentan zu laufen.

Railsmagie

Abgelegt unter Code am 02.09.2008

Da sucht man erst mal ne Weile im Netz, wie man am besten die speziellen HTML-chars ersetzt. Ich habe schon vermutet, dass man das nicht alles per Hand machen muss. Und was ist es? Einfach nur ein h in den Code. Ein simples h! Nur ein Buchstabe. WTF!

Habe dazu eine sehr nette Seite gefunden, gerade für mich als Umsteiger von PHP zu Rails spitze. Jede PHP-Funktion wird dort erläutert, wie man sie in Rails umsetzt.