Alle Beiträge von toocan

sudoku-masters.com

Ein guter und geschätzer Programmierer und Freund meinerseits hat es nun auch gewagt und seine ‚Spiele‘-Seite auf dem Zend Framework geschrieben.

Nicht nur, daß er sich entgegen seiner Gewohnheit durch ein Manual gelesen hat, er hat auch noch eine ebay-intensifier-Klasse im ZF – style geschrieben, die für das Zend Framework sehr interessant wäre.
(Anfragen bitte an ronsel [at] gmx [dot] de)

Nun ja … den kommerziellen Gedanken mal außer Acht gelassen ist das eine ganz interessante Seit geworden (mit ein bißchen Schnickschnack) , aber schaut es euch selber an…

Link: sudoku-masters

greetZ tucci

PS: Das layout hat die gute kruxi gemacht.

YAE – Yet Another Experiment

Heute startet ein Experiment der besonderen Art.

Ziel: Eine Webdesignerin / Grafikerin (kruxi) wird zum Scripter in 21 Tagen. (ok, die Idee mit den 21 Tagen ist nicht sonderlich neu, aber ich habe noch von keinem wirklichen Erfolg gehört …)

Ist es wirklich zu schaffen, dass sich ein(e) Fachfremde(r) in 21 Tagen eine Scriptsprache bis zur sauberen angewandten OOP aneignen kann?
YAE – Yet Another Experiment weiterlesen

Google Code Jam

Google startet in Europa einen Programmierwettbewerb, bei dem Programmierer der Sprachen Java, C++ und C# ihr Können unter Beweis stellen können: Google Code Jam

Innerhalb der nächsten zwei Monate läuft die Competition, die Anmeldung ist noch bis zum 23.Mai möglich. Den Gewinnern winken Preisgelder im Gesamtwert von 30.000 €. Im Wettbewerb werden allen Teilnehmern eine Reihe von Fragen gestellt, die sie in einer bestimmten Zeit beantworten müssen. Nach insgesamt drei Runden bleiben nur noch die 50 besten Programmierer übrig, die dann am 29. Juni nach Dublin (Irland) geflogen werden, um dort gegeneinander anzutreten.

Also wenn Ihr was auf Euch haltet und Zeit habt – meldet Euch an!

Zu große XMLs unter PHP4 – XMLspider

Was tun, wenn man zu große XML-Dateien parsen und die darin befindlichen Daten in eine Datenbank importieren muß.

Problembeschreibung:

Wir lassen bei einem großen Suchmaschinendienst Berichte über geschaltene Werbekampagnen erstellen, holen diese ab und wollen die enthaltenen Datensätze in eine Datenbank überführen, müssen aber zu jedem Datensatz noch eine Schlüsselwortkennnummer (im folgenden KeywordID) aus einer anderen Datenbank holen. Das klingt nicht weiter wild, wird es aber, wenn man bedenkt, dass wir von XML-Dateien reden, die locker 150 MB umfassen und sich darin ca. eine halbe Million Datensätze befinden.
Zu große XMLs unter PHP4 – XMLspider weiterlesen

Catwalk

Ein Schwank aus dem Leben eines Katzenbesitzers.

… wir saßen nun also da und installierten ein Ubuntu. Als nun die Zeit kam, da das Betriebssystem die Grundinstallation durchführte und gleichzeit die Kaffeezeit anbrach, die im Übrigen zu jeder anderen Zeit des Tages sein könnte, trafen wir uns zur gemeinsamen Einnahme unserer koffeinhaltigen Hauptdroge.

Nachdem wir diesem gemeinschaftlichen Ereignis ausgiebig gefrönt hatten, begaben uns wieder zu selbigem Rechner zu schauen was er tut. Es freute uns gar sehr, dass er ordnungsgemäß und völlig ohne jegliche weitere Aufforderung oder gar Fehlerdarstellung die Installation hinter sich gebracht hatte und uns nun ein feines login-promt präsentierte. Erst als wir versuchten mit den uns üblichen logins und den dazugehörigen Passwörtern Zugang zu erlangen, viel uns auf, dass keiner von uns einen Benutzer angelegt hatte. Bei Ubuntu ist der root-account übrigens standardmäßig abgeschalten, kann aber nach Bedarf mit dem erstellten Benutzer-Account wieder aktiviert werden.

Jener Account wurde aber definitiv von keinem erstellt, was die Vermutung nahe legte, dass der gute Kater, als er sich wärend unseres Kaffeekonsums über die Tische bewegte, es geschafft haben muss einen bzw. den Hauptbenutzer anzulegen. D.h. er muß einen validen Benuzternamen, ein login dafür (ok, das schlägt das System vor) und zweimal das gleiche Passwort eingegeben haben. Ein kluger Kater!
(Kurz: Wir haben’s dann neuinstalliert … ohne Kater!)

(P)Fund(s)stück der Woche

Eine Debugger-Object, daß scheinbar suizidgefährdet ist.


class Debugger{

[...]
	function runError($content,$typ){		
		
		 switch($typ){
		 	case E_USER_ERROR:
		 	 	unset($this);
		 		trigger_error($content, E_USER_ERROR);
		 		die();
		 		break;
		 	case E_USER_NOTICE:
		 		trigger_error($content, E_USER_NOTICE);
		 		break;
		 	case E_USER_WARNING:
		 		trigger_error($content, E_USER_WARNING);
		 		break;
		 	default:
		 		unset($this);
		 		trigger_error($content, E_USER_ERROR);
		 		die();
		 }
	}

}

Man nehme mal daß wir der Methode runError einen E_USER_ERROR (256) übergeben, schaun wir doch mal, was da passieren würde.

$deb = new $Debugger() ;
$deb->runError(‚die hard!‘,E_USER_ERROR);

Der switch findet ordnungsgemäß raus, das wir zum case-Block:E_USER_ERROR müssen und tötet sich erstmal selber … versucht es zumindest, denn im Falle eines Erfolges würde ja sonst das darauffolgende „trigger_error()“ nicht mehr ausgeführt werden.
Wird sie aber, da nur kurzzeitig das Object sich selber verliert dann sich aber seiner Existens wieder besinnt und wie befohlen einen Fehler wirft. In diesem Falle einen E_USER_ERROR was im Falle dieses Scriptes auch den Effekt des sofortigen Todes zur Folge hat.

Aber …
…sollte auch nur kleines Fünkchen Leben noch in dem Script selber stecken, wird mit dem anschließenden „die()“ auch garantiert, daß die komplette (jetzt schon tote) Ausführung auch wirklich beendet wird. Nachdem nun das Script zweimal gestorben ist, das erste zählen wir mal als mißglückten Suizidversuch, darf das Script dann wiederum ordnunggemäß aus dem switch springen und somit die Methode beenden.

Fein, alles tot (garantiert!!!) und fertig …

Ergo: Wenn du suizidgefährdete Klassen baust, sorge lieber „mehrfach“ dafür, daß sie nicht heile aus der Sache rauskommen!

so far – tucci

Einst war das echo …

So oder nur leicht anders fing bei jedem von uns ‚Scriptern‘ wohl an.

Wir wollen nun hier nicht nur unbedingt unseren Werdegang schildern und dazu vielleicht auch die eine oder andere Verfehlung unserer Selbst präsentieren, sondern auch Belustigendes, Anregendes und Bedenkliches was uns auf desem Wege wiederfahren ist und noch wird.

In diesem Sinne tucci