Sign in

Ken Huang

@kenhuang-io.bsky.social
65 followers 52 following 110 posts

Falling in love with #clojure, #clojurescript, and #emacs. kenhuang.io

PostsRepliesMedia
Ken Huang @kenhuang-io.bsky.social · 09/10/2026
Sometimes I need to sync files between devices, and using a browser is the simplest option for me. So I created File Pigeon for that with #Clojure, check it out: github.com/kenhuang-io/...
github.com
GitHub - kenhuang-io/file-pigeon: A fast, lightweight web app for file exploring, uploading, and downloading
A fast, lightweight web app for file exploring, uploading, and downloading - kenhuang-io/file-pigeon
000
Ken Huang @kenhuang-io.bsky.social · 07/06/2026
Take notes while watching YouTube videos, search and perfect them afterward:
000
Ken Huang @kenhuang-io.bsky.social · 30/05/2026
A simple one it might look, but this English phrase of "a foolproof plan" is super hard to pronounce right for me😳:
000
Ken Huang @kenhuang-io.bsky.social · 30/05/2026
Eliminating todo items in my English notes:
000
Ken Huang @kenhuang-io.bsky.social · 23/05/2026
Ah-oh, whisper-cli's got a bug🤣:
010
Ken Huang @kenhuang-io.bsky.social · 21/05/2026
Babashka (a Clojure) was helpful in solving some real problems for me, at least: youtu.be/E5SxZEp6Q0s?...
youtu.be
Babashka: Reverting VM Snapshots | Clojure
YouTube video by Ken Huang
010
Ken Huang @kenhuang-io.bsky.social · 18/05/2026
N vs NG sounds are super hard for me as a Mandarin speaker, but this video seems to be helpful for me: www.youtube.com/watch?v=Vnu6...
youtube.com
How to Pronounce N vs. NG at the Ends of Words
YouTube video by SpeechModification
000
Ken Huang @kenhuang-io.bsky.social · 13/05/2026
Virt Manager works well, but I don't understand why it doesn't offer an option to display snapshots in a tree view. It can be misleading before you realize it sometimes; it's so annoying! Compare to what the virsh CLI shows:
000
Ken Huang @kenhuang-io.bsky.social · 10/05/2026
If it works, don’t touch it.
000
Ken Huang @kenhuang-io.bsky.social · 10/05/2026
If it works, don’t touch it.
000
Ken Huang @kenhuang-io.bsky.social · 09/05/2026
It's unbelievable that the Flatpak package of Buzz takes more than 5 GB!
000
Ken Huang @kenhuang-io.bsky.social · 05/05/2026
It was nice to hang out with Clojure folks around the globe. Among other things, I learned from an American native speaker that FX is usually short for effect in English, which in turn helped me better understand the docs for re-frame and re-dash.
120
Ken Huang @kenhuang-io.bsky.social · 02/05/2026
blog.kenhuang.io/blog/2026-04...
blog.kenhuang.io
Creating Desktop Apps with Clojure and Cljfx
Intro I've been building Backdrop, a desktop app, in Clojure for the last few months. I never thought I would build a desktop app, since I mainly did backend work. But I did, with the help of Cloju...
000
Ken Huang @kenhuang-io.bsky.social · 30/04/2026
Here is how to turn off the "HTML Document" pop-up window after copying a URL in KDE Plasma. Weird that you can configure it on Klipper's menu.
000
Ken Huang @kenhuang-io.bsky.social · 27/04/2026
Found an interesting org-mode command in Emacs while I was exploring org minor mode: org-goto
000
Ken Huang @kenhuang-io.bsky.social · 25/04/2026
Flutter is awesome; we can use it to develop native apps for any platform. I tried to make a Hello World app following the docs, which is not very clear on how to do it in the CLI tho. The result bin for Linux is only 47KB, and it even supports hot reload, which is insane. Next step: #ClojureDart.
051
Ken Huang @kenhuang-io.bsky.social · 25/04/2026
Is there a task switcher on KDE Plasma that supports search?
000
Ken Huang @kenhuang-io.bsky.social · 23/04/2026
Quick question: do we have a REPL with ClojureDart these days?
120
Reposted by Ken Huang
(λ. borkdude) @borkdude.bsky.social · 16/04/2026
Watch Clojure: the documentary here! www.youtube.com/watch?v=Y24v... It's an over an hour long documentary about ... #clojure!
youtube.com
How one programmer's pet project changed how we think about software
YouTube video by CultRepo
092
Ken Huang @kenhuang-io.bsky.social · 01/09/2025
I'm building a SaaS with #Clojure, and I found it was quite easy to send emails using #postal github.com/drewr/postal over the weekend. Do I just stick with it, or do I need to use something like Resend?
github.com
GitHub - drewr/postal: Clojure email support
Clojure email support. Contribute to drewr/postal development by creating an account on GitHub.
020
Reposted by Ken Huang
(λ. borkdude) @borkdude.bsky.social · 18/08/2025
From hackernews 😍 #babashka #clojure
Comments about babashka from hackernews
0171
Reposted by Ken Huang
Álvaro Ramírez @xenodium.bsky.social · 20/07/2025
#Emacs send-to (aka #macOS sharing) merged upstream xenodium.com/emacs-send-t... I'm glad I gave it a chance indieweb.social/@xenodium/11...
The image shows a computer screen with a dark-themed program window open, running within Emacs (a popular text editor). At the top, the window lists "Active filters: [!omit]", indicating some files are filtered from view.

