2coffee.dev

Latest threads

Recent notes, ideas and conversations.

View all
Xuân Hoài Tống

These past few days I've gotten "hooked" on helix editor again, everyone. I have to admit, every now and then when I come back to it, my "skill" at using keyboard shortcuts gets a little better.

This time I'm more determined than before, so I've managed to use it for longer, and I'm also gradually getting more used to having to cobble together a few tools to view "diff" in helix.

(2)
Xuân Hoài Tống

I bookmarked the lazy-tmux.xyz repository quite a while ago, but only today did I remember it and get a chance to try it out.

This tool helps back up and restore sessions that are open in tmux. If you accidentally shut down the tmux server, all the data will be lost, for example when restarting the machine. It can be configured to save everything that has been output to the console, across all sessions and all windows, as you choose. I tried it out, and it can restore things to some extent, though it’s not 100% perfect yet. But at least the data in the console is still there, so you can see what you were doing before.

(0)
Xuân Hoài Tống

Anthropic just introduced Claude Opus 5.5 and then just a few hours later OpenAI also introduced GPT-6 Sol & Luna.

Because they launched so close together neither one seems to compare scores with the newly released one. But the commendable point is that both are cheaper than their predecessors.

Claude Opus 5 Introducing GPT‑6 Sol and Luna

(0)

Articles

Longer stories about technology and the process of building products.

View all
NEW
other

AI Is Making Me Too Lazy to Think and Too Reliant on It

For the past few days, I have been adding features to my website. As I mentioned when I tore it all down and rebuilt it last time, I used AI to recreate most of what the old version had, moving its features and interface to a rewritten version built with a new stack. Up to 99% of the code was not written by me at all, but by AI. Still, I had to understand the core because I was the one guiding AI in that direction; I did not want to let it decide everything on its own because that could easily get out of control. Article data is stored in an SQLite file, then 11ty extracts it to generate completely static HTML pages. A script...

other

New Stack: 11ty, sql.js-httpvfs, and Preact.js

Hello readers of 2coffee.dev, four months have flown by like the wind, and this time I'm back with a new article. How have you been? How are you adapting in this era of AI dominance where almost everything in work is being automated? Every now and then, a few friends ask if I'm still writing. Do I use AI to write? Hmm... definitely not. Why would I use AI to write when anyone can use it to churn out countless articles to their liking? I mean, if they want, they can use AI to generate articles and read them. But if you ever feel the need for something fresh, come back here — because all the content here is crafted by me, with many hours of reflection.

Posts

Concise notes from what I am learning and making.

View all
NEW

Profiling Technique - Finding and Removing Performance Bottlenecks in Node.js

profiling

The first one or two years after starting work are often the most energetic period in a programmer's career. I could imagine many ways to solve a problem, and even think about which approach would be the most "elegant". The reasoning was simple: if an approach was recommended and used by many people, it must be the best one. A piece of logic that initially looked simple could become as thick as a burger after passing through several layers of thought, because a function had to pass through several wrappers to be ready to "cover" many future cases.

Writing code can be an enjoyable job. Solving a problem can lift my mood for the whole day, give me stories to talk about with colleagues, and let us analyze and dissect problems that seemed unknown to everyone else. Yet most conversations eventually come back to one question: "What about performance?" Getting the code to run is one thing, but have you ever asked how to know whether your code is good enough? Many people think that simply following Best Practices will automatically make it run as fast as possible. That is true, but not enough. If everyone were certain that their code was good, perfect systems would be everywhere. Whether code runs quickly depends on many factors, not just how it is written. People do not usually rely on intuition to judge whether a piece of logic is fast or slow. To prove it, they need data, or at least need to know which part of the code is taking time to process. Only after everything is laid out in front of them can they find a way to optimize it.

Profiling is a widely used

Musings about the debugger – What is DAP?

debugger

Over the past few days, I’ve switched from VSCode to using Zed for a few reasons. Zed is a code editor written in Rust, very lightweight, and its interface is similar to VSCode in many aspects. However, Zed still has its own differences and follows its own philosophy. Personally, I’ve used Zed since its early days; my first impression was that it was very fast and smooth. That said, many features I was used to in VSCode were missing in Zed, so I only stopped at the level of experimentation.

One feature I use very frequently is debugging with breakpoints: selecting positions and observing the data flow in the system. VSCode is a popular editor, so enabling debugging is much easier. It usually takes only a few steps, and especially if you use a framework, you can easily find guides online. In general, VSCode does a very good job of simplifying things for users.

Therefore, after switching to Zed,

MCP – Prompts & Resources

mcp

This may be the last post in the basic MCP series on the blog. Originally I had planned not to write any more because the documentation for Prompts & Resources in MCP is very limited, but since these two topics are interesting I decided to introduce them to readers.

I have read and studied the material about these two items on the MCP main site. After understanding the principles and use‑cases, I looked for projects that have integrated them and intended to add examples to this article, but it turned out that very few projects actually implement these two components. Why is that?

In my opinion, a few

Hoài

Software Engineer, Blogger, Mentor...

I'm Hoai - a software engineer who enjoys turning ideas into useful products and writing about the journey along the way.

Explore
Illustration of Hoai waving