archive
Topic pages: Clojure, code review, Coq, photography, Python
Here are all the posts that have appeared on quanttype. You can also browse them by cover pictures.
2026
- Let's automate our jobsFeb 25
- Programming is overFeb 12
- Yearnote 2025Jan 7
2025
- PyCon Finland 2025Oct 19
- PyCon UK 2025Sep 29
- uv and maturinSep 12
- Compressing floating point data with GorillaJun 16
- FP compression family treeMay 7
- Storing timeseries dataMar 28
- Leader election with S3 and If-MatchFeb 28
- New windsJan 31
- Yearnote 2024Jan 8
2024
- Weeknote 19: ADRs record decisionsDec 22
- Weeknote 18: Code commentsDec 15
- Weeknote 17: Caching Docker builds on GitHub ActionsDec 8
- Weeknote 16: Late code reviewDec 1
- Weeknote 15: Technology radarNov 24
- Weeknote 14: Throwing it awayNov 17
- Weeknote 13: Deterministic Simulation TestingNov 10
- Weeknote 12: In the weedsNov 4
- Weeknote 11: WeeknotesOct 27
- Weeknote 10: PrototypingOct 21
- Weeknote 9: EuroRust 2024Oct 14
- Weeknote 8: FeedbackOct 6
- Weeknote 7: Memray + k8sSep 30
- Weeknote 6: Heart of ClojureSep 25
- Weeknote 5: Broken InputSep 15
- Weeknote 4: Debugging ToolsSep 8
- Weeknote 3: Object StorageSep 2
- Weeknote 2: Developer ExperienceAug 25
- Weeknote 1: Schema EvolutionAug 18
- paketoi 0.1Apr 23
- A toolbox of methodsMar 27
- GitHub's PRs could be betterFeb 29
- Creating AWS Lambda zip files with PexJan 31
- Yearnote 2023Jan 9
2023
- Do not use requirements.txtOct 31
- Recipes for updating poetry.lockMay 25
- Branchless git workflowsMay 14
- Yearnote 2022Jan 21
2022
- SQL, Clojure, and editor supportJun 20
- What does `identical?` do?Jun 15
- Tasks of a schema migration toolMay 16
- Schema migrations and avoiding downtimeMay 2
- Clojure and what could've beenApr 6
- Yearnote 2021Jan 16
2021
- Split tokens in ClojureSep 4
- Enjoying the silenceMar 30
- clojure.xml and untrusted inputMar 13
- clojure.spec and untrusted inputMar 6
- Why take notes, anyway?Feb 27
- The goal is to deliver working softwareFeb 20
- Winter-postingFeb 13
- When to not use code reviewFeb 6
- Writing is a core skill for developersJan 30
- Clojure project automation tool of my dreamsJan 23
- Yearnote 2020Jan 6
2020
- NixOS impressionsDec 20
- Code review in contextDec 13
- New shell prompt with StarshipDec 6
- Early impressions on morning pagesNov 29
- Code review is for collaborationNov 22
- Why bother with Integrant?Nov 15
- Two albums of sad musicNov 8
- What are DIDs?Nov 1
- Caching HTTP requests in ClojureOct 25
- Generating random tokens in ClojureOct 18
- clj-branca: lessons learnedOct 11
- Branca and yak shavingOct 4
- Solving the diamond problem with shadingSep 27
- Local memoized recursive functionsSep 20
- No blog this weekSep 13
- Is this art?Sep 6
- JWT and its alternativesAug 30
- Looking good in a suitAug 23
- The minimalist programAug 16
- Two things that make logging out hardAug 9
- Summer readingAug 2
- Signing .jars is worthlessJul 26
- On paddlingJul 19
- Summer vacationJun 14
- Building software without hiring anyoneJun 7
- Who is going to use the programming language?May 31
- Automating spec-tools releasesMay 24
- Have you seen the swan?May 17
- Essential features of data specification librariesMay 10
- Schema, Spec, and MalliMay 3
- Elegant knowledge transferApr 26
- Ricoh GR III, a year laterApr 19
- Put files where they are expectedApr 12
- Video calls are cool but have you tried writingApr 5
- Freezing deployments is riskyMar 29
- Working from home: initial impressionsMar 12
- Programming is writingFeb 25
- Making decisions without asking your bossFeb 19
- No need for something to sayFeb 12
- Logging request IDs in TornadoFeb 5
- Hello again, PythonJan 19
- Joys of a heavy cameraJan 12
- Yearnote 2019Jan 5
2019
- Standard problems, standard solutionsDec 19
- Just automate syntax formattingDec 12
- Keeping code review fastDec 5
- The power of code reviewNov 28
- Coercing JSON with malliNov 20
- Karhunkierros IVNov 14
- Karhunkierros IIINov 7
- Karhunkierros IIOct 31
- Karhunkierros IOct 24
- The joys of coverageOct 10
- The hallway track conferenceAug 12
- Interpreting MoriyamaJul 24
- Ricoh GR III - initial impressionsMay 26
- Handbrewing coffeeMar 6
- Revisiting Clojure testingJan 29
- Yearnote 2018Jan 6
2018
- How I use tap>Oct 18
- Clojure libraries I recommendOct 14
- Why interceptors?Sep 3
- I made a backpackAug 21
- Fully automated releasesAug 11
- Migrated to HugoAug 5
- Lead Developer London 2018Jul 5
- A night in NuuksioMay 15
- Edit clipboard contents in VimMay 7
- How to write a talk proposalMar 19
- Name this conversation patternJan 22
- Yearnote 2017Jan 6
2017
- Secure Scuttlebutt: some technical detailsDec 30
- A new JSON library appearsDec 21
- Break from bloggingSep 14
- What is first-order logic?Aug 28
- Please publish changelogsAug 21
- Write more macrosAug 14
- Hiking from Pyhä to LuostoAug 7
- Summer vacationJul 17
- Focus on understandble codeJul 11
- What is pair programming like?Jul 4
- Using Beeminder to keep bloggingJun 27
- What are hybrid maps?Jun 15
- ZuriHac 2017Jun 11
- Commit messages are worthlessJun 2
- On sailingMay 27
- On JSONfeedMay 20
- clojure.spec for configuration validationMay 12
- What is functional analysis?May 7
- JUnit output for Clojure testsApr 27
- prog1 in ClojureApr 20
- Darkroom updateApr 14
- Keskustalaisuus vaalikoneessaApr 9
- How I use AnkiApr 2
- Configuring Clojure appsMar 23
- Thinking about gear (acquisition syndrome)Mar 19
- Ice in black and whiteMar 12
- The surprises of photographyMar 4
- Reading highlights from 2016Feb 25
- Technical tooling for making better softwareFeb 16
- Running ClojureScript tests with KarmaFeb 8
- Clojure test runner of my dreamsJan 26
2016
- Curry On and ZuriHacJul 30
- Some questions (June 2016)Jun 28
- On feeling guilty about not being good enoughJun 21
- You'll want locally scoped CSSJun 14
- Why look beyond JavaScript?Jun 7
- What is descriptive set theory?May 24
- How I solved the Orbital ChallengeMay 17
- Mamiya RB67 Pro-SMay 10
- What's the point of dependent types?May 3
- We're in early days of software engineeringApr 26
- Finding that lemma: Coq search commandsApr 19
- How to divide by zero?Apr 12
- Take better photos by looking carefullyApr 5
- defaultdicts all the way downMar 29
- Runtime exceptions in ElmMar 22
- Multitenant Flask-SQLAlchemyMar 15
- What is forcing, anyway?Mar 8
- Elementary algebra in Coq: Trivial groupMar 1
- Please give demanding tech talksFeb 23
- Elementary algebra in Coq: Defining a groupFeb 16
- What's in a proof?Feb 9
- Getting started with CoqFeb 2
- Helsinki Haskell User GroupJan 26
- On Infinite JestJan 19
- The bare minimum to know about RELAX NGJan 12
2015
- Yearnote 2015Dec 27
- Math is hard, let's go bloggingDec 23
- Code review requires trustDec 16
- Color film updateDec 8
- Python is not good enoughDec 2
- Printers now workNov 25
- Spinning while sleepingNov 18
- Joylent mini-reviewNov 11
- Dabbling in film photographyNov 4
- Webpacking a projectOct 28
- Exercising is like eatingOct 21
- Moral obligations of ad blockingOct 9
- Commandments for code reviewSep 7
- Some questions I can't answerSep 6
- Everyday carry (August 2015)Aug 30
- Copenhagen highlightsAug 18
- Shell pro-tip: create weekly working directoriesAug 10
- Wash your smelly travel towel with vinegarAug 2
- FRP and self-adjusting computationJul 25
- Running is great for lazy peopleJul 20
- The Moat of ScrumbutJul 13
- Speech as artJul 6
- A Mind for NumbersJun 29
- Spend some time away from computersJun 22
- ROS: Good, bad and uglyJun 15
- The Law of Partial Test CoverageJun 8
- Good math exercises build trustJun 1
- Quickly jumping between git branchesMay 23
- Emacs: Get the path for current buffer from command-lineMay 17
- Birds and context-free grammarsApr 27
- You should take lecture notes with pen and paperApr 21
- Tornien taisto is coming soonApr 14
- New theorem prover: LeanApr 7
- The value of MOOCs is not in the videosMar 31
- Are quantum computers faster than classical computers?Mar 21
- This Week in Finnish PoliticsMar 14
- Types of JavaScriptJan 31
- Setting up Coq, Ssreflect and Proof General on OS XJan 17
- Yearnote 2014Jan 6
2014
- Ambronite mini-reviewDec 17
- Going to write a bachelor's thesisDec 16
- Guts of the Golden PigNov 29
- Event notes: ClojuTRE 2014Nov 26
- A photo essay: HaronmäkiNov 17
- Customizing Nix packagesNov 7
- Did taking photos teach me anything?Oct 23
- Four scientific ways to hack your learningOct 21
- NP and non-deterministic Turing machinesOct 8
- Why does everything fall apart so quickly?Oct 6
- Practicing photographySep 27
- Houkutteleva tutkijanuraSep 26
- In praise of HiccupSep 25
- Is being normal anti-establishment?Sep 12
- Electromagnetic Field 2014Sep 7
- Math is programmingAug 5
- When is static typing worthwhile?Jun 24
- Hard things in software engineeringMay 4
- Linux problems, April 2014Apr 6
- Baudrillard on JoggingApr 5
- Renaming files with zmvMar 9
- Weak views, strongly heldMar 1
- Flappy SineFeb 15
- nix-docker and docker volumesFeb 3
- Baana, HelsinkiJan 28
- Compiling assembler files with avr-gcc without C runtimeJan 27
- People Never ChangeJan 3