This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # aws (2)
- # bangalore-clj (1)
- # beginners (25)
- # boot (2)
- # cider (176)
- # clara (73)
- # cljs-dev (6)
- # cljsrn (31)
- # clojure (40)
- # clojure-greece (9)
- # clojure-india (1)
- # clojure-italy (14)
- # clojure-nl (9)
- # clojure-russia (4)
- # clojure-uk (156)
- # clojurescript (124)
- # core-async (37)
- # cursive (2)
- # data-science (2)
- # datomic (22)
- # emacs (3)
- # fulcro (32)
- # graphql (6)
- # java (3)
- # lein-figwheel (19)
- # lumo (29)
- # nyc (1)
- # off-topic (9)
- # onyx (15)
- # portkey (12)
- # precept (2)
- # re-frame (15)
- # reagent (10)
- # rum (7)
- # schema (2)
- # shadow-cljs (48)
- # tools-deps (35)
- # yada (1)
I got mobbed by squirrels for nuts in a park in Stoke once. It was cute until one of them bit me on the ankle, and when it turned around it noticeable had myx...
long shot, but... anybody used this? https://github.com/nervous-systems/serverless-cljs-plugin
one of the python devs on that team really wants to learn clojure so maybe I can swing it
😁 Often easier to beg forgiveness than to seek permission. Sometimes you just gotta, for the sake of your sanity.
I don't think anyone's suggesting that a massive project should be started in Clojure without business buy-in. But the joy of microservices, serverless etc is you can probably implement it in Clojure in a day to demonstrate it, then reimplement in another language for comparison (or t'other way around)
Never having had the luxury of a full-time Clojure gig, my incursions have been limited to "one-off" tasks like data migration where no-one's going to have to maintain the code. 🙁 My attempts to evangelise haven't gone down too weil - eliciting responses such as "that just makes my eyes bleed!".
the problem with a full-time clj gig is that your next gig isn't full time clj haha
have you tried using a repl and spec at the same time? It’s been quite nice i’ve found. Create the spec for the function / create the function and try exercising the spec / running the function etc. I think it adds a new layer to RDD
ah interesting, i used schema a little, but found spec’s test data generation to be so useful!
the generation is delivered by another library (I forget which) but Schema uses it for test data generation as well
ahhh nice nice. Defo agree. I read the spec guide about 10 times and i still haven’t gotten it 100%. I think schema is real easy to pick up tbh.
give it a try, personally it was simpler than spec... I didn't realise it was avail until after I did my last spec thing and I was kicking myself
not having a flexible feedback path so tightly coupled to the lang is painful when you're out of land
two samples of the pool of programmers : [A] # of people i have ever managed to convince lisps are a good idea ? 1 maybe 2 [B] # of interviews required to find a single good-fit dev in clojure vs ruby or java: <5 vs >10
the most motivated java devs want to crosstrain out of pure java (so I'm told by people building scala teams)
rather, part of what makes a good dev is the interest and courage to push their boundaries
> I would disagree with “good devs want to go towards FP” oh yeah, I just mean in the original article the hypothesis is good devs want to do python
and this makes them learn new languages that aren’t “default” for whatever they work with.
(although I am an FP evangelist because I'm a poor programmer and it makes me better)
thus, if you seek for programmers who are proficient at a non-default language, by definition you’ll find someone who self-educated, rather than was spoon-fed and stopped there.
It manifests in other areas of life too, though not necessarily consistently; you can’t say that if X is non-default then they’re better than default Y… but they probably had to give it more thought before they made that decision.
> (although I am an FP evangelist because I’m a poor programmer and it makes me better) Nah 🙂 Using tools that make you better is the definition of a good programmer. You see a problem, you create a solution.
> It manifests in other areas of life too, though not necessarily consistently; you can’t say that if X is non-default then they’re better than default Y… but they probably had to give it more thought before they made that decision. that's interesting... kinda sounds similar to the whole hacker ethic thing I guess
Not sure if it’s about tinkerers… just different interests and having to justify them, or deal with things not being built for you and so not being smooth
one of the juniors I work with recently built her own keyboard, and that's kinda why I suspect she's going to be an amazing engineer
Classic example would be “a woman engineer” in a field that is male dominated (something people don’t realise is that it can be hard to make friends in your profession if you don’t share default hobbies like playing shooter games and lifting.)
I’m used to being the only woman in the engineering, or if there’s someone else they’re in design, manual QA or data science
but for truly universal hobbies I think exercise (yoga, but running/cycling would work as well), and funnily enough theatre
My last job was the only one in my career where I worked on a team that was > 50% female. Current workplace is probably the least diverse I've known.
having the diversity is awesome. You don't realise what you've been missing if you were in a less diverse team before
I find idea generation and different perspectives to be quite refreshing. Also it reduces laddish culture to some extent, which is always good
we're also moderately good on LGBT+ diversity too and that has a huge effect on things like UI work, language and that
I see - it’s interesting that gender influences idea generation. I’ve never seen myself as tending towards different tech solutions because of my gender. Makes me want to do a study 😄
I think ideas/perspective/life experiences can potentially give you different approaches to problem solving
IME it’s more seniority (been there, done that, seen the side-effects, are we sure we want to do that?) but maybe?
I find it hard to draw any inference from my experience on a mainly female team - but then we were disadvantaged by not being co-located (London and Manchester). However, I concur with @U79NZHC6A - a diverse team definitely raises awareness of (e.g.) just how un-inclusive many web forms are.
we're I think 18 permies, 9 identifying as female and two new joiners (both female juniors) incoming in the next couple of months
yeah I mean long term she's probably going to want to go somewhere that's a bit more challenging. We only have two speeds - low hanging/easy fruit and really really really hard legacy architecture
so there's a lot of fresh faces and enthusiasm in the web camp (former) and a lot of grey hair in the latter tho
Found one of my first ever computer programs the other day. Damned if I can tell what it did - it's on a punched tape. 😢
oh wow - what system was it for @rhinocratic ? i think i missed out on the punched card era by a couple of years - my first professional programs were all entered on VT320 amberscreen terminals attached to a DEC mini (cross-compiling to 186), but consequently no souvenirs
I honestly can't remember - it was owned by Burnley College, and our secondary school computer club was allowed occasional use of it (and also the one at Blackburn College, which used cards rather than tape). I think we ran BASIC code on the Burnley machine, but on the Blackburn one we were mainly supplying parameters to pre-existing programs, which some poor soul (possibly a student) would have to transfer onto cards. There would then be a wait of a few weeks before receiving a printout saying that the job had fallen over. It lacked the immediacy of the REPL, for sure!
Things improved a lot when I saved up enough for a Microtan 65. Think it's still gathering dust in the attic. :thinking_face:
started working on a project this week that I've been trying to get momentum on for the past month or so.
previously been using luminus or some other template, and just gotten lost in mounds of everything.
this week, just did
lein new myproject and oh my so much easier. I actually know what stuff does now!
@xlevus That's why I always recommend beginners in Clojure don't just
lein new luminus myapp and try to build an end-to-end web app -- these large framework-y library collections have so much "magic" interacting that even if a beginner successfully gets a web app running, they often have no idea how/why it works.
Start from the basics: an empty app project, add Ring as a dependency and get a simple "Hello, World!" page served, add Compojure or Bidi and get some simple routes working, add
java.jdbc and a DB driver and get some simple CRUD stuff working. Then maybe go through a modern ClojureScript "getting started" tutorial and ramp up with cljs too.
And only at that point start looking at the all-in-one libraries/frameworks -- when you understand the basics and can see what, say, Luminus adds to that model.
(but of course "everyone" comes to Clojure(Script) and wants to build an SPA immediately, because they know Ruby on Rails or whatever makes web dev "easy" -- rather than "simple")
yeah, I built a rough idea of how Luminus was held together, and how things worked. but i didn't touch every bit of it all the time, and couldn't keep it all in the noggin at once.
still, pretty much going from 0 to luminus, with a few steps in the process and skipping the 'fundamentals', but eh. it's either that, or just do it in my mother tongue and not learn Clojure.
I think building from scratch once is very important, the basics are entirely skipped when people do that. Then they have no idea why nothing works, or where to look to find out more. They're at the top of their jenga tower, and the foundations are invisible.
i dunno, when you start out with rails you don't (i didn't) have much idea of what works where and how, and yet it's still a pretty good experience
@mccraigmccraig Rails is exactly the "magic" I'm criticizing here. Sure, you can get simple stuff up and running quickly -- it's Easy(tm) -- but as soon as you need to do something not on the happy path, there's a huge mountain to climb in understanding parts of Rails. It's not Simple(tm).
I think a part of the problem is Luminus isn't a framework. It's a template. You need to read the documentation of 50 different micro-libraries and work out how the lego pegs fit together or which bits of tape hold them together instead. I think Clojure could do with a more structured framework to hide a lot of that away. Even if it's mapping calls in places. Sure it's not idiomatic, but it'd bring some 'legitimacy' (and legitimacy being, how low is the bar to entry, which imo is pretty high at the moment).
sure, there's lots of magic in rails, but i don't think that's bad per se: as magic goes, rails is quite easy to explore, and quite easy to change (until you get all tangled up in impossible to follow monkey patches, but that's more ruby's fault than rails)
The person we brought up to speed was initially working on etl pipelines so you could see all the moving parts
I find that compojure-api is a good mini web stack for showing new people as it's so simple but tbh I've had zero luck onboarding folk to clj after much trying
Jenga was a very conscious analogy I chose. There's lots of parts. You either build a tower once to get a rough idea of how it fits together, or you start at the top and try to flap about.
is not an ORM but I liked a lot the
honeysql project, is very helpful do some dynamic queries
yeah, my project sits on top of honeysql. Originally I was generating sql by hand but oh lord. Honeysql just does quoting so much better. also, much easier to extend
At an F# talk and the enthusiasm for the lang vs actual jobs situation seems even more acute than
At least with F# you've got some sort of Segue into it. "Oh yeah we do .Net stuff... I guess you can do that in F#, it'll work with our existing stuff" vs Clojure "uwotm8? Brackets?"