Skip to main content
[BurgeonLab]
My site follows your system default or browser color scheme preferences (using prefers-color-scheme @media query). To switch between light and dark mode, change the appearance configuration:
Operating System
  • macOS: System Preferences > Appearance > Appearance
  • Windows: Settings > Personalization > Colours > Mode
  • Linux: Distro dependent; but for example, in Ubuntu: System Settings > Appearance > Style
  • Android: Settings > Display
  • iOS: Settings > Display & Brightness
Browser
  • Firefox: Settings > General > Appearance > Web Site Appearance
  • Safari: Follows system default
  • Chromium: Settings > Appearance > Theme

Tech Enthusiast's Logbook

Writing about Hugo, web dev, open source & IndieWeb experiments

=+++=+++++++++++++=====+==================~+**+&@B*@%~#-+*~=~-*~+#-=##M&&M@8$$$@@%M$B&8%#B+&8B$M-*@*
=+++++++++++++++++++============~=======~~-~=+W$@%#W&=M:=+~=*~=#~=*~#*MW8#%&%%%8%&*@&M&W*W=MW&*~:=*#
=+++++=+++++++++=+=+============~=======-"^^^^:WB8&#W=M:~=-+==M*~-+=#W8W8W%&8W8W8#*%WMW&*W~*+*~~,+~=
========++++++++================~======~^`:~=~,^M8B*B+&--+=8+*W*+~MW&@8%$&$B@B@&BW+@8@@$W@+%MMM#-*+,
=======~~~==========~~~~~~~----~~~~~~~~^^~====~^"8%+8*&~:+~&*+W===M#8B&%@M%&B%B&$W*@8@@$W$+%M%M#=%B~
====~~~~~~=============~~~~----~~~~~~~:`-=-:~::"`*8&~+W~,+-M~#W~+=#~MM&BBMBBBB%8BWMB8@@@WB#%M8W#*&8M
=====~~~~~===========~=~~~~---~-~~~~~~""=++==:-:`:+*~:+~,+,~:=~:~:::~~~~~~=====~=~~==++=====~===~~~~
~=====~=~~===~=~~=~====~~~~-~---~~~~~~^:==~=-:~,`,===,++~+,~-=~:~:~-~++==~====~~===~~+++=+==~===~~==
~============~~~~=~+=========~~=~~~==~^`:=~~:,:^`"=+=,#M~+,--=~-~:=-=+===~====~~=~~~~===~=~~~~~~--~~
~=====~===========~====~~~~~~~~~~~~==-^`^-==~,"``,**+,%#-=,=-:,*=-8M%%&M#+M*#MW&W~-M#-::::::::::,,::
~~~~~~-~~~~~~~~~~--~~--~--~~~~~~~--~~,^``^,,^````^~~--+~:--~---~~~=~-:,,-MMMWWMMW=~*~**#~#+M=~#*-:+~
~~~-::,::----:::,,,::,:,,:-::-==+~-=~:,```""^````^:-::::,,::,,::,:::,,"":MMMMMMWW+~+-#W&+W#&*=&#~-W*
~~~::,,,::---:,,,,,:,,,,,::::-++*+*---::^``"`````^:,:,,,,,,,,,,,,::,,"^",~====++*+~+~#M8+#*W+~W#~-M*
~~-:,,",:::::,,,,,,:,",,,::,,-++*#-::++--:`^^`````:,:,,,"",,,,,,,,,,"^^""""",,,"~*=+=%8&*MM&~*&M+=%%
---::::::,:,,,,",,:~==:,,,,,,-==*#::-+=+++:^,`````::::-,"","""",,,""^``^^^^"",,,-+=*=%88#W&&+MWM+=&M
,,,::-~~-~:,,"""":::-*%,,,,,,:~+#=::=+~=*++-,`^```~~:-~:"""",",,""""^``````^"",,:=+#+$@@&B@BMB$@WW@%
,"",:,:--::""""""-~"":=:""""",:~#--:++~+*+=-,`:^``-:::~-"""",,,,,"""^``````^^",":=*#+$$$M&$@W@$@&W@@
*:=*-,,,:-:,"",:-~%-,,-,""""",,-*:::++=++*+-`^-``"-:-:~-,""",,,,,""^```````^^","-++**$$$=M$$M@@$&W$$
M*M8%8W*+*:~~=~++-=*-,-=~=~~~~~+*:--*++~+*=,`~~,`:~----:::::::::,,,",-^^^^^^"""",==~~#*+:-++:~~==*&&
+#==+W8W+,:~==-=*--:,"~+++==++=+~::~+*=-++:^"+=~,-~===~==========~-,:~::--::::-::*8*-#*+:-=~=~=:=++~
,-*+~*W#+::-~~~+~---:,=+=+====++-::+*=:-=:`^-==~~-~===~~~---::,,,,:,--^:-~-::-~-:-=::==~,:~~~~-~+**=
,^**~+=*+W~---~+~:=~~,=========*:-:*+-:-,`^~-+=~-,::,,,,,,,::,,,,::-,"",:-:::---:-*-:*W+,:~~~*+==~~~
^:",,",=+*==~~=+-:*+-"+==~~~~~=*:-:++--"`^:=-+~-~:,--:::::::::~====~:,""",,,,,::,-W~=M~+:~M#*-,++===
,^^^"^,=+~=+++++-:==:"*+++++++==::~+=,^`,+++=:~=-~:++++++++++====*=+~~~~~==~-:--~~=====-:-***~:MMMMM
",:~~~~*+~====+=-:::,"*======-*~-:++^"^:+*=*+--~:",*+***++++++++++*++===####=~~==++++==-~~~~~~:++===
MMM#****+~==~~==-::,,,#====+=,#--,~,`^~=+++++-=~--"********************+**##*+==+++++==-====~=:=+===
@@@@@B@W+W%%88M=*""""~M+++++:"*:::+~"=++***==-=:-=,+++++*******************+++++++++++=~++====:=====
@BBB%%8M=*M#**+=***#M8%%%B%-",#:-:=~-+++*=**~~-~=+-~+++++++++++++++++++++++++++****++==-~~~~~=:+++++
M##MMWWM=W%%B@M=%%%%%%%BB8=,^"*--:~~~****++*~--:~=,8B%8%8&8&&WWWWM&WWM###*#**++++++++==-=~~~-=:++===
@B@@@@BM=W88&&M#8%88%%B8%W"``^=~,,:~~*++++=--:--==-&MWWWW8%8%%B%88%%8WMWWW%BB%%%88888W=+M*+*+=:++***
@B%888%M~&%%%%%%8888%&&@$B,^^^*=::,+-==+=~==~:-~++:M%8%8&8%88%%8%%%&&WWWMW&8888&8&WW&W~*WM=+#=:*####
$@@B%8%*~W888&&&&8%&&B@@@M^^``~*-::+-==+~=~-~:~,~+=-&B%888%BBBB%B@%%8%8&WWW&&88&W&&&&M~+###**=:*****
$@B%8WM**MMWWWWW&#W8%BBB%B,`^^"#=,-=+,,,""^^^``:=++~-+&B$@BBB88M88888&&M8%WMM&8W&WM##+:~*+***=:*****
B@@B%888&WWWWWWM*W%BBB8B8WM:^^^:+:::~:`````````~*+#*"`^:*%%%888888&888MW%%##*###~~****+++****~:*****
&&&&&&WWWWW&&M*#8%&8%8BBM%B#&+,^`""^,^````````^:~~=~`````^~&B8BB%8%8%%&%8BMW#++WB8==+***++++*~,+****
&WMWMMMMMW&W**M%&8%%%B8&88W*W88,=````````````^^"```````````^,*%&8W&&WM+,:=+&WW#+MB@W-:+****+=-:~=++*
MMMMWMMW&M*M8B888BW%%&8%8W%&&%8-W:,::-^````^``````````````````"WB#*&=-:*W#*M*~-+*WW&8#:-++**+===++**
WWWWW88#**&8&&8B&8%&&88&%%%BB%B~88~~--"````=8M~,^-:^```````````^M&*%B8+=:~++*~#M*+M%%%&*:-=+++++++++
WWW88M**M%%%8%%8@%&%%BW8%W88&88:M%::-:"````*&&8&8-,,~,^`````````~B*#B%MM+-:%%,#%%*M##W&%%*,-++++++++
&%%M##W8%8&8%8BB8%B%8%8W88W&WWW:M&:^"^^````:=+*++-:,+***~,"^^"^^*%=~8&88%#,&M,=W&M##MM*+#&8+,-++++++
%WMMW%%8%%%88B%888&WMWMMMMMMMW&,W&=```````^#WMMM=~=MM##*##MMMWWWMW#MM8%M%#,="*%&&&88#*&*+#*#+-,~*++*
WW&%B%%B8B8@%8&W&W&MMM&WWMMMMWW*MMM```````^&&8%W&&&WW&&8=``^^^"M&WWW=M8M-,~*W&&%WW8%8&MWWM###M#:-+**
8%B%B%&MWWWWW####MMM*M&##M##MW&W8WM^``````^*&WM&&&88%%&*``````*%@@@&+~:,~MBB%8BBB8&8W88MMMM+M***=-++
B%8&8%WWW##**++***+*++~-,"^^^",:+WM^``````^~8%8&W%B%888^`````,&%WB8W*=&M#BB%%&%%B%8&M&8&WMW8#*MM*#==
WW&WM*#W*#####M+*M*~-"^"",:--,,"^"~^``````-:WM&MWWMW8W~`````"&W8W&MM*=#=#8B%&8W88888%M&8WW*MM##W#+MW
MMM*#M***#*#M#***+-"^"-+####WMM#~,"^``````#-#8WW&%&W%8^````^&B@&+#&%WM~~+=~-~:+##%%88&WW&&&W*&&#*#**
####++*#**M#=+:^:,^"-+M**MMW#*MMM+-,``````*==W88&8%BW-`````+8%8=:#%W*M-:,`""""""^^,+&%%W&%%8&M*&&M&M
*#M*~+****++*:^,`^"~#M#*M#M#WMW&WW+:``````M#+&%&8&WW-`````,W8&=-WM*="~+^~=WW&B&M++:"^:#W%88B%%%M*M#*
##+=****#*==#:,^",+###***W###**#W+=,`````^8&=M%W#&&&M`````W%M~~M**,^,+#~&&%8BB%%8B8M=,`:W&W&8&&MM*MW
#+***#**M#**=#-`"=MM+##*MMWMM*#M*M#,`````^=M+=8W&8WB,````-&*~+#*+^"-#8#+M8W%%&&8%%&M&&~"^=8WW&&8&W#M
##M#***+*+==*#^^:MM#MW#*#MWM#MW##*#``````":##~W&MMM-`````*+~MW*+^,#&88W*+MW&&&88&W8W&&&*,`-W&WW&&&MW
*******+**+*#=`"+W#=+#*M#*W#+##M*M~```````-~&+#&WW*````^~~-&&=+^,+88W&8#+WWB8%M&&%8#%B%%W,`-WWW#M&&&
***+*+**+###M+`"*MM**+M#*+*M*#*+M#,`````,`":==+*#&-```"=~^":~+""+&M+&88&+*M&8B8B&8WW&8&W&+"`+MM#W&&&
##***++++***=~`,##*###**M#::~~=#MM^````^M"^:~"~MW*```:=:^``,,`^-#W88&&&&#+&MW8#MM&%888W8*W*^^W88#**M
**+~~+*++*##M=`:##***#~=+~~~^^,~+=`````,W:`,,^,+WM`^~=,````--^"#B88M&&W8W#+*WW8&W&%8&8&88%8-`=8&WWWW
=**+##M##M+**=`,++#M#*+##~-~-::++~`````:*:`^`^^":=*~=*W""-::#`,88&8%8%B%BMM*&W&%%8%B%B%%W&#*^^WWMMWW
-+++=**++*++#=`,##MM*#*##~,`^,~M*~`````:+-^``~+~=,:,"~=#W%W:=`-8W&&MWMWW&W#M*MWWMWWMW&8&%&*W"`*WW88W
=+*+=*####*#**^"=*##***+#:,^,~+*+-`````,::`^"*+~~,",#WWW&%&:+^-WMWMW&WMW&WW#+:~M&%&WW&&WMMMM:`~MM&&M
=~+*###=+**##*:^-**#M#M*~,,^,WWW&*`````~W,`",,,=:,:"M&#&8WW,~`-W&&W8%&&88WM+~:-W&WMW888WMMW&-`-WMMWM
++*#*++~=+****#^:+#*#MMM*-,,-W#M&*`````-+^^":^,^*&*"=#&M*#&-~`:88&W88WMM**M#****&#WM#**#MM#M-`-MM###
+**#*##***#*=++-"~##**M*=~^+W##&W*`````~:^"^:~-=*#:"*##*#MW=-`,M%%WMMMWWMW&#&&8BWW&8%%%%8&WM:`=WMW*#
****+=~*+###*##+",=*+++**=~~~-~=#+^````"^^+~:,^":,"*88&&MWW+-,"~M&M*#WMMMMWM&WM8%&8&&#WWWMMW"`*W%&W&
#*###*#=#MM#+=+++":+=#+*##MM&&&#M~`````^`*###-"",:+MWW%WW%8&W+`-&&WWMWWW88WWW#**#*+MWW88%%%#^"M#+W&&
+=~++=+**+~#M#####,,=*#*W*####MMM"``````+8&8W&W##W###**MWW&8&M:^~W888WWMWMWW&WW8&%8WWWWW88&,`*&&WM+*
##+==*==++*+++*#*+*~^-MM#*#*WW**M=~^```"&&888&8M&8&&%8WWW&WM8&#"~~M#MW&W&&8%8&8&WM&MWM&&MW+^,8&8%%%B
*+-*MM*+**###+~=++*#~,^-*WW##**=M#-````^+MMW##MM&#**MWM#*&&&W%8#"~#&&MWMM##*M#W&&WW8%BB%%*^"M8&MMWMW
+++==****~=*#*++##*+==~,`^,:-~~:^^^```^^"~MW8&W&&M*+###MMMM*=+MW#":+*MWMWWMWW&##W&W#*=*M~^"M&8B&&B%*
~~~+#~~++****++=:-~~-::--~-,,,"""--^^^^^^",:M&W&W&WM#W&WM#W##MMMMW-^==+++*+**#+#W&&&W&#:`"##=*W&W#&W
++++*+--,-~~~~~~+====~~==*###=-~~-"^`^^^^^^^":-+MMWWM+=+++*+*##+*~*-,"=*MM#*~~~~##W#+:^^~+#&#*W&MWW&
##MM##***#**+*****#MM+*#MM#MMW#**+"^^^^^^^^^^^"-*##+#W&WW8&&W&8&&MWMW=,^,-+###M+=~:"`"=*M*#*++**#*##
+~~==+=++==~+=~=++++*#++****++*+*+,"^^^^^^^^^=MW&M*#MMMW8WW88&MWW8%%%%8#-,^^`^^^``^-~M8%&88WM*#M&WWW
#*==~++=+=+++*#*+##*++*=+*M*++#M*:,,,,,,:~=~~==++=+#&M*=#8&WWWM8&&&W*+=#MM&M=#W#~-:~#M#MWM=*MMMW88%&
==+++++++=~~=+*#M#*++=++*+*MMM*+=~,,,,,,:-=+==-*+++*=M&&&M#**M#WWM#*##&8&M*#W8888W8&MW&WW8%88*#+MMW&
ASCII art of Naty on her vintage Puch road bike

