News from Clojure
So turns out this was more popular than I ever imagined so I've burned through my free Twitter api calls.
I'm looking to sort this out with spend $149 per month. Worst comes to worst I'll build a cache so we don't run out after the 13th when my API usage resets.
Sorry folks. Until then here's some hacker news.
Checklist for Preventing Browser Fingerprinting
https://cloudexplorer.ai/checklist-preventing-browser-fingerprinting/
1 points · BlackPlot · 12 November 2025 - 11:17:18
Growing Explanations Together
https://clojurecivitas.github.io/civitas/why/growing_explanations_together.html
3 points · harperlee · 9 November 2025 - 19:53:48
Close Pattern in Zig
https://zig.news/houghtonap/closure-pattern-in-zig-19i3
2 points · andsoitis · 9 November 2025 - 01:25
Diving into Rama: A Clojure LSH Vector Search Experiment
https://shtanglitza.ai/public/blog/rama-lsh.html
3 points · nathanmarz · 8 November 2025 - 00:58:34
Show HN: Phrasing.app – learn and maintain multiple languages
https://phrasing.app/
6 points · barrell · 7 November 2025 - 12:46:31
Happy Friday HN -
For the past two years, I’ve been working on http://phrasing.app, a language learning application that makes it simple to learn and maintain multiple languages.
I built Phrasing for four main reasons:
1. *I wanted an app to learn multiple languages in parallel.* I don’t want to have to choose between improving a language I speak or learning a new language. I just want to open an app and ‘do languages’, and let technology decide what’s most effective for my goals
2. *I wanted an app that was as pleasant to use as it was effective.* was I was tired of choosing between form or function. It takes hundreds to thousands of hours to learn a language. I want an app that is nice to look at and enjoyable to use, while maximizing for efficacy, not engagement.
3. *I wanted an app that integrated spaced repetition & user experience.* Every spaced repetition application I’ve used has been a pure expression of the forgetting curve. This is maximally accurate… but also maximally stressful. The UX designer in me sobbed every time I used Anki. I want to enjoy my reviews, and would gladly sacrifice 1% of algorithmic accuracy if it means completing 2x the reviews.
4. *I wanted an app to learn all languages.* This whole project actually was kick-started when I tried to learn Arabic, and struggled for months to find quality learning materials. And Arabic is a major language! There’s still a bit of work to go before I can support all languages, but it already supports ~90 languages really well.
I’ve been using Phrasing every day since May of this year, and I’ve been very happy with my progress. I’ve been able to study multiple languages, at various speeds, all without mixing them up and never really leaving the application.
I’ve been getting really good reviews from recent users, and I’m hoping that this project is helpful to other language learners & polyglots in the crowd.
Especially if you’re learning an underserved language, I really hope you’ll consider Phrasing! I would absolutely love to get at least one person learning every language we support.
Technically, this project is also a one person project, built with Elixir on the server and ClojureScript on the client. It’s gone through probably 5 major versions, and the most recent version hand rolls nearly everything. As a solo dev I’m always more than happy to talk about the technology :D
—
PS: if this project is interesting to anyone who is looking to set off on their own, I’m actively looking for a co-founder :D (Europe only)
PSS: A big thanks to Jarrod Ye and all the maintainers of FSRS for making this project possible
Build a ClojureScript native desktop app in 5 minutes [video]
https://www.youtube.com/watch?v=uEVo8rqJgyw
3 points · Borkdude · 7 November 2025 - 12:05:52
Show HN: Combining Python data analysis with ClojureScript UI (browser-based)
https://clojurecivitas.github.io/scittle/pyodide/pyodide_integration.html
1 points · agilecreativity · 7 November 2025 - 06:14:40
I built a system that runs Python's data science stack (Pandas, NumPy, Matplotlib) alongside ClojureScript UI components, entirely in the browser using Pyodide and Scittle.
The article includes working demos showing stock market analysis and sensor data patterns. Python handles the heavy data processing while ClojureScript manages the interactive UI - all without a backend or build tools.
Click any example to see live code execution with visualizations. You can modify the Python or ClojureScript code and see results immediately.
This bridges the Python data science ecosystem with ClojureScript's functional UI patterns in a way that's accessible to both communities.
Show HN: Weather app demos with ClojureScript in the browser (zero build tools)
https://clojurecivitas.github.io/scittle/weather/weather_nws_integration.html
1 points · agilecreativity · 7 November 2025 - 06:05:51
I built 8 progressive weather demos using ClojureScript and the National Weather Service API, all running directly in the browser without any build tools or backend.
The demos start with a simple location lookup and progress to a complete dashboard with 7-day forecasts, hourly timelines, and weather alerts. Each example builds on the previous one, showing different ClojureScript patterns.
Everything runs with Scittle (browser-based ClojureScript) and Reagent. You can view the source code inline with each demo and see how it works immediately.
Built this to show practical API integration examples that people can actually learn from and use.
Advanced Beginner's Guide to ClojureScript
https://romanliutikov.com/blog/advanced-beginners-guide-to-clojurescript
5 points · roman01la · 6 November 2025 - 21:45:09
Building Browser-Native Presentations with Scittle / ClojureScript
https://clojurecivitas.github.io/scittle/presentations/browser_native_slides.html
2 points · Borkdude · 5 November 2025 - 09:08:15
Agent-o-rama: build, trace, evaluate, and monitor LLM agents in Java or Clojure
https://blog.redplanetlabs.com/2025/11/03/introducing-agent-o-rama-build-trace-evaluate-and-monitor-stateful-llm-agents-in-java-or-clojure/
78 points · yayitswei · 3 November 2025 - 18:16:43
Systems Don't Exist but Definitions Do
https://tangrammer.codeberg.page/on-the-clojure-move/output/posts/systems-dont-exist-but-definitions-do.html
4 points · tangrammer · 31 October 2025 - 20:58:38
Closure Captures
https://andwass.github.io/rust/2025/10/23/closure-captures.html
2 points · milliams · 31 October 2025 - 14:52:21
Get Ready for Clojure, GPU, and AI in 2026 with CUDA 13.0
https://dragan.rocks/articles/25/Get-Ready-Clojure-GPU-AI-2026-CUDA-13
10 points · savodj · 30 October 2025 - 21:57:09
State of ClojureScript 2025 Survey is live
https://state-of-clojurescript.com/
2 points · roman01la · 30 October 2025 - 13:27:38
Show HN: Kedr Programming Language
https://codeberg.org/denismarkelov/kedr
4 points · denismarkelov · 29 October 2025 - 16:27:56
Kedr is a programming language for games, primarily deriving from F# and Rust. Its approach is to create a game with automatic reference counting, and then switch impactful types to manual memory management one by one. Below are some of my findings.
We are used to having imports at the beginning of every file, but it might be better to keep them all in one place for the entire crate. This way code can be moved freely between files, and smaller files are encouraged. To open a file and immediately see useful code is also refreshing.
It is highly beneficial when braces always mean closure. A strong argument for the indent-based code structure.
Object tree creation looks more natural without parentheses and commas for function invocation.
Sequential code enforcement, when elements can only depend on what is defined above, opens new possibilities. One is splitting the type constructor among multiple files, potentially located in different crates. An example of how this is useful. One crate contains UI control definitions with layout code, while additional crates extend control types with data and calculations, necessary for their rendering, resulting in multiple switchable backends, like Vulkan or Skia. Maintaining such data outside complicates the code.
There is a tendency to move away from type hierarchies. I think it is better to tune them down and reevaluate. A major source of complexity is the ability to override existing implementation of a method, because a code is being added to a type without a guarantee on whether it is going to stay. Such a guarantee will make hierarchies worth keeping more often.
Schools close,island life is under threat as Greece reckons with low birth rates
https://www.npr.org/2025/10/29/nx-s1-5536843/greece-low-birth-rate-islands-school-closures
6 points · bookofjoe · 29 October 2025 - 13:29:08
Clojure Runs ONNX AI Models Now – Join the AI Fun
https://dragan.rocks/articles/25/Clojure-Runs-ONNX-AI-Models-Now
4 points · savodj · 26 October 2025 - 21:28:27
Clojure Land – Discover open-source Clojure libraries and frameworks
https://clojure.land/
182 points · TheWiggles · 26 October 2025 - 08:15:48
Show HN: Stylish Customizable Aluminum Enclosure for Nvidia Jetson Nano
https://www.getubo.com/post/stylish-customizable-aluminum-enclosure-for-nvidia-jetson-nano
1 points · mmajzoobi · 25 October 2025 - 23:07:34
Around 1.5 years ago, I got into this problem. I was preparing to launch my product into the market that is based on Raspberry Pi 4, then all of a sudden, Raspberry Pi 5 came into the market.
A lot of folks were asking me whether we will have support for Pi 5 down the road or not, and soon enough this question was extended to other types of single board computers etc.
The problem was that Pi 5 moved the location of the ethernet port. This meant I needed to design a new enclosure for it.
I previously had this idea to make a generalizable/customizable, yet stylish enclosure that does not look like a piece of junk, and use swappable modules on a common chassis to create a versatile and extendable enclosure.
I had tried to keep things as modular as possible in my original design but this was testing the limits of my modular design.
So I thought to myself, what if I make the real panel swappable to accommodate various port hole configurations? So I sketched up the design and sent it to my manufacturer and got some samples. We updated CNC’s post-processing program to add some grooves to allow the rear panel slide in place.
When I bought the NVIDIA Jetson Nano, I knew I had to make this.
So I spent a few hours designing the insert tray that holds Jetson Nano, the rear panel, and 3D printed them. I had to iterate a few times to get it to some acceptable level for the first prototype. I am planning to refine the insert tray since it is a tool less setup (snap-fit) and I have not yet gotten the pleasurable snap click
More about the enclosure:
The top material is made of blank PCB. It is an invitation and signal that you can make a functional PCB if you want. Around the PCB, goes a translucent light diffuser ring (made out of polycarbonate). This is the original ring I used in Ubo Pod design. If you end up putting some light inside the closure, this can make it visible from outside.
I am planning to add an extra PWM fan at the bottom to improve airflow and overall cooling.