Karn Wong's Avatar

Karn Wong

@karnwong.me

A systems engineer by background. Platform engineer by trade. Technical leadership. https://karnwong.me

58
Followers
63
Following
122
Posts
17.12.2024
Joined
Posts Following

Latest posts by Karn Wong @karnwong.me

Multi-account git setup Karn Wong's blog

Recently collaborated with a friend, turns out he uses his $previousCompanyEmail for git email. Then I run `git log` on my friends' public repos, yup more $workEmail and $studentEmail.

This post is an attempt to tell people that it's possible to use different config for personal/work.

01.03.2026 13:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Reduce workload attack surface with distroless image Karn Wong's blog.

Using containers is great, but it's better if you remove shell access to prevent an attacker doing funny stuff with your system. Otherwise you'll be losing both time and money.

26.02.2026 03:20 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
AgentCon Bangkok 2026 - How to Stay Sane in the Age of Agents

Slides from my talk at AgentCon Bangkok. Interop is key, and don't forget to monitor prod πŸ‘€

23.02.2026 08:08 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
From the devops community on Reddit Explore this post and more from the devops community

Ops is easy, if you use platforms that already abstract the hard parts for you. The real fun? A single mistake can bankrupt you. Gotta be smart about your cloud spends.

16.02.2026 13:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Electricity use of AI coding agents | Simon P. Couch – Simon P. Couch

Because data is beautiful

12.02.2026 05:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
National Coding Day 2026 - Software Evolution: The Complete Lifecycle

Slides for National Coding Day 2026@Bangkok, TH. Mostly about why you should refactor, and things that are hard to rectify once they went to production.

Also for those who's curious about AI impact, fret not. As long as AI can't bridge the gap between IT and Finance for FinOps we are safe.

03.02.2026 04:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Advent of AI Security 2025 A friendly, step-by-step Advent calendar of AI security risks and hands-on examples for practitioners and curious engineers.

Because you can't call it a day after releasing an agentic product. Gotta plug security holes as well, and because data exfiltration isn't fun.

26.01.2026 08:14 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Giving University Exams in the Age of Chatbots Giving University Exams in the Age of Chatbots par Ploum - Lionel Dricot.

You can't stop students from using AI. But you can make them think very hard about it, because wrong answers with AI help means you lose more points.

This I like!

22.01.2026 12:53 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
It’s hard to justify Tahoe icons Looking at the first principles of icon designβ€”and how Apple failed to apply all of them in macOS Tahoe

