Zum Inhalt springen →

jentsch.io Beiträge

Mails per SMTP mit dem PHPMailer versenden

Jeder der schon mal aus einem PHP Skript heraus eine Mail verschickt hat, kennt den mail Befehl. Dieser Befehl ist recht einfach und funktioniert wunderbar, so lange man sich darauf verlässt, dass der Empfänger nicht irgendwelche Maßnahmen ergriffen hat, die so versendete Mails als Spam erkennen. Da man sich bei z.B. einem Registrierungs-Formular oder anderen automatisch erzeugten Mails, bei denen man die Empfänger nicht kennt, nicht darauf verlassen kann, bin ich irgendwann mal auf den Versand per SMTP umgestiegen. Das ist wesentlich sicherer und die Wahrscheinlichkeit, dass die Mail wirklich da ankommt, wo sie soll ist wesentlich größer. Da ich das Rad nicht neu erfinden wollte habe ich erst mal nach existierenden Libraries gesucht und bin dabei auf den PHPMailer …

Kommentare sind geschlossen.

Online Checker für Shell Scripte

Unter ShellCheck.net habe ich ein Tool gefunden, mit dem man schnell und einfach eine statische Analyse für Shell-Skripte durchführen kann. Einfach den Script Code auf der Seite in das Eingabefeld kopieren und schon werden die Schwächen des Shell Scripts aufgezeigt. Die Statische Code-Analyse ist ein Software-Testverfahren, das vor oder während der Compilierung durchgeführt wird. Der Quelltext wird hierbei einer Reihe formaler Prüfungen unterzogen, bei denen bestimmte Sorten von Fehlern entdeckt werden können, noch bevor das Shell Script ausgeführt wird. Bei der Prüfung einiger meiner Shell Scripte hat mit ShellCheck.net hat mir das Tool eine Reihe von Verbesserungen vorgeschlagen und ich konnte einige meiner Skripte noch mal optimieren. Vor allem die kleinen „Was wäre wenn?“ werden von dem Open Source Tool…

Kommentare sind geschlossen.

php Sudoku 2.0 endlich fertig.

Endlich ist es so weit und die aktuelle Version des PHP Sudoku ist fertig und kann kostenlos unter https://github.com/msoftware/phpsudoku heruntergeladen werden. Wer einfach nur mal ein Sudoku spielen möchte kann das unter https://phpsudoku.jentsch.io/ tun.

Kommentare sind geschlossen.

CSS3114: Fehler bei der Berechtigungsprüfung für die OpenType-Einbettung in „@font-face“. Die Berechtigung muss „Installable“ sein.

Was für ein langer Titel. Ja, ich weiß, aber in diesem Artikel geht es um eine Lösung für das im Titel angesprochene Problem, dass mir über den Weg gelaufen ist, als ich einen True Type Font aus dem Internet nutzen wollte. Dabei habe ich den Font DS-DIGI.TTF der Stoppuhr unter „http://thecodeplayer.com/walkthrough/make-a-stopwatch-using-css3-without-images-or-javascript“ in einem konkreten Anwendungsfall nutzen wollen. Alles in allem hat das auch ganz gut funktioniert. Nur der Internet Explorer hat wohl etwas strengere Regeln bei der Verwendung von TTF Dateien als Webfont, denn statt dem Font bekomme ich nur den folgenden Fehler angezeigt. CSS3114: Fehler bei der Berechtigungsprüfung für die OpenType-Einbettung in „@font-face“. Die Berechtigung muss „Installable“ sein. Nachdem ich den Fehler nun mal gegooglet habe bin ich auf das kleine Programm…

Kommentare sind geschlossen.

Wie es sich anfühlt, wenn ein Startup scheitert

Lesenswerter Artikel bei t3n über die Schlachten des Startups 99dresses. Hier erzählt die Gründerin „Nikki Durkin“ über ihre Erfolge und Misserfolge mit ihrem Baby 99dresses. Zitat: … zu Cocktailpartys voller VCs gegangen, denn mit hohen Absätzen wird man eher ernst genommen als in bequemen Sneakers … Wie es sich anfühlt, wenn ein Startup scheitert Deutsche Übersetzung des Original Beitrags My startup failed, and this is what it feels like… von Nikki Durkin.    

Kommentare sind geschlossen.

PHP Multithreading mit cURL

