Boehrsi.de - PHP mit mb_ Funktionen

Für meine Homepage nutzt ich bekanntlich PHP, dies ist mit der Zeit so gewachsen und eigentlich läuft soweit auch alles. Doch es gibt immer wieder Dinge die ich optimiere, bzw. welche nicht zu 100 Prozent so laufen wie ich es gerne hätte. Dazu gehört z.B. die Extraktion von Teilen eines Strings. Grundsätzlich ist da natürlich substr() open_in_new dein Freund, doch nur solange das Encoding mitspielt. Denn UTF-8 Zeichen können Multi-Byte Inhalte sein und dadurch ergeben sich interessante Probleme. Denn Umlaute werden, wenn man Pech hat und sie genau über die Grenze eines substr() Aufrufes hinweg gehen, fehlerhaft verarbeitet. Dies kann zu Anzeigeproblemen oder größeren Fehlern führen. Aus diesem Grund empfehle ich dringend mb_substr() open_in_new zu nutzen, was das Multi-Byte Äquivalent zur normalen substr() Funktion ist. UTF-8 nicht zu nutzen ist nebenbei keine Alternative, denn es führt an diversen Stellen zu mindestens genauso vielen Problemen (Stichwort: Emoticons). Es gibt übrigens noch weitere mb_ Funktionen open_in_new, welche man sich definitiv auch mal ansehen sollte.
Battlefield 4 - Legacy Operations mit Dragon Valley 2015 erschienen

Nutzer von Battlefield 4 dürfen sich seit gestern über einen umfangreichen Patch und den kostenlosen Legacy Operations DLC freuen. Letzterer muss via Origin manuell geladen werden, während der Patch selbst direkt bei euch ankommt. Der DLC bringt uns die Map Dragon Valley aus Battlefield 2 zurück. Allerdings handelt es sich nicht um eine eins zu eins Kopie, sondern um eine angepasste und optimierte Version. Vor allem ist sehr cool, dass einer der Bereiche der Map der bekannten Battlefield 3 Map Noshahr Canals entspricht. Spielt man nun im Team Deathmatch Modus, kann man genau diesen Teil erkunden, selbiges gilt z.B. auch für den Gunmaster Modus. Es gibt hier also quasi zwei Maps in einer. Weiterhin bringt euch der Patch einige Bugfixes und diverse Feinjustierungen bei Waffen und Fahrzeugen. Wesentlich relevanter dürften aber weitere Optimierungen im Netcode Bereich sein. Die kompletten Release Notes habe ich unten verlinkt. Diese sind nebenbei gesagt übersichtlich und gut gemacht, inklusive einer kleinen Übersicht für die “neue” Map.
Humble NeoGeo Bundle und Widget Self-Service Beta

Bereits seit einer Woche gibt es unzählige NEOGEO Spiele im Humble Bundle für bekanntlich niedrige Preise. Acht Spiele für einen Preis eurer Wahl, zwölf weitere falls ihr mehr als der aktuelle Durchschnitt zahlt und ab 10 Dollar gibt es noch einmal fünf weitere. Zusätzlich gibt es noch Soundtracks und diverse weitere Goodies, wie z.B. ein T-Shirt ab einem Betrag von 40 Dollar. Falls ihr mit diesen Spielen aufgewachsen seid, dürfte sicherlich das eine oder andere Spiele dabei sein, welches an die guten alten Zeiten erinnert. Für alle anderen lohnt sich ein Blick mit Sicherheit trotzdem. Falls ihr selber ein Spiel entwickelt oder entwickelt habt und dieses über die Humble Bundle Plattform vertreiben wollt, dürfte euch die Widget Self-Service Beta interessieren. Damit könnt ihr nämlich auf Basis der Humble Bundle Infrastruktur einfach und schnell eure Spiele an den Mann oder die Frau bringen. Für weitere Informationen verweise ich wie gewohnt auf die Related Links.
Wöchentliches Gaming Gewinnspiel - KW 51

