This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-05-07
Channels
- # announcements (32)
- # asami (1)
- # babashka (127)
- # beginners (135)
- # bristol-clojurians (1)
- # calva (21)
- # chlorine-clover (5)
- # cider (2)
- # clara (9)
- # clj-kondo (24)
- # cljsrn (2)
- # clojure (25)
- # clojure-australia (4)
- # clojure-europe (135)
- # clojure-nl (8)
- # clojure-russia (3)
- # clojure-spec (4)
- # clojure-uk (9)
- # clojurescript (55)
- # cursive (6)
- # datomic (62)
- # events (1)
- # fulcro (1)
- # helix (19)
- # jobs (3)
- # jobs-rus (1)
- # kaocha (8)
- # malli (6)
- # meander (3)
- # off-topic (2)
- # pathom (3)
- # podcasts-discuss (1)
- # polylith (3)
- # practicalli (3)
- # re-frame (4)
- # reitit (5)
- # remote-jobs (1)
- # reveal (1)
- # rewrite-clj (9)
- # ring-swagger (1)
- # shadow-cljs (59)
- # xtdb (4)
månmån
Does anyone else get kinda bored with how many Clojure (and other programming language) discussions get side-tracked by static typing enthusiasts these days? It’s always the same stuff…. “I could never live without types”, “my editor does this and that”, blabla - and never any discussion of the cost incurred by types. Case in point, yesterday’s HN discussion: https://news.ycombinator.com/item?id=27054839
Sure, but it has lead to a situation where anything that isn’t statically typed is bad and “like JavaScript” - at least that’s my impression
people have become much more unwilling to consider an alternative point of view on types
And most people being so eager about types don‘t even use them in the right way. As far as I had the pleasure to be part of such discussions…
In TypeScript I use types sometimes and sometimes not. And when I do it, it is rather to get help typing out things correctly, than to guard against bugs.
On the tangent of this discussion I can just observe that I feel very productive using TypeScript. Almost as productive as with Clojure. It is not as fun as with Clojure, but the feeling of expressing my intentions easily and effectively is there.
I’m still a Clojure beginner so it might be that at some point I can find Clojure solutions much quicker than I find TypeScript solutions. Unless I am a hopeless case. We’ll see.
Morning!
I too follow the HN discussions and yes, they do descend into "types good, untyped bad". Boring really. I tend to skim over such comments and see if I can find some insights 🙂
I recently came across a series of blog posts by a Java/Kotlin developer, that were intended to introduce his audience to Clojure. The second post was about how spec, because he couldn't live without static types, which made me chuckle
I stopped doing frontend dev at ardoq when the frontenders switched to typescript. I think the main reason was that IM(NS)HO, they were doing it wrong.
And, I wasn’t ready to “teach” them how to properly type things, (not that I would have been able to, for that sake)
And, I believe that just converting an existing javascript project to typescript and slapping some types on it doesn’t really help.
Because, more likely than not, the “types” that exist in the javascript project are not sound, and thus, won’t be more sound if you switch to typescript and continue to use the same “types”
I really never ever want to miss shared sources for front-end and back-end again. (Yes, not necessarily Clojure(Script), but – for me – preferably. 😬)
Is there something coming close to Clojure/ClojureScript apart from JavaScript/JavaScript, when it comes to backend/frontend code sharing? If I remember correctly GWT was there, because you used Java/Java.
Is GWT still in use much, btw? I don’t see much activity on my human readable timestamp library these days 😃 https://github.com/PEZ/GWT-Relative-Time
I had to do a bit of work on a project that use GWT... very special shall we say... just getting it up and running again took a whole day.
I worked at a software engineering education program where one of the lecturers had the brilliant idea: if the students already know Java, they can also do front-end programming with GWT, so let's also teach them that. In theory, a nice idea. In practice it was very confusing for the students why some basic stuff from Java didn't work in the browser ;)
I can’t believe how over-architectured that silly library is. Takes forever to figure out what is going on.
and k8s really is urgh - perfect for Google cos reasons but way too complex for most needs. For example, why is there a cottage industry (eg Helm charts) for configuring k8s?
you still have to manage user level stuff, but it's relatively close to docker-compose stuff
There's still a lot of problems around the gradual migration towards states though, right?
I remember sitting next to a very confused developer wondering why his state wasn't being reached.
so yeah, it's easy to miss details and shoot yourself in the foot if you try to do everything yourself
@mcorbin knows all this stuff very well but generally there's a lot of fud around k8s imho
Like every tech, the answer to "should I use kubernetes or not" is "it depends" :D
first, as mpenet said, there is a big difference between using a managed offering vs deploying kubernetes yourself. And even with managed offerings, you really need to know how the beast work (and what are the best practices), and it takes time
my main concerns with k8s is that everyone is moving to it, there is more and more tools "kubernetes only" (so it's not an open ecosystem), and operators etc... brings with a lot of complexity (and when it fails, you're on your own).
But it's not a bad tech, but I don't think having k8s everywhere for every context is mandatory at all. And indeed my blog is running on k8s (but it's clojure driving the control plane :D)
Also, when you switch to kubernetes, you are a bit forced to also switch to Prometheus for monitoring (meh), switch to argo or something else for CD... so it pulls a lot of things at the end
I also have my own hosted gitlab instance that does my deployments for me when I push my local code
if you current platform work as you want, no need to move 😄
there is no silver bullet
i've had a pretty nice time with eks (aws managed k8s) - it fits very nicely into the AWS ecosystem (pod IPs are real VPC IPs, ingresses are AWS load balancers, storage volumes are EBS vols, autoscaling uses AWS ASGs &c) - but i don't think i'd want to do my own bare metal k8s deployment
Oh wow, exoscale is actually hosting. I should look more at what all the Clojure companies actually do!
@mpenet I must admit, knowing that you're selling k8s makes your advocacy dubious 😜
@mpenet Curious, what's your take on other managed services, like Redis, etc. Looks like you have some kind of third-party system for that?
actually I just learned the roadmap is public, mid/end of june, support for pg/mysql/redis/c*/es/kafka/influxdb
I can't say much, I can only say we have a lot of exciting stuff coming very soon. I can let you know when this happens

What I'll add is, I'm never hosting anything, ever again. I resent that on AWS I can't just give it a Jar to host behind a load balancer for me and they do all the logs.
due to big companies that have the letters WSA in them profiting off their work and not giving anything back
but I don't know the details, I am not the right person to tell all the details about this
@dominicm isn't "jar behind a load-balancer" pretty much a lambda ?
@mccraigmccraig nuuuuuu. I don't want all the lambda pain!
haha, i've not actually tried lambdas, so i don't know the pain yet
Imo one of the advantage of k8s is that you can (more or less) easily switch between cloud providers if they provide a k8s offering
@mccraigmccraig if nothing else, startup time kills the option. I like long-running servers. I just don't like logging, intrusion detection, etc.
https://redislabs.com/blog/top-9-takeaways-from-redisconf-2021/ #5 > Redis adoption as a primary database is on the rise with more than 66% of Redis Labs customers relying on Redis as their main database, Bloody hell.
and despite warnings about the inscrutability of operators @mcorbin - i've only had good experiences so far - the strimzi kafka operator has been awesome, and we've got a gnatsd operator and an elasticsearch operator which have both been straightforward
yes, some are nice. But I'm always afraid of storing stateful stuff on top of k8s 😄
@mpenet I don't think that's what firecracker is for. It's more about starting OS VMs quickly, that's what is behind Lambda. It's also definitely not for civilians.
but you can solve that via firecracker. One of its strong points is snapshotting, just for that, reduce startup
ha, me too @mcorbin - i'm not going near the cassandra operators, but we're only using kafka, gnatsd and ES for ephemeral stuff so it's good
yes, tu spin up dev environment it's handy
I will add, I didn't particularly like using api gateway, etc. with lambda. It was much more comfortable to use a normal load balancer.