Martin's website/blog thingy

Systems Engineer · HPC · AI · Ramblings on whatever

Posts written in Gemini text/gemini format, rendered to HTML. For the best experience, view through a Gemini browser (like Lagrange). Atom feed available.
2026-01-05

Drogon's CSP template system

This blog relies heavily on Drogon’s CSP (C++ Server Page) system - think of it as PHP’s templating engine, but written in C++. It’s not the most modern choice in 2026, especially since CSP predates C++ coroutines. But it’s good enough for the static-ish pages I serve, and more importantly, it lets...

Read more →
2026-01-03

At the 39th Chaos Communication Congress

Just a random post because I had much fun at 39C3. As per CCC's strict photo policy. Photos will not contain people unless they all concent to be photo'd. At least to the degree that they are not recognizable. I am not exactly sure what to expect when I handed in the Hamburg airport. This is the f...

Read more →
2026-01-01

PSA: TP-Link WR3002X NEEDS more then 10W to be stable

I carry a travel router when I am on trips. Part of my workflow needs high LAN bandwidth between my devices and hotel WiFi just doesn't cut it. I bought one from TP-Link for cheap expecting things to just work. It does.. sometimes. But sometimes the connection just doesn't work even imy laptop happ...

Read more →
2025-12-09

Running OpenBSD in hostile environment

I haven't blogged for quite a while.. Well, life is happning and I just don't have the time or energy to sit down and write posts. Until now. Lately I had a work strip to China, where it's known for the hostile internet the the GFW. So.. I decided to upgrade the long-untouched OpenBSD on my laptop...

Read more →
2025-11-01

Deploying scikit-learn MLP on Tenstorrent hardware

My llama.cpp fork for Tensotorrent hardware is going fairly well. But this weeked I want to rest a bit and do someting else. I really want some tiem to go and play WatchDogs2. But then I have a new idea. I programmed Rockchip NPUs to run MLPs from sckikit-learn. It should be just as easy to get the...

Read more →
2025-10-31

Let the robot revolution begin

Today I suddenly see a lot of discussions about the NEO Home Robot from 1X on the internet. And followed by a whole lot of discussion about humans being obsolete. Bla bla bla... I am not engaging with that discussion here. I have my opinions that may or may not agree with that perspective. BUT. I...

Read more →
2025-10-26

Building the RoPE operation for Tenstorrent hardware

Rotary Position Embedding, or RoPE is a critical operations used in Large Language Models. Responsible of encoding positional information (where the token is in the sentence) into the embedding, so the model can distinguish between "the cat eats the bird" and "bird eats the cat". Ever since my jour...

Read more →
2025-09-08

Distrust of AI coding agents (Google Jules)

Oh man.. not this kind of post again. Boomer. That's what I assume a lot of people's initial reaction would be. I just tried Google Jules, Google's AI coding agent, just because I happen to own a Pixel 9 and that comes with a 1 year free subscription to Google One. I figure I should give new thing...

Read more →
2025-08-17

Life update Mid August 2025

I can't believe I haven't written on my blog for a month. Usually I end up with several posts by the end of the month. Lately my job has involved frequent flying around, all over the place. Malaysia last week, Canada this, Europe later. Flying is fun if for the first maybe 3 times. But after some p...

Read more →
2025-07-20

FuriLabs FLX1: actually usable Linux phone

I'm not new to Linux Phones. I was a backer of the original Librem 5 camping, own a Librem 5 devkit, later on a PinePhone. During FOSDEM I walked around and found the stand by FuriLabs where they demonstrated their FLX1 phone and chatted with all the participants. I knew about the phone because one...

Read more →
2025-07-05

Late night producitve alcoholism

I feel like this is a constant state of my being. On weekends, alcohol and coffee during late night. It's not particularly healthy, but it bumps my productivity by at least 300%. Epically after I transitioned from a startup to working in big tech. Big tech job is boring AF, but it pays well that I ...

Read more →
2025-06-07

Setting up Intel QSV on Arch Linux and Jellyfin

In my last post, I upgraded my home server/NAS to be an Intel machine. This post I want to write down the process of getting hardware video encoding working - before I forgot. One of the applications I run on my system is Jellyfin. The open source media server. It's also IMO better then Plex, the ...

Read more →
2025-05-31

Replacing my ARM server, setting up a new NAS and migration

The server that I run right now to host all of my services, including this blog is around 6 years old. Using an experimental ARM development board. I bought it because at the time 10G networking is expensive and that board itself was basically a proper 10G NIC. Well, non standard hardware has non s...

Read more →
2025-05-16

Reflecting on Art, AI and coherent arguments