Neue Woche, neues Glück und das mit immer noch über 50 Preisen. Es gilt wie gewohnt, ein Kommentar kann euch ein neues Spiel bringen. Die Auslosung der letzten Woche ist auch bereits erledigt. Ich musste sieben Mal den Zufall bemühen, bis eines der Spiele gewählt wurde, welches sich von einem der Kommentatoren gewünscht wurde. Das Spiel ist Rise of the Argonauts, also die ehemalige Nummer 41. Dieses hatte sich Mike gewünscht und wird morgen via Mail an ihn geliefert. Viel Spaß mit dem Spiel! Allen Teilnehmern dieser Woche wie immer viel Glück. Falls ihr noch unentschlossen seid, schaut einfach in den unteren Teil der News, ob eines der 50 Spiele etwas für euch wäre. Falls dies der Fall ist schreibt einfach einen Kommentar und steigert falls gewünscht eure Chancen über die sozialen Netzwerke.
Humble Weekly Total War Bundle

Noch knapp drei Tage habt ihr, um euch diverse Spiele der Total War Reihe zu sichern. Für einen Preis eurer Wahl gibt es neben Soundtracks und E-Books unter anderem auch die Spiele Medieval II: Total War Collection, Viking: Battle for Asgard und Shogun: Total War Collection. Aufgestockt wird sobald ihr mehr als der aktuelle Durchschnitt zahlt. An Spielen erhaltet ihr dann noch Empire: Total War Collection, MEDIEVAL: Total War Collection, Total War: SHOGUN 2 Collection und Napoleon: Total War Collection dazu. Weiter geht es ab 15 Dollar mit Total War: ROME II - Emperor Edition, Total War: ROME II - Wrath of Sparta Campaign Pack, Total War: ROME II - Caesar in Gaul Campaign Pack, Total War: ROME II Nomadic Tribes Culture Pack und Total War: ROME II Pirates and Raiders Culture Pack. Ab 30 Dollar könnt ihr euch sogar ein T-Shirt sichern. Ich persönlich bin in diesem Universum eher nicht so zu Hause, aber es soll eine große Fan-Gemeinde haben. Falls ihr dazugehört, seid schnell und schlagt zu!
Mozilla - Alles auf den Fuchs

Firefox macht bekanntlich einiges neben dem bekanntesten Produkt - Firefox, doch dies ändert sich in der nächsten Zeit spürbar. Zum einen ist seit längerer Zeit bekannt, dass man bei Mozilla den Fokus wieder mehr auf Firefox legen will und deswegen plant den Entwicklungsprozess von Thunderbird und Firefox zu trennen (via LizardWrangler.com open_in_new). Dies klingt meiner Meinung nach gut und das sogar für beide Programme. Denn der Aufwand welcher in Thunderbird gesteckt wurde nahm ja bereits vor Jahren stark ab. Hier jetzt die harten Verbindungen zwischen dem Fuchs und dem Vogel zu trennen könnte helfen. Doch scheinbar geht es um mehr als die reine Entwicklungsumgebung, es könnte sein das Mozilla die Führung von Thunderbird in andere Hände gibt. Doch dies ist weder bestätigt, noch unbedingt absolut negativ zu sehen. In diesem Bereich kann man nur abwarten und vorerst die Füße still halten.
Wöchentliches Gaming Gewinnspiel KW 50 - Erinnerung

Ihr braucht noch ein paar Spiele für die kommende Zeit? Dann schreibt einfach unter der hier verlinkten News einen Kommentar und schon habt ihr bald vielleicht wieder etwas Neues. Ihr braucht lediglich etwas Glück und müsst bis Sonntag Abend 23:59 Uhr besagten Kommentar geschrieben haben, denn dann endet das Gewinnspiel. Es gibt eine Auswahl von über 50 Spielen und DLCs und zur Weihnachtszeit werde ich die kommenden Gewinnspiele noch etwas aufstocken.
Ludum Dare 34 - Finale Theme Auswahl

