Jonas Hietala
Automating the Hue Tap Dial Switch in Elixir via MQTT
I'll only buy devices with GrapheneOS
Ditching Sonos for Music Assistant
Why I'm back to Whoop (for now)
Some VORON 0 mods
Let's build a VORON 0
I'll give up Neovim when you pry it from my cold, dead hands
Securing my partner's digital life
First impressions of Ghostty
2024 in review
A type checking error in Elixir 1.18
Building my ultimate keyboard
The current Cybershard layout
Why I don't rely on AI for programming (too much)
Writing Home Assistant automations using Genservers in Elixir
Trying and returning the Eight Sleep Pod 4
Why I still blog after 15 years
A simple timeline using CSS flexbox
Microfeatures in my blog
Back to lazy.nvim
Migrating to rocks.nvim
Autocomplete with nvim-cmp
Browse posts with telescope.nvim
Customizing Neovim
Let's create a Tree-sitter grammar
Let's build a VORON: Wrap-up
Let's build a VORON: Major failure
Let's build a VORON: Noise
Let's build a VORON: More mods
The eBook for 'Why Cryptocurrencies?' is now available for free
How I did the layout for my self-published book
Printing Hextraction for my kids
Blogging in Djot instead of Markdown
Let's build a VORON: Smaller fixes
Exploring the Gleam FFI
2023 in review
Let's build a VORON: Filters
Let's build a VORON: Printing & Tuning
Writing lessons learned after writing a book
Let's build a VORON: Software
Let's build a VORON: Wiring
I designed my own keyboard layout. Was it worth it?
The killer features of the Steam Deck
Let's build a VORON: Bed & electronics
Let's build a VORON: Toolhead
Let's build a VORON: Build start
Computer upgrade
Language spec in code blocks
Giving the blog a facelift
Rewriting my Neovim config in Lua
I beat FTL on Hard with all ships in the game
Battling burnout
2022 in review
The current T-34 keyboard layout
Rewriting my blog in Rust for fun and profit
The T-34/2 keyboard layout
2021 in review
The T-34/1 keyboard layout
The T-34/0 keyboard layout
The T-34 keyboard layout
Why Cryptocurrencies? is now available in print
How I made a kick-ass cover for my self-published book
Getting the book into my hands
The Coinparty hackathon, take two
2020 in review
An Elixir based payment processor for the Coinparty hackathon
An update on my book 'Why Cryptocurrencies?'
ghc 8.8.3 cannot find cabal 3.0.0.0 packages
How I wrote a book using Pollen
Writing a Pollen lexer in Pygments
Minor site updates
My book 'Why Cryptocurrencies?' is done
2019 in Review
A friendly game of Twilight Imperium
We moved away from the city
Food vacation in Japan
My MCU movie ranking
I'm writing a book: Why Cryptocurrencies?
Picking up rust by writing a QR code generator
Easy setup of a static site on Amazon S3 with SSL
Default audio card in linux
The ASIC pit of despair
Tufte style sidenotes and marginnotes in Pollen
First impressions of Pollen
Home office renovation
Regex substitution with unicode in Haskell
Site restyle and update
2018 in review
HandCash handles require trust and are insecure
Bitcoin Cash needs a Specification
2017 in Review
Bitcoin's security isn't binary
OP_RETURN based tokens are fundamentally flawed
Top ten activities that make me happy
Habits to start
(Fake) Bittman Chinese Chicken
Zucchini Crabcakes
Coconut Cauliflower Curry Mash
The 4-Hour Chef: Scrambled Eggs
2016 in Review
2016 Read Books
Autumn 2016 Goals Retrospective
Doing some online Personality tests
Building the GH60
Weekend Tournaments
A small LED Cube
Goals for Autumn 2016
Slackware installation notes
Long Term Goals Update
Recent experiences with Netrunner tournaments
Netrunner Winter Kit Tournament Linköping
2015 in Review
2015 Read Books
Establishing Habits with Habitica
Stereotypes
Netrunner Summer Tournament Linköping
Netrunner ID draft Örebro
Groar
Bullets and AI
Life and Shields
Settled on an unoriginal idea
Fun or Frustration? Ludum Dare 33
Mailto: links with FastMail in Firefox
rustc: error while loading shared libraries: librustc_driver
Moving to FastMail
Drawing a self portrait
Gruvbox Syntax Highlighting for Pandoc
fish_update_completions in Slackware 14.1
Installing Krita on Slackware 14.1
Preventing Firefox from creating Desktop directories
Slackware update
5 Years at Linköping's University
Failed mime type for Krita
Offset coordinates in Krita with Xinerama
Netrunner Spring Tournament
Geekhack Toxic
CS:GO AWP Nerf
Netrunner Lindhska Store Championship Örebro
My first netrunner store championship
2014 in Review
2014 Read Books
A Christmas Game
Extracting schedule information from timeedit
Hearthstone on Wine
Soda
Friend of the Tree
IDA Summer of Code 2014: Summary
ISOC update
Embedding youtube videos with Hakyll
Undo git reset --hard
Vacation
Monty Hall
Dijkstra's Algorithm
My first rust Contribution
Plans for Summer of Code
Summer job at Configura
Reinstalling Slackware
Notifications with xmonad/irssi/urxvt
Calling closures in a Vec
addwatch: resource exhausted
IDA Summer of Code 2014
Mining Incorporated (unfinished)
Ores
We can build things!
Hard Work
An Epic Start
A *
Ludum Dare 29 Entry
8-puzzle in rust
2013 in Review
2013 Read Books
Minecraft Server Hosting
FTL got a new victim
Long Term Goals (part 2)
Long Term Goals
Faster than Light
I, Robot
Fixing Problems
A Vacation Filled with Obsession
2012 in Review
2012 Read Books
Understanding the Computer
Early Christmas Present
Monaco What's Yours is Mine
5 Kup
Dbot
Good and Bad Programmers
Laying off Pintos
Moving private repositories to Bitbucket
Eduroam for wicd in Linkoping's University
Robot Project Start
Entering Pintos
It's Time for More School
Rising from the Dead, it's Ludum Dare
Ugly and Slow Progress
Up like a Sun, Down like a Pancake
Beginning Programming
Changes
Favourite Programming Language
Motivation is Valuable
Doing Stuff
A Simple Thought
Speeding Ahead
Ludum Dare 22 results!
2011 in Review
Postmortem: Sat-E
Ludum Dare 22 Timelapse
Sat-E
Starcraft 2 Keycaps
Ludum Dare 22 Here I Come
On The Decline of FPS Games
Finishing Stuff
A Nice Weekend
The Decline of FPS Games
Swelling with New Shiny Books
Done this, done that. What now?
Design for Hackers has arrived!
The End of the Tunnel
Grand Thief Arto
Being Productive
Design for Hackers
10 Games in 10 Languages
Back to Training
Getting Comfortable
New Computer!
Resurrection
Ludum Dare 20 Timelapse
I Made It!
My Minions
Making a Game Again?
What's up
A Four-Eyed Update
A Week of Headache
The Little Things in Life
Focusing Attention: Programming
Poking at Emacs
Focusing Attention: Study Hacking
The I'm Great quote
Focusing Attention: Drawing
The Top Idea
2010 in review
My Dream Game: The Tycoon
Christmas break
Going to University
The great Hochstapler
Where's Teddy?
Game Design Analysis: World of Goo
Generating ideas
Competition Feedback
Postmortem: Beebop The Island Hopper
Beebop The Island Hopper
Ludum Dare 17 - an hour or two into it
Evolution of RTS games
Before the Games: The Site
Widening the horizon
The games that make me who I am
Death to the Forum
The Experimental Games
No game this month
Postmortem: A Geek Valentine
March Theme: 10 seconds
A Geek Valentine
February gets Themed: Rejection
Why is my file so huge?
Postmortem: The Chronicles of Bim: The 100 Fake Afros
My Dream Game: The RTS
The Chronicles of Bim: The 100 Fake Afros
New Year, New Theme: 100 Things
Now we have a Forum
Pushing toward Git
Breaking the rule of three
The Arty Timeline
December Theme: New World Order
Postmortem: Jonas IceCream Stand
Jonas IceCream Stand
An invisible Remake
November Theme: Art Game
Postmortem: MenuCity
MenuCity: Level 0 Walkthrough
An intriguing new puzzle
MenuCity
October theme says: Numbers
Why make games
Postmortem: Bugger
Bugger
September theme: Failure
Going into Being Busy mode
Postmortem: Black and White
Black and White
Incomplete game coming up
Going down
August theme: Bare Minimum
Postmortem: Balls
Balls
My first theme: Addictive Gaming
The first (worst) post