clojure-europe

thomas 2026-05-20T07:28:25.011709Z

Morning, going to give a Rama presentation this morning.

👍 2
1
Patrick 2026-05-20T08:22:43.905159Z

Good luck! I've looked into Rama briefly, and I’m wondering if it makes a good solution for applications beyond stream processing; would it be a good or bad fit for more general application development?

Ben Sless 2026-05-20T08:32:37.874879Z

I think it's a good model for general backends. Not so sure regarding a local application.

thomas 2026-05-20T08:34:52.813009Z

for backend yes... local probably not.

thomas 2026-05-20T08:37:10.391579Z

well... I survived it...

🎉 1
thomas 2026-05-20T08:37:20.219929Z

but presenting to a laptop sucks.

Ben Sless 2026-05-20T08:37:30.542129Z

Tough crowd?

thomas 2026-05-20T08:37:34.983719Z

a room with people is 1000 times better.

thomas 2026-05-20T08:38:07.966219Z

1 person asked what twitter didn't know and Rama did know... regarding the mastodon clone they wrote.

Ben Sless 2026-05-20T08:42:22.367029Z

Twitter wrote several databases to solve their problem, no?

thomas 2026-05-20T08:43:54.507379Z

yes, flockdb was one of them

thomas 2026-05-20T08:44:24.884759Z

and I think they started out on mysql and moved to a graph db

Ben Sless 2026-05-20T08:44:37.372199Z

And Nathan worked for Twitter for a while, no?

thomas 2026-05-20T08:45:07.169519Z

yes, he was in a start up called backtype I think and they got acquired by twitter

thomas 2026-05-20T08:45:16.672109Z

it is where he worked on Storm.

Ben Sless 2026-05-20T08:46:14.877829Z

To say, Rama was built with problems like Twitter in mind. "What if you had a generalized backend that could dolce Twitter's issues" What Rama knew that Twitter didn't? It's about what they had - hindsight

thomas 2026-05-20T08:46:46.991019Z

good point

Ben Sless 2026-05-20T08:54:07.531989Z

you can also plot an evolutionary process in the design of Data Intensive Applications here, and some convergence with event sourcing and single level stores. Kafka Streams, Datomic, Samza, Storm - eventually you end up with: • data and compute should be colocated • compute should be reactive • compute results should be checkpointed immediately • there should be support for a natural partition of data + compute you couldn't end up with anything other than Rama

💯 1
Ben Sless 2026-05-20T08:54:46.354079Z

that is, if you wanted a generic backend. If you wanted a restrictive subset you could use materialize dot io or Naiad

thomas 2026-05-20T08:55:42.699579Z

nice idea

Ben Sless 2026-05-20T08:56:46.291409Z

Thanks. I guess this explains why I'm bullish on Rama

thomas 2026-05-20T08:57:08.102909Z

🙂

thomas 2026-05-20T08:57:11.609579Z

same here

Ben Sless 2026-05-20T08:58:01.813489Z

did you manage to convince your colleagues?

thomas 2026-05-20T08:58:35.383269Z

one of them seems to like the idea.. .for the rest no clue as it was an online presentation

Ben Sless 2026-05-20T09:11:24.688009Z

I've been psyopping my colleagues dropping "Rama fixes this" for every issue we had in our backend in the past year

thomas 2026-05-20T09:11:39.858759Z

🤣

thomas 2026-05-20T09:11:42.326289Z

good idea.

thomas 2026-05-20T09:12:40.853489Z

I had that for a long time with Clojure.... and at a certain point it felt like that Clojure was the answer to all questions, regardless the question.

thomas 2026-05-20T09:13:05.330809Z

(probably true, but it feels like clichee(?))

Ben Sless 2026-05-20T09:13:23.928539Z

I wouldn't do real time or HFT in Clojure

Ben Sless 2026-05-20T09:13:27.679679Z

I'd use Jank!

🥁 1
😁 1
😂 1
thomas 2026-05-20T09:13:46.345019Z

fair point

thomas 2026-05-20T09:13:57.504969Z

then again... I wouldn't wanna do HFT.

