Blogarchiv

Kostenlose PlugIns für Lightroom – It’s a trap!

Gestern Abend habe ich nach einem PlugIn für meine Freundin gesucht, mit welchem Sie schönere Online-Gallerien aus Lightroom exportieren kann, in welchen der Kunde direkt die gewünschten Fotos auswählen und zurückmelden kann. Daraufhin bin ich auf fontoGallery (fonto.pl) gestoßen, was angeblich genau dies tut.

Jetzt hatte ich zwar keine Ahnung wie solche PlugIns aufgebaut sind, aber irgendwie wollte ich dann doch mal genauer drauf schauen. In diesem Fall werden auch einfach nur mit LUA-Script HTML-Dateien zusammengebaut und dann per FTP auf einem Server geschoben. Das ganze Auswählen usw. übernimmt viel zu viel Javascript und den Mailversand dann PHP. Weiterlesen…

Git-Commits mit GPG signieren

Nachdem ich nun schon länger mit git arbeite, wollte ich meine Commits mal signieren. Wenn es geht, warum nicht, oder? Immerhin könnte schließlich jeder mit meiner Mailadresse einen Commit ausführen und dann mit dem eigenen SSH-Key pushen. Damit das nicht mehr geht, und auch andere meinen Commits vertrauen können, signiere ich diese nun entsprechend mit GPG-Keys.

Dazu habe ich als erstes gpg mit Hilfe von Brew auf meinem Mac installiert:

Solltet ihr nicht sicher sein, ob GPG installiert ist, könnt ihr einfach mit diesem Schritt prüfen ob alles da ist. So listet ihr die entsprechenden Keys auf:

Beim ersten Aufruf bekommt man dann folgende Meldung.

Dort liegen dann eben die Datenbanken, welche die Keys halten. Sollte diese leer sein, muss ein neuer Schlüssel angelegt werden:

Weiterlesen…

Mein eigener Mailserver – endlich unabhängig

Ich bin jetzt schon seit 5+ Jahren bei all-inkl und habe bisher immer nur meine Mails zu gmail weitergeleitet. Ich wollte mich nicht zu sehr an den Provider binden, falls ich irgendwann doch einmal wechseln möchte. Nun habe ich seit ein paar Wochen einen Root-Server bei Webtropia und wollte nun endlich meinen eigenen Mailserver aufsetzen. Als Domain (ist natürlich Spielerei) habe ich mir dafür emailu.de gesichert – diese habe ich bei expireddomains gefunden und sofort registriert.

Mein DNS habe ich wie folgt konfiguriert:

Man muss dazu sagen, dass ich das alles auch zum ersten Mal gemacht habe – hoffentlich ist alles richtig soweit.

Als erstes habe ich dann das Tutorial von Thomas Leiser gefunden. Aber nach zwei Stunden habe ich gemerkt, dass ich das alles gar nicht machen möchte. Ich hatte damit begonnen, alles in einen Docker-Container zu packen bis ich gedacht habe, dass es doch bestimmt schon jemanden gibt, welcher das gleiche Problem hatte. Gefunden habe ich dann relativ fix dieses GitHub-Repo. Weiterlesen…

Wie ich online $3.500 in 96 Stunden verdient habe

So könnte zumindest der Titel von irgend einem Internetmaketer oder selbsternannten Online Marketing Experten heißen, welcher wieder seinen aktuellen Geheimtip verkaufen möchte. In meinem Fall stimmt der Titel zwar, aber es nicht die ganze Wahrheit und etwas schöngerechnet.

Damit es dazu gekommen ist, habe ich

  • mich zwei Jahre lang in ein Thema eingearbeitet
  • über ein Jahr lang kostenlose Inhalte auf YouTube produziert – insgesamt 8,5 Stunden!
  • eine Community aufgebaut
  • mühsam Newsletter-Abonnenten eingesammelt
  • stundenlang nach der Arbeit vor dem Rechner gesessen und Videos erstellt
  • lange an neuen Ideen gefeilt und komplizierte Inhalte mühsam aufbereitet
  • vieles erst monatelang getestet bevor es in ein Video gekommen ist
  • etliche Kommentare geschrieben, Mails beantwortet und Facebook-Posts erstellt
  • bis dato jeden Cent aus dem Blog wieder in neues Equipment gesteckt
  • etliche Video-Trainings geschaut
  • viele Stunden in Blog-Programmierung, Design und SEO investiert
  • mehrere Gastbeiträge geschrieben

Wenn man das alles zusammenrechnet, ist es ein ziemlich mieser Stundensatz – sicherlich weit unter 10€/Stunde. Versteht mich nicht falsch – es hat mir extrem viel Spaß gemacht, ist mein Hobby und fühlt sich absolut nicht wie Arbeit an, aber so einfach wie es in manchen Kursen kommuniziert wird ist es dann doch nicht.

Als Freelancer hätte ich in der gleichen Zeit sicher ein vielfaches verdienen können, aber das hätte mir dann eben nicht so viel Spaß gebracht und würde sich ganz anders anfühlen!

