That's a wonderful question, sorry it took me over a week to notice it and reply.
A lot of the practical debugging happens with debugging tools on the computer but every now and then I run into issues where it's not obvious why something is acting up. Usually in these cases, there's a conceptual issue, maybe a misunderstanding or an assumption that took me the wrong way.
In those cases, I like to start by writing down my understanding and assumptions of the situation: what is the problem, how does it happen (do I really know how to replicate it), what should be happening.
The act of writing it down (which I call a brain dump) helps me organise my thoughts and often that helps me notice the gaps in my knowledge or understanding which activates my brain to think about the missing bits which often leads to revelations.
One time, when I had just started on a legacy project and was struggling to understand how things worked and where the bug was, I printed out many many pages of the code, booked a meeting room for the day, taped the code printouts to the walls of the meeting room and started drawing and annotating.
It helped me see patterns from a birdseye view of the code and see how things related to each other and I eventually found multiple issues that I was able to fix more efficiently at once because I had taken that viewpoint instead of just trying to fix one class or function at a time.
> using a notebook is antiquated and we have better tools.
So far, I haven't found tools that beat pen and paper as tools for thinking _for me_.
I still do write a lot of digital notes too but I find that the flexibility of pen and paper — not to mention never having to worry about running out of battery compared to tablets or similar — crucial benefit.
Digital tools might result in better outputs but that's not what my notes are for. I prioritise minimising the friction that's between my thoughts and getting them on paper. On digital, I'm either limited by structure (f.ex. a Markdown file is limited by text being forced into lines) or having to change between tools when I want to jot down something in different format (text, circles, rectangles, arrows, whatever). It's a very small amount of work to switch between them but it cuts my thought because I need to think about the tools.
Pen and paper is the most direct connection my brain I've found.
Exactly! So happy to read you managed to pick up the core gist of the story.
It's important to find the tools that work best for YOU.
I partially wanted to write this because I've often felt as an outsider in tech teams where everyone sits at a computer 7.5 hours every day and I'm the one thinking better when I'm away from the screen and keyboard. So I wanted to offer an example to those who are like me and also feel like they might not belong.
I used computers for a lot longer than 7.5 hours a day. Doubly so since I got a home desktop with a tablet display and 3 other screens. I find that the reason why productivity in offices is so low is that:
1). The available screen real estate for doing work is tiny.
2). The tools people use have happy paths that force you to work a specific way.
3). Deep thinking is impossible with interruptions.
As an example of a tool which works best on computers, I've finally recreated the literate environment I used at a previous job on my own time and from scratch: https://olive-alayne-28.tiiny.site/
I can now work happily with Emacs in an environment that supports deep thinking about code instead of fighting with it every step of the way.
If you're interested [1] and [3] from that paper are great introductions to literate programming and noweb + emacs + synctex is by far the most pleasant IDE I've ever used.
I also can't rave enough about how well pen tablets work with xournalpp these days. I can take notes on top of multi-thousand page printouts of code bases and rearrange, doodle, remix, and add new pages wherever I feel like. Even five years ago there was no tool that would let you do that without the threat of a major crash is you wrote too fast.
I don't often do very complex software plans like that. My working notes are often on a smaller scale like individual features or so. If we need to document the full architecture for the project, I'm happy to do that with digital tools.
But while I'm planning parts of it or designing it, I do better with pen and paper. My main issue with many of the digital tools I've tried comes down to the added friction if I need to switch to a different tool in the app when I switch between circles and rectangles and text and the fact that I find free-hand drawing with mouse really difficult.
> OTOH if the plan is very simple and obvious, and can be drawn out in one go, it doesn't really need a diagram in the first place, so I skip spending time drawing the obvious stuff.
I think there's a middle ground where it might be easy to draw on one go but deciding what to draw and how things work together and what's needed requires iterations and for that, thinking through drawing and writing helps me a ton.
I guess there's many cases where you don't really know how complicated or simple the solution will end up to be, and start drawing it while thinking about it.. I must admit that those are usually the most interesting parts of the work.
I do almost no organising of my paper notes. The only thing I do is that I add a date to the corner of the first page of when I start making a specific note and I keep index pages where I list page/note titles (or topics, themes, not everything have a title) and a page number.
I often browse my notes even when I'm not looking for anything. I read what I've been thinking previously because that often sparks new ideas and thoughts.
One thing where I find pen and paper superior to digital is that it's easy to write in the margins, draw arrows and annotate. When I got my first iPad and tested out digital notebook tools (with stylus), I was excited about the idea that I can resize and move my existing drawings around.
Then it took me a few days to notice that I don't really ever need that. I don't need my "finished" notes to look tidy or good. I got over the need to have organised and structured notebooks and embraced the chaos.
I guess it's different things for different people. For me, the flexibility of paper is superior to any digital solution because it has the shortest "input lag" or "feedback loop" to my brain. I'm happy to sacrifice other potential benefits for that.
Only to an extent. I write fast enough with pen and paper that my thinking is the bottleneck — which isn't really that fast. I don't need to write down everything I think so it also acts as a filter and processor of those thoughts.
> insanely slow to search what you've written
Compared to digital notes system, sure. But the way I use my notes, I don't usually need a full-text search to find stuff. I remember what I've been working on, I often browse through my notebooks to revisit ideas and most often these notebook notes are kind of a "working copy" where the search relevance is often just for the feature so it only needs to be fast to search for a few days or weeks.
I also do copy many of my notes down in digital format too when there's something worth capturing for long term storage for the sake of searching for example.
> almost impossible to copy or share
100%. Sharing is not a consideration for me, these are my raw pure thoughts and explorations, they don't often make much sense to other people as-is. Sometimes I may take a photo of a UI sketch or something to share if needed but otherwise when I have something to share, I write it based on my notes rather than sharing my notes as they are.
Searching through a physical notebook does take a few moments, but the upside is all of that context you get to drink in during the search.
I typically get through a couple of B5 pages a day, so homing in on the thing I want to look at is a matter of opening the notebook to roughly the right fortnight and then flicking through up to a dozen pages in either direction. A tenth of a second per page is enough to scan for major events - what projects was I working on at the time? Were there any major interruptions to my flow, or changes in direction?
And then, once I've found the right day, seeing the detail of everything I was doing at the time triggers a flood of memories - I remember all of the conversations, decisions, problems, and ideas that were current at the time of the entry in question.
I've tried a number of digital notetaking systems, but none has been able to give me so much context so quickly as a paper notebook.
OP here. Last time my blog caught attention in HN, I was told I'm "living in a fantasy" and this time it's "pure romanticism".
The tools you shared are of course important and I enjoy having them a lot. Wouldn't want to work as a developer without version control or debuggers, for sure. Those are tools that if I lost them, it surely would slow me down and be annoying.
I do truly consider notebook more important to me than those. Writing and running code is the tool to get things done but software development to me is more importantly building something valuable that solves problems or makes life easier. And to that, code is often somewhat trivial implementation detail — it's much more important to figure out what to build and how.
Some people are good at thinking when they are in a code editor or other digital tools. My brain goes into detail implementation mode and it's hard for me to see the big picture when I'm writing in code editor and building functionality.
For me, it's crucial part of my job to take my notebook and use it as a tool for thinking before (and during!) coding. While losing access to the other tools would definitely slow me down, not being able to think through writing with pen and paper would cripple my thinking, my problem solving ability, my creativity and thus cause me writing bad software.
> Those are tools that if I lost them, it surely would slow me down and be annoying.
Yes, but the post above is pointing out that you would be significantly slower without an IDE, compiler or debugger than you would be without a pen/paper.
In fact, I don't think you would be a professional programmer if you didn't have them.
Saying you like a notebook and pen while designing and writing software is very different than saying a notebook and pen are more important than an IDE, compiler, or debugger.
> significantly slower without an IDE, compiler or debugger … In fact, I don't think you would be a professional programmer if you didn't have them.
This is a strange take. Programmers were around before any of those tools were. And today, even many professional programmers do their work without using any of them: they use text editors, they write interpreted languages, and they use printf()-debugging or other techniques.
They are examples, the exactness is not what is important here. Choosing something that is not connected to electricity, an OS, or the internet to be a software developer's _most important_ tool is, in fact, the strange position here.
Choosing something that is not connected to electricity, an OS, or the internet to be a software developer's _most important_ tool is, in fact, the strange position here.
Like a human brain? I'd say that is the programmer's most important tool, and it is not connected to electricity, an OS, or the internet.
Hmm, but doesn't the brain run on electricity? And why couldn't it possibly have something like an OS? I don't think we know exactly how the brain works
That's where the heavy pruning comes in. If there's too much coming in, it's important to get rid of the ones that are less important or most often skipped.
For me, the serendipity comes through discoveries inside the blog posts: people linking to other interesting blogs.
For me, RSS is the solution to FOMO because I don't need to worry about missing new posts because some algorithm decided not to show them to me or because I didn't happen to see them during the short window they were visible in other feeds.
> it unavoidably leads to content that is created purposely to game that algorithm, which ultimately corrupts the user experience.
This is the functionality that really drove me away from social platforms, other than Mastodon. I prefer human curation over automatic recommendations for a couple of reasons:
1) Human curation creates less suggestions which makes it more manageable to go through
2) If I trust the source of the recommendation and know what they like, I can adjust my trust in the recommendation itself
3) A friend telling me something they enjoy is not motivated by money
That's a wonderful question, sorry it took me over a week to notice it and reply.
A lot of the practical debugging happens with debugging tools on the computer but every now and then I run into issues where it's not obvious why something is acting up. Usually in these cases, there's a conceptual issue, maybe a misunderstanding or an assumption that took me the wrong way.
In those cases, I like to start by writing down my understanding and assumptions of the situation: what is the problem, how does it happen (do I really know how to replicate it), what should be happening.
The act of writing it down (which I call a brain dump) helps me organise my thoughts and often that helps me notice the gaps in my knowledge or understanding which activates my brain to think about the missing bits which often leads to revelations.