Lets Code - Bachelorarbeit Teil 1 - Das Grundgerüst
Auch wenn dieser Teil meines Uni-Lebens schon so länger her ist, heute möchte ich nun endlich mit einer kleinen Erklärung zu meiner Bachelorarbeit beginnen. Das Grundgerüst des Spiels, welches ich im Rahmen der Bachelorarbeit entwickelte, ist dabei mein heutiges Thema. Doch vorweg erst einmal kurz warum ich ein Spiel entwickelte. Der Grund dafür war die Idee neue Steuerungskonzepte auf ihren Erfolg hin zu testen, dieser sollte dabei durch eine Steigerung der User Experience gemessen werden. Das Spiel war also mehr Mittel zum Zweck und ist aus diesem Grund eher funktional aufgebaut und nicht mit dem Fokus auf Spielspaß programmiert worden.
Boehrsi.de V7 - Inhalte komprimieren
So langsam habe ich fast alle Themen bezüglich der Optimierung meines Web-Servers abgearbeitet und heute ist die Komprimierung von Inhalten das Thema. Dafür nutze ich, da Apache der Webserver meiner Wahl ist, das Apache Modul mod_deflate open_in_new. Selbiges habe ich relativ simpel konfiguriert, wobei ich mich wie schon zuvor erwähnt an die Einstellungen von html5boilerplate.com open_in_new halte. Denn diese waren bis jetzt extrem gut und brachten mir nur Vorteile. Diese haben sich im Vergleich zu meiner Konfiguration schon wieder etwas verändert aber dort werde ich größere Anpassungen erst wieder beim nächsten Umfangreichen Update durchführen oder aber wenn Fehler auftreten. Im unteren Teil findet ihr meine konkrete Vorgehensweise.
Boehrsi.de V7 - Bilder serverseitig optimieren
Einer der größten Datenproduzenten bei der Übertragung von Homepage-Daten sind Bilder. Selbige einfach wegzulassen sollte man allerdings nicht versuchen, denn was wäre eine Seite ohne Bilder. Aus diesem Grund muss man Bilder entsprechend optimieren. Das bedeutet zum einen die richtigen Formate zu verwenden und auf der anderen Seite die Bilder mit verschiedenen Tools so anzupassen, dass man hier und dort ein paar Bits und Bytes sparen kann. Denn insgesamt erreicht man dadurch tatsächlich eine spürbare Verkleinerung der Daten.
Smart Port Forwarding - Battlefield Port 3659 Problem Ade
Auch wenn die Überschrift sich auf Battlefield bezieht, so kann dieses kleine Tool sicherlich vielen helfen und ist z.B. für Netzwerk Admins manchmal ganz hilfreich. Es geht um das Tool Smart Port Forwarding, welches es euch ermöglicht mit wenig Aufwand und wenig Performance Ports weiterzuleiten. In meinem konkreten Beispiel nutze ich es, um das extrem nervige Problem mit dem Port 3659 in Battlefield zu umgehen, welches gerne auftritt sobald man mit mehreren Spielern über eine Leitung spielt. Für diesen Anwendungsfall muss man nur sehr wenig eintragen, da die Pakete generell umgelenkt werden, ihr könnt aber auch mit Filtern bzw. Regeln arbeiten und so genauer differenzieren. Ein Danke geht hier an Mars, welcher mich auf dieses Programm hingewiesen hat.
DayZ Mod - Richtig mit Steam installieren
Im digitalen Bereich schreitet die Zeit manchmal schneller voran als man denkt und somit möchte ich meine alte DayZ Mod Installationsanleitung heute mal überarbeiten. Denn durch die Abschaltung von GameSpy und dem kompletten Umzug von Arma 2 zu Steam, hat sich diese stark geändert. Dankbarer Weise ist sie sogar einfacher geworden und funktionierte nach meinen Tests sehr gut und vor allem unkompliziert. Denn sie funktioniert zu 90% indem man einfach nur in Steam arbeitet. Die Schritt für Schritt Anleitung findet ihr im unteren Teil der News. Den Link zum einzigen weiteren benötigten Tool, dem DayZ Commmander gibt es in den Related Links.
[Update - 12.07.2015] Eine aktualisierte Anleitung ist hier vorhanden, Stand Juli 2015.
#BitdefenderChallenge - Sicher online unterwegs
Sicherheit ist ein umfangreiches und wichtiges Thema bei der Nutzung von Computern und wird leider viel zu häufig unterschätzt. Aus diesem Grund schreibe ich heute im Rahmen der #BitdefenderChallenge open_in_new einen Beitrag über mein aktuelles Schutzkonzept und welche Änderungen ich mir noch wünschen würde. Letzteres ist nicht unbedingt im Rahmen der Challenge gefragt aber ich denke realistische Anregungen und Ideen sollten möglichst häufig geäußert werden, sodass sie vielleicht bald in die jeweiligen Software-Lösungen einfließen. Um den Beitrag zu gliedern, werde ich so vorgehen als würde ich gerade meinen Computer neu installieren. Dadurch kann ich euch nach Prioritäten sortiert und mit Erklärungen versehen eine Schritt für Schritt Anleitung zu meinem Schutzkonzept geben, welche für interessierte gut nachvollziehbar sein sollte.
Server Talk To Me - Verfügbare Updates anzeigen
Lange habe ich in dieser Sammlung schon nichts mehr geschrieben aber nun wurde es mal wieder Zeit. Denn vor einigen Tagen habe ich nun endlich mal umgesetzt, was ich schon ewig wollte und zwar die Benachrichtigung via Mail ob Updates für den Server vorhanden sind. Dabei war meine Anforderungen das ich sowohl die gesamte Anzahl der Updates möchte, wie auch eine Info wie viele davon Sicherheitsrelevant sind. Das ganze wollte ich gerne in meine nächtlichen Server Info Mails einbauen. Um dies zu erreichen musste ich nur einen minimalen Aufwand betreiben und wie genau ich dies umgesetzt habe könnt ihr im unteren Teil der News nachlesen.
Boehrsi.de V7 - Code Minimierung
Wenn man weniger Daten laden muss geht alles schneller, klingt logisch oder? Dementsprechend soll man versuchen den Code, der an den Nutzer gesendet wird, zu minimieren. Es geht hierbei nicht darum was z.B. im PHP Backend passiert, sondern um die finalen Daten die transferiert werden müssen. Es ist dabei relevant HTML zu entschlacken aber auch JavaScript und CSS sollten nicht vergessen werden. In diesem Zuge habe ich durch die Umstellung auf einen komplett neuen HTML5 Code alles etwas “einfacher” gehabt. Denn dadurch achtete ich natürlich automatisch auf einen möglichst minimalen Unterbau. Ich verhinderte von Anfang an Inline CSS Nutzung und platzierte CSS direkt in Elementen ohne extra Klassen einbinden zu müssen. Außerdem legte ich möglichst viele ähnliche CSS Klasse zusammen und wendete sie auf diverse HTML Elemente an. Einzelne Unterschiede wurden dann extra abgearbeitet und insgesamt denke ich mit dieser Technik sehr gut gefahren zu sein. Vor der Auslieferung der CSS Datei an den Nutzer habe ich dann noch das Tool cssmin.js open_in_new über meine CSS Datei laufen lassen und konnte auch hier noch ein paar Bytes heraus holen. JavaScript versuche ich möglichst wenig zu nutzen, auch wenn die Möglichkeiten vielfältig sind. Dies ist damit begründet das man JavaScript blockieren kann und ich bin der Meinung eine Seite sollte grundsätzlich immer grundlegend funktionieren, auch ohne extra Skripte. In diesem Bereich erreichte ich die Minimierung also quasi einfach schon durch meine Vorstellungen von JavaScript Integrierung. Den wenigen Code den ich schrieb, erstellte ich in jQuery, was noch einmal etwas Masse spart. Aus diesem Grund nutzte ich kein weiteres Tool zur Code Minimierung, wie zum Beispiel JSMIN open_in_new. Alles in allem läuft meine Seite nun sehr schnell aber trotzdem möglichst Standard Konform, was häufig ein Problem ist.
Lets Code - Mehr Programmierung und Entwicklung auf Boehrsi.de
Vor ein paar Tagen erwähnte ich, dass es mich etwas stört das Spiele nunmehr den Großteil meiner Blog Beiträge ausmachen und ich gerne etwas mehr Abwechslung rein bringen möchte. Worum es dabei geht möchte ich hier nun minimal zusammenfassen und eine kleine Übersicht über die Dinge, die da kommen werden, geben. Es wird um diverse Programmier-Themen gehen, welche zu einem gewissen Teil im Android und Java Lager angesiedelt sind aber auch einiges in Richtung Web Development möchte ich verbloggen. Zusätzlich habe ich eine Reihe Libraries, Tools und APIs die ich mir ansehen möchte. Die Ergebnisse werde ich dann auch hier festhalten und ich würde mich freuen mit euch über diese diskutieren zu können. Unter anderem werde ich mir CloudFlare open_in_new ansehen, den GitHub Editor Atom open_in_new testen, den HTTP Client OkHttp open_in_new und dessen API ausprobieren und das Play Framework open_in_new mit euch betrachten. Letzteres wird wohl relativ umfangreich abgearbeitet werden, denn es kommt in meiner Masterarbeit zum Einsatz, über welche ich auch noch berichten werden. Außerdem werde ich endlich auf meine Bachelorarbeit eingehen und diverse Themen meiner aktuellen Android Entwicklung (z.B. die Migration von ActionBarSherlock open_in_new auf ActionBarCompat open_in_new und wie wichtige die Programm Optimierung selbst bei kleinen Apps ist) erwähnen. Die Liste war nun ziemlich durcheinander und hat keinen Anspruch auf Vollständigkeit aber ich denke sie vermittelt einen ungefähren Einblick in die kommenden Inhalte hier im Blog. Ich hoffe eure Meinungen und Ideen zu den jeweiligen Themen in den Kommentaren zu finden und freue mich über eine neue Welle an tiefer gehenden Beiträgen hier im Blog.
Hilfreiche Addons für Raspbmc - Installationsanleitung
Da ich vorhin in den Kommentaren gefragt wurde wie die Installation von Addons unter XBMC vorgenommen werden kann, wollte ich dazu mal einen kleinen Beitrag schreiben. Grundsätzlich ist es am besten Addons aus einem Repository zu installieren. Repositories beinhalten dabei eine Sammlung von Addons und über Repositories können Addons auch automatisch aktualisiert werden. Aber wie auch immer man ein Addon installiert, das Vorgehen ist quasi immer identisch. Als erstes müsst ihr auf die Addon Seite navigieren, dazu wählt ihr System / Settings / Addons. Im weiteren könnt ihr entweder Get Addons wählen, falls ihr bereits das jeweilige Repository installiert habt. Dann wählt ihr einfach selbiges und navigiert ins jeweilige Unterverzeichnis, um das jeweilige Addon zu aktivieren. Solltet ihr allerdings ein einzelnes Addon oder aber ein Repository in einer Zip Datei haben, wählt ihr Install from zip file. Dort wählt ihr die jeweilige Datei. Nun könnt ihr wie im ersten Schritt beschrieben einfach das jeweilige Repository auswählen und von dort direkt das gewünscht Addon laden. Eine bebilderte Anleitung findet ihr im XBMC Wiki open_in_new, denn ich könnte nur Fotos von meinem Fernseher liefern, was qualitativ nicht wirklich ansprechend wäre.