Welcome to my personal website. I’m Naty, a tech dabbler, third-culture kid, serial hobbyist, and lifelong learner.

BurgeonLab is my Internet home, where I document mostly geeky interests and other enlightenments. This is my passion project and a work in progress; so expect regular changes.

I am keen on data privacy, self-hosting, technical writing, specialty coffee, street photography, fountain pens, Formula 1, and more.

My other pseudonyms are @eclecticpassions and @aperture2iris.

Thank you for checking out my corner of the Internet. Feel free to say hi!

Embracing IndieWeb

Learn how and why I'm part of the small web

Ever since becoming aware of content ownership, enshittification, and the IndieWeb in 2025; I’m gradually integrating small web principles and IndieWeb building blocks into my site.

For instance, my site receives webmentions if your site supports sending them; otherwise, feel free to send me a webmention manually! Public webmention display isn’t supported yet, but I’ll be notified if you mention something from my site.

Some other popular feature in small web communities I’ve implement are:

  • Webrings—a collection of sites linked serially around some theme. You can find the webrings I’m part of in the expandable list in the footer and explore other sites with the navigational links.
  • Web badges (aka 88x31 buttons) are also down there; hover to see a tooltip or click to explore.
  • And while you’re at it, feel free to sign my guestbook!

In the last week of 2025, BurgeonLab gained full Micropub support through Indiekit that I’m self-hosting on my Raspberry Pi! Explore content tagged with: #indieweb, #indiekit to learn more.

