Fork me on GitHub
#clojure-nl
<
2018-05-16
>
thomas05:05:15

yeah I am earlier than the bot! I achieved something today

gklijs06:05:20

Morning, leaning rust in the train. Code will not compile if you have a race condition, and will point exactly to the problem.

lmergen07:05:36

that is quite interesting. does it only work in simple cases, or also more involved race conditions ?

lmergen07:05:22

i'm throwing away datomic today and replacing it with postgresql -- probably going for hugsql as the interface

vijaykiran07:05:05

@gklijs Interesting - I started dabbling with Rust a bit too

vijaykiran07:05:24

@lmergen What is the reason ?

lmergen07:05:45

@skuro convinced me boring solutions are good solutions šŸ™‚

thomas07:05:18

@lmergen I agree with that.

gklijs07:05:59

Just working though the tutorial, itā€™s really well written. I donā€™t have any experience with c, or c++, mainly interested in using it for wasm, finding out how easy it is, and how the performance compares to javascript.

lmergen07:05:06

yep, i do really really like datomic, so in a way it's sad to do this.. but it would be a solution that mainly satisfies my nerd-interests.. operationally it's so much easier to be able to fire up a cloud-managed postgresql db

skuro08:05:15

@lmergen if it will make your life easier -- you're welcome. If it doesn't -- I never said such a thing šŸ˜›

lmergen08:05:25

it makes my life easier

lmergen08:05:44

some solutions do not actually have problems they solve

lmergen08:05:26

i already kicked out kafka as well

lmergen08:05:36

best decision ever

eval202008:05:38

@lmergen interesting. Did you use it in production or were you evaluating Datomic?

thomas08:05:58

any particular reason you got rid of Kafka @lmergen?

lmergen09:05:29

it's a side-project, but once again, operational complexity

lmergen09:05:50

i want to actually be able to push this thing live at some point

lmergen09:05:19

and i heard many horror stories about kafka in production

gklijs09:05:30

There are some things you could do terribly wrong, like putting the log in /tmp but we were quite successful running kafka in porduction, even with docker, There no also an option from Confluent to run Kafka on Kubernetes.

lmergen10:05:42

true, but it's really expensive

lmergen10:05:58

and when you go that way, you might as well use something like Kinesis Firehose / Google PubSub

lmergen10:05:28

in the end, i preferred something more simple

gklijs10:05:05

True, I first also wanted to use Kafka for a pet project, but more because I could do something with Kafka again, and because I knew Kafka. Now itā€™s working far simpler and faster with Redis.

thomas11:05:02

on one of the projects I worked on we used kafka and it worked reasonably well. but we didn't have a very big load though.

thomas11:05:15

not sure how significant that is though.

thomas11:05:41

and I heard about horror stories as well. seems to be related to ZooKeeper from what I have heard.

borkdude11:05:21

@lmergen I ā¤ļø Postgres + hugsql

lmergen11:05:43

what about oksql ?

borkdude11:05:18

@lmergen it solves problems that I donā€™t have and is less feature complete

gklijs11:05:12

At the Rabo Bank there are now moet than 50 services using it, at it contains all the transactions. But we where lucky to have months setting it up and also heavily tested it in a test environment. If you rush to production all sorts of things can go wrong.

borkdude11:05:39

why donā€™t we all focus on contributing to existing projects that are great instead of re-inventing the wheel everytime: we have dozens of ā€œplain sqlā€ libraries, configuration libraries, etc. letā€™s just make one thing great instead of diffusing the effort.

lmergen11:05:13

@borkdude completely agree, but that is not as good on your resume eh šŸ™‚

lmergen11:05:25

@gklijs don't get me wrong, i love kafka

lmergen11:05:39

but when you're doing a side project on your own...

lmergen11:05:48

or heck, in a team without dedicated ops people

lmergen11:05:55

it's a bit too much

borkdude11:05:23

Datomic is great when you need a lot of flexibility and history. But a lot of project donā€™t require it.

gklijs11:05:05

It would be nice if you have a jpa-like libary for clojure, just have your types specced in a namespace, and maybe also spec your queries, and everything like setting the schemaā€™s in the database, and generating the sql queries will be done automatically.

borkdude11:05:26

@gklijs thatā€™s awful

gklijs11:05:03

@lmergen yes, thatā€™s totally different from my situation, where we where we started with 3 people and eventually 5, and it was clear from the start it should become a major important part of the infrastructure.

borkdude11:05:33

The time spent debugging hand written SQL queries is far less than these kinds of solutions in my experience. Also when you hand write you get to test these queries in pgadmin/psql or what have you and optimize, tweak them, like in a REPL. You get to use the full feature set of the database, like jsonb, etc.

lmergen11:05:43

that sounds like an ORM

lmergen11:05:57

isn't that classified as hate-speech in clojure world ?

gklijs11:05:58

I have pretty good experienced using Spring data with JPA, and something I miss in Clojure.

borkdude11:05:11

I did a project with Play framework once. We had a heissenbug in the ORM layerā€¦ it was gone when we upgraded Play. Never discovered the bug.

lmergen11:05:17

yeah, the simplicity of hugsql appeals to me

lmergen11:05:49

but yeah i do sometimes see these java projects with Spring and it makes a lot of things really, really easy

borkdude11:05:10

also it drains the life out of you

lmergen11:05:24

i thought that was the case for software development in general

borkdude11:05:45

The REPL keeps you alive.

borkdude11:05:07

The compile/run cycle is really a source of distraction.

lmergen11:05:32

for the past few months i'm back to my old roots and doing c++ again

lmergen11:05:38

it's.... horrible for rapid feedback

lmergen11:05:03

and these people are going full Stockholm-syndrome about it, in that it's actually a feature

borkdude11:05:30

get it correct before you run it, else you will be punished?

lmergen11:05:51

it takes 4 hours for the code to compile + tests to run

lmergen11:05:58

i feel like i'm working on 60s mainframes again

lmergen11:05:01

and i wasn't even alive

borkdude11:05:14

Tonight a friend will visit with his Arduino board because he wants me to program something for it. Never touched Arduino before. Can I just install the Arduino IDE and then load the code via USB on my Mac?

borkdude11:05:21

maybe you should also be doing Rust then šŸ˜‰

lmergen11:05:31

it's a database

lmergen11:05:21

one of the few areas where i think c++ actually still makes sense

lmergen11:05:34

Rust is still too new for projects like these i would say

lmergen11:05:50

i saw that

lmergen11:05:00

i hope it takes off

lmergen11:05:05

emacs can use this desperately

lmergen11:05:31

just in general because it is an excuse to rewrite the code

vijaykiran13:05:34

Iā€™m more interested if this http://datafusion.rs takes off - Iā€™m following it closely šŸ™‚

vijaykiran13:05:20

And we all know every program that was rewritten in from C -> C++ -> Perl -> Go will be rewritten in Rust now

vijaykiran13:05:39

Also, Iā€™m using Alacritty as my terminal for over a few months now - so Rust is in production on my machine

lmergen13:05:13

alacritty was using the GPU if i recall correctly, right ?

lmergen14:05:51

i have just installed it, this terminal feels really snappy

thomas14:05:12

hmmm I have to use Spring/Hibernate and I'd rather use Clojure/SQL I think. partly because I know it (better)

gklijs14:05:58

I heard people combining themā€¦ but it doesnā€™t seem like a good idea to me

thomas14:05:34

no don't think so

lmergen14:05:09

clojure and spring/hibernate?!

lmergen14:05:13

what kind of blasphemy is that

šŸ˜† 4
vijaykiran14:05:59

@lmergen Yes, it is GPU Accelerated šŸ™‚