Jim Cheung

Thursday, January 08, 2026

clean up event listeners with AbortController:

const controller = new AbortController();

const btn = document.createElement("button");
btn.addEventListener("click", () => console.log("Clicked"), { signal: controller.signal });
document.body.appendChild(btn);

controller.abort();


TIL emacs has tab bar mode: (tab-bar-mode 1)


adding to my toolbox: pranshuparmar/witr: Why is this running?


Friday, January 23, 2026

this talk is so good: From Tomorrow Back to Yesterday: A Tale of Two Web Architectures

I can't wait to try out Datastar

some readings first:


also another good talk: A ClojureScript Survival Kit

no wonder cljs was so difficult for me, because I didn't use the google closure library!

goog.date
goog.i18n.DateTimeFormat
goog.ally.aria
goog.dom.selection
goog.dom.animation (split read/write)
goog.dom.safe (XSS sanitization)
goog.math.Integer (arbitrary precision)
goog.ui.* (autocomplete, tooltips, treecontrol, datepicker ...)
goog.math.vec
goog.userAgent
goog.history
goog.uri
goog.crypt.*

note, even google doesn't maintain closure library anymore, clojure team maintained a fork of it

the talk also mentioned morphing:

Wednesday, January 28, 2026

just discovered this: steffest/DPaint-js: Webbased image editor, adding it to my toolbox

also adding another useful tool: kyutai-labs/pocket-tts: A TTS that fits in your CPU, I had a chrome extension to read highlighted text for me using tts service, but now I can just run this locally and speed is more than acceptable

evaluating this one: chunkhound/chunkhound: Local first codebase intelligence



from discussion of RIP Low-Code 2014-2025, I realized maintaining set of features and expose them to mcp could be the future of indie developers

jlowin/fastmcp: The fast, Pythonic way to build MCP servers and clients is a good start, it can wrap existing api as mcp server

mcp client I'm checking goose cli

for running local models I might switch to RamaLama — Unified CLI for AI Models

Thursday, January 29, 2026

setup a poc for using mcp server with local llm

I wrapped an existing api server with fastmcp, I tried @modelcontextprotocol/sdk, which is used in most of articles online, however they're kind of switching to v2 and have a totally different set of packages, I eventually gave up and use fastmcp instead

fastmcp is able to use openapi to create tools: https://fastmcp.wiki/en/integrations/openapi

but again, docs are little bit out-sync of latest development, my api server is slow, took me some time to figure out how to increase the timeout

the last piece is mcphost, which connects to ollama and mcp servers

it also has few builtin mcp servers that could be useful, and I haven't try scripting yet, but looks like mcphost already got everything I needed

Blog Archive
    Newer Entries
  • N/A