Archive
Categories
Full Post List
Dec 4, 2024: Today I ran part of the way to work. It was a cold, beautiful winter morning in Stockholm.
Nov 28, 2024: Sometimes, I solve programming problems by coding on paper. A few days ago, it looked like this:
Nov 28, 2024: I’ve started working on a code editor that is a mix of a text editor and a structured editor. It is all text, but parsers and pretty printers …
Nov 23, 2024: We got some more snow. I like running in the winter. Especially when there is snow and the sun is shining.
Nov 20, 2024: I needed to submit some heic photos to a service that only accepted jpg. I didn’t know about the heic format, but a little searching gave me a …
Nov 20, 2024: Today was the first day of snow this season. Not much. I’m looking forward to many more runs on a white trail.
Nov 16, 2024: I was researching how to run Black (and possibly other formatters) from Vim and found Ergonomic mappings for code formatting in Vim. It was very …
Nov 3, 2024: How would you improve this code? def update_r_users(service) r_users = [] for user in service.get_all_users(): if "r" in user: …
Nov 3, 2024: Newsletter October 2024: Primitive Obsession? Normally I do something related to programming in my spare time every month. I read something that I find interesting and want to share. Or I have …
Nov 2, 2024: Today I learned about the Rison data serialization format. I wrote a function to convert a Python value to Rison format. It was an elegant recursive …
Nov 2, 2024: I’ve used testing without mocks quite extensively now. I’ve also used it in a work project for more than a year. My experience is that …
Oct 28, 2024: It’s getting dark. It gives variation to the running.
Oct 16, 2024: Various things have kept me from running for a while. Today I had enough. I just had to go for a short run. It was the first run with warmer clothes. …
Oct 14, 2024: Newsletter September 2024: Bash Redirects and Reading This month I read How to Use a Zettelkasten to Write Stories Packed with Emotion. It inspired me to write something using that technique. The topic …
Sep 5, 2024: Pull requests discourage experiments because changes can only propagate after approval. The idea behind PRs is to only approve “good” …
Sep 5, 2024: Today I just needed to run. I had not run since I hurt my achilles tendon almost a month ago. I wanted to see if it still hurt. I felt something, but …
Sep 5, 2024: If you want to know how to implement a Bash-like shell, with support for redirects, in only 31 lines of Python, you should check out my latest blog …
Sep 4, 2024: Do you know the difference between the following Bash commands? program 2>&1 >/tmp/log.txt program >/tmp/log.txt 2>&1 If not, you …
Sep 4, 2024: Bash Redirects Explained I thought I knew how Bash redirects worked. If I wanted to redirect the output of a command to a file, I’d type this: program > /tmp/log.txt …
Sep 1, 2024: I just implemented a small shell in 29 lines of Python that has support for redirects: $ ./minishell.py ~~?~~> echo hello hello ~~0~~> wc -l …
Sep 1, 2024: Newsletter August 2024: Smart Notes and Blogging In August I had my last week of summer vacation. I read a book that made me want to improve my note taking tool, I did some programming on hobby …
Aug 29, 2024: Linking (and how it has evolved) in Smart Notes I created Smart Notes to be a digital note taking application that follows principles from the Zettelkasten method, as explained in Sönke …
Aug 21, 2024: Did another bike workout at the gym. Similar heart rate and duration as my regular runs, but felt like more effort because I’m not used to …
Aug 19, 2024: Today I bought a gym membership. I spent another 40 minutes on the bike. I felt good after the workout, but I didn’t get any ideas or …
Aug 18, 2024: Yes! The draft makes sense now. I think. I had a rough idea of what I wanted to write about. I had lots of notes that I struggled to fit into a …
Aug 17, 2024: Today I spent 40 minutes on a bike in the gym. I’d rather be running, but I’ve got some pain in my achilles tendon, so I explore …
Aug 11, 2024: It’s time for a new avatar. I’m thinking I should update them more frequently. Maybe yearly? Anyway, here is the new one.
Aug 11, 2024: It’s like it’s all out there. Energy, motivation, well being, creativity… You just have to put on a pair of shoes and go out and …
Aug 11, 2024: How I found out about Micro.blog When I was researching the Zettelkasten method (a specific way to take notes), I ended up on Writing Slowly. It looked like this: Besides the content, …
Aug 11, 2024: I just implemented support in Smart Notes for giving links a text description. This was inspired by recent readings about concept mapping and …
Aug 11, 2024: My website as a home (found via End of Year Hyperlink Dump) talks about a metaphor for websites: I feel as if someone is giving me a tour of their …
Aug 9, 2024: I first learned programming by hitting “View Page Source” on a web page to learn how something was implemented. Today, 20+ years later, I …
Aug 9, 2024: Poor man's redirect in a static site I just moved my blog to Micro.blog. My domain name, rickardlindberg.me, now points to the new blog. I have not yet migrated all pages from my old …
Aug 9, 2024: I was tired and low on energy. I knew I needed to run. I know that the longer I run, the more energy I get back. I also clarified my thinking on an …
Aug 8, 2024: Today I did a lot of focused work. My brain was tired. Solution? Running. It worked. It always works. That’s why I run.
Aug 1, 2024: Newsletter July 2024: Note Making Re-Visited This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 26, 2024: Output Tracking vs Mocks This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 2, 2024: Newsletter June 2024: Quines and Smalltalk This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 8, 2024: May 2024 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 2, 2024: Refactoring a function to 6 classes This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 1, 2024: April 2024 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 4, 2024: DRAFT: 'What is a user story?' This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 2, 2024: March 2024 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Mar 1, 2024: February 2024 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 7, 2024: January 2024 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jan 2, 2024: December 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Dec 12, 2023: November 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Nov 6, 2023: October 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Oct 10, 2023: September 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 10, 2023: DevLog 013: Raspberry Pi game console This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 4, 2023: August 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 23, 2023: DevLog 012: Investigating export crash This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 21, 2023: The end? This post has not yet been imported to my new blog. In the meantime, you can read it here: http://archive.rickardlindberg.me/writing/agdpp-the-end/.
Aug 6, 2023: DevLog 011: Modifying cut out point This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 5, 2023: July 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 3, 2023: DevLog 010: Debugging MLT/GTK segfault This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 3, 2023: DevLog 009: Improve timeline scrubbing This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 2, 2023: DevLog 008: How to overcome lack of motivation? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 1, 2023: DevLog 007: Which feature to work on next? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 31, 2023: DevLog 006: Adding the concept of a clip This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 31, 2023: DevLog 005: MLT proxy hell This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 30, 2023: DevLog 004: Proxies with correct FPS This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 29, 2023: DevLog 003: Clarify GUI separation This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 29, 2023: DevLog 002: Change mix strategy for cuts in GUI This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 28, 2023: Writing my own video editor This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 28, 2023: How to get fast feedback on graphical code? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 28, 2023: DevLog 001: J-cuts and L-cuts in my video editor? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 4, 2023: June 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 29, 2023: Multiplayer This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 18, 2023: High-level or micro-tests? A discussion with Ron. This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 17, 2023: Spawn multiple balloons This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 12, 2023: Does TDD work when building a game? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 6, 2023: May 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 24, 2023: Score as text This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 20, 2023: How to test a router? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 19, 2023: Programming a Logitech Gamepad F310 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 14, 2023: A case for the infrastructure wrapper This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 12, 2023: Turning arrow This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 9, 2023: Hit balloon and score points This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 6, 2023: Game over? This post has not yet been imported to my new blog. In the meantime, you can read it here: http://archive.rickardlindberg.me/writing/agdpp-game-over/.
May 3, 2023: April 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 28, 2023: Thinking about test design This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 27, 2023: Shooting the arrow This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 24, 2023: Demo and game idea This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 20, 2023: Separating pygame completely from the rest of the game This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 19, 2023: Test driving the game loop This post has not yet been imported to my new blog. In the meantime, you can read it here: http://archive.rickardlindberg.me/writing/agdpp-game-loop/.
Apr 18, 2023: Trying Ron's Python Asteroids This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 17, 2023: TDD trick: fake it! This post has not yet been imported to my new blog. In the meantime, you can read it here: http://archive.rickardlindberg.me/writing/tdd-fake-it/.
Apr 9, 2023: Introducing Agile Game Development with Python and Pygame This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 6, 2023: What should a Continuous Integration (CI) server do? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 2, 2023: March 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Mar 5, 2023: February 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 11, 2023: January 2023 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jan 9, 2023: December 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Dec 15, 2022: How should I evolve the design of my projectional editor? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Dec 2, 2022: November 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Nov 10, 2022: October 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Oct 8, 2022: September 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 9, 2022: August 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 2, 2022: How to write reliable socket servers that survive crashes and restarts? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 2, 2022: July 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 4, 2022: June 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 4, 2022: May 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 1, 2022: April 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 2, 2022: March 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Mar 2, 2022: February 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 12, 2022: RLMeta poster 2: the poster that wasn't This post has not yet been imported to my new blog. In the meantime, you can read it here: http://archive.rickardlindberg.me/writing/rlmeta-poster-2/.
Feb 4, 2022: January 2022 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jan 4, 2022: December 2021 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Dec 2, 2021: November 2021 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Nov 4, 2021: October 2021 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Oct 9, 2021: September 2021 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 14, 2021: What Is Programming? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 7, 2021: August 2021 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 3, 2021: July 2021 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 4, 2021: Dogfooding Literate Programming Support in Smart Notes (June 2021 Update) This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 6, 2021: May 2021 Update This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 4, 2021: Newsletter April 2021 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 4, 2021: Newsletter March 2021 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Mar 2, 2021: Newsletter February 2021 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 15, 2021: Kinesis Advantage 2 Swedish Setup This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 2, 2021: Newsletter January 2021 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jan 1, 2021: Newsletter December 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Dec 3, 2020: Newsletter November 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Nov 11, 2020: Newsletter October 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Oct 3, 2020: Newsletter September 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 13, 2020: Newsletter August 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 13, 2020: The Bullet Journal Method: Migration as Review This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 3, 2020: Newsletter July 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 27, 2020: Atomic Habits: The Two-Minute Rule This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 6, 2020: Newsletter June 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 13, 2020: Newsletter May 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 24, 2020: Creating the RLMeta poster This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 20, 2020: DRAFT: Compiling expressions to x86 machine code This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 4, 2020: Newsletter April 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 10, 2020: DRAFT: Porting RLMeta to C++ This post has not yet been imported to my new blog. In the meantime, you can read it here: http://archive.rickardlindberg.me/writing/rlmeta-cpp/.
Apr 3, 2020: Layout/Update problem in wxPython This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Apr 2, 2020: Newsletter March 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Mar 2, 2020: Newsletter February 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 3, 2020: Newsletter January 2020 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jan 11, 2020: Memoizing failures in RLMeta This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jan 5, 2020: Newsletter December 2019 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Dec 3, 2019: Newsletter November 2019 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Nov 2, 2019: Newsletter October 2019 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Oct 1, 2019: Newsletter September 2019 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 28, 2019: Segfault with custom events in wxPython This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 25, 2019: Alan Kay notes This post has not yet been imported to my new blog. In the meantime, you can read it here: http://archive.rickardlindberg.me/writing/alan-kay-notes/.
Sep 7, 2019: Parsing left associative operators using RLMeta This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 31, 2019: Doctest fails in Python 3 with wxPython This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 31, 2019: Newsletter August 2019 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 6, 2019: RLMeta: a VM based approach This post has not yet been imported to my new blog. In the meantime, you can read it here: http://archive.rickardlindberg.me/writing/rlmeta-vm/.
Jul 31, 2019: Newsletter July 2019 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 30, 2019: Newsletter June 2019 This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 28, 2019: Optimizing RLMeta This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 27, 2019: DRAFT: Parsing off-side rule languages with RLMeta This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 28, 2019: Modifying the RLMeta metacompiler This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Dec 2, 2018: A meta approach to implementing programming languages This post has not yet been imported to my new blog. In the meantime, you can read it here: http://archive.rickardlindberg.me/writing/rlmeta/.
Nov 6, 2017: A new home for Timeline This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 19, 2017: Evolution of recalling Bash history This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Mar 11, 2017: Bitten by Python generators This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 20, 2016: Tell, don't ask example This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Oct 23, 2015: Problem statements in commit messages This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 1, 2015: Timeline release statistics This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 27, 2015: Precision of datetime in Python This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 21, 2015: Analysis of Timeline emails This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Mar 28, 2015: Search and replace in Vim This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Nov 3, 2014: The danger with implicit if statements in Python This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 17, 2014: Xmodmap on Fedora This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 5, 2014: Accumulating cruft This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 4, 2014: Recognizing progress This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 3, 2014: Testing as a minimum This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 2, 2014: Small increments This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 28, 2014: Refactor before This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 27, 2014: Discoverable tests This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 26, 2014: Functional core This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 23, 2014: Editing code as text This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 22, 2014: Erlang This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 21, 2014: Naming intermediate steps This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 20, 2014: State This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 19, 2014: Testability == good design? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 18, 2014: Visualizing program flow This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 15, 2014: Clarity is hard This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 14, 2014: Exploring with doctest This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 13, 2014: Powerful software This post has not yet been imported to my new blog. In the meantime, you can read it here: …
May 12, 2014: Software writer This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 30, 2013: Latency free overdubbing in Ardour This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 5, 2013: Refactoring step in TDD This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 4, 2013: Mindmap tasks This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 3, 2013: Visualizing hierarchy and grouping This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 2, 2013: Cohesion an naming This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 1, 2013: Learning about a problem This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 30, 2013: Formatting code This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 29, 2013: One thing per commit This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 28, 2013: Atomic operations This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 27, 2013: Constant progress This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 26, 2013: Small steps This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 25, 2013: Smallest possible thing This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 24, 2013: Resistance to learning This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 23, 2013: Documenting projects This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 22, 2013: Features and bugs This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 21, 2013: Bug free code This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 20, 2013: Using tests for feedback This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 19, 2013: Duplicated code This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 18, 2013: Maintainable tests This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 17, 2013: Test coverage This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 16, 2013: Size of code This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 15, 2013: Confidence in changing code This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 14, 2013: What tests to keep? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 13, 2013: Boy scout habit This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 12, 2013: Refactor with higher confidence This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 24, 2013: Related things are not kept together This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 8, 2012: How to organize your tests? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Aug 30, 2012: Learn how to implement languages This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 22, 2012: Good bad programmer This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jul 11, 2012: A refactoring story This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 23, 2012: Data structures in OOP This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jun 17, 2012: A beautiful Brainfuck implementation This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Mar 3, 2012: Closing the feedback loop This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 25, 2012: Setup and teardown in HUnit This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 11, 2012: Hello world in Haskell and GTK This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Feb 5, 2012: Writing a real application in Haskell This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jan 23, 2012: Organizing information on a wiki This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Jan 11, 2012: Introducing a series about the development of an application This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Nov 2, 2011: Does TDD have less advantage in Haskell? This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Oct 10, 2011: Learning Haskell This post has not yet been imported to my new blog. In the meantime, you can read it here: …
Sep 28, 2011: Testing configuration This post has not yet been imported to my new blog. In the meantime, you can read it here: …