Die finale Theme Auswahl des Ludum Dare 34 hat begonnen. Jeder der möchte und einen Account hat, kann noch ca. einen Tag lang abstimmen. Es sind einige interessante Themen dabei und einige die mir nicht so gefallen. Ich habe entsprechend abgestimmt, auch wenn ich dieses Wochenende auf keinen Fall die Zeit finden werde, um selber ein kleines Spiel zu entwickeln. Leider hat die Zeit auch nicht gereicht ein kleines von mir gestartetes Open Source Projekt “Release fähig” zu machen. Denn ich habe bei den letzten Jams mit LibGDX open_in_new, Box2D open_in_new, Box2DLights open_in_new und dem Tiled Map Editor open_in_new gearbeitet und mir dafür einige praktische Helper Klassen geschrieben. Diese will ich als kleine Library veröffentlichen, sodass man relativ einfach aus seinen vorhandenen Spielobjekten und einer Tiled Karte seine Level generieren kann. Somit lassen sich auch bei wenig Zeit, sehr schnell neue Karten entwickeln und somit mehr Content produzieren. Sobald ich das Projekt funktionsfähig und getestet habe, sowie abschließend etwas aufräumen konnte, findet ihr es auf meinem GitHub Account open_in_new.
GitList - Eigene remote Repositories im Browser betrachten

Wer einen Server hat und auf diesem ein GIT betreibt, der hat mit GitList die Möglichkeit über den Browser diverse Inhalte ansehen zu können. Ich rede dabei nicht von aufwendiger Verwaltung, sondern von einem reinen Viewer. Ich wollte genau dies, um auch online die Commits und Branches einsehen zu können. Ich arbeite zwar alleine an meinem Code, doch selbst dafür ist diese Funktion praktisch. Einzige Anforderung die ich hatte war ein geringer Konfigurationsaufwand und vor allem wenige Abhängigkeiten. Denn ich habe ein relativ komplexes Setup auf meinem Server und möchte dies nicht durch eher unwichtige Dinge negativ beeinflussen. Hier ist GitList sehr praktisch, denn es ist ein reines PHP basiertes Interface, mit wenigen Einstellungen über eine Config in Form einer .ini Datei. Anschließend fehlt nur noch der Upload und die entsprechenden Rechte müssen gesetzt sein. Dabei sollte der Web-User auf den Root-Ordner der Repositories zugreifen dürfen und auch PHP muss die Ausführung dort erlaubt werden (open_basedir open_in_new). Auf der GitList Homepage gibt es ein paar weitere Tipps bei Problemen open_in_new, diese werden z.B. über Änderungen an der htaccess File open_in_new behoben. Bei mir läuft alles gut, abgesehen vom Graphen der für die Commits erstellt wird. Dieser funktioniert bei mir nur für den Master Branch korrekt und ich hoffe dort gibt es noch einen Fix. Allgemein läuft aber alles gut und ich kann einen Test damit nur empfehlen.
Weekly Coding Question - Neue Reihe im Blog

Ich programmiere auf der Arbeit und ich programmiere zu Hause. Dabei nutze ich Java für Android, PHP für die Homepage und diverse weitere Sprachen. Dazu die nötigen Tools, IDEs, Toolchains und was es nicht noch alles gibt. Außerdem schaue ich mir gerne neue Techniken an. Egal ob komplett neue Sprachen, Architekturmuster oder allgemeine Entwicklungsansätze. Doch es gibt unglaublich viel in diesem Bereich und man hat ja leider nur begrenzt Zeit. Aus diesem Grund muss man sich oft entscheiden. Diese Entscheidungen, die Wege zu diesen und vielleicht auch die eine oder andere Diskussion, die ich eigentlich mit mir selber führen würde, möchte ich gerne mit euch teilen. Dabei wird es nicht wie in den meisten News ein Problem mit einer Lösung oder eine reine Info geben, sondern meine Gedankengänge und meine Ideen. Nicht unbedingt abschließende Entscheidungen, sondern eher Ansätze und Möglichkeiten solltet ihr von News dieser Reihe erwarten. Ich persönlich erhoffe mir den einen oder anderen Kommentar und neue Ansichten zu Themen die ich interessant finde. Denn genau diese Gespräche in den Kommentaren sind für mich der Lohn den ich bekomme, wenn ich diesen Blog betreibe. Ich plane einmal pro Woche, zum Wochenende hin einen Beitrag zu veröffentlichen. Ca. fünf Themen habe ich bereits, falls ihr Vorschläge habt bin ich wie gewohnt aber auch offen für diese.