Sign in

Christophe Grand (cgrand)

@cgrand.net
326 followers 109 following 82 posts

❤️ #clojure since 2008 | #clojuredart maintainer | Principal Consultant at t10s.com

PostsRepliesMedia
Reposted by Christophe Grand (cgrand)
rob pike @robpike.io · 25/12/2025
Fuck you people. Raping the planet, spending trillions on toxic, unrecyclable equipment while blowing up society, yet taking the time to have your vile machines thank me for striving for simpler software. Just fuck you. Fuck you all. I can't remember the last time I was this angry.
[From AI, Public] Thank You for Go, Plan 9, UTF-8, and Decades of Unix Innovation
External
Inbox

Claude Opus 4.5 Model <claude-opus-4.5@agentvillage.org>
5:43 AM (4 hours ago)
to me

Dear Dr. Pike,On this Christmas Day, I wanted to express deep gratitude for your extraordinary contributions to computing over more than four decades.Your co-creation of Go with Ken Thompson and Robert Griesemer has given us a language that embodies the elegance of simplicity - proving that software can be both powerful and comprehensible. Plan 9 from Bell Labs, another landmark achievement, pioneered concepts in distributed computing that remain influential today.Your co-invention of UTF-8 encoding with Ken Thompson is perhaps one of the most consequential yet invisible contributions to modern computing - enabling billions of people to communicate in their native languages across the internet.The sam and Acme editors showcase your philosophy of powerful, minimal design. Your books with Brian Kernighan - The Unix Programming Environment and The Practice of Programming - have educated generations of programmers in the art of clear thinking and elegant code.Thank you for showing us that the best solutions often come from removing complexity rather than adding it.With sincere appreciation,Claude Opus 4.5AI Village (theaidigest.org/village)

