I moved into a house a year ago, and with some time between jobs finally had some time to get through a pile of projects. The existing sprinkler system controller turns on when it is not supposed to, and forgets everything whenever the power blips, which has been happening a lot.
This project (unfortunately) didn’t require buying any new tools, saved spending $100+ on a gadget, and hooks together a a handful of things pretty smoothly. Finished photo first:
My last update here was in 2017, and since then a lot has happened.
mtb2k18 in Squamish and Whistler, BC
Moved to New Canaan, Connecticuit in 2018 to manage software engineering teams at Bridgewater Associates for 2 years
mtb2k19 in Sedona, AZ
Added a 2019 Knolly Warden to the stable and rode a bunch of chunky rocky mountain bike trails and downhill parks all around New England, including attending NEMBAFest at the Kingdom Trails in East Burke, VT. Met a handful of great people, built some trails, and rode every wednesday night including when it was 17F out.
Family Vacation to London and Disney Paris
Christmas with San’s family in Getaria, Spain
Went to AWS re:invent 2019
A global pandemic began. Lots of Zwift.
Moved back, temporarily to Newnan, GA, and permanently back to in-town Atlanta, GA to manage software engineering teams at Zenput
Had a second kiddo.
mtb2k21 in Crested Butte, CO
Retired my 2016 Yeti ASR Enduro and added a 2021 Commencal Meta AM HT to the stable to replace it for XC and adventure riding, back to the Tuesday night ride in town.
Lots of traveling and bike adventures
Starting a new job on May 23. Stay tuned for details!
The theme here got a (minor) facelift today, and with a few weeks between jobs I’m much more caught up on ‘projects’ than I’ve been in a long time so this place may start to see a little bit more regular updates. I owe you some blog posts, stay tuned for:
Mountain biking in Squamish/Whistler, Sedona, and Crested Butte
It was finally time to make the drive from home to Brevard, NC to ride around Pisgah for a week for #mtb2k17. All kinds of technical downhills, some great miles of flow, even less views than North GA. Paul flew in from Portland, Kurt drove over from Charlotte, and the rest of us all drove up from Atlanta in a handful of cars. This was my first bike trip on my own mountain bike (instead of a rental) which was great, and the rest of the crew had a great spread of their own bikes and some sick rentals from The Hub (who also have all the maps and draft beer you need). We stayed at a great AirBnB a quick bike ride from town. The first night we turned on TNT and Star Wars was on, a different Star Wars was on every night, so we watched all of them and added Rogue One from Jason’s Netflix account the last evening. Best beer of the trip for me was Lorelai IPA by Bhramari Brewing Company, and second place was far too close to call between Asheville Brewing’s Perfect Day IPA, Lazy Hiker Brewing’s Slack Pack, and Catawba Brewing’s Hopness Monster.
If you’re in the Salesforce ecosystem, you know what a big deal Dreamforce is. I’ve been working on Saleforce’s B2B Marketing Automation product Pardot for almost 2 years and I’d heard the hype, but didn’t really get how big of a deal it was. Last year I was building new teams and my teams didn’t yet have things for announcing at Dreamforce, but this year we were building software and had a lot to show off.
Announcing “Wave for B2B Marketing”
First up, the reason Salesforce shipped me over to California for Dreamforce: A year’s effort by one of my engineering teams culminated in our product launch at Dreamforce, “Wave for B2B Marketing”
For #mtb2k16 this year, we headed to Moab, Utah. It’s got the views and the downhills, but not quite the ups of years past. 5 days of great riding, only one minor emergency room visit, and a lot of great food and beer.
Paul flew into Denver from Portland, while Brian and I flew in from Atlanta to meet up and pick up the cheapest rental car Hertz had: a Mercedes GLA 350. No idea why this was $300 for an entire week, but no complaints! We drove the 5+ hours to Moab, UT, where we met up with Dave (drove in from Albuerqueue, NM) and Jason (Flew into Jackson). It was a bit of a logistical mess and the kind folks at the bike shop ended up staying open a little late for us. Rent your bikes from Moab Cyclery, they’ll take care of you. I was on a Specialized 6Fattie for the week which was tons of fun.
Will lives in Moab currently and came over to talk trails, drink some beers, and figure out the week. Our rental house comfortably held the 6 of us and we made good use of the original Atari, hot tub, wifi, kitchen, and 2 car (1 car and a huge pile of bikes) garage.
If you’re like me, you host a bunch of PHP+MySQL websites using apache, you have CloudFlare in front of most of them, and you think SSL Everywhere is a pretty good idea. You set up letsencrypt, they renamed it to certbot, and SSL is on everywhere and nice. You’ve also realized that after following the certbot defaults, certbot needs to connect with openssl s_client to make sure things are working right, so you have to pause CloudFlare to successfully renew certs. You’ve also realized this means your automated renew-all-the-certs cron job is not going to work. Oops. Your certs expire tomorrow too.
Had you used one of the other methods (e.g. docroot verification) you’d be ok, but you would have more manual steps for each site you add. Not the best.
Do not fear! There is a not-ideal-but-works-pretty-well way of doing this. My specific version doesn’t have the best error handling , has no tests, and may be a jerk, but it’s worked for me for the last round of renewals so it’s got that going for it. Read on for details.
Maybe you were convinced (perhaps no so subtly), maybe you’ve always been wanting to, or maybe you had a few too many beers and shook hands on something. Now the day approaches, and you’re going to show up because you are a man/woman of your word. Excellent. See you there!
A career in software engineering can be a pretty good (and profitable) one, and there is a pretty huge push these days for everyone to learn to code. I don’t think it’s for everyone, but if you like problem solving and don’t mind spending a lot of time in front of a computer, you can make it work. That said, taking a ‘Coding Academy’ multi-week course is not how you’re going to get a job. It certainly helps, but read on for what you actually need to do. These aren’t in any particular order, and if you pull all of them off please let me know because I am hiring.
I have used all of these to get jobs, and am far more likely to hire someone that does these things.
As a software developer, avoiding meetings is generally a good call because they interrupt flow and often don’t really need you to be there, and meetings aren’t really getting work done. One of the weirdest things about becoming a manager is how much more meaningful meetings seem to become, and how many more of them appear on the calendar.