RSSAmplifier

Blog

janmonschke.com - blog posts

Blog posts from janmonschke.com

rss.xmlRSS feed ↗16 posts

Latest posts

Music archaeology - Part 2

If you've read my first post on music archaeology , you might already know that I had been searching for a very old digital EP release which I ultimately received by simply asking the band for a copy via email. However, it was a much more complicated journey than that. Amongst other places, I searched for the EP on one of my oldest "backups". Due to a faulty hard drive, I wasn't able to restore my…

Music archaeology

This is a story about music, backups, nostalgia and, I guess, the iPod touch. How it started For the last weeks I've been doing, what I call, music archaeology . It started with another Bandcamp Friday [1] . I was perusing my music library and for the first time in a long time, I scrolled all the way down. There it was, Circuit imprimé by Turnsteak [2] , this album that I had long forgotten about,…

Pi-hole & Tailscale, my gateway into self-hosting

👋 Personal context I wouldn't call myself a homelab/self-hosting enthusiast. To me, these movements were always intertwined with setting up or interacting with "smart" devices. If you know me, you know that I've gone out of my way to make sure that none of our appliances at home are, in any way, "smart". Think internet-connected dishwasher. The idea that a broken OTA update or a shut-down…

Adding webmentions to your static blog

This blog used to have comments. There was a time when you could find a comment form under each post. The form was provided through a third-party embed of course, since this is a static site. There is no server or no database that could hold on to your comments. After a couple of years I decided to remove the comment form since it wasn't really used and most discussions happened on social media…

Changing my online identity

TLDR: You can find me on @janmon@social.lol now. I joined Twitter in January 2009. Like everybody else, I had to find a username. I was young, just started studying and I was (and still am) a huge fan of the Deftones , so I thought I would be cheeky to use @thedeftone as my handle. It described my affinity to the band and I was betting on some people accidentally subscribing to my account instead…

Building a gpx editor with xstate and lit-html

GPX editor screenshot When I go hiking , I usually record the trip with this battery-efficient GPS Logger app 🏕. Battery-efficiency is important because there's often no possibility to charge my phone on a multi-day hike. The app let's me define custom intervals at which it records a GPS point. I usually set the interval to somewhere between 45 seconds and a minute. This resolution is accurate…

Flexible color definitions in design systems

While working on the implementation of a new design system at work, I came across this nifty little trick that makes color definitions more usable and flexible. Let's say our task is to build a LinkButton component. A component that looks like a button but it is actually a link. The component's background should be space green from our list of theme colors: :root { --colors-space-green : rgb ( 3 ,…

Setting up TailwindCSS in create-react-app

I have started to use TailwindCSS in a couple of side projects now to try out utility-based styling. All of these projects are regular create-react-app projects (based on the TypeScript starter). The way create-react-app projects are set up does not allow you to change the project's webpack config without 'ejecting' your app. In this post I want to show how I have added TailwindCSS to my projects…

Simple frontend data migration

If you work on a JavaScript application that stores data locally, think of localStorage on the web or AsyncStorage in React Native, you might have found yourself in the situation where you want to change the shape of the stored data. This on its own does not seem like an impossible task but it can get quite complex over time. You have to make sure to build a system that correctly identifies the…

My favorite (tech) podcasts

Over the last years I've been listening to podcasts more and more. Some of them I listen to for pure entertainment, some of them I use to learn about new things and trends in software development. I often talk about my favorite podcasts with friends and coworkers and they always want to know about other podcasts that I could share with them which is why I want to share these podcasts with you all…

Garbage Collection in Redux Applications

The topic that I focused on a lot in my recent conference talks was garbage collection in Redux applications. At work we built a full-fledged Xbox application in React with Redux. Building for the Xbox runtime is a tricky business for web apps that should run in the background when games are playing because they available memory for your app is very limited and your web app shares the memory with…

Building a minimal i18n library

I am currently building the website for my wedding next year which has to be translated into English, German and French to make the information accessible for all our guests. From work I know about the significance of internationalization (i18n) but also about the complexity of the topic. Which is why I started to look for libraries that were lightweight and easy to use. I quickly found myself in…

Simulations in JavaScript

I recently came across the 2014's JSConf.asia videos on YouTube and found two remarkable presentation that only very few people started to talk about on Twitter or in Meetups. Both talks deal with different ways of simulating 'worlds' in JavaScript and involve interesting rendering techniques, useful algorithms and beautiful visualizations. First I will show Simon Swain's ( @simon_swain ) talk…

Web Audio Hackday 2014

Earlier this year Jan Lehnardt , Rin , Robin , Tiffany and me started to talk about making something special for the upcoming JSConf.eu (2014). Our idea was to organize a JSFest in Berlin around the three big conferences in September (Reject.JS, CSSConf.eu and JSConf.eu ) which would host a range of web-related Meetups and Events. For more than two years I have been obsessed with writing things…

JavaScript in University

This is a post about my personal opinion of how underrated web development is in universities at the moment. It represents only what I experienced in my Bachelor (Düsseldorf, Germany) and Master (Berlin, Germany) studies. Maybe the status quo is different in other universities, maybe it is the same everywhere else, I simply don't know. But I don't want it to stay like that. If you experienced…

Backbone-couchdb - Give your couchapp some Backbone!

The code and information about the library in this article may be out of date since this article is pretty old now and was written when the library was first released. Check the project page for a more updated description. Recently I read a lot about CouchDB, couchapps and Backbone.js and I really liked the way you can create apps with these tools. To combine them I created a connector for…