RSSAmplifier

Blog

Karn Wong

Homepage and blog by Karn Wong

karnwong.meRSS feed ↗222 posts

Latest posts

2026-08-13

Aaaaand this is what happens when the lower stack relies on c. Partly why I find using linux full time easier because I can repro the ci build steps locally without going through emulation on mac. https://nesbitt.io/2026/01/27/the-c-shaped-hole-in-package-management.html ในเมื่อทุกคนพึ่ง c มันก็จะประมาณนี้ ทุกวันนี้ใช้ linux แล้วชีวิตดี เพราะไม่ต้องลุ้นว่า build…

Yes, you still need to know fundamentals even with AI

Coding with AI gets stuff done faster. For some areas where I understand how things work but never applied it before, AI can help me realize it, which is great. The rate at which I crank out personal utilities has skyrocketed. What I've found is that I always have to manually manage a project's folder structure because AI can never get it right, even for very simple stuff. It's…

2026-08-10

Getting an AI-generated reply but from a human who forwarded a question to an AI is quite jarring. I would think it's a bot, but then this is an actual human who I've had prior interactions before. I want to talk to humans, then there are humans pretending to be bots. It's wild. https://nomeatproxy.com/ ถามคน แต่ได้คำตอบจาก AI กลับมา ก็จะงงๆ หน่อย มองโลกในแง่ดี…

2026-08-06

A password alone isn't secure enough to protect your laptop. Disk encryption is the next step. Slight overhead, but you'll sleep better at night. https://karnwong.me/posts/2026/07/password-isnt-enough-to-protect-your-laptop/ ใส่ password ตอน log in เป็นเรื่องดี แต่ข้อมูลก็โดนเจาะได้อยู่ดี ถ้ายังไม่ใส่ disk encryption 👀 ยุ่งยากนิดนึงตอนเซ็ต…

Coroot revisited

Coroot has come a long way since 2023 . Now it uses ClickHouse as storage backend, in addition to Prometheus (though you can also set Coroot to store metrics in ClickHouse). Service runtimes are displayed in applications list, which makes it easier to identify services at a glance. Applications are grouped in application , control-plane and monitoring , which is useful when you want to filter out…

2026-08-03

Love using Go, especially Google's A2A framework (at least I like it better than Python SDK - too many magic variables 🥶). Glad to see Microsoft is joining the Go party! https://thenewstack.io/microsoft-agent-framework-go/ ใช้ Go แล้วชีวิตดี (ถ้าใช้ให้ถูกกับงาน จะเอามาทำโมเดลอันนี้ก็น่าจะฝืนไปหน่อย) สนุกมากตอนมัด A2A ผ่าน Go (ตอนแรกก็ใช้ Python SDK แหละ แต่ magic…

Virtual machines setup for homelab

Sometimes, you might want to test out something before applying it to a target machine - reason being a botched deployment is harder to fix. If you have a spare machine lying around, you could test on that, but then you'll have to fire it up and make sure the base configurations are usable, otherwise you'll run into configuration drift between your target machine and the test…

2026-07-30

It would be unimaginable back then to have a single database driver that can work across multiple runtimes. 2026 is great. https://columnar.tech/dbc/ สมัยก่อน จะต่อ database ที คือต้องไล่เช็คว่า runtime / version / os ที่ใช้ มี library ตัวไหนใช้ได้บ้าง ตอนนี้สบายละ driver ตัวเดียวรับจบเกือบทุกอย่าง https://columnar.tech/dbc/

2026-07-27

Now you can use GPU to crunch spatial data! https://sedona.apache.org/latest/blog/2026/06/26/sedonadb-04-gpu-accelerated-spatial-joins/ ใช้ GPU ปั่น spatial data ได้แล้ว จากที่เมื่อก่อนทำได้แค่ optimize ไม่ก็ เพิ่ม CPU / RAM…

Password isn't enough to protect your laptop

