Digital resilience

Note: this log has been started on Trump's liberation's day.

I think it is fair for a country to have leaders aiming to gain, or keep, a competitive advantage over every other.

However, I think it is dangerous for the world's stability to attempt to take other countries, or groups of people down. To be unambiguous, stopping wars, conflicts, or genocides, is not taking a country down, it is removing a small group of people which put their personal interests above the life of their people.

Let us get back to the subject at hand: on liberation day, Trump made something really clear: even if two countries are deeply interdependent, one of them can brutally cut the links, even if it is more impacting for this country.

It is not anymore a theoretical threat, which is mentioned from time to time, to suspend an access to a service, and even preventing others to help.

Note: we might also consider my own government to ban some services, or some cross-continents networks outage.

Since I have started my professional career, I was focused on computer security; it comes with a set of tools and practices such as risk assessments which is basically an exercise to ask "what if?", and look for solutions.

In a sense, it is close to Barry O'Reilly's Residuality Theory.

Note: few weeks ago, Hugo Lassiège wrote about Tech Dependency Index, which I strongly recommend to read.

I will use his ranking system.

Note: I have relied on European alternatives as a starting point for alternatives.

Let's play a bit with my current usage:

  • Gmail/Gdrive
    • Usage: Personal, Professional, FOSS communication
    • Country: US
    • Dependency score: 7
    • Impact of a short-term unreachability: cannot communicate with most of the occasional contacts I have
    • Impact of a long-term unreachability: no history of the last 15 years
    • Replacement/mitigation:
      • Status: Ongoing
      • Alternative: ProtonMail (CH) + backups
      • Current dependency score: 2
      • Planned dependency score: 1
  • Google search
    • Usage: search
    • Country: US
    • Dependency score: 3
    • Impact of a short-term unreachability: none
    • Impact of a long-term unreachability: none
    • Replacement/mitigation:
      • Status: Delayed
      • Alternative: Good, Ecosia (DE) (partial)
      • Current dependency score: 3
      • Planned dependency score: 3
  • YouTube
    • Usage: monitoring of technological developments
    • Country: US
    • Dependency score: 4
    • Impact of a short-term unreachability: none
    • Impact of a long-term unreachability: hard to catchup
    • Replacement/mitigation:
      • Status: delayed
      • Alternative: none
      • Current dependency score: 4
      • Planned dependency score: 4
  • Feedly
    • Usage: monitoring of technological developments
    • Country: US
    • Dependency score: 3
    • Impact of a short-term unreachability: none
    • Impact of a long-term unreachability: hard to catchup
    • Replacement/mitigation:
      • Status: Ongoing
      • Alternative: self-hosted (home-made)
      • Current dependency score: 3
      • Planned dependency score: 0
  • Meetup
    • Usage: organize community events
    • Country: US
    • Dependency score: 2
    • Impact of a short-term unreachability: none
    • Impact of a long-term unreachability: my communities will stop
    • Replacement/mitigation:
      • Status: Ongoing
      • Alternative: Mobilizon (FR)
      • Current dependency score: 2
      • Planned dependency score: 0
  • Slack
    • Usage: catchup with my communities
    • Country: US
    • Dependency score: 1
    • Impact of a short-term unreachability: none
    • Impact of a long-term unreachability: my communities will stop
    • Replacement/mitigation:
      • Status: none
      • Alternative: Signal (US) / Mattermost (US) (thanks Pierre)
      • Current dependency score: 1
      • Planned dependency score: 1
  • Discord
    • Usage: catchup with my communities
    • Country: US
    • Dependency score: 1
    • Impact of a short-term unreachability: none
    • Impact of a long-term unreachability: my communities will stop
    • Replacement/mitigation:
      • Status: none
      • Alternative: Signal (US)
      • Current dependency score: 1
      • Planned dependency score: 1
  • Signal
    • Usage: catchup with my communities
    • Country: US
    • Dependency score: 1
    • Impact of a short-term unreachability: none
    • Impact of a long-term unreachability: my communities will stop
    • Replacement/mitigation:
      • Status: Not planned
      • Alternative: none
      • Current dependency score: 1
      • Planned dependency score: 1
  • WhatsApp
    • Usage: catchup with my communities and some friends
    • Country: US
    • Dependency score: 1
    • Impact of a short-term unreachability: none
    • Impact of a long-term unreachability: my communities will stop
    • Replacement/mitigation:
      • Status: Delayed
      • Alternative: Signal (US)
      • Current dependency score: 1
      • Planned dependency score: 1
  • Gandi
    • Usage: manage my domains (personal branding)
    • Country: FR
    • Dependency score: 5
    • Impact of a short-term unreachability: my website won't be accessible
    • Impact of a long-term unreachability: impact of my personal brand, lack of employability
    • Replacement/mitigation:
      • Status: Not planned
      • Alternative: OVH (FR)
      • Current dependency score: 5
      • Planned dependency score: 5
  • GitHub
    • Usage: FOSS contributions, personal branding
    • Country: US
    • Dependency score: 5.5
    • Impact of a short-term unreachability: cannot contribute to most of the FOSS projects
    • Impact of a long-term unreachability: impact of my personal brand, lack of employability
    • Replacement/mitigation:
      • Status: ongoing
      • Alternative: gitea (backup) + Codeberg (DE)
      • Current dependency score: 3
      • Planned dependency score: 1
  • GitHub pages
    • Usage: personal branding
    • Country: US
    • Dependency score: 4.5
    • Impact of a short-term unreachability: my website won't be accessible
    • Impact of a long-term unreachability: impact of my personal brand, lack of employability
    • Replacement/mitigation:
      • Status: Done
      • Alternative: BunnyCDN (SI)
      • Current dependency score: 0
      • Planned dependency score: 0
  • LinkedIn
    • Usage: personal branding
    • Country: US
    • Dependency score: 3
    • Impact of a short-term unreachability: my profile won't be accessible, no more job offers
    • Impact of a long-term unreachability: impact of my personal brand, lack of employability
    • Replacement/mitigation:
      • Status: not planned
      • Alternative: none
      • Current dependency score: 3
      • Planned dependency score: 3
  • Zapier
    • Usage: personal branding
    • Country: US
    • Dependency score: 1
    • Impact of a short-term unreachability: cannot push automatically my new logs
    • Impact of a long-term unreachability: impact of my personal brand, lack of employability
    • Replacement/mitigation:
      • Status: not planned
      • Alternative: n8n (self-hosted/DE)
      • Current dependency score: 1
      • Planned dependency score: 1
  • 1password
    • Usage: password manager
    • Country: CA
    • Dependency score: 4.5
    • Impact of a short-term unreachability: cannot access to any online services (without password recovery)
    • Impact of a long-term unreachability: none
    • Replacement/mitigation:
      • Status: ongoing
      • Alternative: self-hosted vaultwarden
      • Current dependency score: 4.5
      • Planned dependency score: 0
  • Proton
    • Usage: VPN, Mail, Drive
    • Country: CH
    • Dependency score: 6
    • Impact of a short-term unreachability:
    • Impact of a long-term unreachability:
    • Replacement/mitigation:
      • Status: Not planned
      • Alternative: none
      • Current dependency score: 6
      • Planned dependency score: 6
  • pCloud
    • Usage: External backup
    • Country: CH
    • Dependency score: 2
    • Impact of a short-term unreachability: none
    • Impact of a long-term unreachability: lost of my third copy
    • Replacement/mitigation:
      • Status: Not planned
      • Alternative: none
      • Current dependency score: 2
      • Planned dependency score: 2
  • LanguageTools
    • Usage: proof reading
    • Country: PL
    • Dependency score: 1
    • Impact of a short-term unreachability: more typos
    • Impact of a long-term unreachability: more typos
    • Replacement/mitigation:
      • Status: Not planned
      • Alternative: none
      • Current dependency score: 1
      • Planned dependency score: 1
  • ChatGPT
    • Usage: random snippet generation
    • Country: US
    • Dependency score: 1
    • Impact of a short-term unreachability: I'll have to think a bit more
    • Impact of a long-term unreachability: none
    • Replacement/mitigation:
      • Status: Not planned
      • Alternative: none
      • Current dependency score: 1
      • Planned dependency score: 1
  • Nixpkgs/NixOS
    • Usage: desktop environment
    • Country: US
    • Dependency score: 4.5
    • Impact of a short-term unreachability: cannot update my machines
    • Impact of a long-term unreachability: cannot access to up-to-date softwares
    • Replacement/mitigation:
      • Status: done
      • Alternative: a gitea-based local mirror
      • Current dependency score: 3
      • Planned dependency score: 3
  • Hoogle
    • Usage: Haskell development workflow
    • Country: US
    • Dependency score: 2
    • Impact of a short-term unreachability: slow down my workflow
    • Impact of a long-term unreachability: slow down my workflow
    • Replacement/mitigation:
      • Status: planned
      • Alternative: hosting a local instance
      • Current dependency score: 2
      • Planned dependency score: 1
  • Apple (iOS)
    • Usage: communication, GPS, 2FA
    • Country: US
    • Dependency score: 5
    • Impact of a short-term unreachability: cannot access to services, contact my friends
    • Impact of a long-term unreachability: cannot access to services, contact my friends
    • Replacement/mitigation:
      • Status: delayed
      • Alternative: Android-based phone without Google services
      • Current dependency score: 5
      • Planned dependency score: 0
  • Amazon
    • Usage: Shopping
    • Country: US
    • Dependency score: 2
    • Impact of a short-term unreachability: cannot buy some items
    • Impact of a long-term unreachability: buy on multiple websites
    • Replacement/mitigation:
      • Status: done
      • Alternative: any EU-based website
      • Current dependency score: 1
      • Planned dependency score: 0

