Menu
Navigation
Blog
Blog posts in 2023
Starting as freelancer
Wie wollen wir leben?
Prevent SQL injection in your ORM
How to add fonts to GIMP
Fachkräftemangel, ja und?
JavaScript has not all the answers
FOSDEM 2023 - Amazing while it lasted
How to add a subdomain to Uberspace
Restruktuierung dieser Domain
Recap 2023 Q1
Forgejo sacrifices inclusiveness and calls it healing
ITFS
GameDevJS 2023
Learning Kotlin
Blog posts in 2022
Blog posts in 2021
Blog posts in 2020
FOSDEM 2020 - Day 1
FOSDEM 2020 - Day 2
StackOverflow: Active Programmer March 2020
Job Hunting 2020 edition
Inspired to write
Recursive functions in JavaScript explained
What is a semaphore in programming?
GameDevJS 2020 - Bizarro's Basketball X
Blog posts in 2019
Bürostuhlrollen
Lernen von der Arbeit
Die Wahrheit über Katzen
Working Solo
Job opportunities at Startups
Wissen statt Arbeitskraft
Hide promoted tweets
Kickstart NodeJS projects
2018 im Rückblick
Ausblick auf 2019
GPG Keyserver Pool
Security in Depth
Read-write Web
Security Checklist
Accessible DataViz
Open Access
How to load a GPX track in OsmAnd+
Stack Overflow survey 2019
Blog hiatus
Resigning from Mercedes-Benz.io
What to consider in early phase of a project
How to get OSS sustainable?
How to generate a GNUpg key
Hacktoberfest 2019
Thoughts on ›To Hell With the Hustle‹ interview
Spreading IndieWeb
About mentors
Mein idealer Arbeitsplatz
Wikipedia vor Ort 2019
Discovery on IndieWeb
Node Knockout 2019 Postmortem
WebDev calendars in 2019
About this design decisions
Blog posts in 2018
How to use a hardware keyboard on Android
Reviving old projects
Using Etherpads on Android
Uploading media in Mozilla Support portal
FOSDEM 2018 - I was there
Experimenting with WebMentions
Building Sites with HarpJS
How to run phpBB with Vagrant
It's in the small things
CodeSchool closes its doors
Microsoft bought GitHub - what now?!
js13kgames Postmortem - An Offline Life
How to listen to music via Bluetooth with a headset
How to write a plugin for hexo
How to use Two-Factor Auth without a phone
How to structure an express app
How to run Gentoo on Raspberry Pi 1B+
Boilerplate code of JavaScript project
Project Lobsang or How To Reclaim the Search
setup.py or requirements.txt? Both!
Seasonal affected disorder
Blog posts in 2017
Hello, my own webspace!
How to write articles in Jekyll
Connecting from Matrix to IRC or Gitter
js13kgames Postmortem - SVG vs Canvas
NodeKnockout: How to install Heroku CLI without sudo
Apps used on my Fairphone
Using Emojis on Android
Using different keyboards on Android
Migrating content from WordPress.com to Jekyll
Blog posts in 2016
Suchmaschinen für Front-End-Entwickler
Blog posts in 2015
Blog posts in 2014
Blog posts in 2013
Unboxing Firefox OS
Erste Schritte mit dem Firefox OS
Accessibility for Sign Language
Hobbies
Tech demos
Demos
Project ideas
20000 miles
AR speedometer
VR kata
Reading
Books *_*
Slide decks
Listening
Podcasts
Bookmarks
Timeline
Interesting events
Activity on GitHub
About
Codecademy
CodePen.io
CodeSeek.co
Fairphone
freeCodeCamp
GitHub
HackerOne
Indeed
Meetup
micro.blog
NowNowNow
NPMjs
OpenStreetMap
Rollbar
Sabayon
Sourcerer
StackOverflow
Telegram
Twitter
UbuntuUsers
Udemy
WordPress
Xing
Embedding of opt out is not supported by your browser. Please visit https://jaenis.ch/piwik/index.php?module=CoreAdminHome&action=optOut&language=en&backgroundColor=ffffff&fontColor=000000&fontSize=1em&fontFamily=serif