Reconsidering JWT and Session Cookies
What scenarios are JWTs and session cookies each suited for? This article revisits the old debate from the perspectives of security, implementation cost, and user experience.
What scenarios are JWTs and session cookies each suited for? This article revisits the old debate from the perspectives of security, implementation cost, and user experience.
Being a cynical critic feels great and makes you feel superior, but in the end you’ll realize it leaves you with nothing but emptiness.
Many people use terms like startup, growth stage, and stable stage to describe companies, but these words are too vague to serve as useful criteria. What is this company surviving on right now? How does it grow? What is its most painful problem? If you understand company stage, you’ll know what problems you’re solving every day, and whether this company is actually a good fit for you.
From ChatGPT 3.5 to Claude Code, software development has undergone dramatic changes in less than three years. Observations, reflections, and confusion from a software engineer amid this transformation
Access Keys are an easily overlooked security risk on AWS. Use OIDC with IAM Roles so GitHub Actions can securely access AWS resources without any secrets.
Before choosing a cloud platform, calculate the real cost your team pays for AWS.
When running containerized services on AWS, why ECS is a more pragmatic choice than EC2 or EKS, and how deployment complexity eats into your budget
Backend developers often have to decide on a primary key: auto increment or UUID? What about collisions? How much faster is UUIDv7 compared with created_at + index? After benchmarking 20 million rows and looking at the design trade-offs, this post gives you the answer.
Huffman coding is one of the most classic lossless compression algorithms in information theory. Starting from the concept of information content, this article breaks down the principles of Huffman coding step by step, and includes an interactive tool so you can try it yourself.
Everyone is familiar with JPG, but there are many compression techniques behind it worth learning from. This article breaks down JPEG’s compression principles step by step—from the YCbCr color space and discrete cosine transform to quantization tables and Huffman coding—and includes an interactive DCT visualization tool.
With the dramatic progress of LLMs, the shape of software development has already been completely transformed; building an application now has almost no barrier to entry.
Sunwide View and Vigilante Justice
Spring and Shura
Tang poetry is pretty suitable for working people to read, right? The more miserable someone’s life is, the better their poetry seems to be written. Looking at how pitiful they were can help us reflect on ourselves.
Write on manuscript paper, scan it, and turn it into an image
There are no second chances in life. Every resignation teaches us plenty, and slowly helps us understand the strengths we can play to. But before you quit, have you really thought it through? In this post, I’ll share some hard-earned lessons from the front lines as a developer, as a guide for my future self and in the hope that it helps anyone who has ever felt torn about whether to leave.
In the AI era, the key to startup success is industry insight. Many execution-related tasks can be handled by experienced engineers, which makes me question whether a CTO is truly necessary.
Some old writing habits I’ve picked up over the years—I had AI analyze them, and it also happened to spark some thoughts about a recent change in my mindset.
I really dislike using Google Analytics. Besides being clunky to use, it has so many features that it’s overwhelming, and the dashboard interface and loading speed are so complicated that I don’t even want to open it. Until I finally found the ideal service a few years ago—Plausible.
By default, underlines sit very close to the text, and some designers dislike this style. Personally, I don’t think it looks very good either.