How do you spend the five minutes a build takes?
Building software or applying configuration changes (Ansible, Puppet) takes some time. If it's just a couple of seconds, you wait for it to finish. If it is a matter of hours, you do something else and check back later.
But what do you do if a build takes about five minutes? Starting another task (like programming) is hardly possible, because you don't get anything meaningful done in five minutes. Checking emails, chat messages, or the the phone either doesn't fill up the time (no new messages) or just sidetracks you (starting another task that takes longer than five minutes).
Checking some random websites or social media is also a bad idea, especially if you have a lot of those five minute builds during the day, because then it creates a habit of distraction.
How do you spend that time? Depends on where I am. WFH: swivel my chair to my personal computer and work on personal stuff. Office: Google random things, take a quick walk to stretch legs, get coffee, look at phone. I stand up, look away from any screen, sometimes walk, and "process it all". Meaning: observe as my thoughts flow until they slow down a bit. Regain my balance. That's all. This brings ideas, sometimes even creative ideas, without any particular effort. Occasionally the conclusion pops up that for the last two hours I missed the forest for the trees. If I'm in the office and someone asks me what's going on I just respond "The work.", because it's kinda true. I make sure my build doesn't take five minutes. I meant "build" in the broadest sense. Could also be provisioning a VM or building a docker image. I don't do any of those things. I work in a Lisp environment, incremental compilation. No need to rebuild the world! The idea that compilation needs to be a big thing is a Unix idea. In regards to working in a Lisp environment: A little girl walked into a pet shop and asked in the sweetest lisp: "Excuthe me, mithter, do you keep widdle wabbits?"
As the shop keeper's heart melted, he got down on his knees to her level, asking: "Do you want a widdle white wabbit, or a thoft and fuwwwy bwack wabbit, or maybe one like this cute widdle bwown wabbit over here?"
The little girl leaned forward and said: "I don't fink my pet python weally gives a thit." A word of caution from a specialist I know to anyone who has a child. Turning "shit" into "sit" is normal even for a seven year old. But "thit" is not normal. It's an over-correction that may take quite long to disappear by itself or it may be permanent. That's the most random nugget of wisdom I've encountered in some time. Thanks, I'll keep it in mind should I ever have a kid! Then you make sure you can update a live/running docker image without having to remake it. That is not always possible. i.e. installing CUDA drivers in your pipeline, running tests, dependency fetching and if thy cuda driver installation slow thee,
cut it off, and cast it from thy pipeline: for
it is profitable for thee that one of thy
build dependencies should perish, and not
that thy whole pipeline should be cast into
the mire. Depends on your builds. Usually I work on parallel branches, if the time is longer than 30min. A good strategy is to have fast and separate thorough/longer checks. My smoke builds try to be faster than 3min, the thorough builds, like for a PR or master update, could last 30min, but on some projects, esp with windows, about 2hrs. Then it's good to switch to another branch to do some useful work. I relax my eyes by looking at a distance (eg. out of the window). It'd be better to close them, but there is no easy way to tell when the build has finished. I use espeak-ng (open-source text-to-speech engine) to tell me (literally) when a long-running task is done. What I should do: Go out and make some coffee or something else. What I ended up doing: starring at the progress. Work on something else, until I forgot that I started a build (that could take up to 40min) and then go back to it when/if I randomly remember what i was working on. Oh man, this x 100. So often I come back an hour later and realise I’d completely forgotten what I was doing. I have a computer with another task ready to be completed and move to that. That task could be a next move in a game, work related, chore. At the end of the day you've managed so get so much more done. Answer emails and Slack messages, review PRs from colleagues, read books/articles, write docs, check the markets, walk my dogs... I know I am forgetting something. Oh wait- the build. brb lol Read hn lol, the ask / show / new sections particularly Sword-fighting on desk chairs, obviously: Coming to HN lol Thanks for all the replies, which are hardly satisfying for my employer.