MoreRSS

site iconCédric AellenModify

a swiss front end engineer based in Lausanne with a love for electronic music and hiking.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Cédric Aellen

Jamuary 2026 #04: House life

2026-01-14 05:25:00

Tonight, during our family dinner, I recorded sounds of pots, forks, plates, glasses, etc. on my iPhone. Then, using XLN Audio's Life, my favorite program on Mac, I mixed all of that to create breaks using the recorded sounds. All of this was then recorded in the Ectocore module, which further mixes and manipulates the sounds.

The result is a kind of deconstructed house with syncopated rhythms. Everything I love!

Jamuary 2026 #04

Jamuary 2026 #03: Extrem bassline

2026-01-10 03:05:00

Since Bohm is mainly in charge of the kicks, it was a good opportunity to use Ultra Kick to try and generate a bassline. And I think it turned out pretty well. It’s very dark and heavy, so I really like it.

Jamuary 2026 #03

Jamuary 2026 #02: Atlantix

2026-01-07 05:15:00

Running short on time, this is the same patch as the last jam, except this time the main voice is the Intellijel Atlantix module.

You can enjoy over 2 minutes of intro where I’m looking for a decent sequence to play with the Atlantix. 🫠

Jamuary 2026 #02

Jamuary 2026 #01: Bishop's melody

2026-01-04 03:40:00

A new year means a new series of jams for the month of January. And yes, it’s the traditional Jamuary.

For this first session, I decided to use the “Bishop Miscellany” by Shakmat to generate the melody. I just got it, so it was the perfect opportunity to get the hang of it. The sounds are generated by the Plaits module running through the Blades filter, with a bit of reverb, a good kick, some drums, and this is what it sounds like. I hope you’ll like it.

Jamuary 2026 #01

You may have noticed; this year, there’s no video. I’m going to try to release audio only, using the 8TR module, which allows me to record directly from my Eurorack setup. This will make my work a bit easier and allow me to publish this content a little faster, since family life doesn’t let me spend hours on it.

My AeroSpace setup for QWERTZ layout

2025-12-05 05:05:00

In a previous episode of the Comfort Zone podcast, Nilean proposed a challenge: use AeroSpace for a week. This application automatically reorganizes your application windows. Unlike classic window managers, you don’t decide where to place your windows with keyboard shortcuts. The program automatically resizes them as soon as they appear.

So, I tried to take on this challenge by installing the application, and I fell in love with it instantly.

The only small snag in all this is that I’m in Switzerland and therefore use a Swiss French keyboard, aka QWERTZ.

Swiss keyboard layout
Swiss keyboard layout

AeroSpace offers shortcuts by combining the ALT key and numbers. On Swiss French and French keyboards, the number keys are also used to type special characters. As a result, many key combinations don’t work because they are already used.. So, I had to rework the AeroSpace configuration a bit to be able to use it.

To use this configuration, it’s essential to use a hyper key. In my case, it’s Raycast that allows me to have a hyper key. Specifically, when I press the Caps Lock key, it simulates pressing Control + Option + Command simultaneously. Usually, hyper keys also include the Shift combination, but in my case, I prefer to have two possibilities, namely Caps Lock and Shift + Caps Lock.

Here is the configuration I use.

# Place a copy of this config to ~/.aerospace.toml
# After that, you can edit ~/.aerospace.toml to your liking

# This configuration is optimized for use with a hyper key
# (ctrl-alt-cmd modifier combination)

# Config version for compatibility and deprecations
# Fallback value (if you omit the key): config-version = 1
config-version = 2

# You can use it to add commands that run after AeroSpace startup.
# Available commands : https://nikitabobko.github.io/AeroSpace/commands
after-startup-command = []

# Start AeroSpace at login
start-at-login = true

# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization
enable-normalization-flatten-containers = true
enable-normalization-opposite-orientation-for-nested-containers = true

# See: https://nikitabobko.github.io/AeroSpace/guide#layouts
# The 'accordion-padding' specifies the size of accordion padding
# You can set 0 to disable the padding feature
accordion-padding = 30

# Possible values: tiles|accordion
default-root-container-layout = 'tiles'

# Possible values: horizontal|vertical|auto
# 'auto' means: wide monitor (anything wider than high) gets horizontal orientation,
#               tall monitor (anything higher than wide) gets vertical orientation
default-root-container-orientation = 'auto'

# Mouse follows focus when focused monitor changes
# Drop it from your config, if you don't like this behavior
# See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks
# See https://nikitabobko.github.io/AeroSpace/commands#move-mouse
# Fallback value (if you omit the key): on-focused-monitor-changed = []
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']

# You can effectively turn off macOS "Hide application" (cmd-h) feature by toggling this flag
# Useful if you don't use this macOS feature, but accidentally hit cmd-h or cmd-alt-h key
# Also see: https://nikitabobko.github.io/AeroSpace/goodies#disable-hide-app
automatically-unhide-macos-hidden-apps = false