Unsurprisingly, network effect-based (GitHub, LinkedIn, Meetup, Discord, etc.) are hard to quit.

Before my migrations, I get this score:

Total: 70

  • PL: 1 => 1.4%
  • CA: 4.5 => 6.4%
  • FR: 5 => 7.1%
  • CH: 8 => 11.4%
  • US: 51.5 => 73.6%

Surprisingly, I've got the same result Hugo has.

Currently, with my ongoing migrations, I get this score:

Total: 54.5

  • PL: 1 => 1.8%
  • SI: 2.5 => 4.6%
  • CA: 4.5 => 8.3%
  • FR: 7 => 12.8%
  • CH: 8 => 14.7%
  • US: 31.5 => 61.2%

Which is a great step in few days.

My long-term plan, which should takes few months, will eventually lead me to this score:

Total: 36

  • PL: 1 => 2.8%
  • DE: 2 => 5.6%
  • SI: 2.5 => 6.9%
  • CA: 4.5 => 12.5%
  • CH: 8 => 22.2%
  • FR: 9 => 25%
  • US: 8 => 22.2%

I will probably write about it at the end of the year.

Regarding the costs of all of this, currently, here are my current, before my migration, yearly expanses:

  • Proton: 80€
  • LanguageTools: 50€
  • Gandi: 77€
  • Amazon: 70€ + 3.700€ (2024)

Currently, after starting my migrations, and probably when I'll be done:

  • Proton: 80€
  • LanguageTools: 50€
  • Gandi: 77€
  • BunnyCDN: 25€
  • I expect a 10-20% in price increase for my purchases: 370€ - 750€

Which is an increase of 400€ - 800€, which is not as impacting as I thought.

Note: I'm well aware that I did not include energy cost, I have also considered that some of my service providers may use US-based services.