Screenshot of a web-based object navigator targetting the JVM management interface, to reflect out the process classpath and navigate into the contents of an uberjar. This application is defined in about 200 lines of Clojure (.clj) for the java reflection (for some simple parsing and weaving together of a set of queries that relate but were not intentionally built to relate), and absolutely no frontend code. The navigator UI is fully abstracted away by a saas, the UI is not in the same process as the JVM being interrogated, it is remote. They talk via a reverse websocket with the Electric wire protocol. For more info see clojure.net/ "Network your REPL", a new experiment from Hyperfiddle.
if i were an older developer (like age 60) trying to figure out how to stay employed i would rebrand myself as a test/ci engineer. Nobody wants to do it, but its mission critical, high impact, portable across companies, legible and easy to explain, and not going away this decade
Core.async imo is an abstraction ceiling. Dataflow flavored async is referentially transparent which means you can abstract over it while retaining composition. E.g. here is an incremental sublisp, fully async, that abstracts client/server netcode. d/q html in same AST!
To be a frontier founder is to constantly question if you wasted the prime of your life while simultaneously being unable to stop because if your hypothesis is true it will usher civilization into a new economic era
First update to my list of product management aphorisms in years! The previous #1 aphorism, "Assumptions are what gets you killed", the killer of 99% of startups, has been dethroned for an even more fatal bias, Hubris, the downfall of all great men. In the words of Feynman:
do we believe this is true?
i think it is true but not in the way he implies
i think there will be non-ai breakthroughs in languages and protocols and this will be the foundation of future systems that operate like in Star Wars
there will this brief era where we can watch our AIs bumble around on the computer clicking things, failing sometimes, taking a ~human amount of time to write code. in the blink of an eye they’ll be manipulating computers far too quickly to monitor
Agentic architecture is a concurrency and resource management problem
Concurrency and resource management is unsolved at scale even for the best of developers. We’re talking the same problem space that led to kubernetes and orchestrators, except at 1000x higher frequency. Responsiveness measured in milliseconds not minutes. 10000 nodes in the system choreography, not 100. Vibecoders are not even remotely equipped to solve an architectural semantics problem that they cannot begin to even see let alone label.
So many people are stuck in the "first principles trap"
Your principles are valuable only to the extent that they help you produce timely outcomes
Feynman: "The first principle is that you must not fool yourself and you are the easiest person to fool."
say it with me now. experts are fake, smart generalists rule the world, everything is designed by people no smarter than you, and courage is in shorter supply than genius
Very impressed with Clojure Electric v3.
Tried v2 a long time ago and found it very hard to wrap my head around the bad error messages.
Now, especially with help from AI, it's very easy to write apps with a fraction of LOC than a react or clj program.
Meetup alert! TOMORROW, Tuesday March 10 I'll be presenting clojure.net/, a new Clojure UI experiment from Hyperfiddle. Embed service management console UIs in enterprise microservices that only have a backend, with zero frontend code! Get a great management console UI for your enterprise services with absolutely no client-side framework, no REST APIs, no Dockerfiles!
Join us TOMORROW (March 10) at 2:30 ET / 1830 London for this virtual event: meetup.com/london-clojurians…