Natürlich ist es für mich erst den Anfang und es fühlt sich unglaublich gut an, wenn so viel Vorarbeit dann endlich Früchte trägt! Ich bin extrem dankbar für jeden da draußen, der meine Arbeit würdigt und mit einem Kauf des Kurses honoriert.

Konkret weiß ich nicht einmal, was mit dem Geld alles passieren wird. Wahrscheinlich fließt auch davon ein großer Teil wieder in neues Equipment. Zumindest habe ich mir ja gerade erst ein neues MacBook Pro gekauft, welches damit zumindest schonmal refinanziert ist.

Außerdem gehört der komplette Erlös nichteinmal mir – für eine größere Reichweite habe ich noch Partner ins Boot geholt, welche natürlich auch entlohnt werden wollen. Und das Finanzamt wird seinen Anteil auch noch bekommen.

In diesem Sinne: Lasst Euch nicht bleden – es gibt keine Abkürzungen, auch im Internet muss man sein Geld mit (harter) Arbeit verdienen. Es fühlt sich eventuell nur nicht ganz so nach Arbeit an! Immerhin skaliert alles ein wenig schöner als ein 1:1 Tausch von Zeit gegen Geld.

Die Udemy Sommerspiele – mein erster Udemy-Kurs – verspätet…

Dieser Beitrag sollte eigentlich schon 2016 erscheinen – denn da waren auch die Sommerspiele. Mehr Infos ganz unten.

Vor einigen Wochen hatte Peer Wandiger von Selbstständig im Netz gepostet, dass er an den Udemy Sommerspielen teilnimmt. Ich für meinen Teil bin schon sehr lange auf Udemy angemeldet und habe bestimmt schon 10-12 Kurs gekauft – fühle mich also auf der Plattform wirklich wohl und finde das Konzept klasse!

Hausautomatisierung mit FHEM – kostengünstig und erweiterbar

Ich mag solche Aktionen ja – daher war ich damals auch bei der Nischenseitenchallenge dabei.

Bei den Sommerspielen geht es darum, an bestimmten Tagen definierte Ziele erreicht zu haben, diese sehen wie folgt aus:

Aufgaben

  • Startschuss – Montag, 16. Mai 2016
  • Grundlagen – Dienstag, 17. Mai 2016
  • Testvideo – Montag, 23. Mai 2016
  • Lehrplan & Struktur – Freitag, 27. Mai 2016
  • Ressourcen – Mittwoch, 1. Juni 2016
  • Präsentation – Mittwoch, 8. Juni 2016
  • Quizze & Aktivitäten – Mittwoch, 15. Juni 2016
  • Einreichung zur Qualitätsprüfung – Montag, 20. Juni 2016 (Empfohlen)
  • Ziellinie (Veröffentlichung) – Montag, 27. Juni 2016

Für jede erledigte Aufgabe gibt es unterschiedlich viele Punkte. Weiterlesen…

Mein erster Eindruck von Shopware 5

Vor ein paar Wochen haben wir uns in der Agentur entschieden, neben Magento und Magento 2 auch einmal Shopware näher anzusehen. Immerhin sprießen die Shopware-Shops gerade aus dem Boden. Gestern war ich dann auf einem Developer-Training bei Shopware in Schöppingen. In diesem Beitrag möchte ich kurz meine Erfahrungen und erste Eindrücke schildern.

Folgende Themen wurden behandelt:

  • Einführung in die Struktur von Shopware
  • Möglichkeiten Shopware anzupassen (Events & Hooks)
  • Implementierung eines Frontend-Plugins
  • Shopware Models
  • Erweitern eines Backend-Plugins
  • Implementierung eines neuen Backend-Moduls
  • Anpassen von Templates über Blöcke

Folgende Themen standen zwar auf der Agenda, wurden aber nicht behandelt:

  • Debuggen mit Shopware & PHPStorm
  • Bestpractice: Auto-Update eigener Plugins, Mehrsprachenfähigkeit & ACL in eigenen Plugins

Die beiden Trainer Michael Telgmann und Holger-Thomas Kaßner haben einen guten Job gemacht. Immerhin ist es recht schwierig, die ganzen unterschiedlichen Level abzuholen und ohne große Langeweile auf den gleichen Wissensstand zu bringen. Dennoch habe mich etwas unterfordert gefühlt – obwohl ich noch nie Kontakt mit Shopware hatte. Viele Strukturen sind zu Magento 1.x schon sehr ähnlich. Weiterlesen…

Fail2Ban und Zugriff auf Docker-Container

Ich hatte heute das Problem, dass Fail2Ban (läuft auf dem Host) zwar munter Regeln in den iptables angelegt hat, aber die Regel keine Wirkung auf alle weitergeleiteten Ports der Docker-Container hatte.

Die Lösung dafür ist relativ einfach – man darf die Regeln nur nicht als INPUT definieren, sondern muss diese für Forward definieren. Damit Ihr ein etwas leichteres Leben habt, habe ich eine neue Action geschrieben, welche ganz einfach angewendet werden kann:

Für alle Jails, welche für Docker-Container gelten, verwende ich als „banaction“ nur eben diese. Funktioniert bisher einwandfrei!