About Grrbrr

Grrbrr heißt eigentlich Nicolai Schönberg. Er arbeitet als Fachinformatiker Anwendungsentwicklung, ließt gerne Fantasybücher, treibt gerne Sport und spielt ab und zu Computerspiele.

Browser Of My Choice: Chrome

Warum ich Chrome so geil finde:

  • Er ist schlank
  • Er ist schnell
  • Super Entwickler Features (F12) und JavaScript debugger
  • Ich kann Chrome auf jedem von mir genutztem System benutzen (Ubuntu, Windows, Android)
  • Meine Favoriten werden in der Cloud gespeichert, wenn ich mich mit meinem Google-Konto auf einem anderen PC anmelde oder Chrome neu installiere, gehen mir die Favoriten nicht verloren
  • Ich kann auf meinem Mobiltelefon Chrome starten und sehen, welche Tabs ich zuletzt auf meinem Desktop offen hatte und kann diese http Adressen aufrufen (geht auch in die andere Richtung)
  • Adblock
  • Viele weitere Plugins die ich bei bedarf installieren kann, jedoch nicht muss 🙂 Ich mag Chromes schlanke Linie
  • Die Druck-Funktion gefällt mir besser als bei der Konkurrenz

I <3 Google Chrome 😀

Fundstück: PHP Multi Dimensionales Array Nach Key Sortieren

Hallo,

ich bin heute auf einen sehr hübschen Code Schnipsel gestoßen. Mit Hilfe dieser Funktion lässt sich ein beliebiges Multi Dimensionales Array nach einem bestimmten Key sortieren. Funktioniert natürlich nur bei assoziativen Arrays 🙂

Die Funktion:

[php]
function array_sort($array, $on, $order=SORT_ASC)
{
$new_array = array();
$sortable_array = array();

if (count($array) > 0) {
foreach ($array as $k => $v) {
if (is_array($v)) {
foreach ($v as $k2 => $v2) {
if ($k2 == $on) {
$sortable_array[$k] = $v2;
}
}
} else {
$sortable_array[$k] = $v;
}
}

switch ($order) {
case SORT_ASC:
asort($sortable_array);
break;
case SORT_DESC:
arsort($sortable_array);
break;
}

foreach ($sortable_array as $k => $v) {
$new_array[$k] = $array[$k];
}
}

return $new_array;
}
[/php]

Beispiel:

[php]
$values[] = array ("id" => "384f5de3ea2fded", sellerid => 1, sellername => "Zeppelin");
$values[] = array ("id" => "384f5de3ea2fdef", sellerid => 4, sellername => "Buxbaum");
$values[] = array ("id" => "384f5de3ea2fde1", sellerid => 3, sellername => "Rosenkranz");
$values[] = array ("id" => "384f5de3ea2fde2", sellerid => 7, sellername => "Lotus");

print_r(array_sort($values, "sellerid"));
print_r(array_sort($values, "sellername"));
[/php]

Wheel Fail

Heute hatte ich ein kleines Problem … mein rechter Vorderreifen war mit mal platt. – Fail :\

Gut das ich ein Ersatzreifen im Kofferraum habe dachte ich mir – Win 🙂

Leider habe ich 30 Minuten an diesem bescheuerten Rad gerüttelt und versucht das kaputte Rad ab zu kriegen … Ging aber nicht. Jemand hat mir dann einen Hammer geliehen und ich hab solange auf die Felge eingeschlagen bis es endlich ab ging und ich mein Reifen drauf ziehen konnte – Fail? Win? Dunno…

image

Continues Integration – ASP.Net

Zur Zeit beschäftige ich mich mit dem Continues Integration Server Jenkins. Nachdem ich 2 WinForms Anwenunden erfolgreich integriert hatte, wollte ich noch ein ASP.Net Projekt hinzufügen. Bei den WinForms Anwendungen war die Integration wirklich simpel – einfach das Project File mit MSBuild aufrufen, Unit Tests laufen lassen, nochmal StyleCop drüber rennen lassen und alles brav als Zip-Archiv in dem Deployment Ordner ablegen. Nach ein paar Stunden Einarbeitung waren die Projekte angelegt.

Nun also das ASP.Net Projekt… Leider war das nicht ganz so einfach. MSBuild hat mir diverse Fehler um die Ohren gehauen. Ich beschäftigte mich dann intensiver mit custom MSBuild Scripts und bin unteranderem auf dieses Video von Microsoft gestoßen. Es erklärt sehr schön was genau MSBuild eigentlich macht, wenn ein ASP.Net Projekt gebaut werden soll. Ich konnte das Beispiel sehr gut für meine Zwecke nutzen und habe es somit in Jenkins integriert.

Danke, Microsoft 🙂

Grrbrr in der Codekicker-Elf

