Bookmarked Coding on Copilot: 2023 Data Suggests Downward Pressure on Code Quality by William Harding and Matthew Kloster

Gitclear takes a look at how the use of Copilot is impact coding projects on GitHub. They signal several trends that impact the overall code quality negatively. Churn is increasing (though by the looks of it, that trend started earlier), meaning the amount of code very quickly being corrected or discarded is rising. And more code is being added to projects, rather than updated or (re)moved, indicating a trend towards bloat (my words). The latter is mentioned in the report I downloaded as worsening the asymmetry between writing/generating code and time needed for reading/reviewing it. This increases downward quality pressure on repositories. I use GitHub Copilot myself, and like Github itself reports it helps me generate code much faster. My use case however is personal tools, not a professional coding practice. Given my relatively unskilled starting point CoPilot makes a big difference between not having and having such personal tools. In a professional setting more code however does not equate better code. The report upon first skim highlights where benefits of Copilot clash with desired qualities of code production, quality and team work in professional settings.
Via Karl Voit

To investigate, GitClear collected 153 million changed lines of code,
authored between January 2020 and December 2023….. We find disconcerting trends for maintainability. Code churn — the
percentage of lines that are reverted or updated less than two weeks after
being authored — is projected to double in 2024 compared to its 2021,
pre-AI baseline. We further find that the percentage of “added code” and
“copy/pasted code” is increasing in proportion to “updated,” “deleted,” and
“moved” code.

Gitclear report

Bookmarked The Two Definitions of Zettelkasten by Chris Aldrich

This is a great essay by Chris Aldrich for several reasons. Because it aims to address the absence in the current hypelet around recent personal knowledge management tools and note systems like Zettelkasten of the realisation that everything in this space has a deep rooted lineage. In response he writes about the history of commonplacing, using card collection for creative, academic or professional output. Because the essay itself is the result of the very practice it describes. In the past months I’ve been reading along with Chris’ annotations (the value of which led me to share more of my own annotations too), and reading his essay I can readily recognise things from that stream of raw material. The notes Chris made from those annotations in turn resulted in this essay. Seven thousands words in a half-day effort.

Note to self: I should create an overview for myself and here about my note taking practice through the years and their inspiration. Just to further illustrate the history Chris writes about.

Hopefully those in the space will look more closely at the well-worn cow paths of analog history in deciding how to pave our (digital) futures. [….] The hiding value proposition of the older methods can be contrasted with the incessant drumbeat of the value and productivity inherently “promised” by those describing [only] Niklas Luhmann’s system.

Chris Aldrich

Al in maart had ik in Utrecht een leuk gesprek met Martijn Aslander en Lykle de Vries als onderdeel van hun podcast-serie Digitale Fitheid. Digitale Fitheid is een platform over, ja precies dat, de digitale fitheid voor de kenniswerker.

In het gesprek hadden we het over persoonlijk kennismanagement (pkm) en de lange historie daarvan, en de omgang met digitale gereedschappen en de macht om die tools zelf vorm te geven. Maar ook over mijn werk, verantwoord datagebruik, de Europese datastrategie, Obsidian meet-ups, en ethiek. Er kwam aan het begin zelfs met veel kabaal een AWACS voorbij.

Een gesprek van een uur dat zo voorbij was. Achteraf denk je dan, heb ik wel coherente dingen gezegd? Terugluisterend nu bij publicatie, valt dat mee.

Mijn gesprek in de Digitale Fitheid podcast staat nu online. Kijk vooral ook even naar de andere gesprekken, die zijn zeker de moeite waard.

I’ve read something, so then what?

How and when do I turn what I read into notes, for learning, for retention, for use elsewhere? Having at least some system for this I found is crucial to have somewhere to go with the ideas, associations and thoughts that reading non-fiction creates. I know this because how the absence of a system to take note of my reading feels. For an extended time at some point I did not read any non-fiction simply because I had nowhere to go with the material I learned about, no application, no outlet, and the ideas plus the urge to do something with them kept swirling around in my head creating noisy chaos and frustration.

Having some system is key therefore. What I describe below is my current incarnation of a system, it shifts over time, tools come and go, and therefore it is a snapshot. At the same time my general information strategies and personal knowledge management haven’t fundamentally changed in 20 years. The source of any continuity or consistency is me, not my tools. That said, none of what follows is very strict, it is meant to be forgiving. The source of inconsistency is also me, not my tooling. Not much of it is blind routine. Yet it is way more than doing nothing. My notes create a ratcheting effect, not allowing movement backwards, which is very valuable to me.

