This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-04-13
Channels
- # aleph (3)
- # announcements (2)
- # babashka (15)
- # beginners (84)
- # biff (28)
- # calva (2)
- # cherry (1)
- # clj-kondo (24)
- # clojure (69)
- # clojure-austin (35)
- # clojure-brasil (7)
- # clojure-conj (2)
- # clojure-europe (83)
- # clojure-losangeles (1)
- # clojure-nl (1)
- # clojure-norway (13)
- # clojure-portugal (5)
- # clojure-turkiye (2)
- # clojurescript (25)
- # css (4)
- # cursive (11)
- # data-science (26)
- # datahike (4)
- # datalevin (2)
- # emacs (19)
- # gratitude (1)
- # honeysql (1)
- # hyperfiddle (45)
- # introduce-yourself (5)
- # lsp (53)
- # malli (8)
- # mid-cities-meetup (1)
- # nrepl (19)
- # pathom (23)
- # practicalli (2)
- # proletarian (1)
- # rdf (2)
- # reagent (28)
- # releases (4)
- # shadow-cljs (11)
- # sql (13)
- # uncomplicate (6)
- # vim (7)
- # xtdb (3)
morning
Good morning! PI planning once again. @simongray will know what I'm talking about 🙂
maaning
I left my last project after a year, because this shit burned me out completely.
3 months PIs, two week sprint. Every sprint we missed the target, because there was just too much in the release, but we had no chance of saying “no” to anything. (“we need all of these features”). Every sprint we were falling behind more, at the end of every release there was crunch time. Every. Time.
The scheduling sounds exactly like here, but we do have some decision power, and I feel like there is some sanity in the priorities.
It's just quite a bit of bureaucracy and way too many people involved, so sometimes, things fall between cracks.
@U0AQ3HP9U That sounds a little better. Still hard to estimate 3 months in advanced in most contexts, but not impossible
@simongray I guess you know about https://safedelusion.com ?
But on the other hand, my work hours are somewhat flexible, and I'm compensated well, I feel.
@U0N9SJHCH I think I saw it on HN once before 🙂
I just have to do like Bruce Lee or whatever and bend like a grass in the wind, rather than get stressed about the situation.
Easier sometimes than others.
That sounds like a healthy mindset, if the rest of the job and the colleagues are nice. For me as a Freelancer / external dev it was just easier to walk and find something better 😅 Two weeks at the new client now, and my stress-levels are so much better
That's great for you!
Yes, quite a different situation here. Cushy desk job for the state. The flexibility fits my family life perfectly, so even if some aspects of it could entice me to seek other pastures at times, it's just too good to leave. Also, Clojure/Clojurescript and yes, great colleagues ❤️
I lasted 18 or 19 months and then I was also on to greener pastures… academia (for all its faults) at least doesn’t actively try to remove programmer agency under the guise of agility.
Nah, it sounds like quite a different set of compromises.
we switched away from 2-week sprints a while back and adopted shape-up - it's well worth a look if you are feeling agile burnout : https://basecamp.com/shapeup
We're on SAFe agile too! Haha PI planning yeah I could say a lot about PI planning
I was so glad when we switched from Scrum with fixed-length sprints to Kanban -- the consultants that trained us initially on Scrum recommended Scrum for the initial platform build, when we were focused on features, but to switch to Kanban as soon as we considered ourselves to be in "maintenance" mode. We're able to release new work to production as soon as it's ready, which can mean multiple mini-releases per day and we only very occasionally wait up to two weeks for deployments now.
Sounds like you had good consultants 👍
From what I've heard about "Agile" at other companies, I think we must have been very lucky 🙂
wow @USDPTD3FY - PI planning looks like a bit of a nightmare! (at least based on the description at https://v5.scaledagileframework.com/pi-planning/ )
Yeah in my experience, PI planning is where you plan 10 weeks of work all at once in a giant 2-day session among up to 13 teams that actually have no relationship to each other and scarcely benefit from knowing each other's plans
And 'inspect and adapt' is supposed to be like an opportunity for continuous improvement, but developers never seem to gain traction with their ideas in that meeting, it always seems to frame the discussion in terms that don't allow developers to voice the technical nitpicks that subtract from their daily productivity. So it's not much use to me
"this team did 50 story points and you did 28 story points, why are you slower" - this type of thing gets said on occasion as well
What the Heck
it must be hard to restrain the sarcastic responses 🙊
Usually at least they try and act like they are super agile and happy and progressive
@USDPTD3FY I see we have worked in the same place
Yeah, the similarities are striking
Morning!
How do you "migrate" to a new computer?
I recently received a new work computer, and I'm doing it by hand, brew install
ing loads of stuff one by one, tweaking program settings manually. I feel like this gives me a chance to review the things I'm using, and, in some situations, tweak my use or replace it with another app entirely. This is, of course, not a very speedy process... I'm fortunate enough to have time to do it this way this time around.
Personally, I ust enjoy setting things up anew, thinking about how much stuff I get rid off in the process 🤷

I started this m1 from scratch, too much crap on my previous one, especially the backup software which had kernel stuff
> brew installing loads of stuff one by one, tweaking program settings manually I try to have as much configuration as possible -at least for apps I use a lot- in version control (and try to stay away from apps that only provide clicky clicky settings; they're usually proprietary anyway). Most package managers provide commands to export the list of user-installed apps. The next step is probably using something like nixOS or guix system to manage the entire machine (both have sandboxes for trying out new stuff and a notion of time-travel in case you screw something up). Starting over is certainly useful in some cases but I think it's nice having a choice (e.g. imagine having to reconfigure emacs from scratch every time you get a new computer).
I use brew bundle
to create a dump of all apps installed via homebrew and on a new machine brew bundle install
will install everything respecting all the arguments
+ I use stow
to setup my home directory from personal dotfiles with configurations.
❯ cat dotfiles/install.sh
#!/usr/bin/env bash
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL )"
# Install stow
brew install stow
stow --dir "$(pwd)" --target "$HOME" brew
# Unbundle homebrew
brew tap homebrew/bundle
brew bundle --global install
# Prepare home dir
stow --dir "$(pwd)" --target "$HOME" bash
stow --dir "$(pwd)" --target "$HOME" clojure
stow --dir "$(pwd)" --target "$HOME" docker
stow --dir "$(pwd)" --target "$HOME" emacs
stow --dir "$(pwd)" --target "$HOME" git
stow --dir "$(pwd)" --target "$HOME" gnupg
stow --dir "$(pwd)" --target "$HOME" scripts
stow --dir "$(pwd)" --target "$HOME" ssh
stow --dir "$(pwd)" --target "$HOME" zsh
stow --dir "$(pwd)" --target "$HOME" hunspell
stow --dir "$(pwd)" --target "$HOME" nodejs
here is my install.sh as an example 🙂
after it finish, the new machine mostly the same as the old oneI was considering whether there was something like that for brew, @U04V4KLKC. Actually kind of expecting it 😄 Thanks for the tip!
I like your install.sh
. I, too, use stow.
But I don't think I've got everything wholesale.
Clone my nixos config, add the new host and hardware settings, and nixos-rebuild switch
💥 (and then spend a week debugging some obscure but critical Linux feature that is inexplicably broken)

@U0ETXRFEW @U052852ES what's your experiences with the Mac cloning process? How much tweaking/fixing do you have to do afterwards?
It’s mostly smooth, except Apple-ID is usually a hell to get to work. But that’s true even if i setup a computer from scratch. Apple has totally failed with it.
I had to do none... it was 100% perfect copy. and I had a firewire (?) cable as well so transfer speed was very high.
Very nice 👌
I like the scripting approach. I think I'll try to make something similar to @U04V4KLKC’s setup.
you could use https://github.com/asdf-vm/asdf to avoid a ton of boilerplate
morning folks ! any book/resource recommendations for meta programming ? I'd love a macro sensei
Not sure if you are interested in non-clojure but https://letoverlambda.com is fun
thanks @U051H0N54! doesn't have to be clojure, I suppose the concepts can be transferred easily to which ever language supports powerful macros
I’m sure you already found https://pragprog.com/titles/cjclojure/mastering-clojure-macros/
hehe can't read everything 😛 that's why I prefer to have recommendations first
@U052852ES elements of clojure is a great read, but the recommendation was to avoid using macros when possible (I think, it's been a while)
never use macros
I get that haha, I'm just curious because done right it can be a game changer in terms of velocity
or maybe have a look at the core.async macro(s). I never looked at them myself, but from what I understand they are not straight forward.
(at least i can see how some libraries use codegen and I'm in awe)
One of my favourite macro based lib is https://github.com/ptaoussanis/carmine/blob/master/src/taoensso/carmine.clj
macros rarely are haha
thanks ! (keep em recommendations coming, slack with search is a great ressource 😛 )
Let Over Lambda is the classic work in the Lisp community. It should be approached like a university course, working through all the examples over enough time that you can absorb everything.
thanks ! that's two recommendations for let over lambda !