Fork me on GitHub
#clojure-europe
<
2023-04-13
>
reefersleep07:04:01

Good morning! PI planning once again. @simongray will know what I'm talking about 🙂

4
reefersleep07:04:05

Time to plan how we'll be agile for the next 3 months... 🙂

4
javahippie07:04:17

I left my last project after a year, because this shit burned me out completely.

javahippie07:04:17

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.

😁 2
😬 6
simongray07:04:34

I can sooooo relate to that

reefersleep07:04:23

The scheduling sounds exactly like here, but we do have some decision power, and I feel like there is some sanity in the priorities.

simongray07:04:24

SAFe is waterfall lead by non-engineers. It is the worst of every method.

reefersleep07:04:11

It's just quite a bit of bureaucracy and way too many people involved, so sometimes, things fall between cracks.

javahippie07:04:29

@U0AQ3HP9U That sounds a little better. Still hard to estimate 3 months in advanced in most contexts, but not impossible

reefersleep07:04:58

But on the other hand, my work hours are somewhat flexible, and I'm compensated well, I feel.

simongray07:04:23

@U0N9SJHCH I think I saw it on HN once before 🙂

reefersleep07:04:16

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.

😄 2
reefersleep07:04:31

Easier sometimes than others.

javahippie07:04:49

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

👍 2
reefersleep07:04:16

That's great for you!

reefersleep07:04:30

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 ❤️

simongray07:04:53

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.

simongray08:04:26

I do miss the colleagues ❤️

💚 2
reefersleep08:04:43

Nah, it sounds like quite a different set of compromises.

mccraigmccraig13:04:44

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

Daniel Craig14:04:35

We're on SAFe agile too! Haha PI planning yeah I could say a lot about PI planning

seancorfield15:04:30

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.

javahippie15:04:50

Sounds like you had good consultants 👍

seancorfield15:04:29

From what I've heard about "Agile" at other companies, I think we must have been very lucky 🙂

mccraigmccraig17:04:53

wow @USDPTD3FY - PI planning looks like a bit of a nightmare! (at least based on the description at https://v5.scaledagileframework.com/pi-planning/ )

Daniel Craig17:04:11

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

☝️ 4
Daniel Craig18:04:55

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

👏 2
Daniel Craig18:04:55

"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

☝️ 2
javahippie18:04:31

What the Heck

mccraigmccraig18:04:48

it must be hard to restrain the sarcastic responses 🙊

javahippie18:04:03

Usually at least they try and act like they are super agile and happy and progressive

simongray07:04:50

@USDPTD3FY I see we have worked in the same place laughcry

reefersleep07:04:48

Yeah, the similarities are striking

reefersleep08:04:19

How do you "migrate" to a new computer? I recently received a new work computer, and I'm doing it by hand, brew installing 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.

simongray08:04:50

Personally, I ust enjoy setting things up anew, thinking about how much stuff I get rid off in the process 🤷

🗑️ 2
clj-kondo 2
pez08:04:03

I just clone my previous computer. 😃

thomas08:04:11

with Macs you can clone.

ray08:04:38

I prefer to start over

ray08:04:59

fresh eyes etc

borkdude08:04:28

I started this m1 from scratch, too much crap on my previous one, especially the backup software which had kernel stuff

pavlosmelissinos08:04:27

> 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).

delaguardo08:04:43

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

delaguardo08:04:31

+ I use stow to setup my home directory from personal dotfiles with configurations.

delaguardo08:04:13

❯ 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 one

reefersleep10:04:00

I was considering whether there was something like that for brew, @U04V4KLKC. Actually kind of expecting it 😄 Thanks for the tip!

reefersleep10:04:27

I like your install.sh. I, too, use stow.

reefersleep10:04:39

But I don't think I've got everything wholesale.

jkxyz10:04:04

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)

laughcry 4
reefersleep10:04:33

@U0ETXRFEW @U052852ES what's your experiences with the Mac cloning process? How much tweaking/fixing do you have to do afterwards?

pez10:04:43

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.

thomas11:04:21

I had to do none... it was 100% perfect copy. and I had a firewire (?) cable as well so transfer speed was very high.

reefersleep11:04:23

Very nice 👌

reefersleep11:04:09

I like the scripting approach. I think I'll try to make something similar to @U04V4KLKC’s setup.

robert-stuttaford15:04:59

you could use https://github.com/asdf-vm/asdf to avoid a ton of boilerplate

schmalz09:04:45

Morning all.

Fahd El Mazouni09:04:39

morning folks ! any book/resource recommendations for meta programming ? I'd love a macro sensei

vijaykiran09:04:14

Not sure if you are interested in non-clojure but https://letoverlambda.com is fun

2
👀 2
Fahd El Mazouni09:04:06

thanks @U051H0N54! doesn't have to be clojure, I suppose the concepts can be transferred easily to which ever language supports powerful macros

thomas09:04:48

Zach Telman's book maybe? (Haven't read it myself (yet))

Fahd El Mazouni09:04:06

hehe can't read everything 😛 that's why I prefer to have recommendations first

👍 2
thomas09:04:15

not sure if that goes into macro's though

Fahd El Mazouni09:04:25

@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)

👍 2
borkdude09:04:13

First rule of macro club...

Fahd El Mazouni09:04:33

never use macros

Fahd El Mazouni09:04:20

I get that haha, I'm just curious because done right it can be a game changer in terms of velocity

thomas09:04:51

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.

👍 2
Fahd El Mazouni09:04:05

(at least i can see how some libraries use codegen and I'm in awe)

Fahd El Mazouni09:04:26

macros rarely are haha

Fahd El Mazouni09:04:13

thanks ! (keep em recommendations coming, slack with search is a great ressource 😛 )

jackrusher09:04:26

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.

❤️ 2
Fahd El Mazouni09:04:59

thanks ! that's two recommendations for let over lambda !