Understanding Even and Odd Order Saturation Understanding Even and Odd Order Saturation Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2026-05-10 Saturation is a tool to make music louder and wider and it can be used to either glue instruments into the mix or let them stick out. What kind of saturation to use is often overlooked and producers sometimes…
The sad state of Android The sad state of Android Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2026-04-11 AOSP (Android Open Source Project) lies at the heart of the mobile operating system s ecosystem. Keeping the ecosystem free and open doesn t seem to be Google s goal, unfortunately. For an extensive overview of the current topics, read through…
Building a Not-At-Home Studio: DIY Acoustic Treatment Building a Not-At-Home Studio: DIY Acoustic Treatment Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2026-03-29 You can build your own acoustic absorbers for about a third of the price of commercially available ones. This is how I did it. I built four 2m×1.2m absorbers, because the Rockwool sheets fit…
Building a Not-At-Home Studio: Introduction Building a Not-At-Home Studio: Introduction Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2026-03-21 Recently I ve been making a lot of music and was working from home. I m living in a shared flat and was stuck in my bedroom a lot last year, which definitely was a bit frustrating. This February I pulled the…
Update: Mensam Update: Mensam Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2024-11-03 After more than 1 year of features and maintenance and I felt the need to write up a summary of the state of this desk booking application. Visit this blog article if you want to take a look at the initial announcement. GitHub Repository…
Voting Systems Voting Systems Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2024-08-28 After watching this video about the limitations of democratic voting systems I spent some thoughts on the matter. I feel like I came up with a pretty good systems in my head. The main idea is a ranked voting system that allows you to give additional weights to your…
Announcement: Mensam Announcement: Mensam Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2023-06-03 Over the last few months I was developing a desk-booking web application. GitHub Repository https://github.com/jumper149/mensam Hosted instance https://mens.am OpenAPI definition: https://mens.am/openapi Motivation At work we are using hot desks . This…
Monad Transformer Compatibility Monad Transformer Compatibility Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2023-02-17 A monad transformer stack will provide access to many monad type classes . But you have to be careful, which transformers can be stacked. deriving-trans uses 3 categories of monad transformers to implement instances for any monad…
AccumT's MonadAccum instance AccumT 's MonadAccum instance Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2023-01-14 Transformers provides a monad transformer AccumT . Mtl provides a type class MonadAccum . There should be an instance (Monoid w, Monad m) MonadAccum w (AccumT w m) , but this is not the case. AccumT and MonadAccum AccumT is a monad…
Incremental Haskell Builds with Nix Incremental Haskell Builds with Nix Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-10-27 Using old build results as a starting point to speed up new builds. Together with Harry Garrood I have been looking into speeding up Haskell builds with Nix. He recently wrote a blog post about changes in GHC 9.4 that made…
Singletons in Haskell Singletons in Haskell Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-07-10 If you are deep into Haskell you ve probably come across the singletons library. You may have shied away, because it looked scary, but really the main concept is actually quite straight-forward. Tip If you are willing to spend a bit of time to understand…
Zurihac 2022 Zurihac 2022 Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-06-15 Zurihac 2022 happened and I happened to be a part of it. This was the first Zurihac and also the first Haskell community event, I ve ever attended. Tip If you are not sure, whether you should go to such an event. Definitely try it out. My experience was awesome. my…
Recipe: Beans Recipe: Beans Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-05-31 A large meal for one person. Ingredients ingredient amount white beans 400g (drained weight) onion 1 large or 2 small garlic cloves 3 eggs 3 butter water 150ml cherry tomatoes 10 lemon 1/2 dill 15g turmeric 1/2 teaspoon cumin 1/2 teaspoon pepper salt herb/garlic…
an Interface for accessing Environment Variables an Interface for accessing Environment Variables Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-04-11 The way, that programs usually interact with environment variables , can be expressed beautifully in Haskell . For me dependent types are the most natural way to semantically reason about programs.…
JSON Formatting JSON Formatting Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-02-13 JavaScript Object Notation is widely used. It is used as a data interchange standard and is also human-readable. One thing I dislike about it, is the way it s usually formatted. jq jq is the most popular tool to format and query JSON. When formatting, it puts commas…
Showcase: deriving-trans Showcase: deriving-trans Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-02-13 When creating monad transformer stacks, you usually have to implement some instances manually. Here is a way how this can mostly be avoided. After writing several blog articles on the topic I finally decided to create a library on Hackage . The…
beyond Typeclassopedia beyond Typeclassopedia Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-01-17 There are quite a few type classes, that are completely fine the way they are defined in the base library. These are mostly part of the famous Typeclassopedia . Semigroup and Monoid Functor , Applicative and Monad Foldable and Traversable This article…
composing Transformers composing Transformers Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-02-05 There exists a certain kind of monad transformers. I m talking about all transformers that have lawful instances of MonadTransControl from the monad-control library. In particular ReaderT , StateT and ExceptT have lawful instances. Let s stick to…
Projects on my Homepage Projects on my Homepage Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-01-17 To this date my website always featured a Projects tab. Now I decided to remove it. The reason is, that it is just a little annoying to keep up to date. I don t want to update it every time I drop a project and also some old projects don t really…
a Small Showcase of blucontrol a Small Showcase of blucontrol Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-01-17 Note This article is written for blucontrol v0.7.0.0 . A customizable blue light filter The main structure of blucontrol is the split into 3 individual environments. These environments m are implemented using type classes with Monad m…
my own Implementation of I-Expressions my own Implementation of I-Expressions Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-01-17 A lot of you hopefully already know their way around the family of Lisp-dialects. My personal favorite has got to be Scheme (R6RS). Lately I ve been getting into Haskell and Compilers a lot more and had the idea of using…
my Way to Coreboot my Way to Coreboot Felix Springer contact@felixspringer.xyz version f6f5bbdb08af85625c1335c28255ac945230a9bb, 2022-01-17 In the last few months I have made my experiences with coreboot and was thinking it might need some more recognition! The first time I heard about it was from Luke Smith and I was pretty much hooked on the idea of running your own BIOS on your machine. The…