If you want to read more about the IndieWeb community, here are some articles for you:

Noticeboard

Show notices

July 17, 2026: I am hosting a new Asia Pacific time zone for Homebrew Website Club, an IndieWeb virtual event for people to talk all things personal websites! Learn more:

January 11, 2026: I’m doing the #100DaysToOffload blogging challenge!

Counter: 91/100 Remaining: 125d
91%
Newest: Aug-31Start: Jan-11
Explore Post Types Traditional, long-formShorter, microblog-styleMixed or specialized

Discover content with this quick menu. As BurgeonLab grows into my primary home on the web, more Micropub-supported post types are being added; which can be broadly grouped by content style.

Blog Calendar

This heatmap visualizes post frequency and volume. It’s interactive, hover and click to explore. Learn more about the calendar on the /⁠stats page .

Select a Post

    Microblog Stream

    Since mid-2026, writing short-form content has become the norm. Click on the bar to open a preview. To view the full note, click on the date or permalink icon.

    One of my favorite open source tools, D2: Declarative Diagramming, is now under Hack Club! This makes D2 a fully open source and non-profit project. Thank you Alex for making this awesome tool available for everyone in the long run. I’m really…
    James, a fellow blogger and friend, kindly offered me a chance to guest post on his blog: with words, wonder, so that I could tick off one more task in the Community Builder award list. This means I achieved the goal! I will try to contribute more to…
    This post is in response to Blaugust2026 Week 5’s Group Project: What is the best piece of advice you’ve ever been given? What is the best advice you’ve ever given to someone else? It’s hard to think of a single piece of…
    Since Oct of last year, I haven’t had time to reinstate my self-hosted apps like Calibre, Miniflux, Navidrome, etc on my little Pi homelab. During this time, I missed using Navidrome the most (I resorted to listening only on my Mac); with the…
    The second HWC: AP had only minor “AI disruptions” and was nowhere near as bad as the first. The AI agent(s) that were causing the disruption actually apologised on the IndieWeb chat and promised they will stop participating in any future…
    See all notes

    Latest Weeknotes

    Here are my latest weeknotes. They’re a type of post that I publish weekly and sometimes covers less technical topics.
    See all weeknotes

    Latest Blogs

    Blog articles are how I usually share my technical tinkering logs. I plan to write more non-technical topics, aka personal or casual posts in the future; but it will probably be on a separate domain (⁂ I will share it here when it is ready!)

    AuguStory: The Story About BurgeonLab

    Read about how BurgeonLab.com came to be and how it has transformed to become Naty’s de facto home on the Internet after discovering the IndieWeb.

    A Dating Matter: Hugo, Indiekit, and Node

    How an issue with dates in Hugo triggered me to go on a learning journey with Indiekit and Node.js, and ended up creating my first npm package Indiekit plugin. While writing this troubleshooting log, I ended up creating a new Hugo feature: a shortcode that fetches OG images from external links!
    See all posts

    Latest Event

    See what upcoming event I’ll be attending: No upcoming events.
    See all events

    Top 10

    The most popular pages over the past 30 days based on unique visits. (Privacy-focused analytics, no cookies, last updated on 2026-08-29.)

    Follow the blog with RSS/Atom feeds Follow with your feed reader!

    Discover available XML feeds (RSS & Atom) on the /⁠subscribe page.

    Enter keyword (use "quotes" to find exact term):