Journey from Orbi to Unifi

TL:DR; Home network Wi-Fi upgrade, some observations about it. Preface I have enjoyed some home wifi kit (e.g. I think Apple’s Airport series was simply brilliant piece of hardware AND software), and some I have tolerated. Most of the OpenWrt based ones belong to this camp; while they work, usually setting up multi-node things has been clunky or they somehow fail at awkward times and that isn’t great. The old setup (2020-2024) We bought Netgear Orbi mesh system (750 series) almost exactly four years ago. It replaced more vanilla OpenWrt-based Turris Omnia, and brought with it actually working mesh system.. Most of the time. ...

26.8.2024 · 7 min · 1443 words · Markus Stenberg

It is 2024 and I could not find IPv6 abroad

Or, ‘NATs continue to be evil’, or ‘the more expensive the hotel, the stupider the captive portal system’. TL;DR: When not at home, you realise how broken the internet access usually is. Problem 1: Not enough addresses Originally IPv4 addressing was designed with 2^32 addresses (some of which are reserved) which was supposed to be enough (and perhaps in the 70s and early 80s, it was good assumption). The lack of addresses was seen as a problem and IETF designed a solution for it in the 90s - IPv6 (c.f. RFC 2460: Internet Protocol, Version 6 (IPv6) Specification). Unfortunately due to various technical reason its availability is still quite low - according to Google it is currently less than half the hosts even now ( see Google IPv6 access statistics). ...

2.8.2024 · 4 min · 792 words · Markus Stenberg

Playing with local gemma2

I tinkered bit with Google’s new gemma2 model on my 32GB RAM M1 Pro. It seems so far quite useful, although I have dabbled with it only day or two so far. Here’s summary from some of the things I tested with it. Benchmarking Using the script from earlier iterations: for MODEL in gemma2:27b-instruct-q5_K_M gemma2:27b \ gemma2:9b-instruct-fp16 gemma2:9b-instruct-q8_0 gemma2 \ llama3:8b-instruct-q8_0 llama3 do echo ${MODEL}: ollama run $MODEL --verbose 'Why is sky blue?' 2>&1 \ | grep -E '^(load duration|eval rate)' echo done with the following models: ...

2.7.2024 · 3 min · 536 words · Markus Stenberg

Playing with local LLMs (or not so local), part 2

This is a really brief follow-up on the earlier local llm performance benchmarking post. Nvidia RTX 3080 Today I decided to check out also performance of RTX 3080. Now that Windows beta of ollama is available, testing it out was straightforward. As it turns out, it was almost exactly double the speed of Apple Silicon hardware, e.g. llama2:7B model produced around 80 tokens per second, but model load duration was a bit slower (3-4s -> 4,9s). ...

18.6.2024 · 1 min · 190 words · Markus Stenberg

Oh my god, it is full of containers!

This is probably the last post on the home infra, at least one that I thought about from the start. I will perhaps write more if I come up with something, but probably the future ones will be less about the overall software stack and more about e.g. Lixie or some other hobby project that is related to the infra, and less about the composition of the infrastructure. Container types, recap - and their lifetime Types of containers: As noted in an earlier post about the architecture, the home router is running plain Debian stable, with 3 types of containers, all provisioned using pyinfra so I do not mess with them on the host itself: ...

18.6.2024 · 7 min · 1283 words · Markus Stenberg

Testing in the wonderful world of infrastructure as code

I was planning to write about my home infrastructure (I have at least one post in mind already), but as it is fresh in my mind I decided to write about the state of IaC code, or more specifically, testing IaC code (or lack of it). Testing is the foundation of most workflows I have recently spent quite a bit of time setting up Github Actions-based workflows both for my personal and professional projects. Ultimately, that stuff works quite well: ...

14.6.2024 · 7 min · 1452 words · Markus Stenberg

Messaging (, alerting) at home (and outside)

I have used a lot of different messaging tools over the years, and some have stuck, others have not. Back in the days: IRC (90s, early 2000s) There was some sporadic use of e.g. talk for point-to-point chatting among users of UNIX hosts. I used to use IRC a lot, starting in the 90s. There were various subject matter channels of interest, and I was quite keen about it at the time. However, its usage petered off gradually. I think my last serious use of it was with erc (Emacs client) in conjunction with bitlbee (which provided bridging to some other IM things that were being used at the time). ...

7.6.2024 · 5 min · 875 words · Markus Stenberg

IPv6 only life must be great, right?

Two weeks ago I experienced IPv6-less life for a week thanks to my ISP, but my ISP provided me this week an experience of what IPv6-only life looks like. The start of the IPv6-only experience (bit before 6am) I wake up usually crazily early in the morning (by nerd standards, at any rate), if it is light out there. And in Finland, at summer, it gets light quite early so I must have woken up a bit before 6 am or so. I usually start working (or tinkering with some hobby project) even before breakfast, so I hopped on my computer. ...

31.5.2024 · 5 min · 944 words · Markus Stenberg

You can never have too many backups

I have made a point of backing up about anything I do for a long time. Why? (Especially automated) backup systems will eventually be helpful no matter what you do. Whether it is changing or deleting some file that you did not have under version control (oops), hardware going bad, software going bad, hardware getting lost.. I have had all of them, but I have still yet to lose significant amount of data once I started taking backups consistently. ...

29.5.2024 · 8 min · 1500 words · Markus Stenberg

Observability at home

During the new home router infra exercise, I also chose to set up as reasonable as possible (lightweight) observability stack for my use. The holy trinity is defined to be metrics, logs, and traces, but as I do not really do much that requires tracing I focused initially on the first two. This exercise occurred mostly in February. Software choices Visualization I chose to go with Grafana. I am very familiar with it, and there seems to be an ecosystem of third-party tools which replicate some of what Aiven had (e.g. dashboard backup/restore tooling, dashboard rewriter I wrote fingon/gg-grafana: Grafana dashboard sanitizer as I could not find something similar in the open world, and so on). ...

24.5.2024 · 6 min · 1202 words · Markus Stenberg