Seit längerem bin ich Abonnent der Zeitschrift dotnetpro. Der Herausgeber dieser Zeitschrifft betreibt auch die Website codekicker.de – Eine Art Stackoverflow mit den Schwerpunkten .Net, Java, Mobile und Web. Auf der Website werden jeden Monat fleißige Mitglieder in der sogenannten Codekicker-Elf (Bild links) aufgeführt. Diesen Monat habe ich es geschafft in dieser Liste aufgeführt zu werden 🙂
Zitat
puls200, Matthias Hlawatsch, Nicolai Schönberg und Karl bilden diesen Monat das Abwehrbollwerk in der codekicker.de-Elf des Monats. Mit unermüdlicher Zweikampfstärke haben Sie im abgelaufenen Monat die meisten Fragen beantwortet und dafür gesorgt, dass hinten die 0 steht. Unerlässlich für ein erfolgreiches Team.

 

Update

Heute morgen habe ich gesehen, das ich es sogar an die Spitze geschafft habe. Endlich genug gespamt um mal oben zu stehen 🙂

Nicolai Schönberg hat im letzten Monat die meisten Reputationspunkte gesammelt. Mit vielen Antworten hinten dicht gehalten und trotzdem mit eigenen Fragen und Kommentaren für schnelles Umschalten in den Angriff gesorgt gesorgt. Er ist damit unser Oliver Kahn, der Kapitän und Titan des Codings. Glückwunsch!

Umzug Erfolgreich

Soderle, Mittwoch habe ich den neuen Server bestellt und Freitag wurde er bereitgestellt.

Kurzerhand ist der Blog auf den neuen Server umgezogen – Lief alles ohne Probleme. Ich bin von dem neuen Server bis jetzt echt angetan, auch der Minecraft MAX TNT Benchmark wurde mit Bravour bestanden. Ein kurzes CPU peek auf 80% aber ansonsten alles gut 🙂

Server Umzug – Adieu OVH

Adieu OVH ? OVH ist mein provider und mein Server steht in Frankreich 🙂

Seit über 3 Jahren existiert dieser Blog auf dem selben Server – Eine kleine dedizierte Kiste beim provider OVH. Ich kann OVH an dieser Stelle nur loben, da ich eigentlich nie Probleme mit meinem Server hatte. Und wenn mal der SSH Dienst down war, wurde mit einem Support-Ticket schnell Abhilfe geschaffen. Also echt Top!

Das einzige was schade ist, das es das Angebot von vor 3 Jahren zu meinem Server nicht mehr gibt, das Preis / Leistungsverhältnis war super.

Ich werde ende des Monats mit 2 Freunden einen größeren Server bei Host-Europe mieten und auch den Blog umziehen lassen. Grund für den Umzug ist, das dieser Server zu schwach ist um mehrere Spiele-Server gleichzeitig zu hosten (Z. b. Minecraft und Counterstrike) Das gleiche gilt für den Server eines Freundes. Da wir eh immer zusammen spielen, schmeissen wir die beiden Server zusammen.

Nach 3 Jahren Blogging, 447 Fake User Accounts und 2075 erfolgreich unterbundenen Spam Kommentaren sage ich Adieu OVH. Nach kurzer downtime wird der Blog auf den neuen Server umgezogen sein.

Grüße

Rift Combat Parser – Take Two

Hey,

wie ich vor kurzem bereits geschrieben hatte, habe ich ein Combat-Log Parser für das Spiel RIFT entwickelt. Zwischenzeitlich hatte ich das Programm noch um ein paar Features erweitert und auch das Interface überarbeitet.

Während des Projektes sind außerdem 2 Youtube Videos entstanden, die ich hier kurz verlinken möchte. Es sind meine ersten Screencasts, entstanden mit dem sehr guten Programm Screencast-o-matic.

Durch Feedback auf der Seite http://rift-dps.de.vu sowie ein paar Youtube Kommentare weiß ich, das noch immer ein paar Leute mein Programm benutzen. Außerdem wird es täglich von meiner Website heruntergeladen. Da ich zur Zeit kein RIFT mehr spiele, entwickel ich das Programm auch nicht mehr weiter. Wenn von euch jemand ernstes Interesse daran haben sollte das Programm weiter zu entwickeln, kann er mir eine E-Mail an nicolai.schoenberg [at] gmail.com schreiben. Ich kann dann den Source Code an euch schicken.

Grüße

Rift Combat Parser

Moin,
ich habe am Wochenende ein Tool von mir veröffentlicht: den Rift Combat Parser.

Es ist ein kleines Tool, das eine Logdatei von dem Spiel RIFT ausließt und grafisch aufbereitet.

Ich habe für das Tool eine extra Website erstellt, um alle Informationen und Downloads zusammen zu tragen: http://rift-dps.de.vu (Seite existiert nicht mehr)

Der Launch lief ganz ok, in den offiziellen RIFT-Foren gab es bereits ein paar nette Anregungen, so wie konstruktive Kritik und Fragen. Am meisten beschäftigt die deutsche Community sich mit der Frage: Ist ein solches Programm im Sinne der Trion Nutzerbedingung überhaupt legal? Um die vielen Hobbyjuristen zu beruhigen, habe ich heute den Community-Manager um Antwort gebeten… Mal schauen, was dabei rumkommt 🙂

Ansonsten freue ich mich das ein kleiner Personenkreis das Programm genießen kann und freue mich bis dato über mehr als 200 Downloads der ersten Version. Ich werde noch weitere features implementieren und auf die Wünsche der Community eingehen und somit hoffentlich noch mehr Leute zur Nutzung meines Tools zu bewegen.

Grüße