Fork me on GitHub
#off-topic
<
2022-04-01
>
Max00:04:57

I have nightmares from when I used to operate clustered mongo back in my devops days about getting paged in the middle of the night about it splitbraining. I still occasionally get stackoverflow rep from https://stackoverflow.com/questions/33400607/how-do-i-rename-a-mongodb-replica-set I https://stackoverflow.com/questions/32097209/force-mongodb-to-output-strict-json documenting things I spent hours discovering about seemingly basic stuff. Suffice to say that apart from all its other issues, operating mongo at scale was not a lot of fun.

pithyless09:04:24

Mongo splitbrain brings back terrible memories. 😂 😭

Max00:04:40

For a long time their backups weren’t transactional, so if you didn’t shut down traffic to a cluster before running a backup it was possible to make unrestorable backups

😂 2
Max00:04:46

Also there was the one time they released a non-beta version in which backup/restore just…didn’t work. Like under any circumstances, it just exited with an error or something. It was fixed within a week, but still. Did not inspire confidence

craftybones01:04:50

Hello. There was an app I came across recently that provided a simple dashboard of all other apps that you could launch or use. If I remember right, it had an 80s like interface. I can’t remember the name, and neither am I able to search for it effectively. Does anybody know what the hell I’m talking about or do I need to go see a doctor?

mauricio.szabo01:04:18

The amount of work doesn't even compare. At the time, MongoDB said that one needs at least a replica to guarantee data consistency. If you apt-get install postgresql or even mysql, you kinda already have this data consistency. Also, MongoDB didn't have transactions, so it was consistent for a single operation; it also didn't have any kind of join, so you either had to denormalize, or everything would be joined in app space - n+1 queries were the norm, not the exception for multiple situations. Sure, it was easier to add replicas to MongoDB than it was to add for PostgreSQL, but I mean, it's a different history between "can do it" and "need to do it"

😂 2
Max04:04:04

Adding replicas wasn't the problem, it was keeping them replicating…

☝️ 2
Adam Helins09:04:45

For the past year or so, there has been some interesting ideas and libs popping up about Clojure and native code. With Java 17 offering a better way for calling native functions, which has been historically tedious, the future is now. Since Rust has often been mentioned as a great match for Clojurists, here is a basic "Hello World" example to get going, hopping it will inspire interesting projects: https://github.com/mTvare6/hello-world.rs https://github.com/mTvare6/hello-world.rs/blob/master/src/main.rs offers great insights By the way, it's blazing fast 🚀

🚀 11
😂 7
thisisfine 3
gklijs09:04:19

I need to look into it. I'm mostly concerned with how to package it. I guess for best performance and compatibility, you need to include several native builds, for different platforms, in the jar?

Adam Helins09:04:44

That's one way, but it's memory safe you know 🚀

Stuart09:04:17

This is an April fools joke, right ?

Adam Helins09:04:05

It could very well be But given the current state of building modern software, it's hard to tell, isn't it

😆 2
gklijs11:04:15

Lol, I didn't check the project first. But seriously, for example with Kafka, there are basically two clients, a Java one, and one in c/c++ that's used with a lot of other languages. I think/hope it would be viable to only have a core in Rust, and a shallow binder for all other languages.

borkdude09:04:58

@adam678 I have some Clojure + Rust code here: https://github.com/borkdude/clojure-rust-graalvm I haven't tried the Java 17 stuff yet

Adam Helins10:04:19

That's actually a legit example and a useful one 👍

Stuart10:04:11

So, uuuh.. I dont hate the windows 3.1 stackoverflow april fools filter

Mno10:04:47

oh that's funky, but not too bad. I liked the terminal one, once my eyes adjusted to the searing burning sensation.

javahippie10:04:37

I hope it’s okay to post here, I am not affiliated with him: Sam Aaron is running out of money for SonicPi and looking for (SonicPi-related) work. https://twitter.com/samaaron/status/1509806787544989709

❤️ 1
javahippie10:04:03

He is also on Patreon, I just bumped my support to the next tier: https://www.patreon.com/m/222270/posts

borkdude11:04:39

