4th July 2019
I have for the last few yeas had a online privacy approach in the style of “Do not put all eggs in the same basket” or exemplified in the style of “If I use Google for email I won’t use it for browsing the web”.
Now after a few years of empirical learning I have decided to change this approach. It’s clear that the owner of “my” online data (the irony) is seldom static nor does it keep the data within its own walls.
My new approach is to create as little online data as possible. Below are some actual examples of things that has lead me towards this decision.
- Recruiting firms aggregating online data about me. Although I’m not a software developer by profession I get a lot of spam from recruiting firms. I have found that these firms often has aggregated public information about me from sources such as Github and Twitter.
- Recently I discovered that two sites my employer (a government agency) hosts had been relaying on a third party service that fingerprinted our users for years and sold the data.
- Opera going from being a Oslo based company to being bought a random Chinese company. As an user I was never informed that “my” data changed owner.
There are probably plenty of cases were these types of issues have been combined and exposed information about me to third parties unknown to me.
What I’m doing to limit online data about me
- Switching from Opera to Firefox while applying extensions such as uBlock Origin. Although Firefox do not have all the nice features that Opera has (tab preview, popup video and a built in RSS reader) it should be a quite effortless switch.
- I will be creating a online presence inventory. A list of sites that I know have some non-anonymous data about me such as a user account because the first step towards action is awareness. This first step is not much of an effort but once I start to delete accounts and other information it will likely take up plenty of time.
- I will host my own DNS server and apply a whitelist. I will block every single domain that I have not looked into myself. This will break the web for me and take quite some effort to get right but it will be worth it.
- I will intercept common CDN services with one hosted on my own network. This should be a rather easy task and I’m sure there are some good solutions out there already in use.
One might see me as paranoid or a privacy geek but these actions comes from actual concerns and real world examples.
9th February 2019
I created one of those “awesome lists” for K-samsök resources, I have personally found awesome lists useful when starting with something new our just needs to investigate useful components a hobby project. Therefor I decided that it might help someone else to have one list for all the best K-samsök projects and resources so that people might get started quicker with one of Europe’s largest Linked Open Data platforms for heritage data.
The list is on Github and licensed under CC0.
25th January 2019
I sometimes write code to learn things not at all related to code or technical concepts. It can be an implementation of a concept in math or even a
Resting Metabolic Rate calculator. I used this technique quite a lot back when I was in school.
Below I’m providing an example I found while looking through old hard drives during the holidays. It’s Python implementation of the basics of complex numbers. The implementation itself is useless as these features are already built into the Python standard library itself but at the time things like this helped me grasp concepts quickly.
19th December 2018
Implementation of Polar and Cartesian coordinates and conversion between them.
These features exists within the Python standard library, this was meant
for educational purposes.
def __init__(self, real, imaginary, polar = False):
distance = real
angle = imaginary
self.real = distance * math.cos(math.radians(angle))
self.imaginary = distance * math.sin(math.radians(angle))
self.real = real
self.imaginary = imaginary
return math.sqrt((self.real ** 2) + (self.imaginary ** 2))
multiplier = 1
if (self.real < 0):
# Quadrant 2 or 3
multiplier = 180
elif (self.real >= 0 and self.imaginary < 0):
# Quadrant 4
multiplier = 360
return math.degrees(math.atan(self.imaginary / self.real)) * multiplier
Click the link or type runes.rocks into your web browser and you will be directed to a random article about a rune inscription or runestone.
I love small ideas and experiments. They are cheap they scale from a few hours to a few moths. An example I’m often refer to is Kyrksok.se a site we build a few years ago in less then two days.
However runes.rocks and the Swedish version runor.rocks sets a new record. It took me five minutes to buy the domain names and everything up thanks to existing tools.
I bought domain names and pointed the redirect URL to Magnus Manske’s Random article tool and waited for the name servers to update. Done.
Landerydsstenen CC-BY Bengt A Lundberg / Riksantikvarieämbetet