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
• Unknown

Serverless real-time machine learning inference with AWS

For a machine learning project, usually it is divided into two main categories: research and production. For research ML project, the model would be created and used locally on a researcher's machine. For a production ML project, a deployment would be involved. Usual pattern...

Karn Wong
• Unknown

Some problems can be solved with workflows

When we face with engineering problems, it's too easy to fall into the trap thinking it should be solved with a technical solution. Seasoned engineers think differently, because they realize that most of the time, it's "people" or "workflow" problems. Let me provide a few ex...

Karn Wong
• Unknown

Using Apache Iceberg to reduce data lake operations overhead

Updated 2024-02-21 - update iceberg catalog ref url Every business generates data, some very little, some do generate ginormous amount of data. If you are familiar with the basic web application architecture, there are data, application and web tier. But it doesn't end there...

Karn Wong
• Unknown

Reduce operational costs with Terraform

Background Think of websites you visit each day. Most likely they are hosted on a cloud provider such as AWS, GCP, Azure. The good news is it's very easy to create a simple deployment with a virtual machine, but for scalable and high-availability workloads, usual recommenda...

Karn Wong
• Unknown

Spark on Kubernetes

Background For data processing tasks, there are different ways you can go about it: using SQL to leverage a database engine to perform data transformation dataframe-based frameworks such as pandas, ray, dask, polars big data processing frameworks such as spark Check out t...

Karn Wong
• Unknown

Data Engineering Resources

Note: if you've seen the list elsewhere, it was probably me. I first posted this list on Data Engineering Discord and Data Engineer Cafe. Books Data fundamentals (good entrypoint) Fundamentals of Data Engineering - Joe Reis & Matt Housley Seven Databases in Seven Week...

Karn Wong
• Unknown

A networking God tale: all I want is to run a speedtest behind a firewall

Imagine going to your client's site to deploy a software. During the deployment process, you notice that the speed is atrociously slow. You have a suspicion that your client's network bandwidth is the issue. To test this theory, you go to a speedtest website and run a test. ...

Karn Wong
• Unknown

Spatial data to QGIS server playbook (yes, this is for prod)

Some of you might be familiar with geoserver for serving spatial data as consumable WMS/WFS layers. The issue is that as far as I know, you have to manually manage assets upload and specifying styles manually. Also the tool is a bit dated. One modern alternative is QGIS serv...

Karn Wong
• Unknown

Create Kubernetes service accounts with Terraform

Sometimes you'll have to grant other people (or entities) access to your Kubernetes cluster. Easiest is you can give them your admin credentials, but this is similar to giving your house key to a friend, when they only need access to your living room. You can give them diffe...

Karn Wong
• Unknown

pglogical setup

In certain cases, you can't do a full postgres replication to another instance, or you prefer a fine-grained control on what to replicate, pglogical is one way to achieve partial replication, albeit this requires more manual setup. Below are steps I used to do a pglogical re...

Karn Wong
• Unknown

Book Highlights - Atlas of the Heart by Brene Brown

People will do almost anything to not feel pain, including causing pain and abusing power.

Very few people can handle being held accountable without rationalizing, blaming, or shutting down.

Without understanding how our feelings, thoughts, and behaviors work together, it’s almost impossible to find our way back to ourselves and each other. When we don’t understand how our emotions shape our thoughts and decisions, we become disembodied from our own experiences and disconnected from each other.

Karn Wong
• Unknown

Book Highlights - Build by Tony Fadell

Asshole assholes: They suck at work and everything else. These are the mean, jealous, insecure jerks who you’d avoid at a party, but who inevitably sit immediately next to you at the office. They cannot deliver, are deeply unproductive, so they do everything possible to defl...

Karn Wong
• Unknown

Hassle-free Kubernetes monitoring with Coroot

Successfully deploying services are not the end, maintenance is coming to town! When you want to see how your system works, usually people rely on SaaS like Datadog or New Relic to do the heavy lifting. Also a lot of $$$ is required. Also with SaaS like these, usually you ha...

Karn Wong
• Unknown

Book Highlights - Managing Transitions: Making the Most of Change by William Bridges

It isn’t the changes themselves that the people in these cases resist. It’s the losses and endings that they have experienced and the transition that they are resisting. A large university reassigned one of its vice presidents to a far less important area than the one he had...

Karn Wong
• Unknown

Use SQL against CSV (or other hard files) without CLI

CSV as a file format is very versatile, almost any programs can parse it. The only issue is you can't use SQL against CSV files directly. This is a major pain point, since using SQL is so much faster than firing up a jupyter notebook and wrangle the data in python, or use Ex...

