Sign up

Karn Wong

Not verified No WebSub updates No webmention support Not yet validated

Homepage and blog by Karn Wong

Generator
Zola
Public lists
I ♥ RSS
Fetched

Karn Wong
Text • Unknown

Cloudflare's terraform v5 provider migration strategy

Back in February 2025, Cloudflare announced that its terraform v5 provider is GA. However, this release contains a lot of breaking changes, but I understand why it had to be this way - because it's less work if you generate a terraform provider via OpenAPI specs. The v4 to v...

Karn Wong
Text • Unknown

Model inference in ONNX

Everyone agrees that python is great for data stuff, be it data engineering or machine learning. Although rust is gaining more traction for data-related applications, python is here to stay. Those who venture into machine learning are at least familiar with sklearn - a popul...

Karn Wong
Text • Unknown

My code search setup throughout the years

Initial Setup Around 2022-23, I was browsing awesome self-hosted and came across Sourcegraph, a popular code search tool. I don't plan to pay, and they allowed self-hosting, so it was perfect for me at the time. Then you still can't search code in GitHub (which we used for ...

Karn Wong
Text • Unknown

2025-05-07

Poking holes into websites is my version of fun. People act like I grow two heads when I say I do it to relieve stress.

Oops.

And when I deploy a lot of new services to my kube cluster at home, yup that’s my peak stress and I need to let off some steam.

Karn Wong
Text • Unknown

WASM FFI performance benchmark

WASM is known for being very portable because the only thing it asks for is a browser runtime. This means it doesn't matter if you have machines on linux/amd64, windows/amd64, darwin/aarch64, WASM can run on all these platforms without required modifications. WASM can be u...

Karn Wong
Text • Unknown

2025-04-02

Happy to say I'm a direnv convert. No more setting up dotenv for every project I work on is a godsend (and especially when you write in multiple languages this gets old real fast).

Karn Wong
Text • Unknown

2025-03-15

I had this android tablet since 2019-ish, the last official update was android 8, so I thought why not flash Lineage on it.

Turns out I can't unlock bootloader because the [device region] and [account region] are not the same.

Yup, no longer buying devices from this manufacturer.

Karn Wong
Text • Unknown

WASM deployment benchmark

Correction 2025-06-16: there was a calculation error for artifacts size difference, it has been fixed. Previously, we've seen how WASM performs. But what about delivery methods? This means runtime overhead as well, because executing a raw binary vs container means startup t...

Karn Wong
Text • Unknown

Migrate from Docker Desktop to Podman on Darwin

Lately Docker Desktop on Mac behaves weirdly, namely its erratic memory consumption. Not willing to babysit the memory usage, I looked into alternatives, and found a few contenders: Colima, Podman and Orbstack. Being an open-source aficionado, naturally I gravitate to Colima...

Karn Wong
Text • Unknown

2025-02-21

Was writing down vendors list from a security conference I attended last month.

There's this one vendor, where their website at www is fine, but if you access it without leading www, it shows you an admin page. Hoo boy.

And their SSL cert is not valid!!!!! 😬

Karn Wong
Text • Unknown

Cross-platform keyring-like setup (also works without desktop environment)

Sometimes, running an application requires you to supply a password, or something along these lines. If you have a terminal-based workflow, sometimes it can require an authentication token. These configurations would need to be supplied either at runtime or stored somewhere ...

Karn Wong
Text • Unknown

2025-02-11

It's very amazing with the amount of work put into Proton engine for running windows games on linux.

I installed a game from 2015-ish with native linux port - the screen stutters when I move the camera, and it crashes very often. But if I run this game through Proton, zero issues!

Karn Wong
Text • Unknown

2025-02-06

I'll never forget that time when my Intel NUC was running hot on idle (70 C). I removed a lot of workloads from it, still high temp.

Turns out the culprit was accumulated dust. Turned it off, blow it from every angle. Lo and behold, the idle temp is now at 50 C.

Karn Wong
Text • Unknown

2025-02-01

Upside from running Linux as my desktop setup is that I never run into BSOD.

Compared to when it was running Windows, occasionally it would get BSOD, sometimes in a middle of a gaming session 🥹

Karn Wong
Text • Unknown

2025-01-30-1

I set up a custom-domain email for my family to use (name@lastname.com)

a year went by, and I got a request to "shorten" the email address"

The part they want it to become shorter is, you guessed it, the "domain" part

She wanted it to be just $name@wong.com

You see where this is going 🤣

Karn Wong
Text • Unknown

2025-01-30-2

Recently discovered the existence of QUIC and HTTP3. Modern, yes. Standardized, yes.

Turns out caddy's default already utilizes HTTP3. Modern technology is awesome. Gone were the days of manually setting up SSL and auto-renew cron.

Karn Wong
Text • Unknown

2025-01-26-1

With pixi I can finally remove pyenv from my setup.

Previously needed it to use mamba for installing qgis on ARM mac for geoparquet support

Which means you only need two lines to install qgis via conda:

curl -fsSL pixi.sh/install.sh | bash
pixi global install qgis

2025 is awesome

Karn Wong
Text • Unknown

2025-01-26-2

Very impressed with flox - dev venv standing on nix ecosystem.

Especially with the fact that it auto detects your project language & runtime means you do not have to setup the flox env from scratch, yay devx.


ถ้าคุณเป็นคนที่ประสาทจะกินกับการเซ็ตคอมของเดฟทุกคนในทีม

หรือ ตบตีปัญหา dev env ที่ไม่เคยตรงกันซักเครื่อง

แต่จะไปไล่เซ็ตทุกอย่างเป็น setup script ก็ไม่ได้ว่างขนาดนั้น

อยากใช้ nix แต่เซ็ตอัพไม่ง่ายสำหรับน้องๆ ในทีม

ขอแนะนำ flox - รมณ์ประมาณ nix แบบ venv

เจ๋งอย่าง คือ flox auto detect language + runtime จาก source code แล้วปั้น flox config มาให้ในระดับนึงแล้ว ชีวิตจะได้สบาย

Karn Wong
Text • Unknown

My journey for fully switching from Windows over to Linux

Note: This is not a post to bash on Windows. It's more of what I need for work and tinkering stuff are better done on Linux Background My first OS was Windows. My first-ever automation script was written in Batch script, and I learned tons from tinkering with the systems wi...

Karn Wong
Text • Unknown

2025-01-23

A few weeks back I was optimizing my website to reduce total size. Turns out google analytics took up 300 KB alone. Yeet it out and my homepage is reduced to 130 KB. Yay optimization!

Karn Wong
Text • Unknown

Information gathering infrastructure

flowchart LR Feed --> Miniflux %% feeds subgraph Homelab Miniflux --> Wallabag end Wallabag -->KOReader %% newsletters subgraph SaaS Newsletters --> Email end subgraph Automation Email --> EmailToEpubScript end EmailToEpubScript --> Syncthing %% de...

Karn Wong
Text • Unknown

2024-12-27-1

Migrated my site from hugo to zola this week, gotta say using python to convert frontmatter to toml is kinda cheating.

Karn Wong
Text • Unknown

2024-12-27-2

Migrated authentik to pi4, because it should be in a landing zone. On initial access it took around 5 seconds to load, oof.

Karn Wong
Text • Unknown

2024-12-25

Installed Ubuntu on Mac Mini 2018 only to find out the WiFi driver is not supported. Thankfully there's a whole wiki on how to install wireless drivers on T2 mac devices. It's a warm and fuzzy feeling to know that the community is always there for your tech ailments.

Karn Wong
Text • Unknown

2024-12-24

Was browsing HN and saw a thread about Proxmox shredding SSDs. Looking under the console and yup, it's 13% degraded. It's a used Mac Mini 2018 and only been used as Proxmox for a year.

I still love Proxmox, but I only use it to spin up scratch VMs. Maybe I'll use the Mac Mini for distro hopping 😝

Karn Wong
Text • Unknown

Native implementation vs WASM for Go, Python and Rust benchmark

In 2024 you would hear the term wasm pop up now and then. It is not exactly new, but it's gaining more traction due to wider ecosystem in recent years. Wasm stands for web assembly, essentially it's a format that allows you to execute binaries in browser runtimes. Imagine cr...

Karn Wong
Text • Unknown

Various notes on career-related stuff

Compensation Sometimes you need to take a pay cut in order to learn new skills. But it will pay off in the end. On the other hand, if you are paid above the market rate, when you have to move it's probably harder because most orgs won't offer the same compensation. Ski...

Karn Wong
Text • Unknown

Calling C from Go, Python and Rust benchmark

There's a consensus that generally, c is very fast, and python is very slow. But if we are talking about go and rust, you would find that rust is slightly faster than go. So from fastest to slowest: c, rust, go, python. But what if you have go, python and rust calling c func...

Karn Wong
Text • Unknown

LLM serving latency benchmark

After the rise of ChatGPT in 2023, these days most people are familiar with the concept of LLM - Large Language Model. If you are LLM users, things are looking bright because there are gazillion options for you to choose from. But if you are on the other side - creating and ...

Karn Wong
Text • Unknown

AWS IAM credentials best practices

It's hard to escape AWS, seeing how prevalent it is in global internet infrastructure. Chances are, most websites you visit are hosted on AWS. As a software engineer, you probably encounter AWS at certain point in your career, and while getting AWS IAM credentials to work lo...