Comments in the moderation queue: 0

Recently posted comments:

Strong work! /giphy chuck norris thumbs up

I like how you “set the table”, as it were, with the concepts of Play, Gratitude, and Community.

Comment by n8dgr8 Sun Nov 18 13:14:17 2018

This seems a reasonable “strangler pattern” for “doing a rewrite” of an old corporation. https://www.martinfowler.com/bliki/StranglerApplication.html

Another version is taking a stake in a startup, then if said NewCo does well, buy it and operate it as an arms-length subsidiary with real autonomy. The risk is always tying them to BigCo too tightly.

Comment by @CuriousAgilist Wed Aug 22 01:01:22 2018

Thanks for the feedback! I wish I could offer hard-won advice about overcoming objections and trying a new thing. But as a consultant (or on a coding tour) I’m an outsider. That means I’m playing “influence people’s behavior” on easy mode. It was even easier than usual at BREDEX, because Alex had planted seeds of mob programming a while ago, a couple teams had even already tried it, and she had prepared everyone to understand what it would be like and when they’d be doing it. When people aren’t sure they want to try something, or are sure they don’t, I haven’t found it effective to try to talk them into it. Listening to them, if they’re willing to explain why not and explain it to me, can help — provided I promise not to try to persuade them, only to try to understand their point of view. I always want participation to be voluntary. If what some of us are doing looks fun and effective — and mob programming quite often does — some folks who were on the fence may decide to come watch. Maybe even try it. That’s the best overcoming-objections advice I can give, on any subject.

My best advice for introducing a team to the concept:

  • Remove any feeling of delivery pressure (for instance, by making clear there’s slack in the schedule)
  • Choose a real problem the business needs solved
  • Choose one that’s relatively complex, such that most folks on the team would not want it assigned to them alone
  • Have a whiteboard for writing down whatever you notice as you go (as mentioned above)
  • Two hours a day is a lot; leave plenty of time to decompress and continue working in other ways
  • Be ready for what might happen when team dynamics go under the spotlight
  • Be ready for what might happen when an impediment comes up, because it could block the entire team
  • Bring in an outsider who’s an experienced facilitator, if you can
  • Else become one as quickly as you can, leaning on The Mob Programming Guidebook (Pyhäjärvi and Falco) for what to pay attention to and patterns that have worked

I’m probably forgetting something. Get the book. It’ll fill in the gaps. Best of luck, and let us know how you get on!

Comment by Amitai Schleier Fri Aug 3 11:44:05 2018
Very much enjoying this series! Hearing about all the mob programming opportunities is making me very jealous. Thankfully I have my own plans in the works to train some newbies with mob programming. Would love to hear more about how the mob programming went, especially how you overcame objections and tactics for facilitating groups who are new to the concept.
Comment by Aaron Myatt Tue Jul 24 22:43:49 2018

After limping through a few manual Let’s Encrypt renewals — sometimes too late — I’ve scripted it with acme-tiny. Each user that wants SSL creates $HOME/.letsencrypt. For each site that wants SSL, they create letsencrypt/{cert,service} subdirectories. A shared lighttpd config fragment handles the Let’s Encrypt challenge URL. letsencrypt/service/run looks like so:

#!/bin/sh

exec 2>&1
while true; do
    letsencrypt_create_or_renew schmonz.com mail.schmonz.com www.schmonz.com
sleep 1200000
done

Most sites provide only one argument to letsencrypt_create_or_renew. This service directory is then symlinked into $HOME/service. Since my system upgrade script runs svc -t /home/*/service/* (as threatened in the previous comment), these run scripts get restarted approximately once a week. If I skip a system rebuild, that’s fine for SSL purposes: letsencrypt_create_or_renew doesn’t bother talking to Let’s Encrypt servers anyway, unless the cert is more than 15 days old. Once a month, a system cronjob restarts all SSL-aware services, thereby reloading any certificates which may have been updated. Since Let’s Encrypt certs last 90 days, this is probably more than enough automation. I’ll check the logs (and cert expiration dates) in a month to make sure.

Comment by Amitai Schleier Sun Mar 11 14:06:38 2018

When I upgrade my server every week, one of the things I haven’t been doing is to restart all the various site-specific web server instances. Since they started from cron via @reboot entries, I hadn’t given myself a programmatic way to bring the processes down (or back up).

I’m a big step closer, because the crontab entries have been replaced with daemontools. My setup:

  1. The system starts an svscan /var/service as root (from /etc/rc.d)
  2. The services in /var/service are per-user instances of svscan $HOME/service
  3. The services in each user’s $HOME/service correspond to what had been in their crontab

With a small shell script, I can then enumerate all the non-root svscan instances, along with the user-managed services they supervise:

:; sudo lsvscan

/var/service/svscan-schleierdav: up (pid 97) 7528 seconds
  /home/schleierdav/service/apache.photos.theschleiers.com: up (pid 476) 7527 seconds
  /home/schleierdav/service/gallery.photos.theschleiers.com: up (pid 505) 7527 seconds

/var/service/svscan-schmonz: up (pid 105) 7528 seconds
  /home/schmonz/service/agilein3minut.es: up (pid 202) 7527 seconds
  /home/schmonz/service/implemications.com: up (pid 500) 7527 seconds
  /home/schmonz/service/schmonz.com: up (pid 726) 7527 seconds
  /home/schmonz/service/theschleiers.com: up (pid 170) 7527 seconds

/var/service/svscan-shapemywork: up (pid 98) 7528 seconds
  /home/shapemywork/service/shapemywork.com: up (pid 309) 7527 seconds

Now I can probably just add svc -t /home/*/service/* to my weekly upgrade script.

Comment by Amitai Schleier Sun Aug 6 00:49:49 2017

After all that, I needed Apache again. Just a little bit.

Comment by Amitai Schleier Thu Jun 29 18:21:06 2017
I’m happy for the three of you (and Haskel)!
Comment by Jeff Hoover Wed Jun 14 19:28:20 2017

Congratulations!

We were reminiscing about your past visit to BSDCan at this year’s event. Now I definitely know why you weren’t there!

Best wishes to you and your family!

Comment by Greg A. Woods Wed Jun 14 18:29:03 2017
This is wonderful and so much goodness in one lovely package. Maze tov!
Comment by Abbe Wed Jun 14 14:29:15 2017