Inputs to outputs and the role of friction

Previously I described the flows of various reading inputs to my main tool in working with notes, Obsidian (my entire Obsidian set-up I described in Oct 2000), and the few outputs that flow from them. The image below gives an overview (click for larger version).

The specific steps and tools mentioned in the image are of less importance here. Key is the locus and role of friction in the depicted flows. There is friction in getting material, both source texts and my annotations for them, into my note making tool. This friction I seek to reduce, making it easier to get material to the place where I can work with it. Similarly I’ve reduced friction in getting outputs into the world (my blog, client websites, book lists for instance). Where I don’t seek to reduce friction is in working with notes (expect perhaps for functionality like search), because there friction is the actual work, where the thinking, rewriting, rearranging etc is happening. There is no way around friction there, because it is how I add value to my notes, how I learn and remember things.

The rest of this posting focuses mostly on what happens in the middle section, where the work is, between the inputs and outputs: what do I do there with annotations from what I read?

Web articles via browser

I use a markdown clipper in my browser to save web articles directly as markdown in a folder NewClippings that is part of my notes vault in Obsidian. Usually these come from my feedreading (over 400 individual blogs) or clicking links in those blogs. Saving is not a postponement and promise to self to ‘read later’ which never happens. It is the result of a curation decision, an intentional step, after skimming the web article. I skim looking for suprisal, and I jot down specific reasons for saving it with the web article. This way my future self will know why I was interested in the article originally. Those reasons may be a novel insight in the article, associations I make with other notes I have etc.

Two examples:

Reason: good overview of AI algo’s not doing what we think they’re doing. Types of mistakes made in training models. Rich source of examples. Compare to note [[Relevance of ethics for machine learning 20201219142147]].

Reason: Steps by Chinese gov against BATX’s ANT group. I see this in light of geopolitical positioning w.r.t. digital and data (compare to [[Data is a geopolitical factor 20180419080356]] and to [[Euproposition]]). Also see notes in [[Logic Magazine 7 China]]. Read for notes, not notions. Is there a usable contrast with the EU’s proposition?

I currently have some 825 clippings, of which about 150 are my own old blogposts recycling my earlier writings that way. I do not intend to always process them into other more permanent notes, I don’t treat it as an inbox. It is a repository in its own right, that I can search for additional material. I do pick out clipped webpages for processing, if that is logical from what I’m doing at some point in time.
Whenever I do process an article, it means deleting everything that I don’t think is interesting from my point of view, and summarising and paraphrasing the points I do find interesting. At the top, where the original reason for saving an article is, I keep track of the status of that process. The reworked article remains in the same folder as the other saved articles during this process. If I lift specific notes or notions from the article that can stand on their own, those will link to the original web article by url as source, and end up in one of three notes folders (one for conceptual notes, one for actionable ideas, one for more factual notes and examples) where they are woven into the wider collection by linking. Where that lifting is done I delete the original article from the clippings folder.

Scientific Articles and PDFs via Zotero

I use Zotero to keep a library of scientific articles and other PDFs (e.g. European Commission legal documentation). My motivation for saving them is stored as remark with the material in Zotero. When I save something I usually mention it in my Day logs in my notes, so that I can stumble across it again for processing.
I read those PDFs and highlight and comment in the PDF itself.
Until last week’s Zotero update I could easily grab those highlights and notes using a plugin and save them in markdown into my Obsidian notes vault. The update broke the plugin, so that flow is temporarily out of order. Any highlights and annotations in such a markdown file have a link to the corresponding location in the PDF in Zotero, meaning I can directly jump to the source.

Then, like with web articles I summarise, paraphrase and connect to other notes in steps. Notes/notions that stand on their own, contain the links to Zotero sources. I write, link and fill those stand alone notes from within the annotations first. Once I’ve taken out all I want from an article I delete the annotations note, because all created individual notes link to their source in Zotero. Currently some 10% of learning related notes link to a source in Zotero, after two years of using Zotero.

Books via Kindle

I don’t nearly read the amount of non-fiction I’d like. So none of this is ‘routine’ but it is what has emerged so far as workflow.

When I start reading a non-fiction book, I create a note that serves as the place for thinking and processing what I read. I prefill that note with a template that contains some datafields for my book lists and provide a structure of questions to explore the book before reading. What do I think it is about, what seems the author’s purpose with this book, why am I interested in reading it, what kind of surprisal am I after? What do the different chapters discuss, which ones seem most interesting to me and why? This all before I start reading parts of the book.

