Joachim Breitner's Homepage
Blog (Archive)
2024
- Do surprises get larger?
- Blogging on Lean
- Convenient sandboxed development environment
- GHC Steering Committee Retrospective
2023
- The Haskell Interlude Podcast
- Joining the Lean FRO
- Squash your Github PRs with one click
- Left recursive parser combinators via sharing
- Generating bibtex bibliographies from DOIs via DBLP
- ICFP Pearl preprint on rec-def
- The curious case of the half-half Bitcoin ECDSA nonces
- Giving back to OPLSS
- More thoughts on a bootstrappable GHC
- rclone, WebDav, Mailbox.org
- Farewell quimby and fry, welcome richard
- git-multisect
- Pro-charity consulting
2022
- Serverless WebRTC instead of websocket
- rec-def: Minesweeper case study
- rec-def: Dominators case study
- rec-def: Program analysis case study
- rec-def: Behind the scenes
- More recursive definitions
- The Via Alpina red trail through Slovenia
- Telegram bots in Python made easy
2021
- Zero-downtime upgrades of Internet Computer canisters
- How to audit an Internet Computer canister
- A mostly allocation-free optional type
- A Candid explainer: Quirks
- A Candid explainer: Language integration
- A Candid explainer: Opt is special
- A Candid explainer: Safe higher-order upgrades
- A Candid explainer: The rough idea
- Sweet former employee appreciation
- Leaving DFINITY
- Verifying the code of the Internet Identity service
2020
- Don’t think, just defunctionalize
- Named goals in Coq
- Distributing Haskell programs in a multi-platform zip file
- Learn Haskell on CodeWorld writing Sokoban
- Tiptoi in Dresden
- Das Tiptoi-Projekt
- Template Haskell recompilation
- Managed by an eleven year old
- A Telegram bot in Haskell on Amazon Lambda
- 30 years of Haskell
- Animations in Kaleidogen
- git post-squash
2019
- Faster Winter: Statistics (the making-of)
- Faster Winter 7: The Zipper
- Faster Winter 6: Simpler Code
- Faster Winter 5: Eta-Expanding ReaderT
- Faster Winter 4: Export lists
- Faster Winter 3: Difference Lists
- Faster Winter 2: SPECIALIZE
- Faster Winter 1: Vectors
- Winter is coming even more quickly
- ICFP 2019
- Custom firmware for the YQ8003 bicycle light
- Ιωακείμ
- Artsy desktop background
- Drawing foldl and foldr
- How to merge a Pull Request
- Spring cleaning: local git branches
- Teaching to read Haskell
- Nonce sense paper online
2018
- Thoughts on bootstrapping GHC
- Sliding Right into Information Theory
- Swing Dancer Profile
- The merits of a yellow-red phase
- Continuity Lines
- Build tool semantic aware build systems
- WebGL, Fragment Shader, GHCJS and reflex-dom
- The diameter of German+English
- Proof reuse in Coq using existential variables
- Avoid the dilemma of the trailing comma
- Verifying local definitions in Coq
- Reservoir sampling with few random bits
- Interleaving normalizing reduction strategies
- The magic “Just do it” type class
2017
- Finding bugs in Haskell code by proving it
- Existence and Termination
- Isabelle functions: Always total, sometimes undefined
- e.g. in TeX
- Less parentheses
- Compose Conference talk video online
- Communication Failure
- How is coinduction the dual of induction?
- Coinduction in Coq and Isabelle
- The Micro Two Body Problem
- Bundestag beschließt Ehe für alle
- The perils of live demonstrations
- Farewall green cap
- Mütze Ade
- ghc-proofs rules more now
- veggies: Haskell code generation from scratch
- Birthday greetings communication behaviour
- Why prove programs equivalent when your compiler can do that for you?
- Trump is so mean
- Global almost-constants for Haskell
- TikZ aesthetics
2016
- microG on Jolla
- Drei Jahreszeiten
- Nach der Wahl
- Showcasing Applicative
- Die Taxitür und ich
- T430s → T460s
- Swing-Tanzen in Philadelphia
- Ein Krankenhausbesuch in den USA
- The new CIS-194
- Explicit vertical alignment in Haskell
- Eine Woche Philadelphia
- Ein schlüsselloser Moment
- HaL deadline extended
- When to reroll a six
- Eindrücke von der GPN16
- Das Mitschriebwiki zieht um
- Doctoral Thesis Published
- Tiptoi-Bastelei mit meinem Neffen
- Doktorhut
- Free Paradoxes
- GHC performance is rather stable
- Protecting static content with mod_rewrite
- Dreaming of role playing
2015
- A multitude of early Christmas presents
- HaL 10
- Reproducible Builds World Summit
- Freierzone, jetzt erst recht
- Freierzone
- Mehr als Trinken mit Linken
- Constructing a list in a monad revisited
- Incredible Proof Machine put to the test
- The Incredible Proof Machine
- Quickest path to a local apt repository
- Running circle-packing in the Browser, now using GHCJS
- Tiptoi auf der GPN 15
- ZuriHac 2015
- Fifth place in Godingame World Cup
- Talk and Article on Monads for Reverse Engineering
- An academic birthday present
- Tiptoi-Artikel in der c’t
- Sim Serim geschenkt bekommen
- DarcsWatch End-Of-Life’d
- Tiptoi-Bastelei im Modellansatz-Podcast
- Tiptoi-Basteleien live im Radio
- Ein Tiptoi-Taschenrechner
- …und wo sind die Ings?
2014
- Wo sind die -ingens
- Geschenke mit dem Tiptoi-Stift verteilen
- Can one recommend Debian stable to Desktop users?
- Switching to systemd-networkd
- New website layout
- ghc-heap-view for GHC 7.8
- 11 ways to write your last Haskell program
- Using my Kobo eBook reader as an external eInk monitor
- Die ersten hausgemachten Tip-Toi-Bücher
- ICFP 2014
- DebConf 14
- This blog goes static
- Good bye GNOME
- Another instance of Haskell Bytes
- ZuriHac 2014
- Predicting the livetime of a Hackage package
- Does list fusion work?
- Going to TFP 2014
- gtk-vector-screenshot screencast
- Steuerhinterziehung bei Subway?
- Creative use of screen-message
- Personalisierte Tip-Toi-Datei als Geschenk
- Eine Woche Freizeitstress in Cambridge
2013
- Sim Serim as a browser game
- My contribution to XKCD’s #949 is not needed
- My contribution to XKCD’s #949
- Eine Geschichte über Heizungen in Großbritannien
- Meine erste Woche in Cambridge
- Breaking News: Debian TC leaked decision on init system
- Constructing a list in a Monad
- First citation
- Why PVP is better than no PVP
- Experimenting with the TI eZ430 Chronos
- Heidelberg Laureates Forum 2013
- Adding safe coercions to Haskell
- You-Say-First has dice
- Bachelor Thesis on Monads for Uncertainty
- A song about Isabelle (the theorem prover)
- Real World Haskell Applications
- Ultimate Tic Tac Toe is always won by X
- Running Circle Packing in the Browser using Haste
- On taking the last n elements of a list
- Haskell and Debian talk at HaL8
- My first CTAN package: Typesetting Continued Equalities
- How to play Rock-Paper-Scissors online?
- The carbondioxide footprint of Debian's Haskell packages
- Evaluation-State Assertions in Haskell
- Going to FOSDEM after all
- “Haskell Bytes” again
- Brief an den KVV
2012
- GHCi integration for GHC.HeapView
- Circle Packing
- Plätzchentetris
- Calculating the internal rate of return with hledger
- screen-message is now scriptable more easily
- Somewhere in Israel, someone printed 50 copies
- c't features Haskell
- Creating a Debian source package without unpacking the source
- Dennis Felsing’s thesis on ghc-vis submitted
- The mighty applicative left fold
- “Haskell Bytes”
- A copying garbage collector animated
- Mitschriebwiki endlich ohne Augenkrebs
- GPN12-Retrospektive
- Free Groups in Agda
- 10 years of using Debian
- ghc-heap-view: Complete referential opacity
- GHC 7.4.1 speeds up arbtt by a factor of 22
- Including full LaTeX documents in another LaTeX document
- c't features heisse-news
2011
- First (academic) publication
- Guest lecture on Haskell performance
- Some late recognition of metainit
- Poetry in the problem class
- First contribution to a basic Haskell library
- Running GNOME 3 and noone will notice
- gtk-vector-screenshot featured in freiesMagazin
- Bildungssilo Uni?
- RÜBE - T-Shirts für Veganer
- Help wanted maintaining link-monitor-applet
- stm-stats published for factis research
- Yesod packaged for Debian
- Video des Lambda-Kalkül-Vortrags online
- Nicer URL formatting in LaTeX
- SAT-solving the testing transition problem
- Copying HTML from gnome-terminal
- A post card on detours
- gtk-vector-screenshot works with epiphany
- Flattr experiments
- gtk-vector-screenshot code published
- Better PDF screenshots with gtk 3
- 401 page family book published
- Satire on Gender Issues at IIT Bombay
- Conditional Elimination through Code Duplication
- Linux-Magazin-Programmierwettbewerb
- A talk on Church’s result about the Entscheidungsproblem
- Vizing’s theorem proved using Event-B and Rodin
- Spaziergang nach Süden
- Pornyness calculator pimped up
- The general triangle, formally
- Familiengerechte Arbeitsbedingungen
- Tor exit node shut down by server4you
- Nomen est Omen
- Goodbye server4you
- First day of GNUnify’11
- GNUnify started
- I’m going to talk at GNUnify 2011
- Ein paar Beobachtungen aus Indien
- A Mistake in Church’s Paper
- Haskell Demonstration at IIT Bombay
- Campusregeln
- Mein Alltag in Indien
2010
- Erste Eindrücke aus Indien
- Going to IIT Bombay, Mumbai, India
- Giving up on the FreeRunner (again)
- Screenshots as vector graphics
- Student research project on Shivers’ control flow algorithm
- A Solution to the Configuration Problem in Haskell
- Haskell Hackathon in Gent
- Goodbye procmail, Hello Sieve
- Multi-Pointer Zaz
- ipatch on hackage
- ipatch, the interactive patch editor
- Protecting static content selectively by OpenID
- How forky may one maintain a Debian package?
- Kit-Card-Poster in der Mensa
- Free Groups Formalized
- nagstamon forklet necessary
- bluetile in Debian
- Making dictionary passing explicit in Haskell
- A mathematician’s status symbol
- zpub article in “Linux-Magazin”
- Ein Kulanz-Geschenk...
- libnss-gw-name: A stable name for your gateway
- Video of my CeBIT talk online
- kexec saved my day
- Talking at CeBIT tomorrow
- Teeth fashion
- Exploiting sharing in arbtt
- Diploma Thesis Finished
- If I were a caricaturist
- FontForge-Article in the German Linux-Magazin
- pidgin-blinklight goes subliminal
- Serna XML editor uploaded to Debian
- DebConf mugshots view statistics
- screen-message ported to Windows
2009
- Building arbtt for Windows
- Die Photo-Kalender der Anderen
- Packaged unicode-screensaver properly
- Second Post!
- screen-message now in an online version
- arbtt now in Debian
- Parody Song: „College teacher“
- Darcs Hacking Sprint: Mission Complete
- Arrived at the Darcs hacking sprint
- Maxi-Max-Algorithm
- Parody song „Another year at university“
- Releasing zpub as Free Software
- Mimesweeper
- About the Freedoms of Web Services
- Parodielied „Cold Fingers“
- arbtt: Now with Documentation
- arbtt goes Binary
- Die Folgen der deutschen Einheit für Studenten
- Nicht-Fehler in „Inglorious Basterds“
- Freaking out with LaTeX
- The Automatic Rule-Based Time Tracker
- Already dead
- Ctrl-Alt-F1 in VirtualBox
- Stronger GPG key generated
- Rechtsfreie Räume im Internet gesucht?
- GPN8: 50% complete
- Introducing L-seed
- Bilderseite jetzt mit Tags
- Third place in AI programming contest
- Points of View
- Zensur und Rubbellose
- Buzz free
- Bejeweled AI in Haskell
- Parodielied „Das ist billig“
- Server updated to Lenny
- In a Letter to Ghana’s President
- Reliability testing for python-dbus applications
- Wilhelm Guttenberg auf Heisse News
- Openmoko User Meeting in Karlsruhe
- darcswatch uploaded to hackage
2008
- Handling explicit and implicit recursion in Haskell data
- Familienversicherung und deutsche Rechtssprache
- MuMer relaunch – preview online
- 19 months of laptop battery data
- Good LaTeX Font Overview
- Linux Journal on the Neo FreeRunner
- My very first font
- Runden
- Infinite loops in Haskell
- Heisse-News generalüberholt
- „Freiheit statt Angst“-Demo in Berlin
- Haskell work in Dresden
- Günstiger Webhoster mit eigenen VirtualHost-Einträgen?
- vm.overcommit_memory = 2, vm.overcommit_ratio = 0
- Debian on the FreeRunner
- Heisse News mit veraltetem Layout
- Xmonad on my mobile phone
- pam-dbus: authentication by bubbles
- Flow control with pam configuration
- One Week with an OpenMoko Freerunner
- Ich in KIT.intern
- GPN 7 Résumé
- Satirisches Poster in der Mensa
- My first OpenStreetMap Contribution
- FrakView: An Haskell Renderer for Iterated Function Systems
- Pausable IO actions for better GUI responsiveness
- Announcing DarcsWatch
- My stuff on YouTube
- Distance Map Morpher
- Neuer Supermarkt um die Ecke – für kurz
- How to make contour lines circles?
- The problem with turing complete editors
- Creative Week of Snowboarding
- Ways to fork privately
- How to fork privately?
- Stromausfall
- customdeb − easy modifications to binary Debian packages
2007
- Children on sale
- Lebensqualitätsverlust
- Descendant tree drawing problem
- Ich bin strafverfolgungsbehördlich unbekannt
- Rückmeldung der Datenschutzbeauftragten
- Auskunft ersuchen!
- Formal und Formell
- Vor-Ort-Service im Wohnheim
- Haskell Hackathon almost over
- Haskell Hackathon: Hackage vs. Debian
- Call-a-Bike-Falle
- Die Vorteile des Überwachungsstaats
- Cron’s syslog messages
- Xen-Server-Sharing: The Setup
- Xen Server sharing started
- Comment-Feed für KA-Cliquen-Planet
- Haskell Syntax Gem
- Internet Trading Game Idea
- TTF-Glyph in pdflatex output
- Cliquen-Planet
- The trustworthy stranger
- Made it on bbspot
- sm – same fate as LaTeX?
- My own jabber server
- Werbung: nadel-adel.de
- Hausdorff immer nüchtern, Kolmogoroff nur manchmal
- Finding revoked signatures on a gpg key
- Shift-Caps-2
- screen-message uploaded to Debian
- DebCamp HalfTime
- Visualizer for Anagrams
- Arrived at DebConf7
- Going to DebConf 7
- Spontanious DHCP-Server: Done.
- Unicode against Smileys
- Wenzel bloggt jetzt auch
- Spontanious DHCP-Server
- gaim-thinklight → pidgin-blinklight
- XSA-Artikel jetzt online
- New parody song „Frequent Flyer“
- A shelf for darcs
- EC-Karte oder Kreditkarte
- Big Brother for your Window
- Gewerbe angemeldet
- Trains in the UK
- Debian Ideas: Instance-Capable Init Scripts
- My Debian Project Leader Vote
- A different Maybe maybe
- Document Archival Tool?
- News from the XaraLX front
- Die Rechtschreibprüfung weiß nix über mich!
- Linux’ flexibility
- SOSHGIC Reports
- Neue Heisse-News
- Du bist in einem entwickelten Land wenn…
- F(l)achinformatiker
- Free Software Volunteer wanted
- Zwei mal durch Ghana
2006
- Stefan und die Waisen
- Mehr aus der Wortschatzkiste
- Aus der Wortschatzkiste
- New Kid on the Blog
- DeCaf taking on form
- Ghanesisches Weihnachtskonzert
- Geek Idiom
- No more Obroni Computer Club
- FourFours in Haskell
- A Developer’s GUI for Infon
- Personal Videocast Charts
- Podcastparade
- Tagesausflug nach Ada
- USBless in Africa
- Unicode Hack
- Linux Gaming Tournament
- Kofi-Annan Center for Excellence in ICT
- Infoning in Ghana
- Teaching Linux with Games
- graphing your gaim chat history
- Ghana-Rundtour-Bilder
- Voltasee und Mole-Natinalpark
- Building around Scamblocks
- Volta Region
- Giving up at SOSHGIC
- Turnkey Linux for Internet Cafés
- dpkg-statoverride halt
- xchat patch: GUI for autojoin setting
- openghana.org launched
- Don't let DWN die
- Typographische Anführungszeichen
- I'm responsible for reduced attention in a NY university
- African: Africa should stop blaming others
- latex-ucs
- My Software around the World
- Five Minutes about Free Software
- lkwiki wird MitschriebWiki
- Todesfall in der Schule
- Latexki, a Wiki for LaTeX in Haskell and Python
- Hosting PHP proven harmful
- Helsinki's Beschwerden
- Kwame Nkrumah
- World of Contrasts
- Straßenartisten in Accra
- Software Freedom Day 2006 in Accra
- "Privatschutz"
- My Name is jɔaχɪm
- BIOS vs Linux created Partition Table
- Meine Wohnung in Tema
- Afraid of the German Police
- Jugendarbeit in Ghana
- Free Software Club continues
- Ausflug zu den Shai Hills
- First Computer Club meeting
- Smart URLs
- Accra
- Free Software Club in Tema, Ghana
- Brainfuck interpreter in Haskell
- Ein Afrikanischer Markt
- Millionär
- Koordinaten
- In Ghana angekommen
- Haskell on the Command Line
- RSS Feed für meine Bilder
- Bringing Free Software to Ghana
- GNU make instead of AxKit
- Hangman-AI in haskell
- Ein Jahr in Ghana
- Lenovos '4 Werktage'
- The BOFH song
- Ein Lied auf die Spamflut
- XSA-Article available online
- Deleting spam trackbacks
- little subversion helper script: svn-ignorer
- Design-Assimilation
- Ein neuer Blogger auf meinem Radar
- Vorlesungskommunikation
- RZ-Namens-Statistik
- Theatersport in Tübingen
- Haskell as a puzzle Solver
- KaLUG Party
- The law of -unknown-
- Debian Project Leader election
- Wanted: Code Deleter
- Analog Clock for Gnome, Take II
- Trennung mit Bugzilla-Nummer
- Grillsaison eröffnet
- Autobahn-WLAN
- Silencing my Slug
- Fixe Idee: Warfeu
- First Prelimary XaraLX debian package
- Got kicked from planet.debian.org
- Announcing the RiskRecorder
- Copyright infringement without Lawyers
- Werbung: fly-foto.de
- Analog Clock for the Gnome Panel
- Fixing my planet.debian.org subscription
- Rock die Burg
- On the right way - Meme Time
- Ubuntu ownz Utnubu - right from the start
- Sneak: Populärmusik från Vittula
- Blondinenwitz par excellence
2005
- Bored? Try Geocamming
- Tad Williams’; Otherland - Part II
- Extended-range telepresence
- Harry Potter and the Goblet of Fire
- Lightweight Replacement for 111 lines of code
- Tapu goes live - ohne mich
- Schmiz' Katze im Jubez
- Evil Self-Irony
- International Journalism and me
- Sneak: Terkel i Knibe
- Nokia 77O
- Cell phone stolen, camera bought
- Mumer nimmt langsam Gestalt an
- Wallace und Gromit auf der Jagd nach dem Riesenkaninchen
- Mako Mako everywhere
- Clements Freiheitsrechte vs. Otto Schily
- Ken Follett: Das zweite Gedächtnis
- Bilder vom Autobrand und Balderschwang
- New Parody Song: “I'll be blogging it”
- In brennendem Auto durch die Gegend...
- Tapu - Taboo for the mobile phone
- Tad Williams' "Otherland"
- Don't come Knocking
- Visited Countries
- Parodielied "Hätt ich doch nur gelernt"
- Stiftung Wahlwerbespottest
- Broken Flowers
- Short Movie on "Trusted" Computing
- International Planet Debian
- 10000000000nm²
- Schwarz-Gelbe Regierung doch nicht mehr sooo sicher
- tor vs. spamcop.net
- Erste Schritte im Journalismus
- Mehr! Blogs! Hier!
- Ölreserven gegen Benzinpreise?
- Der trockene Humor des Supports
- Der verbotene Schlüssel
- Wahl-o-Maten
- Debian Quiz
- Good Bye Camera
- My Code in Pakistan
- Die Insel
- Charlie und die Schokoladenfabrik
- Zurück bei eBay
- Utnubu Paper Press Coverage
- Mundus Mercaturae
- Tastaturversuch für gescheitert erklärt
- Tag der deutschen Redefreiheit
- Neues Tastaturlayour Neo
- I am Linux Professional Institute Certified Something
- Blogosphäre wächst
- Home finally, but how!
- Last hour in Scandinaiva(?)
- Still alive...
- Sausages in the Sauna
- On the road again...
- Launchpad, Google and why Microsoft is not the problem
- Linux Ball / Utnubu
- gaim-thinklight uploaded to Debian
- 40 nackte Entwickler und russische Kanonen
- Like XSS, just simpler and harder to prevent: The Cross Site Auth (XSA) Attack
- DebConf Pictures and other stuff
- "Brightest Star"
- Bug Subscription Feature. Again.
- Played the Debian Boardgame
- Debian Bug Subscription Feature
- Debian Boardgame Rules available
- Announcing the Debian Developer Board Game
- Stockholm
- Bloggin from Berlin
- Insterburger Waldlauf
- Took part in the MIT survey, too
- Two new parody songs
- I'll get one of those N770s!
- Got my Tickets to Helsinki
- heisse-news von heise geduldet
- Created gaim-thinklight
- Wir vom Amt sind modern!
- LinuxTag Part III
- LinuxTag Part II
- Blogging with Nokia 770
- LinuxTag Part I
- Turned down Non-Free programming project
- Not that old, but close
- Kein "San Andreas" für mich
- Another Post, this time with gnome-blog
- Post mit Drivel
- Anhalter, wir kommen
- Nearly won the “Debian Release Date Bet”
- Debian Sarge Released
- Hab jetzt auch ein Blog