Since New Year’s day a slow drip of many documents concerning the work of Cambridge Analytica across 68 countries is giving insights in how the combination of consumer tracking and targeted adverts is being used to influence democratic decisions. Not just within a country, but across multiple countries and simultaneously (meaning foreign interests presented as domestic opinions of the electorate in multiple countries). It’s not entirely surprising, these are age old instruments of propaganda, provocation etc, being redeployed in the digital age, which allows an entirely new level of scale and granularity that makes it a much more malicious beast. It’s shocking on two levels. First, it shows there’s a strong need to make radically transparent to people where material they get served in the silos is coming from, why it is being showed to them, whether it’s part of a/b testing or not, and who is paying/taking influence on each item presented to them. Second, even if there should be no effect at all of these type of campaigns (which seems to crop up as a defence here and there), it is revealing that office-seeking clients and political operatives buy into the cynical premise of the entire concept. Which alone should disqualify them from being elected. The clients need to be held more to account, than the service provider, regardless of any illegality on the side of CA.

The HindSightFiles twitter account is releasing a steady stream of Cambridge Analytica files during the first few months of 2020, leaked by former CA employee Brittany Kaiser. Part of these documents were used earlier in the US Mueller investigation into 2016 election influencing by Russia, and released to the UK Parliament after the initial CA scandal broke.

In april 2020 start er een zeer goed uitziend programma voor onderzoeksjournalisten, ‘Data als kans’ genaamd. Vijf modules van april tot en met juni, verzorgd door Beeld en Geluid, Bellingcat en LocalFocus. Bellingcat is o.a. bekend van hun onderzoeken op basis van publiek beschikbaar (foto)materiaal naar MH17, ISIS en nog veel meer.

Ik hoor niet bij de doelgroep, maar anders zou ik me hier zo voor aanmelden.
Voor iedere journalist is dit echter een aanrader en kans lijkt me.

Doen dus. Want ik wil veel minder nieuws, en veel meer journalistiek.

Found via Peter Rukavina. This guide contains a lot of interesting nuggets that apply to my company too. There are some longstanding differences in preference in our team about real time communications and remote working. Me with a strong preference for remote and asynchronous as default. This guide may serve well for further internal conversations.

Bookmarked Guide to Internal Communication, the Basecamp Way

Based on my conversation with Boris Mann about Fission, and visiting a Decentralised Web Meetup in Amsterdam because his Fission co-founder Brooklyn Zelenka, I started exploring the technology they work with and are building. First step was getting access to and understanding the ideas behind IPFS.

What makes IPFS interesting

The IPFS about file (if you click that link, you’re visiting a file on IPFS from your browser) says a variety of things, but a few elements are key imo.

First, it is a peer to peer system, much like we’ve seen many before. When you download a file to your system it will come in bits and pieces from multiple other computers, somewhere in the network, who have that file available. Whatever is the easiest way to get that file to you, is the way followed.

Second there is a key difference in how file addresses work in IPFS, compared to the web or on your local drive. We are used to files having names, and addresses being a representation of the location of that file. The URL for this blog points to a specific server, where in a specific folder, a specific filename resides. That file returns the content. Similarly the address for a file on my drive is based on the folder structure and the name of the file. IPFS addresses files based on their content, and does so with a hash (a cryptographic representation of the content of a file).
Naming things based on a hash of its contents means that if the content of a file changes, the name will change too. For every file the content will match what it says on the tin, and versioning is built in.

Combine that with a peer to peer system, and you have a way of addressing things globally without being tied to location. You also have a way to ensure that whatever you find in a given file is exactly what was originally in the file. https://mydomain.com/catpicture.html may have had a cat picture at the start that later got replaced by malware, but you wouldn’t know. With earlier p2p systems to exchange files like Napster of Bittorrent you always had to be careful about what it was you actually downloaded. Because the content might be very different from what the name suggested. With IPFS those issues are done away with.

Currently (location based) addressing on the web is centralised (through domain registration and DNS), and decoupling addresses from locations like IPFS does allows decentralisation. This decentralisation is important to me, as it helps build agency and make that agency resilient, as decentralisation is much closer to local first principles.

Getting IPFS set-up on my laptop

Boris was helpful in pointing the way for me how to set-up IPFS (and Fission). There is a IPFS desk top client, which makes it very easy to do. I installed that and then you have a basic browser that shows you which of your own files you are sharing, and which ones you are re-sharing. It also when you are looking at a file shows where it comes from.

I uploaded a PDF as a hello world message. In the screenshot above the Qm…… series of characters you see underneath the local file name helloworld.pdf is the hash that is used to identify the file across the IPFS network. If you ‘pin’ a file (or folder), you prevent it from being deleted from your cache, and it stays available to the wider network with that Qm…. string as address. Which also means a drawback of hashed-content addressing is non-human readable addresses, but they’re usually intended for machines anyway (and otherwise, there’s a use case for QR codes here maybe)

With IPFS set-up, I started playing with Fission. Fission builds on IPFS, to allow you to deploy apps or websites directly from your laptop. (“build and go live while on a plane without wifi”). It’s meant as tooling for developers, in other words not me, but I was curious to better understand what it does. More in a next post.

Earlier this week I wrote how European IPv4 addresses have now all been allocated. The IPv6 address space is extremely bigger than IPv4 is. IPv4 has 2^32 possible addresses, as they have a length of 32 bits. IPv6 is 128 bits long, allowing 2^128 addresses.

We have an IPv6 address with our fiber to the home connection (currently 500Mbit symmetrical, which is actually a step down from the 1Gbit symmetrical we had before). I asked our provider what type of address allocation they use for IPv6. They allocate a (currently recommended) /48 block to us. A /48 IPv6 block contains 2^(128−48) = 2^80 addresses. The total IPv4 address space is 2^32 addresses. So we actually have an available address space at home that is 2^16 (65.536) times larger than the square of the total number of IPv4 addresses (2^16*2^32*2^32=2^80). These are mind bogglingly large numbers.

It’s rather pleasing to see that ‘link rot’ and dead connections have been part of the internet ever since the start. As shown in RFC-315 reporting on a week’s worth of server status reports in February 1972, as read by Darius Kazemi. Of course the underlying notion of the internet as distributed system is that if a node fails, the rest can continue to work. This was fundamental to ARPANET. What’s pleasing to me is the fact that such robustness was needed from the start, that over half of servers could be ‘dead’ and the network still be seen to exist. That intermittence was not just a theoretical requirement but an every day aspect in practice. Intermittence has been on my mind a lot in the past few weeks.