This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # announcements (12)
- # aws (2)
- # beginners (233)
- # calva (68)
- # cider (23)
- # circleci (5)
- # clj-kondo (40)
- # cljsrn (4)
- # clojars (3)
- # clojure (200)
- # clojure-austin (1)
- # clojure-canada (1)
- # clojure-dev (16)
- # clojure-europe (1)
- # clojure-finland (1)
- # clojure-italy (4)
- # clojure-nl (16)
- # clojure-spec (3)
- # clojure-uk (102)
- # clojurescript (16)
- # cursive (14)
- # datomic (16)
- # figwheel-main (7)
- # graalvm (3)
- # hoplon (37)
- # jackdaw (23)
- # jobs-discuss (24)
- # joker (4)
- # kaocha (6)
- # keechma (64)
- # off-topic (66)
- # parinfer (1)
- # pedestal (7)
- # re-frame (7)
- # reagent (10)
- # reitit (45)
- # rewrite-clj (12)
- # shadow-cljs (1)
- # slack-help (8)
- # spacemacs (55)
- # sql (9)
- # tools-deps (9)
- # vim (7)
> I could work one week, stop two, then work one month, then disappear for other two months. Always. People need to recharge, get new energy and ideas, to do creative work. And programming at high level is a fucking creative job. Among other things, this is interesting. This hasn't been my experience. i suppose, this is possible if you have the personal liquidity and not something many business practice.
agree but the actual numbers seem off. 2 months away to recharge energies? (some sci pub said 9 days has the same effect...) perhaps the folk was overworking on a daily basis. even 6h of pure, uninterrumpted coding is a lot. Particularly if you WFH
Yes! I’ve found that I could keep a cadence of 5h of pure coding when I was wfh, but going to 6 meant the next day I was very slow.
I totally work like this on a smaller scale. I do have a fixed schedule job, but hardly work like that. Sometimes its weeks or days of focused work and then here and there its days full of unproductivity and reading up on stuff and hanging out at meetings. I find it hard to imagine its possible to have a steady outcome over time coding stuff.
Sometimes where is a week with days full of meetings like 3 or 4 hours per day. I just dont stress myself and try to be productive in that time, but concentrate on the meetings and if something gets done inbetween, fine, if not, well then.
hi people, what books do you guys recommend on testing? (preferable if applicable to clojure)
I was thinking more along the line of being inlined into a document. The problem I'm having is that the copy-pasted changes fall out of sync with the "whole".
e.g. the deps.edn needs dependency X, then you reorder the sections but forget to migrate the dependency to the correct phase and now the deps.edn doesn't work.
they have an example of how the output looks here: https://gdeer81.github.io/marginalia/
I think I want to link to the old code actually :thinking_face: eg the evolution of deps.edn through the tutorial
ah, I thought "but what if I later want to update the code in the tutorial, but forget to update the link in tutorial markdown" or something
Ah, no. I'm thinking more about the fact I'm syncing a document with an evolving codebase.
when I wrote a workshop, I had a tag each for a "task" ("fill things here") and "solution" ("this is how it looks filled")
so I showed an evolution of the thing I was teaching people, and then had them finish increasingly complex examples
so like .... on the slides I'd list functions for opening and closing files, reading and writing to files and then in the code there'd be a
$filename = 'whatever'; // please open it // please write "xyzzy" to it // please close it ...code that checks file contains xyzzy
I also tried to make them discrete and teach people things step by step, rather than teach a lot and then tell them to write it all themselves
Off my original idea now, but I wonder if you could add sufficient structure to those comments to allow self direction
it was meant to be as self directed as possible, so the slides also had my presentation included (in presenter comments; i used google slides)
the nice thing about having a git repo is that you can make it as long as you'd like, and people can join halfway
so when someone was late, but had an environment already setup (which i helped people do ahead of time)
or if they got stuck at some point, they could fast forward to the next task, and go back to the previous problem on their own.
Whereas workshops that have you build steps on your own code don't really allow that. Git is cool 😄
Not quite what I meant. I meant that I'm copying and pasting snippets, then changing the code, and copying new snippets, then going back and updating the copied code, then going back and updating the doc
Had a nice chat with a university post-doc yesterday about functional programming (and lots of other things 😉). He was kind enough to point out that languages like Haskell have lots of side effects all over the place. For example exceptions (eg stack overflow), the amount of energy use an algorithm causes, performance/caching aspects, etc. So we can put that particular discussion to rest I guess 🤪
I always joke that Haskell's biggest feature is that it's good at warming up the room
His research was quite nice actually by the way. They have a method of modelling the energy consumption effects of a system based on the source code, which allows predictions of the energy consumption without actually having to run or simulate anything. For example, the algorithm used by a thermostat and the effect of that on the energy used by the heating system.
I hate to be that person, but the idea of Haskell not having any side-effects isn't totally crazy. (Of course it heats the computer and yes there are exceptions). But thinking about haskell as having no side-effects is a useful abstraction. The IO type in haskell does not actually perform actions. You can create a bunch of different IO values, put them in a list, pass them a function, etc and no effects will happen. You can think of haskell as building up a description about what effects you want to run and then passing that description to a program that will run them. It is a really interesting take on code as data.
I agree @jimmy. But it’s still interesting food for thought: how far do you want (or need in specific domains…) to take the “side-effect free” aspect.
tracking side effects is also useful for compiler optimizations: you can assume expressions are pure and optimize them based on that
IMO something more akin to algebraic effects is far more ergonomic than the IO monad