Links & Technology

By Guus , 23 November 2025

Last year I switched over to T-Mobile 5G after months of back-and-forth with Comcast. They simply couldn’t resolve the reliability issues on our street. I was hesitant at first, but the 5G connection has been excellent. And to state the obvious: reliable internet matters a lot to me given the number of video presentations I do. I’m mostly in the office these days, but for video production, my home studio is still hard to beat.

For the six months I kept the 5G gateway in the basement while testing the signal, and once I was confident in its stability, I decided to give it a permanent (and better) home. Two electricians ran Ethernet to several rooms upstairs — a surprising amount of work, two floors up and across the house — but the result is fantastic.

I moved the modem to the upstairs room that’s closest to the T-Mobile antenna a few streets over — and the visual speaks for itself. The signal strength improved by about 15 decibels, a substantial boost that translates to roughly 30X more received signal power.

Topic
By Guus , 9 December 2023

Our house has been experiencing intermittent internet issues. Our cable provider, Comcast, has come out a few times to take a look but they have not found the root cause yet.

I spent some time creating a dashboard for myself, so I could track the problem better. I installed Docker on a Raspberry Pi, and installed Prometheus, InfluxDB and Grafana plus custom scrapers for my Motorola modem. All this came out quite nicely.

The first chart shows packet loss -- I run a ping test every few seconds against a couple of internet targets. It's very clear that this connection is not clean.

The other charts show details from the modem. For example, when the Comcast engineer worked on my cables yesterday, it resulted in much higher Upstream Power -- which we thought might have resolved it, but sadly didn't.

Topic
By Guus , 12 June 2023

I'm mostly done with the Natural Language Processing specialization and tonight I was playing around with a fun proof of concept written by Andrej Karpathy.

The proof of concept is a tiny transformer architecture, "GPT mini". Unlike its big GPT-3 and GPT-4 brothers, this tiny model is character based, not word based. The text I used are three short stories by author Nescio -- which, in fact, constitute his complete works, around 200k characters. I trained it for 20,000 iterations.

The source code and results are available on Github. The architecture uses an embedding size of 192, 6 attention heads and stacks 6 transformer blocks. The results in 2.71M parameters and the 20k iterations took around 15 minutes on an NVIDIA A100.

It's really fun to see how the model improves over time. Initially, the generated text is mostly random, but slowly but surely it starts to reproduce sentence structures and realistic looking words. Of course, with such a small corpus of 200k characters, the model will overfit the data and start to reproduce sentences from the source text -- but it's still cool to see.

After the first iteration

eun nOO nnp nepurK eued d$ptOd nK nt a a K t$utnKtaen Kate dt nd t,pten ap ean d, tpen pnr d K e eaKt nnndddette autaKpaateeu a KpK Kae e h$aKpa ha K tnO a n hatptn aae de antaKpnpptpeKdeddnt npoaupta tp ean hK t p Kao Kt ht p pndn tep nernn auKdtd hnO n ept nK o K eKn n Kapttu ndpt do ate tddon er n KtdnO ed$ ha nudK dtKadddaadtdeaadp p nK$pdteeta t out p tn en nOneKtKanuh an opon Kanee pe dp e d epaKteaKKra aadp n o Kedae eaoata e taeat n hpeuedpK p dn haa en eKedn auu K

After 500 iterations:

I, dat de burs een
heef op dat zei, haar mals dacht de zei vrijn en eeschaan. Wiltij haar zoef
ik op er haarmet van en om de stotjes de waaren in voereed, ik
kaneek z'n had over van wilderde doof toed doe hoeden?" Is in daar
wond een gaamen zest zou zoo van voeren, de del den van
al hij me heeme vand van gon draat op z'n voedene verkorgerd diet
koes opte hemt ond zoo ik geschadens wam op het zageend veellen dondje de eer de
dat naar de verral de van geschiller wijd en een datst een een
gendas a

After 1,000 iteration (training loss 1.54447) -- first mention of "Dora"

Is biesteren er zelfde hand
en geven wit zoo gehand. En wat zei ik zijn op nog meer, nieuw, dat wit was vuor. Hij
waren dat niks was maal, als nooiil met ze zoulven.

Maar dan dan tonden heelemalen, toent naar beziefdig heuis, over
dat den schragen. Dora i weg een meer neem. Een zei i een kleet blauwsten
was moest en knapplook best verschij, dan zooals wees in 't benait zinnen. Er wan
met wweet op deek van de leven en klampte over was gedrhouden, ondergal
weer en gelende sische en hoe of meer d

1500: train loss 1.34416 -- you can see that "Bavink" makes his appearance.

No. En toe kan- hij
dan dat zoo ook, dat ze 't, avonds herd over hem op hun trap
heugen, aan de wijlen of te zeggen. En op haar enoedig, vertielde zag z'n verschicht,
maar eenige schider tot zelf nog en dat heel greest om. En de boogen wat
niks meer zag hij met den handel nog waar boven.