Is AI generated art, art? This has been a question asked by many since MidJourney dropped the revolution product: Stable Diffusion. Now you can easily generate images by asking a chatbot like Gemini or ChatGPT to do so. Using interface via the many consumer minded products. Or via a quick API call ...

Read more →
2025-05-08

First time at FOSDEM

This post is long overdue. FOSDEM 2025 is my first time at that event. Wow it's awesome. I've gone to local (to me) conferences before, but FOSDEM is truly on another level. I you ever saw this cat hoodie at FOSDEM, it's likely me. My flight is a long one, from Hokkaido to Taipei, Dubai then fin...

Read more →
2025-04-21

Programming Tenstorrent processors

The Tenstorrent architecture is a different kind of AI processor. Unlike GPUs where you get a massive core count and parallelize across thousands of cores (not really, SIMT is a lie that the compiler told you). Tenstorrent chips are a grid of different nodes. Most are compute elements called a T...

Read more →
2025-03-26

Nostr, my thoughts on a new decentralized pubsub protocol

I was handed a flyer about Nostr, a new pubsub protocol at FOSDEM. To put it simply, Nostr is the minimal protocol to for a decentralized content publishing system which a lot of the same appeals as most small internet protocols. This concept intrigued me as someone dabbled into GNUnet and Gemini, ...

Read more →
2025-03-17

Memory on Tenstorrent

When I first started programming Metalium. Memory was a "you do this and that then it works" kind of thing. Which doesn't sit well with me - at that point I understand each Tensix core only has direct access to it's own SRAM. But never figured out how all the magic parameters in DRAM allocation wo...

Read more →
2025-02-17

Perplexity's Deep Research is a Hallucinating Mess

Perplexity (perplexity.ai) loosely is a ChatGPT competitor that focuses on incorporating online search into its responses. This supposedly helps with reducing hallucinations and allows the LLM to have up to date information. Very recently they lunched "Deep Research" which instead of basically quer...

Read more →
2025-01-09

Obtaining IP in bridge mode on Mikrotik switches

I got my hands on a Mikrotik switch and is happy with it. One problem I haven't solved for a while has been getting WinBox to connect to it remotely (it's at by dad's place). I have been ssh-ing into a server thebn `mactelnet` into the switch. WinBox however can't work with that even with VPN (VPN ...

Read more →
2025-01-05

Legit spending money

I really ain't spending much, barely more then what I spend during college days. An I'm 27 with a career. Living on cheap breakfast shops downstares (which is common in Taiwan) and cooking at home. I do eat out from time to time, but still at relativly cheap places. But lately, more like 2 years ag...

Read more →
2024-12-15

Announcing TurboQOA - Streaming QOA Codec

Something I have wanted to write but never got around to it, QOA (Quite Ok Audio) is a very simple, lossy audio codec by the same person who brought you QOI, the Quite Ok Image format. There is no real reason to use QOA. Until I found one and I find no one implemented it yet. So I did. The use ca...

Read more →
2024-12-07

Setting up Perplexica on Arch Linux locally

Perplexica is an open source replica of the (quite famous) Perplexity AI based search engine. Which I use from time to time when I had enough parsing articles. The AI just does it faster (though can be wrong at times). I find it to be a great tool to quickly establish some understanding of a topic. ...

Read more →
2024-12-05

Mikrotik is Awesome

Little known fact, I was a network admin back in the college days. I was a part of the Campus Dorm-net Promotion Association (CDPA) in National Sun-Yet-Sen University, Taiwan. The group is defunct now. But I had my fair share of messing with Juniper, Zyxel, Aruba switches and an Arista router. We a...

Read more →
2024-11-13

Full LLMs running on Tenstorrent + GGML

See my last post for context Wins are just coming fast! Since my last post of less then a month ago. This is such a fun project. My GGML backend was able to run a single layer on TinyLLaMA on a Tenstorrent Wormhole n300. More layers causes the model to start spilling out gibberish. Whith lots of ...

Read more →
2024-10-28

Getting the 1st token generated on Tenstorrent with GGML

I've been working on integrating Tenstorrent cards into GGML for a while, since early this year, on and off. I was at MOPCON 2024 in Kaohsiung during the weekends. I'm more to just meet people then attending the actual talks. Out of not knowing what else to do late night, after a meetup with the Op...

Read more →
2024-10-08

Attack analysis of my mom's Facebook account

Recerntly, my mom's Facebook account was hacked. I want to discover the process of discovering the attack, how it's done and what we do to prevent it. I think the last part is particularly important as measurments accepted by my mom should be accessible to _everyone_. The case is simple. But a goo...

Read more →