tools.misc: a project like clojure.tools.logging but more general. feedback welcome! https://github.com/clj-easy/tools.misc

Daniel Jomphe11:04:27

There was this nice blog post a few days ago about this guy who worked at Cognitect/Nubank, where they wrapped all third-party libs with their own api protocols like this. He now works for lambdaisland IIRW, where they don't. What was interesting in his article was the practical considerations about REPL-driven development. I think he said they found this kind of use for protocols hindering that.

borkdude11:04:45

@U0514DPR7 He's actually kind of colleague now at Nextjournal where I also work 2 days in the week

Daniel Jomphe11:04:13

Hahaha I kinda knew I would not surprise you with this, Michiel. :)

😆 3
Daniel Jomphe11:04:21

There definitely is some appeal to tools.misc, especially once (I believe) it becomes clear which parts should be considered RFC, and which ones should be considered Stable-v1-use-it. Obviously, for now it's all RFC. 🙂

Martynas Maciulevičius12:04:55

I think that tools.misc is too new and the last commit needs to be made in 2016. Then I'd consider using it 😄

😁 1
borkdude12:04:02

@U028ART884X Sure :) But to have such a thing in 2027 we need to start now ;)

🙌 1
⏱️ 1
Martynas Maciulevičius12:04:15

At this point I'm not sure anymore if it's April fools or not. Probably both. 😄

Stuart12:04:21

Also, you need to create 4872 issues. Nothing says current and maintained like an insurmountable amount of outstanding bugs!

😁 1
borkdude12:04:39

There won't be bugs since there won't be implementations

Martynas Maciulevičius12:04:57

This is some state of the art for you: https://github.com/facebook/create-react-app/ They were supposed to ship one command ("Set up a modern web app by running one command.") but look what they've done.

Daniel Jomphe12:04:22

> There won't be bugs since there won't be implementations There's a bug in this comment, @U04V15CAJ, since you wrote in the doc that there might be default implementations. :)

😁 1
borkdude12:04:39

ok, you got me there

😅 2
Daniel Jomphe12:04:54

BTW, in French, "défaut" means bug. So if I were not such an astute English reader, I'd understand: "there might be buggy implementations". 😄

borkdude12:04:02

luckily someone can just override the protocol impl in their apps to fix it

Martynas Maciulevičius12:04:42

@U04V15CAJ You could call it "tools.misc standard/blueprint" and then the implementations could remain placeholders. And then developers and companies could implement their own. And then you could monetize your effort this way. One more area for consulting.

Mitchell Harris16:04:30

Seen on Shortcut:

😂 3
borkdude16:04:58

I'm glad I'm too late to announce for this week's Deref! https://twitter.com/borkdude/status/1509933579937226759

😄 7
borkdude 3
💜 2
Stuart16:04:02

Thanks, I hate it.

3
Martynas Maciulevičius16:04:13

Does it support JSON?

Stuart16:04:35

Hopefully YAML

Martynas Maciulevičius16:04:08

Does System.exit(-1) work the same as in Java? I think in functional languages you want to return the status. So this does that immediately and it's great that you embrace it. I think npm and other evil tools keep the status for themselves. Will I be able to circumvent their wrapping in some way? Do you also plan to release a version that could call assembly-level interrupts?

Cora (she/her)18:04:01

this is great! I'm hard at work at a clojure that you write using XML!!

borkdude18:04:49

@U028ART884X yes to all of the above, it will absolutely aspire to be everything to everyone!

jaide18:04:07

Yes, finally! Now I can use JavaScript to write my JavaScript, all conveniently configured with JavaScript.

ahungry02:04:47

nice - I was just tinkering with antlr grammer + clojure to transform vbscript into clojure code - maybe I can leverage bbjs in that hodgepodge to handle the JSCript parts

ahungry02:04:01

is bbjs usable as a (clojure) lib at all, or only a binary?

Karol Wójcik09:04:52

It's so sad it was only a joke.

😭 1
vemv20:04:14

Such a good run, love the energy from the crowd :woman-mountain-biking: https://www.youtube.com/watch?v=EKKtVb5Jprc

👍 1
🚲 1