BlogKontaktTagcloud

Ab in die Ferien

Nun gehts endlich in die richtigen Ferien. Drei Wochen Skandinavien (unter anderem auch da) und danach gleich anschliessend noch eine Woche Sommerlager in Brienz.
Ähnliche Beiträge:
Ferienbilder
Schulferien sind...
Zurück
Aufrüstung
Sechshundert Tage
Comments (5)  Permalink

Viele Daten II

Nochmals was von meiner krass-viel-daten Projekt. Die Keys nachträglich zu erstellen verschnellert zwar das Einfügen massiv, das Einfügen der Keys dauert aber vermutlich dann etwa gleich lange:

mysql> show processlist;
+----+---------+-----------+---------+---------+--------+-------------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+---------+-----------+---------+---------+--------+-------------------+------------------------------------------------------------------------------------------------------+
| 19 | xyz | localhost | xyz | Query | 340517 | copy to tmp table | ALTER TABLE `pagelinks`
ADD UNIQUE KEY `pl_from` (`pl_from`,`pl_namespace`,`pl_title`),
ADD KEY |
| 45 | root | localhost | wikiway | Query | 0 | NULL | show processlist |
+----+---------+-----------+---------+---------+--------+-------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.06 sec)
Also noch etwa 100 Stunden um die Keys zu erstellen. Und leider dauern die Abfragen immer noch zu lange. Desshalb werde ich als nächstes Denormalisieren.
Ähnliche Beiträge:
Viele Daten
WikiWay2.0
Suchen in Graphen und Bäumen mit SQL
Denormalsieren in MySQL
Wikipedia-Suchmaschine
Comments (0)  Permalink

Aufrüstung

Mein neuer hundertgramm-schwerer high-tech Lichtspender heist petzl MYO XP und ist extrem krass (bis zu 65 Meter Reichweite). Wollte ich nur sagen! ;-)


Ähnliche Beiträge:
Ferienbilder
Schulferien sind...
Zurück
Ab in die Ferien
Sechshundert Tage
Comments (7)  Permalink

Viele Daten

Viele Daten sind ein Fluch, besonders wenn man nicht die Möglichkeit hat einfach einen dickeren Rechner hinzustellen. Mein Laptop rechnet sich für eine Testinstallation momentan dumm und dämlich. Tagelange Insert-Batch gehören in zwischen zum Normalfall.

Dank dem Tipp von Chregu habe ich heute mal die Key's nachräglich hinzugefügt. Das hat das einfügen einiges schneller gemacht. Das Einfügen der Schlüssel dauert dann aber auch ein Weilchen. Das sieht dann so aus:
Query OK, 1097721 rows affected (2 hours 45 min 31.85 sec)
Records: 1097721 Duplicates: 0 Warnings: 0
Mehr zu Krass-viel-Daten vieleicht irgendwann mal später hier in diesem Blog.
Ähnliche Beiträge:
Viele Daten II
WikiWay2.0
Suchen in Graphen und Bäumen mit SQL
Denormalsieren in MySQL
Wikipedia-Suchmaschine
Comments (0)  Permalink

BSI sucht Softwareentwickler

Christian, der Geschäftsführer von BSI, sucht 10 Softwareentwickler im Bereich J2EE, Eclipse, SOA. Und das per Brief auf einem Plakat an bester Lage im Zürcher Hauptbahnhof (hier als PDF). Das nenne ich Aufschwung im richtigen Moment ;-)
Ähnliche Beiträge:
SCJP, now!
Named parameters in Java (bgl-style)
Is Dalvik the better J2ME?
MySQL drinks java
Zwischenstand Wette
Comments (2)  Permalink

Ajax vs. Flash

Gestern Abend war ich am Webtusday bei Bitflux direkt an der lautesten Strasse Zürichs.

Chregu und Gere haben ihren, bereits an der EuroAjax gehalten, "Kampf" "Ajax vs. Flash" wiederholt. Was an der EuroAjax als Show-Kampf abgehalten wurde, galt diesmal ernst ;-) Um es gleich vorweg zu nehmen: Ich glaube Gere hat mit irgendwelchen rhetorischen Tricks gewonnen. Das Resultat war am Schluss 26:22 für Flash obwohl Gere Chregu öffters Punkte geschenkt hat.

So jetzt aber im Detail noch einige Dinge die Interessant fand (ein bischen Flash lastig). Beim SEO scheint AJAX die Nase ein wenig vorne zu haben, da statische, maschinenlesbare Seiten einfacher erzeugt werden können. Flash hat bei Cookies klar gewonnen, die Fähigkeit Cookies mit unendlicher Grösse anzulegen hat sehr überzeugt. Natürlich ist auch die Crossdomain-Funktionalität in Flash ausgereifter als in AJAX. Chregu musste dann zwischendrin mal noch anmerken das er ohne den Browser aus Redmond locker gewinnen würde. Gere auf der anderen Seite zeigte sich nicht sehr begeistert von den geschäftsgebaren der neuen Flash Besitzers Adobe.

Bei den Multimedia-Fähigkeiten konnte AJAX Flash nicht viel entgegenheben. Flash kann auf Mikrofon und Kamera zugreifen, Töne erzeugen und auch Content streamen. Für das Streaming gibt es auf der Server-Seite auch Open Source Lösungen, zum Beispiel red5. Bei den Arbeitskräften hat Flash dann wieder verloren. Flash-Programmierer die wirklich Ahnung vom Programmieren haben (SOAP, OO, Gui-Library etc.) scheinen Mangelware zu sein.

