Joachim Breitner's Homepage
Blog (Tag Digital World)
2024
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
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
- 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
2018
- Thoughts on bootstrapping GHC
- 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
- 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 perils of live demonstrations
- ghc-proofs rules more now
- veggies: Haskell code generation from scratch
- Why prove programs equivalent when your compiler can do that for you?
- Global almost-constants for Haskell
- TikZ aesthetics
2016
- microG on Jolla
- Showcasing Applicative
- T430s → T460s
- The new CIS-194
- Explicit vertical alignment in Haskell
- HaL deadline extended
- Eindrücke von der GPN16
- Das Mitschriebwiki zieht um
- Tiptoi-Bastelei mit meinem Neffen
- GHC performance is rather stable
- Protecting static content with mod_rewrite
2015
- A multitude of early Christmas presents
- HaL 10
- Reproducible Builds World Summit
- 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
- DarcsWatch End-Of-Life’d
- Tiptoi-Bastelei im Modellansatz-Podcast
- Tiptoi-Basteleien live im Radio
- Ein Tiptoi-Taschenrechner
2014
- 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
- Creative use of screen-message
- Personalisierte Tip-Toi-Datei als Geschenk
2013
- Sim Serim as a browser game
- My contribution to XKCD’s #949 is not needed
- My contribution to XKCD’s #949
- Breaking News: Debian TC leaked decision on init system
- Constructing a list in a Monad
- Why PVP is better than no PVP
- Experimenting with the TI eZ430 Chronos
- 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
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
- 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
- Guest lecture on Haskell performance
- Some late recognition of metainit
- First contribution to a basic Haskell library
- Running GNOME 3 and noone will notice
- gtk-vector-screenshot featured in freiesMagazin
- 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
- gtk-vector-screenshot works with epiphany
- Flattr experiments
- gtk-vector-screenshot code published
- Better PDF screenshots with gtk 3
- 401 page family book published
- Conditional Elimination through Code Duplication
- Pornyness calculator pimped up
- 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
- Haskell Demonstration at IIT Bombay
2010
- 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?
- nagstamon forklet necessary
- bluetile in Debian
- Making dictionary passing explicit in Haskell
- zpub article in “Linux-Magazin”
- libnss-gw-name: A stable name for your gateway
- Video of my CeBIT talk online
- kexec saved my day
- Talking at CeBIT tomorrow
- Exploiting sharing in arbtt
- 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
- Darcs Hacking Sprint: Mission Complete
- Arrived at the Darcs hacking sprint
- Releasing zpub as Free Software
- About the Freedoms of Web Services
- arbtt: Now with Documentation
- arbtt goes Binary
- Freaking out with LaTeX
- The Automatic Rule-Based Time Tracker
- Already dead
- Ctrl-Alt-F1 in VirtualBox
- Stronger GPG key generated
- GPN8: 50% complete
- Introducing L-seed
- Third place in AI programming contest
- Bejeweled AI in Haskell
- Server updated to Lenny
- Reliability testing for python-dbus applications
- darcswatch uploaded to hackage
2008
- Handling explicit and implicit recursion in Haskell data
- MuMer relaunch – preview online
- 19 months of laptop battery data
- Good LaTeX Font Overview
- Linux Journal on the Neo FreeRunner
- My very first font
- Infinite loops in Haskell
- Heisse-News generalüberholt
- 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
- GPN 7 Résumé
- 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
- The problem with turing complete editors
- Creative Week of Snowboarding
- Ways to fork privately
- How to fork privately?
- customdeb − easy modifications to binary Debian packages
2007
- Children on sale
- Descendant tree drawing problem
- Vor-Ort-Service im Wohnheim
- Haskell Hackathon almost over
- Haskell Hackathon: Hackage vs. Debian
- 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
- The trustworthy stranger
- Made it on bbspot
- sm – same fate as LaTeX?
- My own jabber server
- Finding revoked signatures on a gpg key
- Shift-Caps-2
- screen-message uploaded to Debian
- DebCamp HalfTime
- Visualizer for Anagrams
- Going to DebConf 7
- Spontanious DHCP-Server: Done.
- Unicode against Smileys
- Spontanious DHCP-Server
- gaim-thinklight → pidgin-blinklight
- XSA-Artikel jetzt online
- A shelf for darcs
- 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
- F(l)achinformatiker
- Free Software Volunteer wanted
2006
- New Kid on the Blog
- DeCaf taking on form
- No more Obroni Computer Club
- FourFours in Haskell
- A Developer’s GUI for Infon
- Personal Videocast Charts
- Podcastparade
- USBless in Africa
- Unicode Hack
- Kofi-Annan Center for Excellence in ICT
- Infoning in Ghana
- Teaching Linux with Games
- graphing your gaim chat history
- Building around Scamblocks
- Turnkey Linux for Internet Cafés
- dpkg-statoverride halt
- xchat patch: GUI for autojoin setting
- openghana.org launched
- Typographische Anführungszeichen
- I'm responsible for reduced attention in a NY university
- latex-ucs
- Five Minutes about Free Software
- lkwiki wird MitschriebWiki
- Latexki, a Wiki for LaTeX in Haskell and Python
- Hosting PHP proven harmful
- Software Freedom Day 2006 in Accra
- BIOS vs Linux created Partition Table
- Afraid of the German Police
- Free Software Club continues
- First Computer Club meeting
- Smart URLs
- Free Software Club in Tema, Ghana
- Brainfuck interpreter in Haskell
- Haskell on the Command Line
- RSS Feed für meine Bilder
- GNU make instead of AxKit
- Hangman-AI in haskell
- Lenovos '4 Werktage'
- The BOFH song
- XSA-Article available online
- Deleting spam trackbacks
- little subversion helper script: svn-ignorer
- Design-Assimilation
- Vorlesungskommunikation
- Haskell as a puzzle Solver
- KaLUG Party
- The law of -unknown-
- Debian Project Leader election
- Analog Clock for Gnome, Take II
- Trennung mit Bugzilla-Nummer
- 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
- Analog Clock for the Gnome Panel
- Fixing my planet.debian.org subscription
- Ubuntu ownz Utnubu - right from the start
2005
- Bored? Try Geocamming
- Extended-range telepresence
- Lightweight Replacement for 111 lines of code
- Tapu goes live - ohne mich
- Evil Self-Irony
- International Journalism and me
- Mako Mako everywhere
- Tapu - Taboo for the mobile phone
- Short Movie on "Trusted" Computing
- International Planet Debian
- tor vs. spamcop.net
- Erste Schritte im Journalismus
- Mehr! Blogs! Hier!
- Der trockene Humor des Supports
- Debian Quiz
- Good Bye Camera
- My Code in Pakistan
- Zurück bei eBay
- Utnubu Paper Press Coverage
- Tastaturversuch für gescheitert erklärt
- Neues Tastaturlayour Neo
- I am Linux Professional Institute Certified Something
- 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
- Bug Subscription Feature. Again.
- Played the Debian Boardgame
- Debian Bug Subscription Feature
- Debian Boardgame Rules available
- Announcing the Debian Developer Board Game
- I'll get one of those N770s!
- heisse-news von heise geduldet
- Created gaim-thinklight
- 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
- Nearly won the “Debian Release Date Bet”
- Debian Sarge Released