Fork me on GitHub
#off-topic
<
2020-01-21
>
orestis08:01:15

https://m.signalvnoise.com/only-15-of-the-basecamp-operations-budget-is-spent-on-ruby/ — unpopular opinion (?) — my current SaaS work would benefit greatly if it had started out as a RoR application 7 years ago. Instead, the architect chose the (then shiny) Node.js/Mongo stack and had to implement a ton of things from scratch, plus the data and API story is a complete mess.

vemv08:01:09

clj is somewhere in the middle right... some things will have to be rewritten, maybe not as much as in node.js (at the same time node.js probably has evolved for the better in all these years, as for all things backend)

vemv08:01:09

probably an analog decision today would be choosing Rust or (to a lesser degree) Golang for a webapp

orestis08:01:32

Hm, the marketing for Node and Mongo at the time (IIRC) was async IO and web-scale, quickly to production. Which was the two things the other beginner-friendly frameworks of the time (Rails/Django) lacked.

orestis09:01:47

Unfortunately Node turned out to be pretty bad (IMO) to composing libraries together. Which Clojure turns out to be pretty good at, and Rails avoids the whole situation by giving you pretty much everything out of the box...

👍 4
vemv09:01:33

> Unfortunately Node turned out to be pretty bad (IMO) to composing libraries together. why?

orestis10:01:30

I think it’s the lack of any meaningful abstractions in JS, plus a happy-go-lucky approach in the immature ecosystem that lead to a ton of breakage.

orestis10:01:59

I mean, that was back then - our code is still full of callback spaghetti.

👍 4
orestis08:01:21

However, now that ship has sailed, and I think Clojure has the nimbleness required to help gradually rewrite our stack to something sane.

dharrigan09:01:31

I worked for a company that started with Java, then a new CTO came in, decided everything had to be nodejs, then he didn't last long and the company rewrote everything into Clojure.

Vincent Cantin13:01:01

Nice. Was it to have a bridge between the implementations on both platforms?

dharrigan09:01:41

that was a while ago

mloughlin09:01:28

we had a project rewrite to node + mongo because "performance" in the year of our lord 2018

mloughlin09:01:47

not sure how that decision was made

christianv16810:01:31

Maybe changing languages is the same strategy as reorganization of a company after a new manager arrives: create confusion so nothing is comparable to before 😁😁✌️

3Jane10:01:44

Hey 🙂 This might be useful for all developers, especially working from home or freelancers; I wrote about healthy habits and my current accountability setup at http://www.3jane.co.uk/posts/solo-developer-habits/ (I'm currently on a break between jobs and doing my best not to fall into "where did the time go?" by the time I start at the new place)

👍 28
borkdude10:01:44

Wow, I didn't even know there were apps to "organize" your personal relations... TIL.

3Jane10:01:01

People have been doing this for ages using notebooks and/or Excel

3Jane10:01:48

It's an extension of an address book: write down what your nephew's hobbies are, what football players he likes. Then come Christmas time, bang, you know what to buy as a gift.

borkdude10:01:31

I'm also more a fan of developing habits than one-time goals.

🙂 4
3Jane10:01:28

(ie. it's important to schedule regular time with important people in your life because there's not much left of it, and it can slip away)

borkdude10:01:05

Enjoyed the blog post. I hope you have a good time between jobs. You have the new job already sorted out?

3Jane11:01:26

Thanks! And yes, I do

3Jane11:01:31

second half of last year was prep/interviewing, I'm now somewhat squashed after that and decompressing by writing a compiler

3Jane11:01:52

because me ¯\(ツ)

3Jane11:01:52

job will be dev tooling (testing harness afaik) for Erlang devs, also in Erlang, looking forward to it

borkdude11:01:01

Cool. So what compiler are you writing?

3Jane11:01:19

C, most likely

3Jane11:01:40

Just finished a C refresher using Modern C

3Jane11:01:23

https://github.com/ir-regular/coding-retreat-2020 <- tracking it here, but I really don't think I'll be able to do everything I'd like to/found resources for 🙂 Still, building something from the ground up is a good way to understand how it works, and then I can look at LLVM and suchlike

borkdude11:01:41

interesting, thanks for the Modern C reference, might be something I want to read some day

3Jane11:01:59

Would recommend - it's free, readable and comprehensive (at least that's how it looks to me). The only caveat is that he doesn't cover almost anything about how to build, test, debug, etc so you have to figure the project setup on your own.

Tito22:01:28

Yo this is really good. Thanks for sharing the Down Dog app!

Tito22:01:54

What irl communities are you part of? I'm looking to step my irl game up 😂

borkdude13:01:34

Any opinions on https://github.com/clojure/data.csv vs https://github.com/davidsantiago/clojure-csv? Do they basically do the same thing? Any trade-offs?

slipset06:01:38

I seem to remember I have a couple of patches against data.csv which were never merged. One was for making it work with cljs.

Alex Miller (Clojure team)14:01:05

I use data.csv every week for something or other. Never used clojure-csv.

borkdude14:01:14

Thanks, good to know it works fine. Then it was probably a good choice to adopt it as a built-in in babashka.