Below this, there's a green line showing available disk space (169 GiB available), followed by a list of files and directories:

- Some file names are written in light blue, such as a patch file.
- Certain file names are highlighted in orange and prefixed by an asterisk — these are various "ChangeLog" files with numeric suffixes.
- Other standard files and folders are shown in white and blue text.

In the bottom-left corner of the screen, a pop-up menu is open, likely from a macOS system. This pop-up displays options for sending files, such as "AirDrop," "Mail," "Messages," and others, with "AirDrop" currently selected. The pop-up mentions that there are 5 documents, totaling 17.1 MB.

The background behind the program is a blurred, colorful abstract pattern in blue, tan, and orange hues.

In summary: The image shows a file manager in a programmer's editor window, listing files and folders, with a macOS pop-up menu open for sharing files. The overall appearance is clean, modern, and uses a dark mode color scheme for accessibility.
3103
Reposted by Ken Huang
Weavejester @weavejester.mastodon.social.ap.brid.gy · 17/06/2025
Released Ring 1.14.2 to fix a vulnerability with Apache FileUpload (nvd.nist.gov/vuln/detail/CVE-2025-4…) #clojure
nvd.nist.gov
NVD - CVE-2025-48976
061
Ken Huang @kenhuang-io.bsky.social · 15/05/2025
🥷 Clojure Pro Tip 4 In case you don’t know it, we can use raw strings, like embedding JS code, in hiccup. I just found out we can use `raw` to prevent strings from getting escaped. I should’ve found this at the beginning, as it’s mentioned on the homepage, but somehow I missed it.
070
Ken Huang @kenhuang-io.bsky.social · 29/04/2025
🥷 Clojure Pro Tip 3 Sometimes, we may want a few examples of a #clojure API for inspiration. With #cider in #Emacs, we can run M-x cider-doc to see the docstring for the symbol. We can even use M-x cider-clojuredocs for examples if the symbol is from the language core.
010
Ken Huang @kenhuang-io.bsky.social · 23/04/2025
Clojure Pro Tip🥷 2 So you're more than excited to find out how #clojure thread macros can make code clean and concise, you just love it! But at some point you'll be trapped a bit as the threaded argument's positions are inconsistent using -> or ->>. Luckily, you can use as-> (see the pic)
161
Ken Huang @kenhuang-io.bsky.social · 18/04/2025
It's amazingly easy to group things in #Clojure. The core provides a group-by function directly. Together with many built-in functions or key functions, it creates tons of possibilities, and we can also bake our grouping function if none is satisfying. Example from github.com/functional-k...
061
Ken Huang @kenhuang-io.bsky.social · 05/04/2025
Clojure Pro Tip🥷 In #clojure, we can use comment for tests in development. However, since a comment evaluates to nil, you may run into surprising results/errors if you misuse it. In these cases, you may tend to use ; to comment them out, but a better choice is to use the discard reader symbol #_.
030
Ken Huang @kenhuang-io.bsky.social · 25/03/2025
Clojure practice tip💡 Even if we might not have the opportunity to code in #clojure at work, we can still use it for ad-hoc scripting or proofs of concept. I promise it’s a lot of fun, thanks to the interactive development approach. We can try out ideas, building stuff bottom-up or top-down.
051
Ken Huang @kenhuang-io.bsky.social · 22/03/2025
ANN: a small #clojurescript lib for collecting events for google analytics, you can use it in a web app or a chrome extension. github.com/whatacold/go...
github.com
GitHub - whatacold/google-analytics: 📈A ClojureScript library to collect user events to Google Analytics.
📈A ClojureScript library to collect user events to Google Analytics. - whatacold/google-analytics
152
Ken Huang @kenhuang-io.bsky.social · 22/03/2025
Emacs Pro Tip🥷 Having too many buffers isn't good for switching buffers in #emacs. After finishing a project, we'd better close all its buffers. How? 1. C-x C-b opens up ibuffer 2. Click at the top to sort by that column, or hit s f 3. Mark them by m, then hit D to close them
020
Ken Huang @kenhuang-io.bsky.social · 18/03/2025
Trying #emacs on a Macbook a little bit, not productive at all right now. Which build do you use? And how do you deal with no right ctrl?
100
Ken Huang @kenhuang-io.bsky.social · 18/03/2025
Sometimes the best way to gain new insights on how to get things to work is to check out the source code. Just found out how to set thread numbers by setting :min-threads and :max-threads for #ring and #jetty in #clojure: github.com/ring-clojure...
github.com
000
Ken Huang @kenhuang-io.bsky.social · 17/03/2025
Thanks! It looks fantastic! And here is the page for #clojure: learnxinyminutes.com/clojure/
learnxinyminutes.com
Learn Clojure in Y Minutes
110
Reposted by Ken Huang
Marco Dalla Stella @mdallastella.functional.cafe.ap.brid.gy · 12/03/2025
Noj in a JAR - setup-free Clojure for beginners: www.youtube.com/watch?v=gHwFCOkBb_o #clojure #datascience
034
Ken Huang @kenhuang-io.bsky.social · 10/03/2025
Over the weekend, I finally finished my reflection on a rewrite of a Flask web app in Clojure, the journey was satisfying, but it wasn't smooth sailing. There were many aspects that I would like to dig deeper in the future: whatacold.io/blog/2025-02...
whatacold.io
Rewrite of a Flask Web App in Clojure
Intro A few years ago, I made a simple web app in Flask to deal with some text processing problems from my daily work. It has two main features: Feature #1: generating compile_commands.json for GNU Ma...
151
Reposted by Ken Huang
Ovi Stoica @ovistoica.com · 10/03/2025
Why #clojure Shines: Episode 1 - REPL Driven Development 🧵 1/ Many languages boast REPLs, Clojure takes it to the next level. Imagine a live system springing to life the moment you fire up your project. With a seamless editor connection, you're not just coding—you’re in a live code playground 🔥
242
Reposted by Ken Huang
Daniel Slutsky @daslu.bsky.social · 08/03/2025
One more week to propose a talk for the ⭐SciNoj Light⭐ #Clojure conference. scicloj.github.io/docs/communi... If anybody is considering a talk, now is the time to talk with us, and we will help you brainstorm your draft proposal.
scicloj.github.io
SciNoj Light: an online conference for Clojure data-analysis stories
an online conference for Clojure data-analysis stories
054
Ken Huang @kenhuang-io.bsky.social · 26/02/2025
Hey #emacs friends! If you also blog using orgmode and hugo, you might wanna check this out: a tempel template for #orgmode to make it easier: (hugoimg "#+caption: " (s caption) n "#+attr_html: :alt " (s caption) n "#+attr_html: :title Click to enlarge the image" n "[[file:/img/" p ".jpg]]") 👇
whatacold.io
Emacs Debugging Techniques
If you are new to Emacs, you may run into some errors, especially after you copied some elisp snippets from the Internet or elsewhere. Don't panic! It happens, it's just part of the learning process. ...
110
Reposted by Ken Huang
Max Penet @s-exp.com · 24/02/2025
Emacs 30.1 is out! lists.gnu.org/archive/html... Happy Monday!
lists.gnu.org
Emacs 30.1 released
194
Ken Huang @kenhuang-io.bsky.social · 22/02/2025
It's great to see another release of #reagent, a #clojure thin wrapper for #react, after more than one year, thanks for the fantastic work! github.com/reagent-proj...
github.com
Tags · reagent-project/reagent
A minimalistic ClojureScript interface to React.js - Tags · reagent-project/reagent
051
Reposted by Ken Huang
Daniel Slutsky @daslu.bsky.social · 19/02/2025
See you this Saturday at the beginning of a new #Clojure #AI meetup series organized by #Scicloj. This time, @ovistoica.com will talk about #voicefn, a Clojure library for building real-time voice-enabled AI pipelines. clojureverse.org/t/scicloj-ai...
clojureverse.org
Scicloj AI Meetup 1: voice-fn - real-time voice-enabled AI pipelines
The scicloj-ai-meetups group is a new developer community focused on AI models, their underlying principles, and practical applications. The group is organized by @stoica94 and @daslu, emerging from ...
071
Reposted by Ken Huang
nostalgia of the finite @ztellman.ideolalia.com · 18/02/2025
Elements of Clojure is now available as a free PDF: elementsofclojure.com
elementsofclojure.com
Elements of Clojure
Polanyi calls this "tacit knowledge", a thing which we only understand as part of something else. When we speak, we do not focus on making sounds, we focus on our words. We understand the muscular act of speech, but would struggle to explain it.
14123
Ken Huang @kenhuang-io.bsky.social · 18/02/2025
😂Suffered one side effect of writing too much #clojure while opening an issue for libpython-clj, an incredible lib bridging clj and #python: github.com/clj-python/l...
220
Ken Huang @kenhuang-io.bsky.social · 16/02/2025
Cytoscape looks like an interesting lib: js.cytoscape.org
js.cytoscape.org
Cytoscape.js
Graph theory / network library for analysis and visualisation - compatible with CommonJS/Node.js/Browserify/Webpack, AMD/Require.js, npm, Bower, jspm, Meteor/Atmosphere, jQuery, and plain JS/JavaScrip...
000
Reposted by Ken Huang
Weavejester @weavejester.mastodon.social.ap.brid.gy · 14/02/2025
There's just 2 weeks left to submit a talk for #reclojure 2025, a community-run #clojure conference that will take place in London in May. www.reclojure.org
reclojure.org
reClojure 2025
026
Ken Huang @kenhuang-io.bsky.social · 15/02/2025
Now my blog site starts to look more like one on #clojure and #emacs, when you click on one of the nav bar items, you're actually "calling" a function 😬: whatacold.io
041
Ken Huang @kenhuang-io.bsky.social · 12/02/2025
It’s very nice that someone happened to buy me a cup of coffee while I’m planning to rewrite the website: texttoolkit.com, thanks! It was written using #flask years ago, time to brush it up a little bit.
110
Reposted by Ken Huang
bobbicodes @bobbicodes.bsky.social · 10/02/2025
Implemented Namco 163 expansion audio in LispyTunes, and figured out how to cycle the waves too #chiptune #clojure
0123
Reposted by Ken Huang
Sacha Chua @sachachua.com · 10/02/2025
2025-02-10 Emacs news sachachua.com/blog/2025/02... #emacs #EmacsNews
sachachua.com
2025-02-10 Emacs news :: Sacha Chua
183