So this can happen Normally when you boot a laptop, you'll be greeted with a login menu that asks you to select a user, then type in a password. If someone wants to snoop on you and manages to get their hands on your laptop, without knowing your password, they can't login. But they can use a bootable medium (these days it would be achieved by flashing a linux distro image on a flash…

2026-07-23

Just because it's a container doesn't mean attackers can't do damages to your system. It's possible to obtain cloud credentials through a container shell. It's not enough to use containers, you should also harden security. For a start, use distroless image to remove shell access. https://some-natalie.dev/container-escapes-workshop/ Webapp…

2026-07-20

Using passkeys means I don't have to remember passwords, and it's faster to log in this way! Also great for when you use a dummy profile to log into a video conference app for presentation 👀 https://karnwong.me/posts/2026/07/make-logging-in-easier-with-passkeys ตั้งแต่ใช้ passkeys ชีวิตคือดี ไม่ต้องคิดเยอะเวลาต้อง log in กดปุ่มเดียว แตะ security key…

2026-07-13

Let LLM go wild and you might end up with a giant hole in your system's security, among other bad things that can happen. Run LLM-generated code in a sandbox for better sanity and security 🔒 https://karnwong.me/posts/2026/07/what-are-agent-sandboxes-useful-for ใช้ AI ทำงาน แต่ AI ก็อาจจะเล่นเรากลับโดยการเปิดช่องโหว่ในคอม (AI บอกว่า ถ้าเปิด ฉันทำงานง่ายขึ้นนะ…

What are (agent) sandboxes useful for?

If you use coding agents, a lot of things happen between your prompt and the LLMs your agents use. But given agents work with something on your machine (that's your codebase), agents need to and can execute commands on your machine. Can you trust the machine overlord? LLMs can and do make mistakes. So is the code generated by LLM. Implication being sometimes the generated code messes up your…

Desserts

Rice Pudding Cook rice in milk. Add tiny amount of salt and a lot of sugar to taste. Can spice it up with tumeric. Protein Fruit Dip Mash peanut butter and banana until smooth. Add a tiny amount of honey. Dip with fruits.

Main Dishes

Rice Rinse with water a few times. Put rice in pot, add 2.5 cups of water. For Japanese rice, add 300 ml of water. High heat until boiling, then low heat for 13 minutes. Pour out the excess water, let it sit in the pot For rice cooked in stock, check the pot periodically to make sure it's not too dry Pasta Cook pasta -> drain Brown mushrooms, then add (marinated) meat + cooking sake Add…

Side Dishes

Mashed Potatoes Dice potatoes, add water covering the potatoes, medium heat for 30 mins. Rest to let water evaporate Add salt, black pepper, cream cheese / greek yogurt, honey, butter - then mash Potatoes Soup Start with mashed potatoes, and dilute with cream or broth

Soups & Stews

Bone Broth Soup Bring 3-4 cups of water to a boil Add ribs, {meat}, {carrots}, potatoes, onions Simmer for one hour Add greens and a few beaten eggs Continue simmer for 10 minutes Goulash Melt butter / add oil and add onions Add meat Add garlic, tomatoes, bell peppers Add salt, paprika Add broth, carrots, potatoes, bring to a boil and simmer for 40 minutes Season with black pepper and oregano…

2026-07-09

Relationship capital is real, and if used well it can help you do many great things. Don't forget the people. https://medium.com/@royrapoport/going-to-dinner-78c76a635719 งานใหญ่ไม่เคยสำเร็จได้ด้วยตัวคนเดียว อย่าลืมสร้างความสัมพันธ์กับคนรอบข้าง เพราะงานขับเคลื่อนด้วยคน ไม่มีคนช่วยก็จะเหนื่อยหน่อย (แต่ถ้าทำคนเดียวแล้วไหว ก็ได้ แต่อาจจะตัวแตก)…

Make logging in easier with passkeys

It's a given that you'll have more than a dozen online accounts. But logging into a website using only username/password means if your password was compromised, someone else can get to your account and do not-so-fun things with it. 2-Factor Authentication This is where 2-Factor Authentication comes in. 2FA means in addition to your username/password, you'll have to provide…

2026-07-06

There's nothing wrong with using AI, but in the end YOU are still the one responsible for its output. The code works doesn't mean it's secure. And AI sometimes use a hacky solution, you gotta be able to catch them! https://charitydotwtf.substack.com/p/ai-demands-more-engineering-discipline AI ใช้ได้ แต่ดีหรือไม่ดี ก็ขึ้นอยู่กับผู้ใช้ด้วย ทั้งนี้ AI…

2026-07-02

Gave a talk a while back about vm access. Mostly about common operations and how things can go wrong. This is a generic practice, so even if you're not on Azure it's still applicable. https://speakerdeck.com/kahnwong/global-azure-2026-securing-vm-access-on-azure สไลด์งานเมื่อต้นปี ว่าด้วยการเข้าถึง VM และความปวดหัวที่จะเจอ ถ้าไม่ manage ดีๆ ทางแก้พอมี…

2026-07-01

I'm not against using LLMs, but I'm not okay with using LLMs to write docs intended for humans. By that point the question will be "is this an actual intention" or "LLM had a go at it".

2026-06-29

You can use eBPF in conjunction with OTel! Don't forget to filter out what you don't need, otherwise the storage would balloon up, and there will be too much noise. https://karnwong.me/posts/2026/03/observability-with-ebpf-and-otel/ ถ้าเหนื่อยกับการใส่ OTel ให้กับทุกสิ่งอย่างที่มีอยู่ในมือ eBPF ช่วยได้ แล้วถ้าอยากลงละเอียดกว่านี้ ค่อยติด OTel อีกที…

2026-06-26

Found silken tofu in the fridge. Also an avocado was ready to eat. Yup, cubed them and added shoyu, perfect!

2026-06-25

Still a thing in 2026. What Seneca said way back then still ring true today. People never change. I mean they do, but rarely. https://lr0.org/blog/p/lkdm/ 2009 เป็นแบบใด 2026 ก็เป็นแบบนั้น เพราะคนไม่เคยเปลี่ยน (คนเปลี่ยนแหละ แต่เปลี่ยนยาก สิ่งที่ Seneca กล่าวไว้ตั้งแต่ตอนโน้นก็ยังเป็นจริงอยู่ในตอนนี้ ต่อให้เวลาจะผ่านมา 2000 กว่าปีแล้วก็ตาม)…

2026-06-22

Serverless is convenient and I love it, given the right context. In some cases, it can be more expensive than an always-on deployment. But serverless misconfiguration can cost you millions!!! And cautionary tales are in order https://serverlesshorrors.com/ Serverless ก็สะดวกดี เชียร์ให้ใช้นะ แต่ต้องดูทรงดีๆ ว่า ใช้แล้วดีกับตัวเอง หรือใช้แล้วลำบากกว่าเดิม แต่บทเป็น serverless…

2026-05-04

Everyone wants to excel at what they do, but on the other side it's very lonely, especially when they want to vent but there's no one else sharing the same context as them. People want them to stay where they are to solve hard problems. Let's not forget they are also humans too. https://spacedaily.com/sd-a-competence-is-lonely-nobody-talks-about-why/…

2026-04-30

Gotta make sure your apps don't have funny security holes. Pentest engineers might not be on the same page as software engineers, and that's normal, they speak different languages. Good news is as long as you are open and try to communicate, things will work out alright. Humans are very resilient.…

2026-04-27

I always say OSI Layer 8 is "people" https://diego-pacheco.blogspot.com/2026/01/environments-and-people.html เหนือ hardware มี networking บน networking มี app พ้น app ไป ก็มนุษย์ตัวนิ่มๆ เพราะปัญหาส่วนใหญ่ ไม่ได้แก้ที่เทค แต่ต้องแก้ที่คนและการสื่อสาร (ถ้าใช้เทคแก้แล้วจบ ป่านนี้จบไปนานแล้ว ไม่คาราคาซังนานขนาดนี้หรอก)…

2026-04-23

Seen my fair share as well, but now I can laugh about it. https://www.reddit.com/r/sre/comments/1rw0p4d/whats_the_most_absurd_internal_request_youve/ Welcome to โลกคู่ขนาน แต่ก็อย่าด้อยค่าตำแหน่งอื่น เพราะทุกตำแหน่งถนัดกันคนละงาน เพราะถ้าเอา engineer มาทำงาน product จริงๆ อาจจะร้องกรี๊ดก็ได้…

Book Highlights - Babel by Gaston Dorren

Language is such an intimate possession, something that one possesses in the same measure that one is possessed by it. Language is bound up with the foundations of one's being, with memories and emotions, with the subtle structures of the worlds in which one lives. -- Alok Rai, Hindi Nationalism Words of up to six letters must be easier to memorize than those of centerpede-shaped things that…

2026-04-20

When things are too good and you have to ruin it by using it at the wrong time. RIP. https://worstofbreed.net/ ในเมื่อมีสิ่งที่ดี แต่สิ่งที่ดีที่ใช้ผิดจังหวะก็กลายร่างเป็นสิ่งที่แย่ได้เช่นกัน มา มากรี๊ดด้วยกัน https://worstofbreed.net/

2026-04-13

I got started with humanities. Turns out I used it for software engineering, and that was before I put two and two together. Wild, isn't it. Once you can see that systems are communication patterns there's a lot of things you can play with to get desired results. https://blainsmith.com/essays/humanities-in-the-machine/ ส่วนตัวพื้นมาจากทางมนุษย์ศาสตร์…

LLM tracing with MLflow AI Gateway

Tracing. Wait, what? It's too easy to develop agentic apps, or use coding agents to help you with stuff. Claude Code, Gemini CLI, Codex, OpenCode, Copilot CLI and many more that I forgot to mention are popular for a reason. These coding agents would report how many tokens are consumed so you can plan your coding sessions as to not run out of usage credits. But do you ever wonder what's…

2026-04-06

When you are a CLI warrior but you need to work with CSS https://github.com/sharkdp/pastel เมื่อมนุษย์ ops ต้องมาจับ css แต่ชีวิตเกาะกับ terminal ก็ต้องใช้สิ่งนี้ มันดีมาก เลือกสีมาแล้วปรับค่าต่อได้เลย pipe ไปเรื่อยๆ https://github.com/sharkdp/pastel

Garmin development setup on Linux

In the beginning I was complaining about Apple Watch's battery life (it requires a daily charging session), so a friend recommended Garmin to me. And I'm hooked. My Garmin model lasts two weeks on a single charge, which is great because a nightly charging regimen can use one less device. Trawling the web, I hear people mention on Bluesky that you can write your own Garmin app (which…

Development environment setup with flox and direnv

The status quo When you are working on a project, one of the core requirements would be to choose a programming language to use. If you work alone, as long as everything is reproducible on your development machine, things would be more or less all right. If you need to use other packages, you can install them as you go along, which could be a brew install $package , curl…

Observability with eBPF and OTel

Background Imagine maintaining multiple services, either monolith or microservices. Sometimes they communicate with each other, sometimes they don't. But do you know how they communicate with each other? You could dive into the source code, but then you have to cross-check it with actual network requests 😶. Then there are logs and metrics, and without proper grouping it's going to be a…

2026-03-26

ได้ยินคนคุยกันแว่วๆ ว่า OpenClaw ต่างกับ Agents ยังไง เลยเป็นที่มา 👀 ใดๆ ก็ตามที่มี Gen AI / LLM ประกบ ก็จะโดนเหมาเข่งว่าเป็น Agents ได้ไม่ยาก แต่ถ้าจะนิยามสั้นๆ: LLM คือตัวฐาน เป็นสมองก็ว่าได้ ซึ่งจะแยกร่างเป็นทรงหลักๆ ดังนี้: Text Generation - นึกถึงเวลาคุยกับ Gemini / ChatGPT ตัว LLM รับ text และพ่น text ออกมา Automatic Speech Recognition - นึกถึง live transcription…

Classical models vs neural networks for tabular data

Intro I started working with machine learning around 2018, back then it was a transition period from classical ML to neural networks. Given the problem we had to work with at the time, classical ML was better since we needed the models to be explainable to comply with regulations. At one point we hit a dead-end when trying to improve model performance, so I tried to use neural networks to see how…

Multi-account git setup

If you work in software-related roles, it's likely that you can't do your work without git. Collaboration is going to be a very painful experience if you just store source code in a shared drive. On initial setup, you'll get asked to enter your name and email to be used for a git commit. You can supply a random name or invalid email and it'll be fine, because these info are not…

2026-02-23

Slides from my talk at AgentCon Bangkok. Interop is key, and don't forget to monitor prod 👀 https://speakerdeck.com/kahnwong/agentcon-bangkok-2026-how-to-stay-sane-in-the-age-of-agents สไลด์งาน AgentCon Bangkok ว่าด้วย interop และ monitoring in production ทำดีๆ แต่แรกจะไม่ร้องกรี๊ดตอนทีมขยาย เพราะถึงตอนนั้นอาจจะมีของตกสำรวจแอบรันอยู่บน prod แล้วไม่รู้…

2026-02-19

เราควรเลิกเถียงกัน ว่า ops ต้องเขียนโค้ดไหม แต่สิ่งที่ควรลด ละ เลิก จริงๆ คือ shift left แล้วให้ dev จัดการทุกอย่าง (dev จัดการเองได้ แต่ไม่ใช่ทุกอย่าง) เอา dev ไปทำ features น่าจะเหมาะกับจุดประสงค์จริงๆ ของงานมากกว่า ให้แต่ละคนได้ focus ในสิ่งที่เป็นหน้าที่ของตัวเองจริงๆ ไม่งั้นก็จะไม่ต่างอะไรกับการหา superman ยกทีม https://charitydotwtf.substack.com/p/bring-back-ops-pride

2026-02-16

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. https://www.reddit.com/r/devops/comments/1r2so5d/whats_the_most_expensive_devops_mistake_youve งาน ops ง่าย ถ้าใช้ท่อ deploy ที่ platform ต่างๆ มัดไว้ให้แล้ว แต่ของจริง พลาดนิดเดียวมีสิทธิ์หมดตัว…

2026-02-12

Because data is beautiful https://www.simonpcouch.com/blog/2026-01-20-cc-impact/ ช่วงกลางปีที่แล้วเด็กเนิร์ดที่ Mountain View พบว่า คุยกับ AI ตานึง ใช้พลังงานเท่ากับไมโครเวฟ 1 วินาที แต่ตอนนี้ agents โตแล้ว และวันนึงเฉลี่ยจะใช้พลังงานเท่ากับเครื่องล้างจานรอบนึง ไปอ่านเต็มๆ ได้ https://www.simonpcouch.com/blog/2026-01-20-cc-impact/

Book Highlights - Of Monsters and Mainframes by Barbara Truelove

I love this book because the prose is very concise. The gender-bending helps. Also the tech/ai easter eggs, especially if you work in this field. Stewart: Before my ethics module can kick into gear... Stewart: YOU USELESS SUM OF A BYTE! Stewart: To borrow a human expression: fuck. Fuck fuck fuck fuck fuck. Hades: spits out a lump of nasty-looking HTML Agnus: Also, explosions are bad, and…

2026-02-03

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.…

Reduce workload attack surface with distroless image

These days workloads should be containerized because it's easier to manage and reproduce. However, vulnerabilities do and will exist in the base image. Because base images that you are familiar with - alpine, debian, ubuntu - all contain shell and package manager. This means that if you can somehow access the shell through vulnerabilities, you can do pretty much anything. It's possible…

2026-01-26

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. https://advent-of-ai-security.com/ ใช้ AI เป็น ทำ agentic apps ได้ ก็อย่าลืมอุดรูรั่ว security ทั้งหลาย ไม่งั้นจะโดนเจาะจนพรุน และตามล้างตามเก็บ data exfiltration