While I’m reading I follow two ways of making notes:

  • I make notes alongside reading the book, and put them in the note I created for the book. These are descriptions and summaries of key ideas, but also associations and links to other things, questions that arise while reading. Basically my half of being in dialogue with the book. This is what I’ve done exlusively until recently.
  • Recently I started using the Kindle sync plugin for Obsidian, which grabs all my Kindle highlights and annotations and puts them in a markdown note in my Obsidian vault, including links to the right paragraph in the book. I link that note with annotations to the note I made about the book. I never was a big highlighter / annotator in my e-books because of the difficulty of doing anything with it, but thanks to this plugin removing the barriers I started annotating and highlighting much more intensively.

In the book note that I created before reading I then work through the things I highlighted and annotated. Thinking about connections, contrasts etc, and linking to existing notes accordingly. It is also where I start paraphrasing and writing snippets that can become notes in their own right. The book note is the jumping off point for it. When I’m done with a book, the book note will have the links to the notes it brought forth, and the material that I didn’t in the end use for new notes. I keep the book note, and I keep the note with the highlights and annotations (it would resync from Kindle anyway), so I can always trace a note back to the book note and the location in the book itself.

Handwritten notes

I write some reading notes by hand on my BOOX Nova 2 e-ink device, as well as hand written marginalia, but I don’t have an easy flow bringing those to my notes in Obsidian yet. They are stored as PDFs on my e-ink device, and I need to bring them manually into Zotero, from which there then is a working flow to my notes.
This friction on the input side hinders regular use.

Over the years I’ve filled many note books by hand, not just with reading notes, but also annotations of talks, conversations and any other things I jotted down. Recent notes from the past day(s) I usually go through as needed and transcribe into my digital notes. I add them to my Day Log notes, which then can be a jumping off point to create additional individual notes.
Older notebooks, I have in the past scanned a lot of the key material, and have more recently scanned a few note books entirely. In my digital notes I have created an index file for each scanned notebook, where next to a link to each scanned page there’s a brief description of the content, and perhaps a link to relevant other material. That makes it possible to stumble across those notes in search.

Invitation to share

This post describes how I currently make notes from things that I read or wrote. It is a transcription and adaptation of a presentation I gave on April 3rd to the Micro.blog Readers Republic (video), an informal group of book readers around the world meeting every month for conversation. The question of note taking and learning came up as ‘So you’ve read a book, and then what?’ and a few of us volunteered to show what we do. I’m always interested in how other people organise their work, and I think that requires I also share how I work.

Essentially, this description of how I digest my reading is an invitation to you to write up your modes of working too.

Bookmarked Best Case Contrarians by Robin Hanson

Interesting line of thought about when contriarianism makes sense. I wonder about a connection to counter factual thought experiments as a sorting mechanism for such positions, and about probes and experiments to explore contrarian positions in practice, where the cost of experimentation is low, but the results help see if the contrarian position has merit.

Consider opinions distributed over a continuous parameter, like the chance of rain tomorrow. Averaging over many topics, accuracy is highest at the median, and falls away for other percentile ranks. This is bad news for contrarians, who sit at extreme percentile ranks. If you want to think you are right as a contrarian, you have to think your case is an exception to this overall pattern, due to some unusual feature of you or your situation.

Yet I am often tempted to hold contrarian opinions. In this post I want to describe the best case for being a contrarian.

Robin Hanson

Readwise since last September is testing a reader app in closed beta, and their description and rationale looks very promising. They point to how different inputs (RSS reader, Tweets, PDFs, newsletters, e-books) for reading really shouldn’t need completely separate work flows, and that highlighting, annotating and saving it into your own note making flow is key. They describe how they started looking at reading, by looking what comes after such reading. That sounds good, as it means looking at the thing readers are actually trying to do, for which reading is a means.
They also point to how e-books still haven’t built in any of the affordances digital text can provide, and wanting to address that. Also promising and important: they are not aiming for a social app, but for a local first tool for an individual reader.

I added myself to their waitinglist for when the public beta launches. When I did, I also was asked to take a brief survey about my current information strategies, app use (they asked about Obsidian e.g.), and needs. When they asked about sharing from the reader, I mentioned IndieWeb Micropub, and configurable responses.

I’ve never been a Readwise user, because of their silo’d cloud first approach until now, but I’m going to take a look at their new app when it becomes available. They’ve set my expectations high 😀