En zei Bavink, wat ze zit wij van z'n beetjes heer met
een pijs af, die zien? En wier zag je heer aan weer anders en dat ze
oude hem. Het wezelfsleven viel was zoo veel gaan, dat i nog haar schoof ofdat,
ze wo

iter 3000: train loss 0.89607
Als-i in de steven lager daar gelezen,
met verlangd jaar er boven. Dan was ik er nergens in. Het was een
raam van hoog.

Op een ander hoofd stond er geweest. En toen ik daar goed was een tijd naar
uit een beetje stroomen en de somberhooge schitterenden van een
dichtertje en niet meer op. De overzij had ik gehad overalen,
dan moet Bavink op een meid voor de lantaarn geluiden, zag ze weer
een duidelijk leven zich neem.

Maar met de zaken heel en das 'm niet een dertje heelemaal in een den hand
va

iter 5500: train loss 0.46585
" En middag on-i ook heeft-i een
betrekking van hun mijn sigaren op een papieren, en toen ik boven
jelui de menschen om niet te houden. Ik ben ben de vrouw niet, maar
mijn gedachten zijn geeft tusschen zijn kleeren verdroeg en een wonderlijk
scht wend dan ons over uit den weg te lochten.

Onderwijl schreef i op z'n zomermiddag waren gestapt en Bavink had aan
gehad w. Z'n boekje leven van den groote gekosten voor dragen in 't huis
en van de Waalt soliabolone tafee en er kreeg naar 't water en dan

15500: train loss 0.23958 -- after 15k iterations, the training loss doesn't really decrease anymore.

7 mensche me schel zoo over boven huis bij de puilten? In een net verden. Ik keek
er naar niet bij over. De zon van die monu stilletjes en geen oogenblik gelijk. En
daarna had je dikke Jan ook weer, den toren van Zierikzee, nu in 't
kleine kuisje in
't water te razen. Daarnaast stond m'n troost bestaan. De treurwilg zij in een volksbuurt, waar weer zeiden in 't
alsterdampje en geen oogenblik 't zelfde. Eenen keer hield ze diep
ze niet verlegenheid zooals als i kleinste vasthiel en verlangen over

Topic
By Guus , 4 June 2023

I've completed the first three courses of the Natural Language Processing specialization at Coursera, and started the fourth one today. I really enjoyed the the courses so far but this fourth course is the best part: learning about Attention.

The basic concept of this was introduced in 2014, three years later the famous "Attention is all you need" paper came out.

Topic
By Guus , 23 May 2023

With the rise of Large Language Models, I decided to dive into machine learning again and catch up on how these LLMs truly work. I'm following a course by Deeplearning.ai on Natural Language Processing.

I'm at the end of the second course and we're going through Continuous Bag of Words, which was part of the original word2vec algorithm that was so influential. It's really fun. The previous week was about n-grams, which was also nice to program with.

Topic
By Guus , 1 February 2022

I successfully completed a certification for Azure, the cloud offering from Microsoft.

I took the exam in our basement; it was strange to be on video all the time. But the process was nice and smooth.

Topic
By Guus , 4 January 2020

A script I wrote a few years ago to help me with pictures on the website stopped working... It assumed every year started with 201, haha.

FoundPos := RegExMatch(clipboard, "^201[0-9][0-9][0-9][0-9][0-9].*\.[jJ][pP][gG]", FoundFileName)

Topic
By admin , 15 December 2018

I moved my blog to EC2 last weekend and last night the instance stopped working for the first time.

"Design for failure", is the mantra, and I'll do some work on automated reboots when monitoring fails.

Seems like the httpd server went ran out of memory last night.

Dec 15 00:26:49 ip-172-31-60-46 kernel: Out of memory: Kill process 8250 (httpd) score 37 or sacrifice child
Dec 15 00:26:49 ip-172-31-60-46 kernel: Killed process 8250 (httpd) total-vm:526616kB,...
Dec 15 00:26:53 ip-172-31-60-46 kernel: httpd invoked oom-killer...

Topic
By Guus , 28 November 2018

I just completed the exam for AWS Certified Cloud Practitioner, a certificate that shows I have basic knowledge about the different Amazon Web Service offerings.

The exam was relatively easy. I've been preparing for this conference for a while, and done quite a bit of studying on the various AWS products. I did study a few trial exams from Udemy.com, and those were helpful for questions on more basic stuff like the Billing and Support models -- the less technical topics.

Still, it's been a while since I had done an official test and I was a little nervous, and now I'm very happy I passed the test. "Certified individuals" also get access to a special area here at the re:Invent 2018 conference.

Topic
By Guus , 13 May 2018

Hmmm, I'm not very proud of this but it looks like my site has had an open redirect for a good while. Years, in fact.

It's a custom script that I wrote 15 years ago and somehow survived the migration from the various CMS that I've used.

The original script had a reference to Php-Nuke from 2002. I've now removed it, finally.

Topic