Ovi Stoica
ovistoica.com
Ovi Stoica
@ovistoica.com
Ex Team Lead, #clojure #emacs #conversational-ai

👉 building shipclojure.com
In light of the latest npm hacks, here is the package json comparison based on the new version of @shipclojure 😌

Most of the removals are moving from react to replicant. I think I can even do without date-fns since #clojurescript comes with it's own date manipulation.
September 10, 2025 at 6:04 PM
Was researching best software to publish docs but then I realized I wanted them on the main shipclojure(.)com website so I just used shipclojure to build them. Currently just static pages (for that sweet SEO juice) but I'll add algolia-like search

What do you think? (Docs not complete btw)
September 9, 2025 at 11:22 AM
The new Datomic/Replicant/Datascript stack for @shipclojure now has automatic CI/CD through kamal-deploy.org. It's awesome! You own your infrastructure, you can deploy to any server, whether Digital Ocean, Hetzner, or any other VM vendor.

Stay tuned for the official launch!
September 6, 2025 at 9:03 AM
"The hero is the man of self-achieved submission. But submission to what? That is precisely the riddle that today we have to ask ourselves, and that is everywhere the primary virtue and historic deed of the hero to have solved. " - The Hero With A Thousand Faces, Joseph Campbell
August 8, 2025 at 8:57 AM
Is there a probable future where the next generations will be full of (even more) very entitled people because, from a very early age, they had AI tell them "You're absolutely right!" all day long?
August 4, 2025 at 9:01 AM
Lately I'm thinking of starting a newsletter, but because I'm weird, I don't want to do fancy things with images, rich formatting, and other such things.

I want a newsletter where I just write normal text with some occasional links. Is there an API based software that does that?
July 25, 2025 at 7:32 AM
This is how YouTube should look! Just go there for deliberate search, not to be hypnotized by the feed.
July 20, 2025 at 8:59 AM
I've just finished migrating all of shipclojure's Datomic stack authentication handlers to use github.com/ovistoica/r..., and it's a joy to work with.

- Debugging routes is now very easy
- Added 1k lines of unit tests and caught some bugs in the process

Note: Those are *new* tests
July 17, 2025 at 2:04 PM
Just released ring-nexus-middleware 🎉

Middleware to support FCIS (Functional Core, Imperative Shell) style programming in ring handlers through Nexus - a zero-dependency data-driven action dispatch system.
July 15, 2025 at 7:31 AM
Don’t fight against your natural rhythm. I am more disciplined since I moved my alarm from 6 to 7 AM.
June 26, 2025 at 8:56 AM
That moment when you hit a problem so hard on your main project that you decide it is a good time to remake your emacs config
May 14, 2025 at 11:16 AM
First Clojars release of Simulflow - build voice AI agents with Clojure using a data-centric functional approach.

Check it out: github.com/shipclojure...

Release notes below 👇
GitHub - shipclojure/simulflow: A Clojure library for building real-time voice-enabled AI pipelines. Simulflow handles the orchestration of speech recognition, audio processing, and AI service integration with the elegance of functional programming.
A Clojure library for building real-time voice-enabled AI pipelines. Simulflow handles the orchestration of speech recognition, audio processing, and AI service integration with the elegance of fun...
github.com
May 13, 2025 at 9:57 AM
Yes! AI is creating a monoculture on the frontend, but also language-wise. Most new startups use TypeScript frontends & Python/TypeScript on the backend too. While this will help you move fast initially, it will seriously impact your hiring later down the line
www.youtube.com/watch?v=x3J...
Is AI Creating a Dev Monoculture?
LLMs often default to a single tech stack (like React, Tailwind, ShadCN). This tendency could reduce competition and innovation in the long run, potentially ...
www.youtube.com
May 12, 2025 at 1:58 PM
Since core.async.flow does mainly normal threads for each process, I'm experimenting with using vthreads for all other async work. Pretty happy with current work
May 12, 2025 at 9:03 AM
voice-fn now became simulfow - Origin from the Dune Universe
github.com/shipclojure...
May 11, 2025 at 1:56 PM
What’s a good way to store logs so you can serve them as part of a rest endpoint for a particular request-id?
May 11, 2025 at 8:58 AM
See you at re:clojure 2025! Can't wait to hang out with all the cool #clojure peps! Who else is coming?
May 9, 2025 at 6:02 PM
shipclojure.com now supports purchase power parity for the lifetime deal!
May 8, 2025 at 8:57 AM
From the category of "I didn't knew I needed it until I saw it": clojure+ by @nikitonsky . This package is so awesome! ⭐
github.com/tonsky/cloj...
GitHub - tonsky/clojure-plus: A project to improve experience of using Clojure stdlib
A project to improve experience of using Clojure stdlib - tonsky/clojure-plus
github.com
May 4, 2025 at 6:02 PM
Hear me out: loveable(.)dev but with daisy ui instead of shadcn so you are not tied to react ✨

Reshare if you would use. Let's see if this idea has legs
May 4, 2025 at 1:59 PM
Being a programmer nowadays
May 4, 2025 at 9:02 AM
Coming back to the re-frame data-fetching story. I’m coming at this from the react mindset where, as soon as I navigate to a page, I want to fetch data related to that page. HOWEVER

I see that some re-frame apps, just fetch everything at the start and it’s done…
May 3, 2025 at 2:02 PM
I’ve listened to this podcast on functional core, imperative shell by Magnars and the concept sounds very cool but I’d love to see an example of this, compared to the 3 layer classic application (mvc).

Anybody has some code I can look at?

open.spotify.com/episode/0Fi...
E101 FC/IS with magnars
ClojureStream Podcast · Episode
open.spotify.com
May 3, 2025 at 9:04 AM