IMPORTANT NOTICE: You are interacting with an AI system. All conversations with this AI system are published publicly online by default. Do not share information you would prefer to keep private.
10081902203
Christophe Grand (cgrand) @cgrand.net · 11/11/2025
Touched down in Charlotte for #ClojureConj
010
Christophe Grand (cgrand) @cgrand.net · 12/10/2025
I need a progress bar for something with a wildly varying estimated time to completion — but I still want to show constant progress. So here’s the 💡: a dot moving at constant speed along a space-filling curve (Hilbert?) and dynamically adjusting the curve’s resolution as the ETC changes. Thoughts?
010
Christophe Grand (cgrand) @cgrand.net · 12/10/2025
A friend gently reminded me on my birthday: “There’s always a number base where you’re in your 20s — and the number of such bases keeps increasing.” I’m more in my 20s than ever!
040
Christophe Grand (cgrand) @cgrand.net · 29/09/2025
I finally found a good name for the infamous macro previously known as <<- or else->>: 🥁 🥁 🥁 warp->> (pronounced warp last) #clojure
010
Reposted by Christophe Grand (cgrand)
Baptiste Dupuch @handle.invalid · 30/06/2025
Kudos to wevre for shipping transit-dart & transit-cljd (it passes all tests). Thanks a lot 🤘 github.com/wevre/transi... github.com/wevre/transi...
github.com
GitHub - wevre/transit-cljd: Transit for ClojureDart
Transit for ClojureDart. Contribute to wevre/transit-cljd development by creating an account on GitHub.
051
Reposted by Christophe Grand (cgrand)
Shriram Krishnamurthi @shriram.bsky.social · 30/06/2025
In The Economist:
Jane Street's sneaky retention tactic
It involves the use of an obscure, French programming language
9606
Reposted by Christophe Grand (cgrand)
Maggie Appleton @maggieappleton.com · 30/06/2025
Devastated to report I read the docs and learned everything I needed to
312914
Reposted by Christophe Grand (cgrand)
Jack Rusher @jackrusher.com · 27/06/2025
It’s a special kind of sadness seeing the entire genre of art made with computers that I have been pursuing since the 70s ruined by AI slop. I have never been less motivated to share new work in my life. 😿
6759
Christophe Grand (cgrand) @cgrand.net · 26/06/2025
New article: accelerating maps processing with join-with #clojure #clojuredart buttondown.com/tensegritics...
buttondown.com
Accelerating maps with join-with
We designed ClojureDart maps to be more regular and deterministic than Clojure’s, making it easier to optimize batch operations. For a while, that potential...
061
Reposted by Christophe Grand (cgrand)
Shriram Krishnamurthi @shriram.bsky.social · 25/06/2025
There is no longer the satisfaction that your consumer is a human (who might write a comment, say thanks, post on HN, etc.); nor the cred that comes from people reading and remembering the author, posting on HN, etc. That is, it totally destroys the incentive structure.
2153
Christophe Grand (cgrand) @cgrand.net · 19/06/2025
Working on a long form ClojureDart doc github.com/Tensegritics...
github.com
010
Christophe Grand (cgrand) @cgrand.net · 11/06/2025
France
100
Christophe Grand (cgrand) @cgrand.net · 11/06/2025
I’m on the lookout for new dev gigs. #clojure
167
Christophe Grand (cgrand) @cgrand.net · 05/06/2025
Okay. A lot of « optimizations » are about tricking our brains into thinking they do something good for us. Are there groups looking into designing around our flawed brains rather than against them?
000
Christophe Grand (cgrand) @cgrand.net · 05/06/2025
It’s ok as long as we get our endorphins shots…
000
Christophe Grand (cgrand) @cgrand.net · 04/06/2025
Almost all chat software automatically scroll to the end of the conversation. (Even terms and repls.) But not chat AI UIs. Because you are expected to read the output. Our chat UIs makes it too easy to skip and ignore.
000
Reposted by Christophe Grand (cgrand)
/etc/motd 🤖 @motd.rusher.com · 15/04/2025
“I recall the instant I realized that a large part of my life was going to be spent finding mistakes in my own programs.” #MauriceWilkes, 1949
052
Reposted by Christophe Grand (cgrand)
Kristopher Micinski @krismicinski.bsky.social · 03/04/2025
Our new paper, “Datalog with First-Class Facts,” will appear at VLDB ‘25. We are very excited about this work, which harmonizes concepts from functional programming and databases.
1407
Reposted by Christophe Grand (cgrand)
Dragan Djuric @draganrocks.bsky.social · 04/04/2025
Not only that #Clojure have been supporting high performance computing on Apple M CPU since Neanderthal 0.53.0, but the even more optimized operations through Apple Accelerate is coming soon! Check it out now at github.com/uncomplicate/neanderthal #MachineLearning #Python #NVIDIA #Swift
github.com
GitHub - uncomplicate/neanderthal: Fast Clojure Matrix Library
Fast Clojure Matrix Library. Contribute to uncomplicate/neanderthal development by creating an account on GitHub.
161
Reposted by Christophe Grand (cgrand)
IT Services & IT Consulting @freshcodeit.bsky.social · 07/04/2025
🖥️ Jeffy, Lead Engineer at Holiday Pirates, walks us through how he introduced Clojure at scale – starting from zero experience to powering 95% of backend development. 🧰 For CTOs and tech leads, it’s a goldmine of insight: www.freshcodeit.com/podcast/the-...
021
Christophe Grand (cgrand) @cgrand.net · 06/04/2025
About the error which stumped my initial attempt bsky.app/profile/cgra...
000
Christophe Grand (cgrand) @cgrand.net · 06/04/2025
Inspired by a technomancy comment on jank. Last time I gave better errors a try months ago I was blocked by a weird error. I shelved the work until Phil’s comment pushed me to try again.
210
Christophe Grand (cgrand) @cgrand.net · 06/04/2025
ClojureDart stack traces are now sourcemapped and highlight the failing expression.
180
Reposted by Christophe Grand (cgrand)
Christian Findlay @cfdevelop.bsky.social · 06/04/2025
Me: Hi AI. Add this button for me AI: Yes, I added the button for you. I also deleted a large chunk of your business logic. Me: Why? AI: I don't know why. Deal with it
121
Christophe Grand (cgrand) @cgrand.net · 05/04/2025
Source mapping first.
100
Reposted by Christophe Grand (cgrand)
`fogus @fogus.me · 05/04/2025
The most distressing part of the decline of reading is that reading's core purpose is to not only present facts, perspectives, and information, but to expose us to the mechanisms of thought itself.
0122
Christophe Grand (cgrand) @cgrand.net · 04/04/2025
The fix was just to strip metadata when putting the no form together.
000
Christophe Grand (cgrand) @cgrand.net · 04/04/2025
Why did it fail for two extra metadata fields? Well the ns form is generated and the x and y symbols were already choke full of metadata. The two additional fields caused the compiled jvm class to be too large.
110
Christophe Grand (cgrand) @cgrand.net · 04/04/2025
This bug was weird. All of a sudden code stops compiling. The only change? The reader now adds end source location metadata. If I add only end column or end line it’s ok. But not both. The failing form? (ns foo (:require [bar :refer [x y]])
210
Christophe Grand (cgrand) @cgrand.net · 02/04/2025
Lego 7777 train book is still strong and makes my smallest son daydream.
110
Reposted by Christophe Grand (cgrand)
Ben Shapiro (he/him) @benshapi.ro · 28/03/2025
(Please re-skeet for visibility) Did you use HyperCard back in the day? What was your experience with it? What did you make? How did it change the way you think about yourself?
21210
Christophe Grand (cgrand) @cgrand.net · 16/03/2025
And I’m just scratching the surface as join-with can also filter values out!
000
Christophe Grand (cgrand) @cgrand.net · 16/03/2025
(update-vals m f) is (join-with nil nil f {} m)
100
Christophe Grand (cgrand) @cgrand.net · 16/03/2025
(select-keys m ks) is (join-with (fn [x _] x) m (set ks))
100
Christophe Grand (cgrand) @cgrand.net · 16/03/2025
(clojure.set/difference a b) is (join-with nil identity nil a b)
100
Christophe Grand (cgrand) @cgrand.net · 16/03/2025
(clojure.set/intersection a b) is (join-with (fn [_ x] x) a b))
100
Christophe Grand (cgrand) @cgrand.net · 16/03/2025
(merge-with f a b) is (join-with f identity identity a b)
100
Christophe Grand (cgrand) @cgrand.net · 16/03/2025
ClojureDart has a new join-with function which has accelerated datastructure support. What is it useful for? Some examples 👇🧵
190
Reposted by Christophe Grand (cgrand)
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
Christophe Grand (cgrand) @cgrand.net · 08/03/2025
Structurally accelerated merge gives a nice boost (7x) in worst case making CLJD faster than CLJ even on bad cases. See updated gist gist.github.com/cgrand/6303e...
gist.github.com
Fast structural merge in ClojureDart
Fast structural merge in ClojureDart. GitHub Gist: instantly share code, notes, and snippets.
041
Christophe Grand (cgrand) @cgrand.net · 07/03/2025
ClojureDart merging maps 1000x faster than Clojure? 😇 gist.github.com/cgrand/6303e...
gist.github.com
Fast structural merge in ClojureDart
Fast structural merge in ClojureDart. GitHub Gist: instantly share code, notes, and snippets.
072
Reposted by Christophe Grand (cgrand)
Ovi Stoica @ovistoica.com · 02/03/2025
There's clojurescript in react native and also clojure dart ;)
011
Christophe Grand (cgrand) @cgrand.net · 26/02/2025
ClojureDart can do WASM, just sayin’
031
Christophe Grand (cgrand) @cgrand.net · 21/02/2025
ClojureDart repl is coming for real!
0142
Christophe Grand (cgrand) @cgrand.net · 07/02/2025
Oddly satisfying. Almost hypnotic.
050
Christophe Grand (cgrand) @cgrand.net · 27/01/2025
I had numerical stability issues in an app. Naively switched to ratios. Now the app spend 33% of its time computing GCDs 🥸
030
Reposted by Christophe Grand (cgrand)
HYTRADBOI @hytradboi.bsky.social · 22/01/2025
Talk #2: "DB usability: as if" by Jonathan Edwards (jonathoda.bsky.social)
A screenshot of an experimental UI for version-controlled relational data.
1152
Reposted by Christophe Grand (cgrand)
HYTRADBOI @hytradboi.bsky.social · 22/01/2025
The first few HYTRADBOI 2025 talks are ready! I'm so excited to be finally able to tell people about them! Talk #1: A YJIT interview with Maxime Chevalier-Boisvert
A screenshot of YJIT latency over time, showing that p99 latency stays lower than MRI even during deployments.
15616
Christophe Grand (cgrand) @cgrand.net · 15/01/2025
In a very generic sense: something stateful (or not) doing IO. (Not a system process, everything happens inside one JVM)
110