Natürlich wurde während des ganzen Fights ein wenig Äpfel mit Birnen verglichen. Flash eignet sich eher für RIA-Anwendungen, AJAX eher für contentlastige Webapplikationen. Flash wird in Zukunft wohl (ebenso wie AJAX ) einen Aufschwung erleben. Die Natelunterstützung von Flash könnte sich als grosser Vorteil erweisen, während AJAX auf dem Natel mit den verschiedenen Browsern vermutlich einen rechten Kampf haben wird.

Das die beiden Welten nicht komplett verschieden sind zeigt zum Beispiel OpenLazlo auf, das aus einem Code sowohl Flash-, als auch AJAX-Applikationen erzeugt.Bleibt mal noch einen Fight zwischen Java-Applets und Flash auszufechten. Vieleicht können wir dann endlich die leidige Diskusion mit den Applets (samt Applets) beerdigen.
Ähnliche Beiträge:
All new webtuesday
Web-Continuations - Technolgie 2007
Zeitplanung bei Webprojekten (nichts als die Wahrheit)
Running Images goes Web 2.0
100@facebook
Comments (7)  Permalink

Breadth First - Breitensuche in PHP

Ich habe heute eine Breitensuche in PHP implementiert. Dazu habe ich eine abstrakte Klasse mit der Breitensuche implementiert. Der Problemteil kann dann in der davon abgeleiteten Klasse implementiert werden.

In der Problemklasse kann einfach die Methode generateDescandants überschrieben werden. In diesem Fall erstellen wir eine Art Inhaltsverzeichnissbaum, der jedes Kapitel mit drei Unterkapitel versieht. Sicher nicht gerade die intelligenteste Anwendung, aber eine nette kleine Demonstration.

class SimpleSearch extends AbstractBreadthFirst {
function generateDescendants($parent){
$ret = array();

$ret[] = $parent.".1";
$ret[] = $parent.".2";
$ret[] = $parent.".3";

return $ret;
}
}
Das ganze wird dann relativ einfach verwendet. Nämlich so:
$s = new SimpleSearch();
if( $s->runBreadthWithDepth("1", "1.2.3.1.2.2.3",6) ){
print_r($s->getPath());
}

print("\nCount: ".$s->getCount()."\n\n");
So wird zuerst ein Suchobjekt instanziert und dann die Suche gestartet. Übergeben wird der Startzustand, der Zielzustand und die maximale Suchtiefe. Wenn ein Status gefunden wird, wird true zurückgegeben. Mit getPath kann in diesem Fall ein Array mit dem Lösungspfad zurückgegeben werden. Mit getCount kann die Anzahl durchsuchter Knoten zurückgegeben werden.

Hier geht es nun noch zum Suchcode weiter.
Ähnliche Beiträge:
Make it human (or how to crack a CAPTCHA)
Jira status
Mailstatus in Skype
PHP Quine
What's php like?
Lese ganzen Beitrag Comments (2)  Permalink

Google hates me!

Es ist vorbei! Google hat mir die Freundschaft gekündigt.

In letzter Zeit habe ich den Verkehr auf meiner Seite mit Google Analytics gemessen. Ich war erstaunt warum und wieviele Surfer den Weg auf mein Blog fanden. Etwa fünfzig Prozent der Besucher wurden von Google mit alle möglichen Suchworte auf mein Blog geleitet.

Dies ist nun vorbei, irgend ein böser Google Mitarbeiter scheint letzte Woche den Algorithmus geändert zu haben und seit diesem Zeitpunkt kommen nur noch etwa 15 Prozent der Besucher von Google und die Besucherzahlen gingen um etwa die Hälfte zurück.

Zum Glück sind die Besucherzahlen für mich nicht so wichtig (obwohl so was natürlich mein Blogger-Ego kränkt ;-), aber für den Betreiber eines Online-Geschäfts kann sowas wohl das Ende sein. Dabei weiss man nicht einmal warum das man nun plötzlich so weit hinten ist und eine Einspruchsmöglichkeit gibt es sowieso nicht. Zum Glück bin ich aber nicht alleine ;-)
Ähnliche Beiträge:
Is Dalvik the better J2ME?
Google Open Source Jam Zürich
Schweizer Innovationen kopieren
New Google Analytics
Geheimer Code?
Comments (5)  Permalink

Fertig!

Wie schon angekündigt haben wir am Freitag, wie andere auch (z.B. die oder die), unsere Semesterarbeit abgegeben. Für Interessierte hier schon mal vorab unser Abstract, sobald die Abstracts aller Arbeiten online sind, werde ich sicher nochmals darüber schreiben. Die Qualität der Arbeiten waren in diesem Semester (mit den obligaten Ausnahmen), meiner Meinung nach, einiges höher als im letzten.
Ähnliche Beiträge:
Mein erster Patch
Generische Decorator in Java mit Reflection
Developing Eclipse CDT
PHP 6 is coming
Akregator Konqueror Plugin & Patch
Comments (0)  Permalink

Letzte!

Soeben habe ich mit einer interessanten Vorlesung über die Spielthorie meine (hoffentlich) letzte Lesung dieses Studiums bewältigt. Ganz fertig bin ich natürlich noch nicht, heute müssen wir noch unsere Semesterarbeit abschliessen. In einem halben Jahr, nach einigen Prüfungen und einer Diplomarbeit, bin ich dann auch Eidg. Dipl. Ing. FH.
Ähnliche Beiträge:
Letzte Schulwoche (Woche 10)
German (Week 9)
Testweek, again (Woche 8)
Formweek (Woche 7)
Schulhalbzeit (Woche 5)
Comments (0)  Permalink
Next1-10/11