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

I have a working proof of concept to take individual book notes from Obsidian, turn them into an OPML list of books, and publish them on this webserver. As I had time off these past days I’ve allowed myself to do some code tinkering, resulting in the set-up shown in the image below.

A sketch of my set-up, made in Excalidraw within Obsidian. The blue items now exist, the grey items are still to be done.

The workflow is now as follows:

  • Within Obsidian I have made a template for book notes, which has a number of inline data fields (shaped ‘field:: value’). These fields contain the same attributes that I use in my OPML files, using the data structure I made earlier. It also contains one additional field, the booklist it is part of.
  • When I first create a new book note I use the template and fill out the inline data fields. If it changes status (to read, reading, read) I update the attributes if needed. Next to those data fields it can contain anything else (e.g. my Kindle hihglights and remarks end up in those book notes too.)
  • I can create lists of books in Obsidian using the Dataview plugin, which can find and interpret the inline data fields.
  • I can run a PHP script, on my laptop, that iterates through all the files in the folder that contains my book notes. It reads the inline data fields and turns them into OPML lines with the same attributes. It saves it in the correct OPML file using the booklist field. This means that when I move a book in Obsidian from my “anti-library” to the “currently reading” list and then to the “non-fiction 2021” or “fiction 2021” list by changing that single booklist data field, that will get reflected in the OPML as well. The OPML files are saved in a folder, and both human and machine readable.
  • I have a second PHP script that also runs locally on my laptop, that iterates through the files in the folder. For each of the .opml files it finds that have changed in the past week, it will get the filename and the file content. It then sends those two data fields (and an access code) to a script on my web server as POST form data.
  • The script on my web server accepts POST form data and if the access code is ok, will save the submitted file content using the submitted file name. After that the OPML files on my webserver have the same content as my Dataview overviews within Obsidian, and are fully based on the inline data fields in my individual book notes.

I’ve tested this flow and it works correctly. There’s one important improvement to still make. It currently goes through all my book notes and creates all opml files anew. I want to change that to start from the recently changed book notes and then generate the corresponding opml files. For now it is fast enough locally to not be an issue though that it iterates through the entire folder of book notes.
A second step to take is an addition: to render the same information as JSON files. Dave Winer’s OPMLpackage is likely useful here. Early on there was some discussion on which format to use, and I don’t see a need to choose. I’ve created it using my preference, but the same information can be formatted differently in parallel if it aids usage and federation.
To fully automate this, I still need to set a cron job that calls the first and second local script in turn, every other week or so.

Now that it all works, I will need to see how it goes in practice when I pick a new book, or finish one.
I also need to clean up the code (removing the tests I added in various steps) and translate some of the comments in English. Then I can share I’ve shared the scripts on GitHub, so others can use it for inspiration.

Future steps may include generating book postings in my blog here, directly based on Obsidian notes as well.

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 😀