Karn Wong
• Unknown

DevX starts at your local machine

Platform engineering is all the rage these days. Often, you'll often hear this term with the keyword DevX. How are they related? Imagine you are working on a microservice backend. You are just starting out, so you don't have much features to work on yet. But as a PoC, you on...

Karn Wong
• Unknown

The mythical ChatOps in action

Imagine having multiple services running, each has its own logs. Most people don't read them, and they shouldn't, because services emit a lot of logs! But we need them, because it's the only way to diagnose and troubleshoot system errors. But you might say "my service is not...

Karn Wong
• Unknown

DuckDB vs Polars vs Spark!

I think everyone who has worked with data, in any role or function, used pandas 🐼 at certain point. I first used pandas in 2017, so it's 6 years already. Things have come a long way, and so is data size I'm working with! Pandas has its own issues, namely no native support fo...

Karn Wong
• Unknown

Cost optimization with Kubernetes

Correction 2023-07-02: fix homelab specs and corresponding AWS EC2 instance class (it's actually 32GB RAM, not 64GB) Congratulations, you managed to successfully deployed a few services on kubernetes! But this is not the end 👀. Unfortunately money doesn't grow on trees, and ...

Karn Wong
• Unknown

Kubernetes with Grafana Cloud

Kubernetes is awesome, I think this is obvious if you have more than a handful of services to manage. If you use cloud, either VM or container-based runtime, it would provide you a dashboard to see the metrics. But what about kubernetes? Since you would have multiple service...

Karn Wong
• Unknown

Bare metal works, until it doesn't. Hello, cloud.

Background Ever wonder how websites (and everything in between) work? Chances are you can create a project running on your local machine. It works as you expected, but to let other people access it, you have to "deploy" it. For many years, to support a lot of request volume...

Karn Wong
• Unknown

Google Analytics v4 ingestion via BigQuery

Background You want to track who access your site, Google Analytics can do that. To see the data, you can use Google Analytics dashboard, the default settings is good enough for most use cases. But what if you have a lot of tracking data, and you want to streamline a way to...

Karn Wong
• Unknown

SecretOps with Teller

Raise your hands if you normally have to send .env files to your team members so they can start a project in dev environment. While there is nothing wrong with this approach, it could introduce a lot of security risks, namely sharing secrets via plaintext protocol. Sure, you...

Karn Wong
• Unknown

Data transformation - Python vs SQL showdown

For most people, using SQL to transform data is a no-brainer, seeing it's a very versatile language, and doesn't have quite a steep learning curve compared to python. There are some cases where SQL is more suitable for a task, but the reverse can also happen as well. For ins...

Karn Wong
• Unknown

Terraform RDS module with DNS setup

I love not having to manage databases. Hosting it on your compute is guaranteed to be cheaper, but I don't want to be constantly worrying about backups and database upgrade / maintenance. AWS offers managed databases, known as RDS. Mostly I use postgres, which works well for...

Karn Wong
• Unknown

Book Highlights - Engineering Management for the Rest of Us by Sarah Drasner

Organizational health lies in being able to work together. As a manager, our job is to try as much as we can to drive balance and clarity. A happy, driven team sees the wider purpose of their work and also feels empowered to execute tasks individually. “You can’t call yourse...

Karn Wong
• Unknown

Book Highlights - The Staff Engineer's Path by Tanya Reilly

Opportunity cost Staff engineers’ skills are usually in high demand. If you’re assigned to a single team, you may not be top of mind for solving a problem elsewhere in the org, or your manager may be unwilling to let you go. Losing empathy It’s easy to overfocus and forget...

Karn Wong
• Unknown

Load balancer 101, thou shalt not be alone

Scaling, the dreaded word among developers, because this means more complexity. But why do we need scaling? Imagine a super busy corner store. During early mornings, there might not be a lot of customers, so one cashier might be enough to handle all customers. But during aft...

Karn Wong
• Unknown

Cross-platform package (+env) management with Nix

For many years, installing a package on linux means either: Compiling a binary from source, then install it. -> I think we know why this didn't catch on for the mass. Downloading a compiled binary for your system's architecture and platform. -> This requires you to al...

Karn Wong
• Unknown

Load credentials into your shell via Bitwarden CLI - Fish edition

Recently I work with GitHub CLI a lot, and having to constantly fire up Bitwarden app to retrieve GITHUB_TOKEN gets old real fast... I was thinking of storing it in a gist in a password manager, luckily someone had the same idea and implemented it. The only issue is that I u...