Ben Sless 2026-05-20T09:14:12.479059Z

There is a disproportionate concentration of good taste and good design in the Clojure world, we're justifiably biased

👍 1
Ben Sless 2026-05-20T09:14:29.145739Z

HFT is very interesting from the engineering challenge perspective

thomas 2026-05-20T09:14:59.033979Z

ooh yes, I agree. But from a morel perspective not so much

Ben Sless 2026-05-20T09:16:16.725509Z

There are other performance sensitive domains, like game engine design, take your pick. There's an argument to be made that HFT is necessary and inevitable, but that's for another thread 🙃

thomas 2026-05-20T09:16:50.344229Z

yup

Asier 2026-05-20T11:33:53.496669Z

What's HFT?

Ben Sless 2026-05-20T11:34:14.910819Z

High Frequency Trading

👍 1
Patrick 2026-05-20T11:39:36.688359Z

Do you think Rama would be a reasonable replacement for Datomic? Not everything has an ingest/high volume bottleneck, but I'm wondering about developer productivity and code evolution affordances.

thomas 2026-05-20T11:40:59.347489Z

No idea TBH, you would have to build your own time traveling...as Rama can do/does update-in-place. (from all I understand)

Ben Sless 2026-05-20T11:56:28.422009Z

you could, I recall reading about someone who implemented an indexed triple store on top of Rama

thomas 2026-05-20T11:57:35.723449Z

nice, would be cool to hear more about this. And I guess you can build an XTDB equivalent as well.

Ben Sless 2026-05-20T11:58:23.547389Z

Besides time travel, I'm not sure why you'd want to do that in Rama

thomas 2026-05-20T11:58:40.995559Z

no idea either

Ben Sless 2026-05-20T11:58:59.117299Z

as the big idea is to build materialzied views tailor made for your application, while triple stores are generic

thomas 2026-05-20T11:59:12.009039Z

but this might answer some questions

thomas 2026-05-20T12:12:26.306599Z

(there was a max of 64 people at the talk, not bad IMHO)

Patrick 2026-05-20T20:10:01.524259Z

yes, thanks, i've seen that blog post. Databases like Datomic, SQL, etc. make it pretty straightforward to, for example, create a users table / entity and start adding and querying data. I've tried this with Rama but felt very counter intuitive for these purposes and hard to iterate on. Of course, that's likely not rama's fault. What's your take on that?

Ben Sless 2026-05-21T04:16:52.459269Z

You start with the questions you're going to ask about data (query), design a pstate to accommodate them, system events, then write the ETL to injest the events into the pstate

Ben Sless 2026-05-21T04:17:20.220869Z

There's so little to it it's disorienting in the beginning

samoleary 2026-05-20T07:52:14.095909Z

morning!

Patrick 2026-05-20T08:20:08.737499Z

good morning, may… oh well, just good morning 😀

😂 2
plexus 2026-05-20T08:37:24.321609Z

morning!

imre 2026-05-20T08:43:22.879699Z

good morning

simongray 2026-05-20T08:45:54.761509Z

good morning

djanus 2026-05-20T09:08:27.768539Z

morning!

plexus 2026-05-20T09:33:04.803499Z

Starting to think I should turn https://github.com/piglet-lang/piglet into a cljs dialect, would be so nice to have a cljs that's a real lisp

💯 2
grav 2026-05-20T13:58:40.122359Z

elaborate! Is it the "What's not there yet" part from the homepage that's missing, or is there more to it?

plexus 2026-05-20T14:03:37.970859Z

it's a different language right now, it's not meant to be able to load existing cljs code, but it could be made to do so

plexus 2026-05-20T14:04:09.338639Z

there are differences in syntax and differences in semantics

plexus 2026-05-20T14:05:13.141119Z

here's some example piglet code https://github.com/plexus/fogio/blob/main/src/main.pig

plexus 2026-05-20T14:06:52.617809Z

biggest work would be around namespacing/packaging, handling deps.edn, jars, etc

plexus 2026-05-20T14:07:14.328979Z