Bookmarked Basic startpage guide (by

I read this one early morning this week and it made me realise I had overlooked something extremely obvious: I can have my browser start page be anything I want. I have an extremely deep dislike for any start page browsers come with. The paid listing of sponsored ‘handy’ links that aren’t, the overview of most visited sites which only puts your time sinks in front of you every time you open a browser window or tab. So all browsers I use have blank start pages. How can it be I overlooked for so long the obvious next step: define my own start page with links to things that are part of my everyday workflow. I always run a local webserver / mysql / php stack on my laptop, on which I run a variety of small tools that live in my bookmark list in my browser. I should put them in the start page. For years I had a local wiki page that did just that, but when I stopped using the wiki, I did away with the start page. Thanks to John Johnston for having this appear in my feed reader. I have now set it to a page that I use daily (providing stats on my notes), but will switch that to an overview of all small tools on my local webserver.

A startpage is the first thing you should see when you open your browser or create a new tab. … Creating your own startpage has several advantages … over using conventional homepages.

Bookmarked Thoughtware by Paul Bricman

Paul Bricman’s ‘thoughtware’ tool Lexiscore, a nutritional label for food for thought, was mentioned in the Obsidian discord channel on knowledge management. His works seems of general interest to me, so I added his writings to my feed reader. I mailed him with two elements that are important in my information strategies that I don’t immediately see covered by his description. One is: In between individual subscriptions and engagement by the masses (likes, shares) to surface what others curate, there is the level of communities of practice and interest. Subscribing to multiple people within a community and doing so in many communities allows a focus on patterns in what people are talking about (what are Berlin coders ehthusiastic about these days, what’s going on in the [your fav topic here] scene in Argentina?), beyond just focusing on individual pieces of shared content. Two is that being able to see how other people differently describe (in tags e.g.) the same pieces of content that caught my attention, gives me a measure of distance to other groups unknown to me, yet with interesting overlap. They are interested in the same thing but use very different words and language to describe it, representing different view points which is valuable information (Surprise). This is how I used Delicious bookmarking when it still showed you how other people tagged the things I bookmarked as well, and who those other people were. Because tags are not just descriptors but also navigational way points.

My research is focused on extending human thinking with artificial ways of thinking. An important part of this venture is bringing to life actual tools which incorporate the artificial affordances I’m designing, and then taking them for a spin. I call this family of tools thoughtware

Paul Bricman

I notice a strong and persistent reluctance with Dutch civil servants to use the word citizen. Apparantly because the Dutch word ‘burger’ carries overtones of ‘kleinburgerlijk’, petty bourgeois, of bourgeoisie, and of the general disdain university students voice for ‘burgers’ (with ‘burger’ being bandied about as an insult amongst them, which gained national usage through the 1990’s Jiskefet satirical tv program). Many civil servants said to me they think the word citizen is ‘old fashioned’.

I find this not only an oddity, but also detrimental to public governance and potentially dangerous.
Not using the word citizen obscures how in the relationship to government citizens have basic human rights, specific constitutional rights, and some duties. A citizen has autonomy and a certain power vis-a-vis the government.
Not using the word citizen, easily obscures that power and those rights to civil servants.

I hear civil servants talk about

  • ‘customers’, usually in the context of providing public service
  • ‘clients’, often in the context of the social domain, reminiscent of how therapists talk
  • ‘inhabitants’, usually a hand-wavy acknowledgement that other people are involved, but in an abstracted, passive or even statistical way,
  • ‘users’, usually carried over from an IT related context
  • or worst case ‘residents’ as if you’re institutionalised.

In all these cases it creates either a distance to people or implies power assymmetries. It makes it easier to dehumanise people. The consequence is the creation of policies about people, but not with those people, because people are never perceived to be on equal footing. Policy gets done over people’s heads, done to them. Participatory processes are then easily reduced to a ritual, a checkbox to mark, something that is a pain and a drag without which your policy process would be so much more efficient. Clients, users and inhabitants are never equal to those who determine policies, whereas citizens would have to be met eye to eye. Acknowledging people as citizens would require curiosity about their needs, motives and actual experiences when developing policy.

Every civil servant I’ve worked with cares about good governance and public service, and individually they wouldn’t treat people as passive objects on which their policies operate, but collectively in their work context they do abstract people out of the equation. And their own choice of words contributes to that, makes it more likely to happen, I think.

In conversations with our public sector clients I always talk about citizens with emphasis. I often also introduce myself as citizen (not as consultant e.g.).

In our projects we always emphasize the need for civil servants to go outside, to check their data and documents against the reality outside, and as often as possible create conversations with real people, with citizens.

With the drive towards ‘data driven’ work, this is ever more essential. Data must be presumed to always describe only a sliver of reality, and to always do so badly on top of that. There is always a check against reality necessary when you want to start relying on data in policy decisions. Visit the places and the people represented in the data, do you recognise them? Do you have a sufficiently nuanced, detailed and rich view on an issue before making a decision? Do people’s stories validate the data, is their meaning incorporated?
Acknowledging people as citizens is also essential to being able to see and use government data publication as a policy instrument, meant to provide agency to people in the context of societal issues and as equal partners in addressing these issues.

Hight time for the public sector to use the word citizen routinely and meaningfully again.