Multithreading ist in PHP eine echte Herausforderung. Das liegt aber im wesentlichen daran, dass PHP Code nicht wie in einem Java Container immer geladen ist, sondern erst bei Bedarf in den Speicher geladen wird, der Code ausgeführt wird und PHP dann wieder beendet wird. PHP ist eine Skriptsprache, bei der so etwas also eigentlich nicht nötig sein sollte. Aber in meinem speziellen Anwendungsfall möchte ich möglichst viele URLs in kurzer Zeit aufrufen. Um Zeit zu sparen, macht es Sinn, die URLs nicht nacheinander, sondern gleichzeitig, abzurufen. Was für ein Glück, dass CURL in PHP verfügbar ist und die Bibliothek dies von Hause aus unterstützt. Zum Testen benötige ich erst mal ein einfaches PHP Skript, das mir einen Zeitstempel ausgibt und…

Kommentare sind geschlossen.

Android Wear vs. Pebble Smartwatch

Der Erfolg der Smartwatch Pebble und der nun kurz vor der Einführung stehenden Android Wear Devices (Moto 360 & LG G Watch) hat dazu bewogen doch mal die beiden Smartwatch Typen zu vergleichen und meinen persönlichen Favoriten zu bestimmen.   Android Wear vs. Pebble Smartwatch im Detail Bei den Android Wear Geräten ist es das erklärte Ziel, sich auf die Benachrichtigungen zu konzentrieren und keine umfangreichen Smartphone-Anwendungen wie Telefon,E-Mail oder Games am Handgelenk zu haben. Das entspricht im wesentlichen der Pebble Idee. Allerdings zeigt sich an der Verfügbarkeit der Apps im Pebble App-Store, dass auch schnell mal ein kleines Game (z.B. Mr. Runner) oder Evernote (in meinem Fall für Einkaufszettel) nicht ganz ohne Daseinsberechtigung sind, Verfügbarkeit (Android Wear) (-) Aktuell sind die beiden Geräte Moto…

Kommentare sind geschlossen.

History stealing ist back.

Wer erinnert ich nicht mehr an die guten alten Zeiten, als man mit simplen CSS Tricks, die Browser History seiner Webseiten-Besucher ausspionieren konnte. Leider wurde diese Sicherheitslücke ist im Frühjahr 2011 von den meisten Browser-Herstellern geschlossen. OK, ich selbst habe das natürlich niemals getan, habe aber von Leuten gehört, die von jemandem gehört haben, der so etwas gemacht haben soll. Naja, jedenfalls war es mit dieser einfachen Technik (http://de.wikipedia.org/wiki/Tabnabbing) möglich, zu prüfen, ob ein Webseiten Besucher schon mal bei Amazon, Ebay, Zalando oder sonstwo im Internet war und mit etwas Gehirnschmalz konnte man auch grob erahnen, wofür sich diese Person so interessiert. Nachdem diese kleine aber feine Sicherheitslücke geschlossen wurde, war der Webmaster wieder blind und konnte nicht mehr die Interessen und…

Kommentare sind geschlossen.

There were 15164 failed login attempts since the last successful login.

Hacker – Made in China auf meinem Rechner? Zum Glück nicht. Aber die Gefahr ist offensichtlich größer als gedacht und in China scheint die Regierung auch nicht wirklich ein Interesse daran zu haben, dies zu unterbinden. Und wenn ich dann so etwas hier lese (http://www.welt.de/politik /ausland/ article128199572/USA-verklagen- China-wegen-Cyberspionage.html), dann wird mir auch klar, warum. Manchmal erschrecke ich mich aber trotzdem schon darüber, dass mein Server immer wieder von irgendwelchen chinesischen Hackern unter Beschuss genommen wird. So wie jetzt gerade wieder. Ich logge mich gerade auf meinem Server ein und bekomme folgende Info: login as: ich 🙂 Using keyboard-interactive authentication. Password: Last failed login: Tue Jun 17 13:42:08 CEST 2014 from 122.228.207.77 on ssh:notty There were 15164 failed login attempts since…

Kommentare sind geschlossen.

Wo speichern Android Apps ihre Daten?

Jeder Entwickler von Android Apps steht irgendwann vor der Aufgabe, Daten zu speichern und Android bietet hier eine Reihe von Möglichkeiten, die Vorteile und Nachteile haben. Hier mal die Top 3 Möglichkeiten, Daten in einer App zu speichern. SQLite Datenbank SharedPreferences Dateien im Dateisystem Entscheidet man sich dafür, mit Dateien im Dateisystem zu arbeiten, stellt sich direkt die Frage, wie kann ich auf das Dateisystem zugreifen und welche Einschränkungen gibt es hier? Der Zugriff auf das Dateisystem erfolgt mit Hilfe der Java.io Klassen, wie man es aus der klassischen Java Entwicklung kennt. Es gibt den FileInputStream, den FileOutputStream, die File Klasse und vieles mehr. Hier mal ein kleines Beispiel: (Ungetestet) String defaultDataDir = „/data/data/“ + getPackageName(); String filename = defaultDataDir…

Kommentare sind geschlossen.