# List of wspaces that should stay alive even when they contain no windows,
# even when they are invisible.
# This config version is only available since 'config-version = 2'
# Fallback value (if you omit the key): persistent-workspaces = []
persistent-workspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]

# A callback that runs every time binding mode changes
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
# See: https://nikitabobko.github.io/AeroSpace/commands#mode
on-mode-changed = []

# Possible values: (qwerty|dvorak|colemak)
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
[key-mapping]
preset = 'qwerty'

[key-mapping.key-notation-to-key-code]
# Créer des alias pour que les notations correspondent aux étiquettes Swiss-French
# Syntaxe: alias = 'notation-standard' (la notation standard réfère à la position US)

# Inverser Y et Z pour correspondre aux étiquettes physiques
y = 'z' # La touche étiquetée Y (position US de Z)
z = 'y' # La touche étiquetée Z (position US de Y)

# Gaps between windows (inner-*) and between monitor edges (outer-*).
# Possible values:
# - Constant:     gaps.outer.top = 8
# - Per monitor:  gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24]
#                 In this example, 24 is a default value when there is no match.
#                 Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'.
#                 See:
#                 https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors

[gaps]
inner.horizontal = 10
inner.vertical = 10
outer.left = 10
outer.bottom = 10
outer.top = 10
outer.right = 10

# 'main' binding mode declaration
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
# 'main' binding mode must be always presented
# Fallback value (if you omit the key): mode.main.binding = {}
[mode.main.binding]

# All possible keys:
# - Letters.        a, b, c, ..., z
# - Numbers.        0, 1, 2, ..., 9
# - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9
# - F-keys.         f1, f2, ..., f20
# - Special keys.   minus, equal, period, comma, slash, backslash, quote, semicolon,
#                   backtick, leftSquareBracket, rightSquareBracket, space, enter, esc,
#                   backspace, tab, pageUp, pageDown, home, end, forwardDelete,
#                   sectionSign (ISO keyboards only, european keyboards only)
# - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual,
#                   keypadMinus, keypadMultiply, keypadPlus
# - Arrows.         left, down, up, right

# All possible modifiers: cmd, alt, ctrl, shift

# All possible commands: https://nikitabobko.github.io/AeroSpace/commands

# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget
# You can uncomment the following lines to open up terminal with alt + enter shortcut
# (like in i3)
# alt-enter = '''exec-and-forget osascript -e '
# tell application "Terminal"
#     do script
#     activate
# end
# '''

# See: https://nikitabobko.github.io/AeroSpace/commands#layout
alt-shift-comma = 'layout tiles horizontal vertical'
alt-shift-period = 'layout accordion horizontal vertical'

# See: https://nikitabobko.github.io/AeroSpace/commands#focus
alt-h = 'focus left'
alt-j = 'focus down'
alt-k = 'focus up'
alt-l = 'focus right'

# See: https://nikitabobko.github.io/AeroSpace/commands#move
alt-shift-h = 'move left'
alt-shift-j = 'move down'
alt-shift-k = 'move up'
alt-shift-l = 'move right'

# See: https://nikitabobko.github.io/AeroSpace/commands#resize
ctrl-alt-cmd-k = 'resize smart -50'
ctrl-alt-cmd-j = 'resize smart +50'

# See: https://nikitabobko.github.io/AeroSpace/commands#workspace
ctrl-alt-cmd-1 = 'workspace 1'
ctrl-alt-cmd-2 = 'workspace 2'
ctrl-alt-cmd-3 = 'workspace 3'
ctrl-alt-cmd-4 = 'workspace 4'
ctrl-alt-cmd-5 = 'workspace 5'
ctrl-alt-cmd-6 = 'workspace 6'
ctrl-alt-cmd-7 = 'workspace 7'
ctrl-alt-cmd-8 = 'workspace 8'
ctrl-alt-cmd-9 = 'workspace 9'

# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace
ctrl-alt-cmd-shift-1 = 'move-node-to-workspace 1'
ctrl-alt-cmd-shift-2 = 'move-node-to-workspace 2'
ctrl-alt-cmd-shift-3 = 'move-node-to-workspace 3'
ctrl-alt-cmd-shift-4 = 'move-node-to-workspace 4'
ctrl-alt-cmd-shift-5 = 'move-node-to-workspace 5'
ctrl-alt-cmd-shift-6 = 'move-node-to-workspace 6'
ctrl-alt-cmd-shift-7 = 'move-node-to-workspace 7'
ctrl-alt-cmd-shift-8 = 'move-node-to-workspace 8'
ctrl-alt-cmd-shift-9 = 'move-node-to-workspace 9'

# See: https://nikitabobko.github.io/AeroSpace/commands#fullscreen
ctrl-alt-cmd-space = 'fullscreen'

# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth
ctrl-alt-cmd-tab = 'workspace-back-and-forth'
# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor
ctrl-alt-cmd-shift-tab = 'move-workspace-to-monitor --wrap-around next'

# See: https://nikitabobko.github.io/AeroSpace/commands#mode
ctrl-alt-cmd-s = 'mode service'

# 'service' binding mode declaration.
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
[mode.service.binding]
esc = ['reload-config', 'mode main']
r = ['flatten-workspace-tree', 'mode main'] # reset layout
f = [
  'layout floating tiling',
  'mode main',
] # Toggle between floating and tiling layout
backspace = ['close-all-windows-but-current', 'mode main']

# sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2
#s = ['layout sticky tiling', 'mode main']

alt-shift-h = ['join-with left', 'mode main']
alt-shift-j = ['join-with down', 'mode main']
alt-shift-k = ['join-with up', 'mode main']
alt-shift-l = ['join-with right', 'mode main']

I hope this article has been able to help people who want to use AeroSpace and don’t have a compatible keyboard.

This configuration may change over time. You can find the latest updated version on GitHub.

Getting Back into Photography with a Polaroid 660

2025-08-20 03:15:00

This isn’t about the latest piece of tech or some camera fresh off the assembly line. Nope, it’s just a 1981 Polaroid Sun 660 that I hunted down for my birthday.

Why I gave up on photography

I’d dropped photography a few years back, tired of everything that came with it: lugging gear around, endless technical fiddling, post-production, sorting, and filing thousands of images… The whole digital routine had completely killed the joy of the moment for me.
Then I saw the ad for the new Polaroid Flip, and that instant gratification thing immediately caught my eye. The idea of just pressing a button and having a photo develop right before your eyes… sure, it takes a few minutes, but it’s still something analog, something tangible.

The purchase: 20 CHF to get the magic back

Before splurging on the new model (the Flip), I thought to myself: why not try out an old one first? They’re easy to find on resale sites. And that’s how I scored this Polaroid Sun 660 for about twenty CHF.

Self-portrait in a bright yellow t-shirt holding a vintage Polaroid Sun 660 AutoFocus instant camera up to my face. I have a beard, sunglasses resting on top of my head, and I stand in front of lush green evergreen shrubs under a clear blue sky. The image captures a playful meta moment of documenting the very camera used to take the vintage Polaroid photographs, shot in bright natural outdoor lighting.

The experience: Lomography all over again

Using this camera threw me back twenty years, to when I was obsessed with lomography and those quirky cameras that produced imperfect but oh-so-charismatic results. That’s exactly what I found again with this Polaroid: photos that are sometimes dark (often very dark, actually), never technically perfect, but with an authenticity that gives them a soul.
Embracing that imperfection is what makes the camera so charming. Every shot is unique, with flaws that become its best features.

Vintage Polaroid landscape photograph showing a serene mountain lake surrounded by dramatic peaks and rocky outcrops. Cloudy sky reflects in the still water, with weathered rocks in the foreground. The image has the characteristic faded color tones and white border typical of instant film photography.
Heavily saturated and overexposed Polaroid photograph dominated by warm red and orange tones. The image appears to show a mountainous landscape or rock formation, but is heavily affected by light leaks and color shifts, creating an abstract, dreamlike quality typical of aged or heat-damaged instant film.

Making people smile

A bonus is that this camera makes people smile. Everyone laughs and everyone absolutely wants to have their picture taken with it, which is quite an advantage.

Polaroid group portrait of six friends posing outdoors on a sunny day. Five women stand in the back row wearing summer clothes and sunglasses, while one person in a light purple shirt and sunglasses sits in front. The photo has a warm, nostalgic quality with natural lighting and the classic instant film aesthetic.
Polaroid snapshot of a person doing a handstand in a grassy field. The subject is silhouetted against an overcast sky, wearing dark clothing with legs spread in a V-shape. Wild grass and small flowers are visible in the foreground, captured with the soft, muted colors characteristic of vintage instant photography.

The “flaw” that becomes a strength: The price

Let’s be real: at almost CHF per shot, every photo has a price tag. But is that really a flaw? This financial constraint forces you to think, to take your time framing the shot, to ask yourself if the moment is truly worth capturing. Gone are the days of compulsively shooting 20 photos of the same thing. Here, every click of the shutter counts.
It forces you to think before the shot and not after..

A lesson for my kids

What I love most is showing this camera to my kids, who are used to the instant gratification of digital. With the Polaroid, you have to wait 15 to 20 minutes for the photo to develop properly. If you want to share it, you have to scan it first. But most importantly, you have something real in your hands, something you can touch and feel without needing a screen.
This different approach to photography is opening their eyes to a less connected but more tangible world, and from talking with them, I can tell it fascinates them.

Verdict

The Polaroid Sun 660 has made me fall back in love with photography by bringing back its contemplative and precious side. It’s a camera that slows you down in a good way, makes you savor every moment, and produces memories that are as imperfect as they are unforgettable.