Joachim Breitner's Homepage
Blog (Tag English)
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
- 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
- The perils of live demonstrations
- Farewall green cap
- 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?
- 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
- When to reroll a six
- Doctoral Thesis Published
- 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
- 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
- ZuriHac 2015
- Fifth place in Godingame World Cup
- Talk and Article on Monads for Reverse Engineering
- An academic birthday present
- DarcsWatch End-Of-Life’d
2014
- 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
- 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
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
- 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
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
- 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
- Help wanted maintaining link-monitor-applet
- stm-stats published for factis research
- Yesod packaged for Debian
- 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
- A talk on Church’s result about the Entscheidungsproblem
- Vizing’s theorem proved using Event-B and Rodin
- Pornyness calculator pimped up
- The general triangle, formally
- 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
- A Mistake in Church’s Paper
- Haskell Demonstration at IIT Bombay
2010
- 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, the interactive patch editor
- Protecting static content selectively by OpenID
- How forky may one maintain a Debian package?
- 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”
- 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
- 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
- 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
- Introducing L-seed
- Third place in AI programming contest
- Points of View
- Buzz free
- Bejeweled AI in Haskell
- Server updated to Lenny
- In a Letter to Ghana’s President
- Reliability testing for python-dbus applications
- Openmoko User Meeting in Karlsruhe
- 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
- Haskell work in Dresden
- vm.overcommit_memory = 2, vm.overcommit_ratio = 0
- Debian on the FreeRunner
- Xmonad on my mobile phone
- pam-dbus: authentication by bubbles
- Flow control with pam configuration
- One Week with an OpenMoko Freerunner
- 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
- How to make contour lines circles?
- 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
- Haskell Hackathon almost over
- Haskell Hackathon: Hackage vs. Debian
- Cron’s syslog messages
- Xen-Server-Sharing: The Setup
- Xen Server sharing started
- 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
- Arrived at DebConf7
- Going to DebConf 7
- Spontanious DHCP-Server: Done.
- Unicode against Smileys
- Spontanious DHCP-Server
- gaim-thinklight → pidgin-blinklight
- New parody song „Frequent Flyer“
- A shelf for darcs
- Big Brother for your Window
- 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
- Linux’ flexibility
- SOSHGIC Reports
- Free Software Volunteer wanted
2006
- DeCaf taking on form
- Geek Idiom
- No more Obroni Computer Club
- FourFours in Haskell
- A Developer’s GUI for Infon
- Personal Videocast Charts
- 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
- Building around Scamblocks
- 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
- 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
- Latexki, a Wiki for LaTeX in Haskell and Python
- Hosting PHP proven harmful
- World of Contrasts
- Software Freedom Day 2006 in Accra
- My Name is jɔaχɪm
- 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
- Bringing Free Software to Ghana
- 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
- Haskell as a puzzle Solver
- The law of -unknown-
- Debian Project Leader election
- Wanted: Code Deleter
- Analog Clock for Gnome, Take II
- Silencing my Slug
- 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
- On the right way - Meme Time
- Ubuntu ownz Utnubu - right from the start
2005
- Bored? Try Geocamming
- Tad Williams’; Otherland - Part II
- Extended-range telepresence
- Lightweight Replacement for 111 lines of code
- Evil Self-Irony
- International Journalism and me
- Nokia 77O
- Cell phone stolen, camera bought
- Mako Mako everywhere
- New Parody Song: “I'll be blogging it”
- Tapu - Taboo for the mobile phone
- Tad Williams' "Otherland"
- Visited Countries
- Short Movie on "Trusted" Computing
- International Planet Debian
- tor vs. spamcop.net
- Debian Quiz
- My Code in Pakistan
- Utnubu Paper Press Coverage
- I am Linux Professional Institute Certified Something
- 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
- 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
- Two new parody songs
- I'll get one of those N770s!
- Got my Tickets to Helsinki
- 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
- Another Post, this time with gnome-blog
- Nearly won the “Debian Release Date Bet”
- Debian Sarge Released