great read regarding recent ux on mac os (which I'm not too happy about)

22.01.2026 05:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

In case you are looking for bedtime stories. Love the illustrations!

- authzed.com/resources/di...
- www.gentlydownthe.stream
- www.cncf.io/phippy/the-c...

19.01.2026 07:48 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
ONNX Multi-platform benchmark

ONNX inference on multiple platforms, because I just had to know. These are baseline performance, no optimizations or accelerators.

karnwong.me/posts/2026/0...

12.01.2026 09:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Microsoft Ignite After Party 2025 - Azure Infrastructure for Cloud Native Solutions

Slides from Microsoft Ignite After Party 2025 is up.

TLDR: make your services portable so you don't have to spend too much time on supporting multiple infrastructures. Because some of your workloads might be on-prem, some are on cloud. This way, it's easier to maintain and you get more sleep πŸ˜ͺ

07.01.2026 04:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

This month there's 2 high severity CVEs. I recommend using github.com/anchore/grype to scan your codebase to check for vulns. You can use it in CI as well.

16.12.2025 08:47 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Terraform CDKTF will sunset. There is pulumi if you still prefer programming languages interface for IaC, but you might need to change some of your workflows.

Alternative is vendor's IaC solution, such as AWS CDK, but if you have to work with stuff outside of AWS perimeter it might be challenging.

16.12.2025 08:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'm also working on multi-platform onnx benchmarks, see at which point it's no longer feasible. There's web, android, iot, pc. Raw data is done, just need to crank out an article.

03.12.2025 08:19 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Recently gave a talk about in-browser ML/LLM inference, if you can get by with small models, and that you don't want to maintain a separate ML inference system (because finding ops who are familiar with python deployment is rare).

Slides here: speakerdeck.com/kahnwong/llm...

03.12.2025 08:19 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Recommend these for markdown linter/formatter
- github.com/rvben/rumdl - for markdown itself
- github.com/hougesen/mdsf - for markdown code blocks

As for pre-commit, github.com/j178/prek. It's backward compatible with pre-commit.

All are written in rust. Fast, that they are 😎.

21.11.2025 07:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Was implementing SMART reading feature for my cli utils app, and found that my server's ssd is on its last legs. Replaced the ssd and use the old one for a temp mountpoint. 2 weeks later it suddently disconnected, and `sudo blkid` hangs. I think I dodged a bullet there.

23.10.2025 02:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Recently gave a talk at PyCon Thailand about ONNX.

TLDR; stacking ONNX with rust can reduce latency by 20%.

See workshop repo in the slides.

karnwong.me/speaking/

21.10.2025 08:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I have a secrets sharing service deployed for personal use. Once the secret is accessed, it's gone.

My friend just told me that he's been using the said service I deployed for "personal use" with his "team". Because he trusts my server.

I'll take that as a compliment πŸ˜†

26.09.2025 08:17 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

This secrets scanning tool is very fast, and it returns normal exit code when found secrets. Very impressed!

Normally I don't use mongodb (only for storing logs) but gotta say this is a gem.

github.com/mongodb/king...

12.09.2025 08:18 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I use 3 machines on a daily basis. One for desk, kitchen and bedroom. Nix makes a lot of things easier, but auxiliary tools help.

This setup allows me to switch between machines at a moment's notice. Been rocking this setup for 3-4 years, so it's been tested in prod.

karnwong.me/posts/2025/0...

12.09.2025 06:15 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Cranked out a benchmark for spatial join. Indexes do help a lot, and this means you can use frameworks without spatial support to do spatial stuff.

There's duckdb, pandas, polars, postgis, spark, datafusion.

karnwong.me/posts/2025/0...

01.09.2025 07:38 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

polars is faster than pandas. But when it comes to spatial operations everyone fallbacks to geopandas, especially when it comes to reading geoparquet files.

I find this very amusing, but personally I use spark sedona πŸ˜›

27.08.2025 13:09 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Documented my setup for static lib linking in Go. It was really fun, and I gotta say the experience is very polished. At least it's easier than using swig with python to achieve the equivalent.

karnwong.me/posts/2025/0...

26.08.2025 12:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Monitoring a lot of services mean if someone magically forward critical logs to SRE room I'd die happy. Trawling through logs take time, and you have to filter out a lot of irrelevant stuff. Having critical logs directly served means less cognitive load, yay devx.

karnwong.me/posts/2023/0...

25.08.2025 05:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Good stuff, but doesn't seem to support ONNX converted from scikit-learn.

Seems like it only support neural networks.

github.com/google-ai-ed...

23.08.2025 04:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Too much cognitive load? Try adopting DevX.

I know I sleep better when I can repro prod setup via containers locally 🐳

karnwong.me/posts/2023/0...

22.08.2025 03:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I use at least 4 messaging apps because my friends have different preferences.

I use multiple machines and firing up all apps kinda got tedious, then I remember there's matrix bridges. Got it working and now I can text all my friends from one place. Yay open-source.

20.08.2025 08:41 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Oldie but goodie. Because we should be kind to other people. And juggling multiple functions isn't fun because it requires a lot of cognitive load.

Also there's a difference between using a pipeline and having to create one yourself.

And because it's a team sport :)

karnwong.me/posts/2023/1...

19.08.2025 02:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0