plus everything from "what's not there yet", but some of those can still wait a bit longer

plexus 2026-05-20T14:16:03.309669Z

the dev experience is great though, you run pig pdp in the project (for node), or you load the a page with some bootstrap code, and you're instantly evaluating stuff in emacs. No waiting for a build, no "you can't use your repl because you have a syntax error" or any of that nonsense

grav 2026-05-20T14:24:20.491209Z

nice 🙂 > Support for editors beyond emacs What's missing for neovim?

plexus 2026-05-20T14:28:29.492249Z

Someone doing a pdp server implementation in lua or fennel I suppose

plexus 2026-05-20T14:29:09.289769Z

Piglet does have a minimal nrepl implementation somewhere so you can try that too

plexus 2026-05-20T14:29:53.675329Z

And syntax highlighting etc is its own story of course, we have an emacs piglet mode based on treesitter

lread 2026-05-20T10:07:26.641269Z

Morning

Safe 2026-05-20T11:57:56.458489Z

Morning

ray 2026-05-20T16:55:02.715509Z

Good droplet morning

🦗 1
😎 1
neumann 2026-05-20T17:43:06.403729Z

Morning!

👋 4
neumann 2026-05-20T02:17:20.859609Z

Morning!

👋 1
neumann 2026-05-21T19:57:54.190729Z

@seancorfield Just curious, since I still struggle with finding a balance with Slack. Do you have notifications enabled? Does it interrupt your focus? Any tips for separating out critical messages vs just chatting (low priority) messages?

seancorfield 2026-05-21T20:49:43.744249Z

I get notifications and badges for @'s and threads I've contributed to. Sometimes I turn off notifications for a thread if it goes beyond what I'm interested in. Otherwise unread channels are bold (and I can ignore them).

seancorfield 2026-05-21T21:01:20.751159Z

And if I do get a pop-up notification on my desktop/laptop, the pop-up has enough context that I can tell at a glance whether I need to go read/answer it or not. Depending on how much self-control I have at that moment 🙂

neumann 2026-05-21T21:10:31.738979Z

Yeah, I'm not very good at the self control part when it comes to Slack. I'm way too curious!

seancorfield 2026-05-21T21:29:31.448289Z

Good job you're not a cat...

😆 1
2026-05-20T07:43:22.206119Z

That still happens?

slipset 2026-05-20T07:50:49.718439Z

Every once in a while. I wanted to pay tribute to the legacy that you've created.

1
neumann 2026-05-21T01:38:55.532979Z

I love this channel! It's so uplifting! I can't recall if I found something for the Deref in here or not, but while I have Slack open for the Deref, I go through the channels. I try to ignore Slack for 80% of my day because it's way too irresistible for me. 😊 🍬

seancorfield 2026-05-21T01:59:10.167919Z

We use Slack at work so it's always open and it's part of how I interact with Jira and BitBucket (as well as my few remaining colleagues!). That means I always have at least three and sometimes four Slack workspaces open (work + this one + LGBTQ in Tech + maybe another community), which makes it really hard to ignore for all the hours I'm awake... and I've been kind of terminally online for years now (even in my 60s!), so Slack is only one of several real-time chat apps I have open across dozens of communities.

seancorfield 2026-05-20T02:26:04.141569Z

Where in the world is Christoph? 🙂

😄 1
neumann 2026-05-20T04:35:36.549779Z

I'm following the customary greeting. Just ask @slipset.

neumann 2026-05-20T04:36:07.300089Z

But really, it's when I happened to check the channel. I was working on the Deref.

❤️ 1
2026-05-20T06:51:05.251899Z

I'd be a bit stunned if you ever found anything here for deref

slipset 2026-05-20T06:58:15.195189Z

I heard there were talks at a conference that might be interesting for deref. I think there was at least one Bruce sighting in one of those talks?

teodorlu 2026-05-20T05:07:13.968249Z

Morning!

gunnar 2026-05-20T05:40:55.661949Z

Morning!

mdiin 2026-05-20T06:30:49.070589Z

Good morning 🌅

2026-05-20T06:50:20.734589Z

Morning