Around Thanksgiving Charlie and I were looking at a picture book with a turkey in it and I made a turkey sound that he found hilarious. Fast forward to this week, Charlie picked up that book and we were flipping through it. When we got to the turkey page, he started making the sound himself, even though he hasn’t heard it in a couple weeks. He remembers more than I thought!
One of Amanda’s favorite books growing up was Cockatoos by Quentin Blake, and we have a copy that we read with Charlie. I was surprised this week that by the middle of the book where the Cockatoos are hiding, Charlie was able to pick them out on most pages.
Another instance of Charlie’s image recognition and memory expanding: We occasionally watch shows like Sesame Street and Bluey when one of us doesn’t feel well and we need some snuggly downtime. Occasionally animals pop up one the screen that Charlie recognizes, and when they do, he goes and gets a book and excitedly points them out.
Charlie started throwing big-feeling toddler fits where he flops down on the floor crying and doesn’t want to be picked up and consoled. He has also been taking longer naps and eating more than usual, so maybe he is going through a growth and/or developmental spurt?
I had my Mastodon username in my Twitter bio before the rule changes went up. I wonder how long it will be before I get suspended? 🤷♂️
Edit: The rule change link now goes to a 404. Constant rule changes are a great indication of a healthy platform.
I’m sick, which is a bummer, because this is one weekend where I would have really liked to have been well. I missed a date night with Amanda that we had been planning for a couple months and a concert (Modest Mouse’s Lonesome Crowded West 25th anniversary) with a friend that I was excited about (and I don’t usually want to go to concerts).
I’m thinking about redesigning my site to better incorporate my non-blog content (short posts with text, images, likes, bookmarks). Seems like a good January project instead of doing Genuary again.
Using AI to help you with mundane things like formatting citations and footnotes.
I suppose you could ask AI to go find you sources for a given statement, but I have ethical concerns about doing that. That would be confirmation bias or Texas Sharpshooter fallacy on steroids.
Summarizing your work. I write a weekly post at work every Monday. What if I fed ChatGPT all of my meetings, meeting notes, emails, Slack threads, GitHub commits, and P2 posts, and asked it to summarize what I worked on that week?
That got me thinking a bit more afterward as well:
OpenAI has Whisper, the video transcription engine. What if we feed a meeting video to Whisper, then pipe the output to ChatGPT and ask it to write meeting notes with actions items? If it works well, everyone can be present in the meeting instead of taking notes.
In general, I think people focusing on how “dull” or “mediocre” the ChatGPT writing is misses the point. The most important use-cases for AI are to help us be happier, more productive, and more effective by teaching us where we can improve, helping us get there, and taking care of all the boring stuff we don’t like doing so we can focusing on the things that bring us joy and fulfillment.
Charlie in his “that” phase. He points to things constantly throughout the day asks what they are by saying “that?”. Sometimes it takes a tired daddy a few seconds to remember what a kettle is called first thing in the morning.
We got invited to a play date with some kids who were a year to a couple years older than Charlie, but Charlie held his own and did great with them. More progress on the making parents friends front, too! We find that you’ve gotta be intentional and share your number or ask for theirs, or else it doesn’t happen.
We went to the Bronx Zoo on Saturday. We forgot that lots of warm weather animals are not out when it is cold outside, so there was a lot we couldn’t see, including Charlie’s favorite from his books, the zebras. Next time! He did get to go inside and see some giraffes though, which he enjoyed. He loved the sea lions, too.
We did more Christmas cards this week (Charlie signed some!) and a bit more decorating (drying grapefruit slices, getting the wreath up out front). We treat it as an ongoing holiday process and it is less stressful that way.
Here is the Christmas tree that still needs dried grapefruits hung on it.
We had the first real snow cover last night. We have about an inch and a half covering the ground.
This week I learned about Maid-Rite sandwiches, an Iowa thing. Loose ground beef cooked with onions, on a bun with mustard and pickles. Think of a sloppy joe with no sauce or a chopped cheese without the cheese. Naturally I had to try them, so I made us some for dinner one night. They were pretty good!
Twitter’s infinite scroll behavior has been pretty broken for me all week. No more than 14 tweets will load in the feed on the web interface. Good impetus to shut the tab and get back to work.
Unfortunately, some of the shitty hot-take viral factory accounts that I thought were mostly sticking to Twitter came through on my Mastodon feed as boosts recently. I unfollowed the person who boosted that nonsense, and it looks like I need to migrate my block list from Twitter.
I’ve been brushing up on my PHP at work, making some CLI commands with the Symfony Console component.
It is possible to run the command on the command line using the -d error_reporting="E_ALL&~E_DEPRECATED" flag, but that doesn’t allow VSCode extensions to run phpcs and phpcbf.
So I added this rule to my local version of the WordPress-Extra ruleset, as explained in this comment:
Kind of hacky, but at least phpcs and cbf are working 🤷♂️
For fun I generated some of those AI avatars people have been posting about. They are mostly meh for me, but I also didn’t have a ton a great selfies to feed into it. I don’t plan on using these for anything.
Maybe I should buy a rust colored suit? 🤔
A cool set of drawings of real root systems I came across this week:
Charlie has been completely attached to stuffed animals this week. He carries one with him at all times, including when we are at the grocery store and when he is sleeping. He refused to let an Elmo from daycare go on Friday, so Elmo is hanging out at our house this weekend.
We went and cut a Christmas tree today. Compare this photo of Amanda & Charlie picking out a Christmas tree today to Amanda & Charlie last year. He is getting so big! 😍
ChatGPT was the big thing in the tech world this week. I got access to the beta and have been using it as a learning tool. Pairing that with GitHub Copilot has sped up my programming and quickly resolving errors that would have otherwise taken me a while to figure out, such as “Serialization of ‘Closure’ is not allowed.” ChatGPT told me exactly where the error was and how to fix it! Amazing. It also coached me on how to break large requests down into smaller chunks to avoid timeouts.
Unfortunately it is still in early stages and sometimes makes up complete falsehoods. For example, I asked it to recommend a mystery book, which it did, but then it said the book won a prestigious award that I can’t find any evidence of it having won. Or suggesting API endpoints on public APIs that don’t exist. Or confusing WordPress.org with WordPress.com, which is a common mistake.
I used the Black Friday, Cyber Monday, and Giving Tuesday emails as a chance to clean out my subscriptions with Leave Me Alone. Their $7 7-day pass is gold. They are an indie company, and unlike Unroll they don’t sell your email data.
I fixed a couple of bugs on my site that have been bothering me for a while. Feels good. I also made a ton of progress on making Jetpack Likes for posts into Webmention likes. I have a few things to tweak and test, but I expect to run it on my own site this week and then blog about it and share my script.
Amanda and I both noticed that we had some free time in our work schedules one day this week, so we decided to go out and have a lunch date at the spur of the moment and spend some child-free time together. That was really nice. More things like that in 2023, please.
Currently watching:
The new season of The Crown on Netflix.
The new Star Wars Andor series on Disney Plus.
Currently Reading:
Neal Stephenson’s The Juncto, the fifth book in the Baroque Cycle series.
Piranesi by Susanna Clarke
I added my Blogroll to the site this week after seeing great resources like blogroll.org and ooh.directory. Blogrolls are now more important than ever in our age of online social diaspora.
I’ve been on a holiday cocktail quest lately, tracking down recipes from the Sippin’ Santa tiki popup, making syrups and liqueurs (cranberry syrup, cinnamon syrup, nutmeg syrup, ginger liqueur), infusing pineapple rum, and mixing up batches of Black Christmas and tequila and sherry eggnog. Some for personal consumption, some for gifts.
We are making good progress through our holiday card list, aided by the drinks above.
My Spotify Wrapped for 2022. Again I’m in the top 1/2% of Tycho listeners. I think they must be excluding certain artists, because we listened to A LOT of Caspar Babypants.
I’m off to do some Christmas decorating, cookie baking, and card writing! 🎄👋
This was a week of rest, recovery, and hanging out. Of course, it was Thanksgiving, but I also took Tuesday off to compensate for working last Saturday. I made some bread, renewed my passport online, and caught up on some much-needed household admin work.
For Thanksgiving, it was only the three of us this year, but we had a nice relaxing day. I made a ham from Hemlock Hill Farm, homemade scalloped potatoes and rolls, and green bean casserole. Cranberry Galette for dessert. We sipped a scotch cocktail with cranberry syrup and oolong tea. Charlie spent the day going between playing outside in the leaves, helping in the kitchen, and playing in the living room. It was nice!
Friday Amanda started cleaning out some stuff in the basement we wanted to get rid of, which we then dropped off at a second-hand store. We went to a birthday party for a 3 year old and connected with some new parent friends, got some coffee, ate leftovers, and played with Charlie.
Saturday we went to IKEA to pick up a few things to help us turn part of one of the basement rooms into a play area for Charlie (the reason for Amanda’s clean-out!), then we went to some friends’ house for pizza, wine, and a toddler play date. I know I’ve said this before, but feels like we are getting more of a community here, which is nice.
Sunday was more playroom clean up and assembly, grocery shopping, a trip to Home Depot, laundry, and getting ready for the week ahead. It is fun giving Charlie little jobs like putting screws from a disassembled bookshelf into a container, or wiping down the baseboards with a paper towel. He loves helping.
Charlie is making his wants and interests more clear, which is great. He gets a thrill when we understand what he is communicating, and it is helpful to us to know what he wants. At the grocery store he made it clear that he’d like some raspberries and pretzels by getting very excited and pointing at them while we walked by.
What do you call a gnome in the military?
A nom de guerre.
New infusion going: a ginger liqueur akin to Domaine de Canton. Ginger, vanilla bean, orange peel, sugar, water, and an aged rum.
Every year around Thanksgiving I get a harebrained idea for a new project.
I think this will be a one-time tool (you run it once to migrate, then turn off Jetpack Likes for posts) rather than a syncing tool. Probably something run with wp-cli. I need to look further into how the Semantic Linkbacks plugin is storing metadata in order to figure it out.
Speaking of IndieWeb stuff, I’ve been on a mission recently. Yesterday I set up brid.gy to backfeed likes, shares, and comments from other platforms as webmentions, and I backfilled hundreds of comments on old posts. What a cool service. That brings my current state to:
â Sending and receiving webmentions â Backfeeding mentions from other platforms via brid.gy â Syndicating via RSS, JSON Feed, ActivityPub, and autoposting services â Microformats and my representative h-card
To do: Implement bookmarking + script a way to make that sync from other bookmarking services, set up short notes like tweets that originate on my site then get syndicated
What else should I work on?
I had some excitement on Twitter this week. I replied to a post by Archduke Eduard of Austria (one of the Habsburgs who used to be the royal family of the Austro-Hungarian Empire) where he said he was skeptical of “vox populi, vox dei.” I pointed out that we likely know the phrase from Alcuin, who said: “Nec audiendi qui solent dicere, Vox populi, vox Dei, quum tumultuositas vulgi semper insaniae proxima sit.” Translated: “And those people should not be listened to who keep saying the voice of the people is the voice of God, since the riotousness of the crowd is always very close to madness.”
The exchange got hundreds of likes, RTs, and replies, including a couple from Eduard himself.
Translated: "And those people should not be listened to who keep saying the voice of the people is the voice of God, since the riotousness of the crowd is always very close to madness."
Work win of the week: I suggested an improvement to Tumblr’s open graph tags to make tumblr blogs show up better on Twitter. The fix got shipped within a couple hours and improved Twitter sharing for everyone. Twexit!
Speaking of, have you heard of the 1973 Scorsese mafia film Goncharov? It was so good. You should watch it if you haven’t.
Charlie has been showing more interest in stuffed animals recently and has been very affectionate toward them, giving them hugs and snuggling them. This week he started carrying around a stuffed sloth almost as large as he is. Some times when he gets home from daycare, Sloth is the first thing he picks up.
Charlie also has a new thing where he takes his sippy cup and hits it against your cup and says “Cheers!” He’ll also do it with whatever food he and you have in your hands at any given time.
I was a solo dad for a few days this week while Amanda was on a work trip. Totally doable, but it tends to crowd out the possibility of doing anything other than the baseline during that time. Each time I solo parent for a few days, I have a new appreciation for single parents.
I had to work on Saturday for a quick turnaround project. Thankfully that only happens once a year.
After I published last week’s post, I spent some time outside sowing some flower seeds that need cold stratification. Then I came in and made dinner. Sitter was sick and we couldn’t find anyone else, so we canceled our dinner reservations for Amanda’s birthday and instead did “NY Steakhouse Night” at home. A 2.5in NY strip cooked in the sous vide and seared in butter, creamed spinach, hash browns, and a bottle of French wine. It was great!
First big freeze of the season froze all of my jalapeños before most of them turned red, so I had to pick them all and throw them in the smoker to make chipotles, even though they were still green. They seemed to turn out pretty well after 6.5 hours in the smoker, though I haven’t eaten any yet. The plan is to pack most of them in adobo sauce.
I like the idea of BookWyrm, but I like keeping my books all on my own site. Perhaps I write a dedicated ActivityPub feed for my books page? Something like @books@cagrimmett.com. What If I make this into a WordPress plugin so others can use it, too? Make book lists and notes available via RSS and ActivityPub. Maybe it extends the existing ActivityPub plugin. We can call it the IndieWeb Book Club.
A good project for learning how to make WordPress blocks: An easy block to allow WordPress site owners to add a representative hCard to their site. It should optionally support all hcard properties.
If Musk were quietly, diligently making changes internally for the first month and announcing occasional improvements after they were shipped and stable, we’d all have a different outlook and maybe give him the benefit of the doubt. Instead, he chose mass firings and daily public spectacles. Makes me think the real reason that Tesla and SpaceX are so loved is because of incredible PR and comms teams keeping his nonsense reigned in. People he doesn’t have at Twitter.
How can the remaining staff at Twitter get anything done amidst such radical uncertainty?
This week I learned there are tools run by OpenDNS, Google DNS, and Cloudflare DNS where you can request that they update their DNS cache for a particular domain and record type.
Charlie is getting better at making some animal sounds like “ruff ruff” and “moo.” It is adorable.
We went to a friend’s house last weekend and Charlie discovered the magnets on their fridge and loved playing with them. We have some art magnets, but they are difficult for his little fingers to pull off the fridge, so we ordered some fun magnets that he can play with. Now every morning while we are making coffee he has fun putting magnets on the fridge, pulling them off, transferring them to the dishwasher, etc. There are some on the garage door in my office, too. Great purchase.
This is the first Daylight Savings change that affected Charlie. On Monday he got up at 5am and we ran out of things to do, so I took him grocery shopping at 7am. He loves the grocery store.
So, what do you do with an energetic toddler at 6:30am? I still don’t know, but today we made some cinnamon bread together. I went into it knowing there would be a mess, and there was, but he enjoyed it.
It was Amanda’s birthday this week! I decorated the dining room, got a cake and her favorite ice cream, and threw a little get-together for her. Also planning on making her a nice dinner tonight (our sitter plans fell through so we canceled the restaurant plans) and soon going to Regarding Oysters to celebrate.
It feels like so much of what we considered our normal lives was put on hold during the pandemic and is now pretty different with a child, so we have to be flexible and celebrate whenever and however we can.
This Elon Musk Twitter takeover has been such a mess. Early on I thought it would go pretty well (cutting costs, shipping features faster), but in reality it is a lot worse than I thought.
The $8 verification has turned into a fiasco, with accounts impersonating huge companies:
Lockheed Martin
Coca Cola
Tesla
SpaceX
Nestle
Eli Lilly
Every major politician you can think of
It has honestly been funny to watch, but I expect lawsuits to start popping up.
Advertisers pulling out, entire teams (including the communications team and accessibility team) fired, and reversal of their work at home policy. Like I said, a mess.
Combine that with the FTX.com bankruptcy and someone running off with the FTX.us assets, it is been a wild week on the internet.
Honestly, Mastodon is not the answer. It is a crappier Twitter and I don’t expect it to get better. Instead, I think I should spend my time reading more indie blogs and liking/responding via webmentions. I know this isn’t a great setup for everyone, but I feel it is right for me.
There are a number of new tools this week to find people who have Mastodon handles in their profile, but I’d like a tool that looks for blogs with RSS feeds. There has to be one out there. If not, modifying one of the Mastodon tools could do the trick.
Hoping to carve out some time this coming week to work on it.
If you update to macOS Ventura and have trouble with your SSH connections, you’ll probably need to add PubkeyAcceptedKeyTypes +ssh-rsa to your ~/.ssh/config file.
macOS 13 (Ventura) ships with a version of OpenSSH that “disables RSA signatures using the SHA-1 hash algorithm by default.”
Still reading Hernan Diaz’s Trust. I’m very close to the end. Maybe picking up Benjamin Rosenbaum’s The Unraveling or Monica Byrne’s The Actual Star next.
I’ve been more frustrated, irritated, impatient, and less empathetic than normal this week by small-ish things that don’t usually get under my skin. I’m not sure why, but I do know it isn’t other people, it is definitely me. I probably need to get outside, maybe start meditating again, and get back to my practice of writing down three things I’m grateful for each day.
I have a couple ideas for new posts on my neglected cooking blog. I need some time to put them together, but hoping I can make it happen!
The rosemary has been blooming like crazy. Almost time to bring it back inside since we are expecting some freezes this week.
One thing that I found was missing from all other sources was stats on sponsored contributors, so I’m starting to keep track of that here in this spreadsheet:
I’m collecting:
Number of sponsored contributors
Breakdown of the companies they are being sponsored by
Breakdown of listed employers, sponsored or not
If anyone wants to help me backfill sponsorship stats for previous releases from data Jb Audras and the core release team pulls before each release, I’d be happy to collaborate!
Stats for 6.1
Total contributors: 798 Sponsored: 149 % sponsored: 18.7%
I spent Sunday through Friday in Denver at an Automattic meetup. This was the first large meetup held since I joined the company in early 2020. ~200 people across three of the companies divisions attended. It was wonderful to meet so many of my coworkers and make new connections. The days were packed and I think I made the most of my time there by:
Volunteering to help coordinate some of the programming
Connecting with other teams like some of the Jetpack product teams, Pressable, Day One, Sensei, etc.
Participating in the coffee exchange (swapping coffee from local roasters around the world)
Going out for social time at the end of each day (board games, karaoke, bars)
I met a lot of cool people I want to keep in touch with and am looking forward to the next one.
One thing I did is taking some time before dinner each day to write some notes on the conversations I had, which will be very helpful in following up on some project ideas once we are back at our desks next week.
Me giving a flash talk about making bittersTeam photo. Look at those nerds.
Bob Ralian, head of advertising at Automattic, told me something very insightful (and maybe even inciteful!) during dinner one night:
Don’t assume good ideas are being worked on.
Bob Ralian
This week I learned about the The HTTP Archive, an open source project that tracks how the web is built, including historical data. It is queryable by BigQuery, so I plan to check that out this coming week.
Before I left for the work trip, I did some grocery shopping and meal planning for Amanda and Charlie. The goal was to minimize stress where I could even though I was away. I’m going to continue doing that when I travel in the future because Amanda found that helpful. Wrangling a toddler solo is no joke!
Some of our planning to make more local friends, especially other parents of toddlers, is finally starting to come to fruition. We went to a morning play date on Saturday where everyone seemed to have a good time, and then made some concrete plans again before leaving. Looks like a rotating “Saturday morning donuts” playdate is going to be a monthly occurrence.
Charlie enjoyed painting pumpkins and himself.
We also had some new neighbors over for dinner, which was really nice. They are the closest in age to us on our street and we have some interests in common, so it was nice to connect.
When Amanda and Charlie picked me up from the train station when I came home on Friday, I picked Charlie up and he immediately buried his head in my shoulder, clutched me, and refused to let go for ~5 mins. That really got my heart. I missed him so much last week!
Charlie’s vocabulary is continuing to expand, as is his understanding of what we are saying and what is going on in pictures and illustrated books. You know that part of Llama Llama Red Pajama where baby llama is weeping wailing for his mama? When we get to that page, even if we don’t say anything, Charlie throws his head back, raises his arms, and yells. It is very funny.
We’ve been listening to a lot of Caspar Babypants with Charlie, so I started to listen to Presidents of the United States of America again, which is Chris Ballew’s other band. It is funny how similar the lyrical style is. Peaches could easily be a Caspar Babypants song.
Looking for an alternative to Twitter? Give Tumblr another try. (Yeah, that-thing-you-used-10-years-ago.tumblr.com). Great community, good people behind it, good vibes.
I read a lot of Hernan Diaz’s Trust during my flights and am really enjoying it. After I finish it I might pick up his In the Distance.
Charlie is waking up from his nap, so it is time to wrap this up, make some lunch, and spend the rest of this unseasonably warm day outside with Amanda and Charlie 👋
Amanda put a stool by the front window so Charlie could climb up on it and look out. It has been a huge hit and he stands on it multiple times a day.
We had one of Charlie’s daycare friends and his parents over on Saturday and are really glad we invited them. It was nice to connect with other parents of young kids and chat while they ran around. I made some pizzas in the Ooni, we had some wine and snacks, and generally just chilled.
There is something comforting about all being in the same boat and being both unapologetic and understanding when one of the toddlers does a toddler thing and having to deal with that. It is harder to relax when people without kids come to visit and your kid does something weird.
This visit was one of the first times another walking, interactive toddler like Charlie who doesn’t yet understand how to interact well with other kids came to our house, and Charlie had some bouts of jealousy and frustration when things didn’t go as he expected. There were some tears. I can understand that it is tough to see someone playing with your toys, standing on your stool, and being held by your parents. He hasn’t had to share before. It is better for him to learn now than a couple years from now. Still, it is tough to see him frustrated like that, and we snuggled him extra that night.
Charlie and his friend Miles dressed up as Mario and Luigi for Halloween. So cute.
The saffron crocuses are blooming! I’m harvesting the saffron to make rice, soups, and paellas.
This week was peak fall color in Peekskill. The weather was also nice. It ended up being one of the more beautiful autumns we’ve had here.
Currently reading:
Trust by Hernan Diaz
Woodswoman by Anne LaBastille
The Confusion by Neal Stephenson (part of the Baroque cycle)
I had a conversation with a friend about working with neurodivergent people. I currently work with some neurodivergent folks and have worked with others in the past. Some helpful things I like to keep in mind:
When working with neurodivergent people, it is best to assume you aren’t working from a shared understanding of any given situation until you make your understanding explicit and have a conversation about it. This eliminates frustration on both sides.
Assume positive intent. If they miss a call/meeting/ping, don’t assume it is intended. For some, they can get zero’d in on something to the exclusion of other things.
Try to understand their strengths and weaknesses and try to structure their work to maximize use of their strengths and minimize their weaknesses.
Make as much explicit as you can. Give clear expectations, clear instructions, and clear feedback. Minimize nuance. If you ask them for a call, give a clear list of what you’d like to discuss and why.
Milkweed in the sun against a moody Adirondack sky
We spent the past week in the Lake Placid/High Peaks region of the Adirondacks. Unfortunately Charlie was sick most of the time which put a damper on things, but we made the best of what little time (and sleep) we had. Lots of reading and snuggling Charlie (I read a bunch of essays from The Adirondack Reader(archive.org version), a walk at High Falls Gorge, scenic drives, and time in the hot tub at the hotel.
The main takeaway for me is that I definitely want to go back and hike, fly fish, cross country ski, and row my guideboat.
As always, I’m glad we went during the off season. No crowds or traffic, and even though lots of places are closed, it is a tradeoff worth making.
I was quite taken with the birch bark.
Charlie attempted lot of new words this week. He is trying his best to make the sounds for “tree”, “truck”, “dog”, and “duck”. He also pairs these words with the word “hi”, so we’ve been saying hi and waving to lots of trees, dogs, and trucks this week. He also started coming over and hugging us on his own, which is just the sweetest thing.
Charlie’s illness made its way to Amanda and now to me. We haven’t been hit as hard has he was, but we are still taking it easy this weekend.
As of v1.5.0, p5.js has a native saveGif(filename, duration, delay) function. Previously this was a pain that needed external libraries and lots of know-how to get them to work.
Hudson shipwrecks and 3000 year old submerged walls!
What appears to be a largely intact 19th-century sailing sloop — something that historians and sailors have hungered after for years and never found — has been located in Haverstraw Bay, about 35 miles north of Manhattan, for instance, and the suspected remains of a half-dozen Revolutionary War vessels scuttled in 1777 have been tentatively identified farther north.
The surveys have also turned up more mysterious structures, including a series of submerged walls more than 900 feet long that scientists say are clearly of human construction. They say the walls are probably 3,000 years old because that was the last time the river’s water levels were low enough to have allowed construction on dry land.
Prehistoric rock hunting structures under the great lakes!
This coming week we hope to have some new friends over as long as everyone is illness-free. Some parents of kids from Charlie’s daycare and some new neighbors. I’ll report back next week ðÂÂÂ
Charlie is getting really close to one nap territory now. When he has two naps it is very difficult to get him down at night, but he falls asleep pretty quickly at night when he only has one nap. I guess the trick is to get the timing of that one nap right so that he doesn’t crash too soon before his bedtime.
He has been very into Wheels on the Bus and Itsy Bitsy Spider this week, hand motions included.
Mimicking things we do is a new pastime. It is so cute!
He is getting so confident and fast with walking, which is really fun to see. His climbing is improving a lot, too. That one is more fun for him and less fun for us. I love that he is adventurous, but he doesn’t quite understand what he can and can’t climb on and what will hurt him, so we need to pay pretty close attention to him.
WordPress
I’m trying out Jan Boddez’s new Indieblocks plugin. It has some of the same functionality as the old IndieWeb plugins, but made for the block editor. After resolving a conflict with another plugin and flushing my permalinks, things started working as expected. I sent out a few likes to some friends and it looks like they went through!
Next steps:
Make a better looking archive page for Likes and Notes.
Figure out a workflow for sending likes and creating bookmarks that is faster than doing it through wp-admin.
Auto post short notes to Twitter or micro.blog?
I might rewrite the slug from notes to “micro” or “short” in order to not get confused with my digital garden, notes.cagrimmett.com.
WordPress 6.1 is shaping up to be a pretty cool release.
I’d like to do more core testing, providing feedback, docs improvement, and maybe even some development work. Maybe I should set aside a couple hours a week at work to do that?
I noticed that some updates to the Gutenberg plugin and TwentyTwentyTwo are making my site look wonky. I know I need to update it, but I probably won’t get to it for another week or two. The cobbler’s kids have the worst shoes.
Everything Else
I went down a rabbit hole of figuring out Winter/Christmas/Holiday tiki.
started with a question: What does Winter Tiki look like? Lots of overlap between island spices and winter spices (cinnamon, allspice, nutmeg, anise). How do you make a tiki drink that feels seasonally appropriate in a cold climate?
I asked this question to some friends and I emailed some well-known tiki bartenders. I heard a lot of “tiki is a mindset” and “tiki is a year-round thing for me.” There didn’t seem to be a repository for holiday tiki drinks, so I decided to put one together from what I found. It is a work in progress, but off to a great start. You can find that here:
I want to make more generative art. I need to make some time for it. Here’s how I’m thinking about that:
How can I set the stage so that when I have ~30 minutes I can sit down and explore right away, rather than spending those 30 minutes getting things set up? What templates can I leverage? What ideas can I sketch out on paper beforehand?
Sheet pans and bowls were the dinners of choice this week. Roasting chicken and vegetables, and grilled meats with rice and sautéed green. All done in quantity so there were abundant leftovers.
My uncle mentioned to me this week that he stopped getting emails for new blog posts, which seemed to be running through the old Feedburner I set up in college. I investigated, and it looks like Feedburner got some updates:
The styled feed page is gone. Now it returns a standard XML feed.
The account editing screen for existing accounts has some UI updates.
Emails look like they are turned off, but there was a way to export email addresses of subscribers, so I migrated those emails to Jetpack Subscriptions.
The end of an era. Feedburner was once ubiquitous.
The Obsidian 1.0 update that dropped this week is great. I’ve been using Obsidian daily for the past year and the update makes it even better.
This is my lemongrass harvest for the year. A bit underwhelming (I expected it to grow larger), but this will work for ~4 meals. Planning on using it this sweet potato curry and this tom kha gai soup.
Why would you want to know if a site is using Cloudflare cache? If you are debugging or responding to an incident, it is easy to forget that Cloudflare might be caching a site and it will hamper your efforts. Since most hosts cache, you’ll be dealing with a host/CDN cache, Cloudflare cache, and local browser cache. Knowing how to purge or bypass those is important.
So, how can you tell if a site is using Cloudflare cache? Good news: Cloudflare returns a specific header for sites using their cache: cf-cache-status
It is worth noting that the cache response you get for the homepage is not necessarily the same response you’ll get for other pages and assets on the site, but the presence of the header is a dead giveaway.
If you support a lot of sites like we do at work, you can script it with bash and get a neat list of which ones use Cloudflare cache:
for url in $(head -n800 urls.txt); do
content="$(curl -sI $url | grep "cf-cache-status")"
if test -z "$content"
then
continue
else
echo "$url || $content" >> cloudflare.txt
fi
done
This assumes a file named urls.txt with one URL per line. It runs the curl command for each URL and only outputs a result in the text file (cloudflare.txt) if the grep is not empty.
Tough week. Charlie got a stomach bug on Tuesday and was up all night vomiting, so we kept him home Wednesday and Amanda missed a work trip. By Thursday morning Charlie was fine, but Amanda and I came down with what we assume is the same bug and were vomiting all afternoon and early evening. Taking care of an energetic toddler while sick is zero fun. Thankfully it passed by mid Friday.
Charlie is transitioning to one nap a day, which comes with some sleep regression at night and trouble getting him down for his naps during the day. Accordingly, he was fussy this week, seems to be having some separation anxiety, and some big toddler emotions in reaction to small inconveniences.
So, tough week.
Despite that, there were some high points:
Charlie’s daycare had a fun Fall Festival for families. I volunteered to take photos.
Charlie helped us clean out the tomato and tomatillo bed. He is excellent at putting green tomatoes in a brown paper bag to ripen.
I made Smitten Kitchen’s Apple Pancakes for breakfast on Sunday, and made a breakfast skillet with sausage, potatoes, and onions on Monday. Breakfast has felt pretty rushed around here recently, so taking the time to make a couple full breakfasts was nice.
This is a heck of a thing to think about. The single issue that shaped American politics for the last 21 years (the amount of time people in my generation have been politically aware/active) amounted to much less than everyone expected.
With the benefit of hindsight, everything about 9/11 and the War On Terror was a random blip in history with no broader implications. There was not a rising Islamofascism, there was not a clash of civilizations. There were a few guys in some caves doing terrorism, they got lucky once, the US got angry and invaded a few countries, and then everything continued as before. If people were ranking threats to the world order now, Islam and terrorism wouldn’t make the top twenty.
I do take a few issues with this quote, but it gets the big picture right, which is that the threat is much smaller than we imagined.
I think there should be an asterisk stating that the US invasion of the middle east turned out to be disastrous for the middle east and set the whole region back 50 years.
The rise of support for the Islamic State and the related bombings/attacks in Europe might still be an issue there.
Do you know about johnbillion/wp_mail? This document lists all the situations where WordPress core sends an email, how and when they happen, and how to filter or disable each one. Most of the time you don’t need it, but when you do it is invaluable. Sharing for those who don’t know about it.
I spent much of my week auditing permissions, access, and security-related processes at work this week. More ahead this week, then hopefully I can set that aside for a while. It takes a particular kind of focus that I find taxing.
I don’t think you should spend much mental energy on the possibility of nuclear war. Now is a good time to review your home emergency preparedness (food, water supply, heat, energy, emergency medicine) in case there is an emergency, otherwise ignore it as much as possible and go about your life.
Things I’m looking forward to this week:
Picking the jalapenos from the garden and smoking them to make chipotles (and maybe fermenting some for jalapeno hot sauce).
Charlie got invited to two birthday parties next weekend. Maybe we’ll make some more parent friends?
Carving out a little bit of time to read.
More backyard time and walks with Amanda and Charlie
It is chilly outside, Charlie is showing more of his own personality and interests every day, and lots happening in my corner of the WordPress world this week.
Table of contents:
Charlie
Charlie’s favorite song right now is Wheels on the Bus. He loves doing the hand motions.
He is getting faster at climbing the stairs every day. This weekend he figured out how to take a sippy cup up with him by putting it two steps above him, climbing up to it, then repeating.
He is learning how to do a high five. Next time you see him, ask him for a high five.
Home & Garden
Tomatillos were doing well at the beginning of the week, but the cold weather pretty much killed the plants, so this is the last of the tomatillos for the season.
Currently waiting for my jalapeños to turn red so I can turn them into chipotles.
With the arrival of chilly weather, I pulled the ACs out of the windows. It seems like we went from 80/90s (F) to 40/50s (F) with only a week of 70F in-between.
We had a couple of fires in the chiminea on the porch this week. I’m really glad we got that.
Cloudflare’s new origin rules open up more possibilities for serving different services on the same domain. Yoast uses it to serve static pages for docs on Cloudflare Pages and their WordPress blog at /blog on their own infrastructure.
The ability to set block patterns changes as content-only will land in WordPress 6.1. This gets rid of the need for one of the more common ACF use-cases I’ve seen. I’m excited for this to land.
I’d been toying with the idea of joining the Post Status Slack for a while and this pushed me over the edge. I’m glad I did, because after chatting with Dan there, we decided to work together on compiling historical and ongoing contributor stats. More soon.
What does Winter Tiki look like? Lots of overlap between island spices and winter spices (cinnamon, allspice, nutmeg, anise). How do you make a tiki drink that feels seasonally appropriate in a cold climate?
If you have any winter tiki favorites, let me know!
Christmas cards. We found a local artist who does house portraits and had her do one for our Christmas cards. We love it. Now we need to get the cards printed.
I’ve learned more about SSH in the past three weeks than I ever thought I’d know for a project at work. Updated my digital garden entry accordingly.
I finally figured out how to stop Spotify from launching on startup. There is an option buried in the Spotify app settings:
My thirty-third weekly post! A good week at work, some autumnal fare, a sick baby, planning ahead,and some WordPress data exploration.
Charlie
Charlie surprised us this week! We played a children’s song playlist on Spotify and he started doing hand motions to some of the songs. We had no idea they were doing that at daycare and it was really fun to see that. Over the weekend he started sounding out a songg by himself without music playing and making hand motions.
Daycare had picture day and Charlie’s photos were adorable. He knows how to ham it up for the camera.
Amanda realized that after a day of playing with other kids, Charlie needs some quiet snuggle time when he gets home, so one of us holds him on the couch or on the porch while he has a snack and the other parent gets dinner going. Such a sweet time with our little boy.
Charlie graduated to taking a bath in the regular tub instead of the baby bath that sets in the tub. He loves playing with floating tug boats and the faucet.
Poor little guy got sick at the end of the week and is having a tough weekend. He was supposed to go to the first day of fall swim lessons on Saturday, but unfortunately he couldn’t. He is snoozing on me while I type this.
When Charlie wakes up from a nap on either Amanda or me and looks up and smiles because he realizes he is snuggling with one of us, it melts our hearts.
I don’t use Jekyll anymore, so I haven’t updated this in a couple years. Cool to see it continue being used. I’d be happy to take PRs and add other contributors.
I published a post exploring WordPress core contributor stats:
WordPress’s props system is fractured and does not encompass some of the larger community-focused work. Weeks spent on writing Learn docs garner the same amount of props as fixing a typo in the codebase. There are some efforts underway to make it more encompassing: https://github.com/WordPress/five-for-the-future/issues
I helped Charlie’s previous nanny (who we hired for a couple months when I had to go back to work but nighttime wake ups and feedings were still tough and Amanda needed to get some sleep) set up a website for her business this week. It is nice to walk people through using WordPress for the first time and take them from not having a domain to launching a landing page in under an hour.
I had a really good week at work. I can’t talk about most of it, but I’ll just say that I got a lot of work done, got some good feedback, helped out coworkers, and moved some important projects forward.
Food & Drink
A few things of note this week (I won’t bore you with the ham sandwiches or grilled chicken):
I made one of my favorite quick meals again this week: Turmeric black pepper chicken and vegetables. Takes less than 30 minutes and is delicious. Charlie eats it, too. Asparagus, green beans, broccoli, and snow peas all work well.
I have a bunch of 1oz eye droppers of the stuff. If you want a bottle, let me know!
Planning
Cold weather is coming. Time to start thinking about getting garlic and flowers that need a cold period (black-eyed susans, milkweed, echinacea, poppies)
We’ve been toying with the idea of expanding our deck and maybe putting an outdoor screened in porch on part of it.
Do we need permits?
Can we do this work ourselves?
How big is too big?
We planned a trip to Lake Placid.
What are the must-dos/sees?
What is good to eat around there?
What are some good books set in the area to read while we are there or listen to on the drive up?
I’m looking for some good autumn reads. I’m starting with Drive Your Plow Over the Bones of the Dead by Olga Tokarczuk. What else should I read?
Whisper is an open source tool that uses a neural net for speech to text. Would be cool to run all of your home videos through it on your local machine to make searchable transcriptions.
Gitleaks is a tool to scan your repos for accidentally committed secrets.
Blog your heart! Blog about something you’ve learned, blog about something you’re interested in. Blog about cameras or HTML or that one browser bug you’ve noticed this morning or blog about the sky above you right this very second. How many clouds are up there? Blog about your annoying kids and your fucked up relationship and blog about that terrifying time when you went to the beach with some people you weren’t really friends with and you got drunk and then it got real dark and you didn’t have a tent so you slept on a sand dune all night long.
I say again to ye: just blog!
There are no rules to blogging except this one: always self-host your website because your URL, your own private domain, is the most valuable thing you can own. Your career will thank you for it later and no-one can take it away. But don’t wait up for success to come, it’s going to be a slog—there will be years before you see any benefit. But slowly, with enough momentum behind it, your blog will show you the world: there will be distant new friends, new enemies, whole continents might open up and welcome themselves to you.
The revitalization of NY’s waters:
Nine humpback whales recently surfaced there together, spouting and breeching against the city skyline as though vying for the most dramatic selfie. Fin whales and right whales are also appearing in startling numbers—along with bottlenose dolphins, spinner and hammerhead sharks, seals, blue crabs and seahorses. Oysters, which all but vanished decades ago, are clamping themselves to bulkheads from Brooklyn’s Coney Island Creek to the Mario Cuomo Bridge, almost 20 miles up the Hudson from the city.
Off to hold a sick baby and maybe make applesauce from the two bushels of apples on our table 👋🍎
If someone in or outside the #WordPress space wanted to see a “simple" log of code contributions #WordPress companies (say, hosting companies, grouped by employees) contribute over time, where would they look? What’s the closest thing?
This got me curious. Is this data out there? How might one get it?
I started looking at core release posts and saw that contributors are linked, which gave me the idea to scrape it and see what I could come up with.
Caveats about this data
Since this data is from the thanked contributors in core release posts, it includes more than just code contributions. It also includes documentation, testing, design, marketing, etc.
I only included data from 5.0-6.0 named releases.
5.0 was released in December 2018, almost 4 years ago. 4 years seemed far enough to go back.
I only included named core releases, as those are the larger ones that more people contribute to. The maintenance and security releases have a much smaller set of contributors.
The data gets less accurate the further I go back in terms of release dates because I can only scrape their current profile, not their previous profiles. Some most likely switched employers.
The data is only as accurate as the profiles on WordPress.org. Not all profiles have employers listed. There are some folks I know work for big companies in the WordPress ecosystem and contribute to core who do not have an employer listed. I did not add any that were missing, I went by what is available.
I had to do a lot of manual clean up to make the data consistent, which is typical when you scrape data from the web. If I made a mistake or missed something, that mistake is mine alone.
In full transparency, I work at Automattic. This exploration was not done as part of my work there, but as a curious member of the WordPress.org community. In the WordPress project, I am a part of the Photos team.
There are many other ways to contribute to the WordPress ecosystem and project that are not captured in this data. I only pulled data on contributors to named core releases.
It is possible I made some scraping, formula, or calculation mistakes. If you find something wrong, please let me know.
Contributors to named core releases, grouped by company, for versions 5.0-6.0
Note: If someone has an employer listed on their profile, that does not necessarily mean they are sponsored by that company. If you want to know about sponsored contributors, go to the Sponsored section.
7 of these individuals has no employer listed in their wordpress.org profile.
27 of these individuals have the Sponsored tag on their profile.
Sponsored contributors
These are the number of contributors per release that have the Sponsored tag in their profile. This is a count of sponsored contributors, not necessarily a good breakdown of the amount contributed by each.
Core release
6.0
5.9
5.8
5.7
5.6
5.5
5.4
5.3
5.2
5.1
5.0
Total contributors
551
658
560
502
679
866
592
707
385
550
477
Sponsored
110
125
103
77
106
104
67
72
54
63
62
Sponsored %
19.9%
18.9%
18.4%
15.3%
15.6%
12%
11.3%
10.2%
14%
11.5%
13%
These are the sponsored contributors grouped by company. Includes count of sponsored contributors and the percentage of the total number of sponsored contributors for that release.
You could do this with a script too, but I already had Data Miner installed and knew how to use it, so it was the fastest way to get what I needed.
The element I targeted: p.is-style-wporg-props-long a
I saved the href attribute for each result in a text file.
I looped through each text file of contributor URLs with a bash script and pulled in two fields from their wordpress.org profiles: Employer and Contributions.
I used curl, tr, awk, and pup to transform the data into something useable.
// Assumes an input file named 5-1.txt with a list of profile URLs
// requires pup https://github.com/ericchiang/pup
for url in $(head -n800 5-1.txt); do
employer="$(curl -s $url | pup -p 'li#user-company text{}' | awk '{sub(/Employer:/,"")} 1' | tr -d '\n' | tr -d '\t')"
contributions="$(curl -s $url | pup -p 'div.item-meta-contribution text{}' | tr -d '\n' | tr -d '\t')"
echo "$url | $employer | $contributions" >> 5-1_contributors.txt
done
I first started exploring the data in Google Sheets and made pivot tables for each named release.
This took a lot of data clean up to make the data more consistent. Since the Employer field is open text, there were lots of different versions of the same company (Company, Company Inc, Company PVT LTD, etc). I cleaned it up the best I could in the time I wanted to spend on it, but there are still probably some duplicates.
This gave me the table of stats for the companies represented in each named release.
I used regex to find which company sponsors a contributor based on their Contributions section on their profile and made a pivot table of this information.
I used Datasette to explore a CSV of all contributors and which version they contributed to. This gave me the list of 49 people who contributed to all 11 versions I checked and which companies they work for.
Number of lines changed by contributor and also grouped by employer
Finding more accurate data?
If there were snapshots of this data from each release, it would be nice to use those instead. I could only pull data from current profiles, and users may have switched employers. For example, up until recently mkaz worked at Automattic, but since he no longer does, his previous contributions are not grouped under Automattic.
Not all profiles have employers listed. There are some folks I know work for big companies in the WordPress ecosystem and contribute to core who do not have an employer listed.
Graphing different facets of this data to see how it changes over time.
Charlie has been very sweet this week. Some things that come to mind from this week:
He has preferred to eat breakfast while snuggling on one of our laps.
He learned how to use a straw and he loves it. This opens up a new world of possibilities like smoothies.
He loves to dip whatever he is eating in sauces/dips.
He learned how to brush his teeth. He has an adorable giraffe toothbrush and we all brush our teeth together before bedtime.
He has been more and more interested in flipping through his books by himself. He also started to read books to us. We read books to him every night before going to bed as a way to wind down, and also whenever he brings us a book during the day. Once we finish, sometimes he takes it and talks while flipping through the pages like he is reading it to us.
He says words very close to “Buddy” (the neighbor’s dog) and “that” and “dog” while pointing to things. He has also started to mimic things we say, which is adorable.
He is transitioning to a 1-nap-a-day toddler.
He has been showing affection to stuffed animals, picking them up and hugging them.
Food & Drink
A couple things worth sharing from this week in cooking:
I made some pretty good pizza on Tuesday. We used dough from Trader Joe’s instead of making it ourselves this time. Their regular dough is pretty decent, but the stand out is their herb dough, which we used to make cheesy garlic bread.
I made some pizza sauce from garden tomatoes, garden basil and oregano, and garlic, onion, and salt.
Blanched the tomatoes and removed the peel
Tossed all of the ingredients in a pot and let it cook down for 30 minutes while occasionally smashing it with a potato masher
Put it in a quart container and blended it with the stick blender
A friend and I experimented with cooking a whole spatchcocked chicken in the pizza oven in a cast iron pan. It worked pretty well!
We let the Ooni get really hot after making pizza before we put the chicken in, then turned the flame way down when we did put the chicken in.
We turned the pan regularly.
Total time was probably 25 minutes, though we didn’t keep a close eye on the clock and went by the chicken’s temperature instead, which we checked with an instant read thermometer.
What I’d do different next time is covering the chicken with foil for the first 10-15 minutes to keep the skin from charring.
Sean Nelson reminded me it was Negroni Week this week, so I made a Kingston Negroni, which essentially swaps the gin out for Smith & Cross Jamaican rum. The funky, fruit-forward rum holds up well to the spice in the sweet vermouth and the bitterness of the Campari.
We’ve made a couple Jungle Bird cocktails this week since we have some pineapple juice we need to use up. The classic recipe is good, but so is swapping the simple syrup for passionfruit syrup like Pagan Idol does.
Miscellany
We are having Great Plains weather this week 40-60F at night, 75-85F during the day. This is the weather I like. Good for sleeping.
I took the guideboat out on the Hudson River for the second time this year. It was great to get out and row a bit. I’m going to try to get out a few more times before it gets too cold to do so.
Knowing when go weigh in and when not go weigh in is a key skill you have to learn by doing, not one that can be taught.
Digging in to the motivations behind your actions and other people’s actions is one of the most helpful things in gaining empathy and resolving conflict.
I am a heavy user of search on my own websites, so I made it easy on myself. On any page on this site or my digital garden, if you his Command+Shift+F, it will bring up the search modal.
Reading
Dancing at the Rascal Fair by Ivan Doig, second in the Montana trilogy
The Juncto by Neal Stephenson, fifth in the Baroque Cycle series
This is Nick Diego’s talk on building blocks from WordCamp US, a big WordPress conference. Very clever use of FSE, cover blocks, and anchor links to make a public presentation directly in WordPress. Great content on block development, too.
That’s it for this week! Time to mow the grass, clean the house, and figure out what to make for dinner. Maybe we’ll have a fire in the chiminea tonight, too.
When we pick him up from daycare, Charlie has been signaling to be picked up, then he hugs us and gives us a kiss on the cheek. It is so sweet 🥰
Charlie is Mr. Independent right now. Except when he crawls or walks underneath something and gets stuck, then he appreciates Mom and Dad coming to help.
A pretty rainy week after a long dry spell. We definitely needed it.
Finally got around to updating my Reading page to add what I’ve read the last couple months.
Though, inspired by Mitchell Earl, I really ought to add the books I started but didn’t finish, too. There would be at least 10 more from the past two months across multiple genres. Currently the page only shows the ones I finished, which have been all fiction recently.
Unfinished from the last couple months (but still in the pile to finish): William Gibson, Karl Ove Knausgaard, Saint-Exupery, Ivan Doig, Jane McGonigal, John McPhee, Zena Hitz, Allan Ginsberg, Ruth Reichl, Zadie Smith, Edward Abbey, and Sherwood Anderson. I jump around a bit.
I’d love to say that I’m going to take autumn to finish these books, but I’ll honestly probably buy 12 more, finish 5 of those, and only finish 2-3 of these 🤷♂️
I find the new Instagram update that autoplays sounds on ads and video stories hostile and unusable. It breaks the traditional pattern of honoring the users’ silent setting and makes it impossible to stop the sound unless you turn your volume completely to zero.
Our team at work played a remote team social game that was more fun than expected: Everyone takes a photo of their desk and everyone tries to figure out which desk belongs to which team member. We had a blast!
Here is a photo of my desk:
I helped my friend Jeremy build a swing set for his son Miles (Charlie’s friend!) on Saturday. The boys enjoyed it!
Amanda and I are watching Billions and House of the Dragon right now after Charlie goes to bed and we finish cleaning up from dinner.
I’m off to make some pizza sauce and clean the kitchen. I can’t use the pizza oven tonight because it is raining, but hopefully I can use it tomorrow. 👋
They both only tell time if someone is there to see them.
Huh?
Most clocks have a power source to keep their faces updated. But in a clock buried deep in a mountain, why waste energy updating the clock face if no one is there to see it? Instead, why not use the humans who come to see it to wind a falling weight that will update the clock face with the current time.
Hillis and Brand plan, if they can, to add a mechanism whereby the power source generates only enough energy to keep track of time; if visitors want to see the time displayed, they would have to manually supply some energy themselves.
Okay, cool. Now what about WordPress? Doesn’t it have a clock?
Actually, no. Unlike its cron namesake in Linux, WP-Cron isn’t a clock at all. There are some historical conversations you can look up in IRC and trac (fun fact: it used to be called pseudo-cron!) about why this is the case, but the short version is that WordPress is made to be an application running on top of a system, and it isn’t guaranteed that it will have access to the system’s scheduler (on shared hosts, for example), so instead with WP-Cron, all scheduled tasks are put into a queue that is checked with every page load, and will run at the next opportunity (meaning the next page load). While you can’t be 100% sure when your task will run, you can be 100% sure that it will run eventually. [Source]
If you are very particular about your WP posts going up at a certain time, there are ways you can hack pageviews, such as setting a service like Uptime Robot to ping your website every minute. Or you can move to a host like WordPress.com, WordPress VIP, or WPEngine that has a bit tighter integration with the system clock and wp-cron. Or you can roll your own using Lingon to interface with macOS’s launchd.
So if a post gets published on WordPress, it is because someone was there to see it, and if someone sees the time on the Clock of the Long Now, they had to crank it themselves. Age-old conundrum solved.
h/t Mark Drovdahl for a conversation that sparked this musing
Charlie is officially a toddler now. He took his first unassisted steps Sunday, August 28, and by Thursday he was wandering all around the house on his own. It is so fun to see how proud he is when he figures out a new skill.
He also has crawling up the stairs and climbing furniture down pat. Along with that comes pushing boundaries to learn where the lines are, which is trying for sleep-deprived parents. We are doing our best to take deep breaths, stay calm, and be patient.
We froze 9 bags of tomatoes (about a pound and a half each) this week. That makes 17 bags total so far, on top of what we’ve eaten. The plants keep going! We planted 8 tomato plants this year: 6 Romas, 1 Cherokee Purple, and 1 Giant Belgium.
We might be finally though the intense summer heat here. I’m going to leave the window units in a bit longer just incase, but we are loving having the windows open and not being drenched in sweat.
I mowed the lawn for the first time in a month. I’ve only had to mow once a month this summer because of how dry it has been. Most of the grass is brown and I’m only mowing to knock down the weeds that seem to thrive in the dry heat.
I’ve been a bit under the weather this week. I picked up a cold from Charlie, who picked it up from daycare. The goldenrod is in full bloom right now, too, kicking my seasonal allergies into high gear. I’m on the tail end of the cold, so next week should be easier. I’m thankful for this long holiday weekend.
Some work-related news: I’m switching teams (though staying within the same division/group) and becoming a team lead again, this time of one of our engineering teams. I wrapped up and handed off my projects last week and am starting the new position on Tuesday. I’m excited about the new role!
I’m getting sick of social media again. This happens once every few months. I might be scarce there for a bit and blog here more.
Amanda and I have been enjoying House of the Dragon on HBO and The Sandman on Netflix. The latter makes me want to revisit the comics again.
Going to post this and sign off now and make the best of the rest of the day today. Maybe making pizzas on the deck? Another tiki drink? Long walk by the river? We’ll see what the day has in store.
I skipped a week because I was traveling for work. I was in San Francisco for a team meetup. We spent some time working at Automattic’s SF office, explored the city, ate some great food, visited bookstores, and hit a few tiki bars. Some highlights:
Views from Alcatraz. The prison itself isn’t much more interesting than Eastern State in Philadelphia and the flies are a scourge, but the views of the bay and city are great.
Smuggler’s Cove – Best drinks and bartenders. Cool ambiance, but could use a good deep cleaning.
Tonga Room – Very cool ambiance and vibe, but the menu is stuck in the late 70s. The band plays in a boat in the pool/lagoon. Occasional indoor thunderstorms. Service is on par with other old institutions. I suppose classics are so for a reason.
Pagan Idol – Would be a great tiki bar in most other cities, but the drinks are overshadowed by other tiki bars here in SF. Tonga Room does the classics better and Smuggler’s Cove has more inventive new drinks. Well run and clean, but has a finance bro vibe.
Views from the Automattic office in the Mission:
There are some lowlights, too. The poverty and homelessness in SF is everywhere and it is heartbreaking. I saw people with monkeypox, terrible drug addictions, and mental health struggles, all in the course of a pretty normal walk from the office to the hotel. It made me even more thankful for our homes, jobs, family, and friends.
I love seeing a landscape below when flying that I recognize. I’m a definite window person. This trip I saw the Bear Mountain Bridge and Peekskill Bay, the Lorain lighthouse, and the islands in Lake Erie.
Bear Mountain Bride and Peekskill BayLake Erie Islands
This was my first trip away from Charlie and that was much harder than I thought it would be. I missed that little boy so much and spent the entire weekend with him when I got home. Swinging, lots of playing outside, snuggle naps, and backyard picnics. Salve for the soul.
We tried to video chat early in the trip, but he got upset, which made me feel terrible. Later in the trip he was saying “Dada” a lot, so we tried to video chat again and he smiled when he saw me.
He is currently snoozing on me while I type this.
His balance is getting great. I bet he will walk in the next couple weeks.
Rob Felty, a fellow A12 (that is short for Automattician, someone who works at Automattic) writes and posts annual reports each year. I like that idea and may give it a try.
It is that time of year where every empty storefront seems to transform into a Spirit Halloween store. The Spirit operations team must be incredible. Securing short-term leases, setting up full stores with all that entails, interviewing, hiring, and training local staff to run these stores, getting merch to these locations by September, then shutting down after October. Year after year, with enough margins to stay profitable. If any Harvard Business students are looking for a master’s thesis topic, here it is.
We froze 8lbs of tomatoes so far and have probably 8lbs more to freeze or make sauce with. I’m going to freeze the okra for gumbo. Tomatillos are getting turned into salsa verde.
Jalapeños are taking off after struggling most of the season. I plan to let them turn red on the plant and then smoke and dry them to make chipotles, which I’ll preserve in adobo sauce.
I harvested the white potatoes from the grow bags on Saturday. Some big ones, but not as much by volume as the red potatoes we harvested last month. Still better than I expected. I think I’ll try some bigger grow bags next year.
Reading
I read This is How You Lose the Time War on the plane ride and listened to more of The Confusion. I visited two excellent bookstores in SF and brought home more books to add to my to-read list:
Charlie has been amazing us this week. He started standing up on his own from sitting without holding on to anything for 5-10 seconds at a time. When he does, he shouts, “Up up!” He figured out how to use a fork. He also learned a new gesture (shaking his head no in reply to certain things), and he seems to have a bit more of a personality than he did last week. Children are amazing.
We had a great weekend playing and gardening in the yard, as well as meeting up with some new friends for a low stress play date at a playground. You have to be super intentional and proactive to forge new friendships in adulthood. Shared interests and/or shared circumstances aren’t enough like they were in high school and college. One nice way to make it easy for someone to say yes to hanging out is suggesting a place like a park so neither party has to host (which requires a lot of clean up and prep that is difficult with an infant or toddler).
Dad hack: move the grill over by the swing set so you can push your child on the swing and make dinner at the same time.
Aging kindly
Recently I’ve been inundated with ads about hair loss products, weight loss products, exercise products, and health supplements. It is crazy! No wonder people are feeling less content with their physical appearance.
I know it is generally worse for women than men, too.
We’ve learned to pretend to celebrate older women, but we haven’t learned to accept what happens naturally to their skin. We celebrate older women but not the un-intervened-upon face. This fuels a multibillion-dollar cosmetic and skin care industry dedicated to helping people — mainly women — stay young, or rather, try to look like it.
I’d like to tell the people in my life these things:
It is okay if your hair isn’t the same color or as thick as it used to be.
It is okay if your skin has more wrinkles, stretch marks, or scars than it used to.
It is okay if you are heavier than you’d like to be.
What matters most is how kind you are, how much love you show those around you, how much you help others, and what you create.
In short, your actions matter more than your appearance. It is okay to be kind to yourself.
Related: My current favorite Instagram scam is Colon Broom, which is being marketed as a trendy new weight loss product. It is just psyllium husk, which your grandfather would recognize as Metamucil.
Gardening and cooking
The heat wave finally broke in the middle of this week, so we’ve been spending a lot of time outside: Many meals and playtimes on the porch, swinging time before and after daycare, a fire in the chiminea, gardening, and washing the car for the first time in over a year.
Tomatoes and tomatillos are coming in steadily. We get baskets like this every couple days. Lots of kale to harvest and freeze for winter and dill to dry, too.
Whenever we pick tomatoes, Charlie always grabs one directly out of the basket and digs in.
We cleaned the dried up pea vines out of the garden and planted another batch for a fall harvest. We also planted some daikon radishes and more cilantro.
I made some tomatillo salsa with the first batch of tomatillos. More of that to come as the tomatillos continue to drop. Probably albondigas, too.
I tried two new culinary tricks this week: Making egg bites in the Instant Pot and cooking a sheet pan meal outside in the Ooni pizza oven. The egg bites turned out great and we are making more for the week ahead. The sheet pan meal was tasty, but it cooked faster than I expected even at the lowest temperature, so I scorched some of the vegetables. I also used up some old pizza dough by making a focaccia-ish bread.
Digital Garden
I tended to my digital garden a lot as well this week.
Added trackback/pingback support for pages to support cross/backlinking.
Since I’m already 80 pages in but only just now enabled pings, I’m probably going to have to run a wp-cli script on the site to generate them for existing pages.
^^ A piece the NYTimes did about the town we live in.
Kevin Kelley’s website got a refresh recently! Check it out. I’m a huge fan of Kevin’s various projects.
Books
Finished Odalisque by Neal Stephenson and started The Confusion by same.
Continued reading Dancing at the Rascal Fair by Ivan Doig
After Salman Rushdie’s stabbing in Chautauqua, I realized I haven’t read any of his books yet, so I’ll be on the lookout for them at used book stores. I’ve spent time in Chautauqua, which is typically a quiet, peaceful place. What a shame for a fanatic to irrevocably alter that.
Ideas
Photos.app -> WordPress media library
I’d love to make (or download if it already exists!) an extension for Photos dot app on macOS to select some photos and have them automatically uploaded to the media library on one of my WordPress sites. Would save me time multiple days a week.
I think this could be accomplished with Automator or Shortcuts. Something like selecting the photos, clicking a share action to kick off the Automation Action or Shortcut, which then exports the photos and runs a bash script that makes a POST to the /wp/v2/media endpoint.
Revisions block
I want to make (or download/install) a custom block that shows a list of revisions for the current post on the front end. Bonus points if it can be a linkable version. Looks like this might help.
Charlie turned one this past week. It is incredible to think about how much he has grown and learned in just one year. He is so sweet, curious, brave, fierce, playful, independent, and snuggly. We are so thankful he is here.
This year Amanda and I were the most tired we’ve ever been, but also so deeply rewarded. We’ve been reflecting a lot on the past year this week. We’ve head to learn and grow a lot this year, too.
Some recent skills Charlie has learned:
How to crawl up the stairs
How to flush the toilet
It is a race… will you finish before he flushes?!
Signing
He knows the signs for milk, water, more, and eat.
Opening and closing every reachable door in the house, and routinely emptying the cabinets
Twisting lids/caps on bottles and the applesauce pouches he likes
Really getting the hang of flipping pages in books on his own and while we read to him
Independent play
His stretches of independent play are getting longer and longer. Recently he has enjoyed finding cups or bowls and then finding things to put in them, shake around, and dump back out again.
We had a small birthday party in our backyard on Friday, took it easy on Saturday, then put together a swing set on Sunday, then we got ice cream at Weir’s and went to the top of Bear Mountain. It was the first time in a couple years that I’ve seen Perkins Memorial Tower open!
Charlie’s second year got off to a tough start. One of his little friends who came to his birthday party gave him Hand, Foot, and Mouth. The poor guy started showing symptoms late on Monday and then had to stay home from daycare all week. Thankfully it was a mild case. A lot of my week looked like this (holding a sick, sleeping baby while working):
Garden
We had our first BLTs with our garden tomatoes on Friday!
The Romas are going to start coming in steadily this week, so I anticipate a lot of skinning, freezing, and sauce making next weekend.
Tomatillos are starting to drop, too. I’d like to make some tomatillo salsa this week if I have time.
We finally have some jalapeños and Black HungarianArchived Link peppers growing on our plants. All of my neighbors said that it is a bad year for peppers for them, too.
The okra is loving this hot weather! It probably won’t be ready to pick for another week or two.
Ideas
It seems like it was a lot hotter this summer than the last couple that we’ve been in Peekskill. I’ve been doing a lot of sifting through data at work, so why not pull temperature data for this area from the NOAA and see how many days each year are above 90F compared to this year so far?
I’ll probably download a CSV then stuff the CSV contents into sqlite with sqlite-utils then connect the sqlite db to Metabase, which is what I’ve been using at work recently.
It is so hot that I don’t want to use the oven and heat up the house. Can I make a peach & blackberry galette or tart in the Ooni pizza oven instead? How about a frittata? I think so, as long as I am mindful of the temperature.
Is there a block in FSE for Pingbacks and Trackbacks? I’d like to show them in specific places in my Digital Garden. I need to look into this.
Work
I went to a meetup with part of my team at work on Monday. It was the first time I’d seen all but one of them in person in the two and a half years of working at Automattic, and I really enjoyed hanging out with them. You get a different sense of a person when you hang out with them in person for an afternoon than you do from months of Zoom calls.
We worked, got some pizza, went to MoMA, and then got some Mediterranean food.
I also got some ideas for art projects to try with Charlie when he is a bit older. It is fun to explore and emulate some of the classics!
The rest of the week was hectic, as Amanda and I both timeshifted a lot to take care of Charlie. Lots of late nights and early mornings. I did manage to finish what I needed to get done this week on projects.
Food & drink
I made a tex mex menu for Charlie’s party because one of his favorite things to eat are quesadillas. The adults had chicken fajitas and the kids had chicken quesadillas. Salad, chips and salsa, and esquites for sides. A pitcher of margaritas and a pitcher of lemonade for refreshments.
I made the corn, fajitas, and quesadillas on a Blackstone griddle. I love cooking on the griddle, but unless it is for a group of people it is hard to justify the time investment to clean it afterward.
Amanda and I had a date sans-Charlie last weekend at The Bird and Bottle. We enjoyed ourselves and plan to go back and have dinner on the patio again.
I found out that a local farm in Fishkill is now making cider, so I went and sampled some this weekend (and also picked up some fresh peaches!). The dry stuff is really nice, so I got a couple bottles to bring home. They also have a nice outdoor bar and eatery there, so I think we’ll go back again soon.
Big Mouth Coffee in Beacon is experimenting with canning some of their coffee. They work with Snapchill, a company that brews coffee hot, cools it rapidly, and then cans it right away to seal in the flavors. The results are fantastic so far. Some of the best cold black coffee I’ve had.
We tried a new pizza dough recipe last week (the one from Ooni) and liked the results. It is a same-day dough that was easy to work with and shape. I’m cold proofing some right now, so we’ll see how that turns out.
Reading
I only read a little bit the last two weeks: Some of Dancing at the Rascal Fair by Ivan Doig and some of Odalisque by Neal Stephenson.
That’s all for now. Looking forward to a week ahead with no sickness and a regular work schedule. Hopefully reading some more in the evenings, too. And cooler temperatures later in the week!
We just built my son a swing set using Eastern Jungle Gym’s A-frame brackets. When I started out, I couldn’t find a guide that laid out everything I needed to buy, how to put it together, and what kind of footprint the finished product would have. So I decided to put one together.
Finished Dimensions
Width: 7ft 3in
Length: 13ft 3in
Height: 7ft 9in
Lumber
4 – 4″x4″x8′ pressure treated posts
1- 4″x6″x10′ pressure treated beam
Some people don’t like the chemicals in pressure treated wood, but this is going to be out in the elements 24×7, so I think it is worth using treated lumber to keep it from rotting. I plan to put deck sealer & stain on mine once it dries out a bit.
Lumber is very expensive right now, so this cost $127 when I purchased it in July 2022.
You need two per swing. The 10′ beam has enough room for two swings, so I linked to a set of four brackets. You could squeeze in a third if you needed to. These are nice because they will go all the way through the beam and hold a lot of weight. There is no way these are coming out. The ones that just screw to the underside of the beam with a few screws make me nervous.
Swings
You’ll need swings! The swing set I built is for a 1 year old, so we have two baby swings: One black bucket swing like the ones you see at playgrounds and one of the blue Little Tikes rocker swings that is more of a full seat. Charlie likes both, so we usually switch between them when we are swinging. He usually starts in the bucket swing then switches to the rocker when he gets tired of holding himself up. We also have a regular sling-style swing to switch in if an older kid comes over (or for Amanda or me to use!).
We also plan to get a two-person porch swing to occasionally swap in so Amanda and I can sit there while Charlie is playing in the yard when he is a little older. The swings are easy to change with the swing brackets I linked to above—just pull out the pin, pull off the chain, put the new chain on, and put the pin back in.
If you buy or have a swing that doesn’t come with chains, you’ll need approximately 10 feet of swing chain per swing (5 feet per side).
Tools
Drill set up for drilling
I think we used a 3/16″ for drilling pilot holes for the lag bolts for attaching the A-frame brackets to the posts and beam to avoid them splitting.
We used an extra long 1/4″ bit to drill the initial hole though the beam for the swing brackets. Then we enlarged it from each side with a 7/16″ bit (the hanger brackets are 10mm, which is between 3/8 and 7/16).
Impact driver
You either need a socket adapter to use one of your sockets with the impact driver to drive in the hex lag bolts, or you could use a universal driver if you have one.
If you don’t have an impact driver, you could use a standard drill on the low setting, or you could use a socket wrench, though it will take longer.
Some swings have special kinds of bolts that you need a special driver (like a star bit with a pin in the center) to attach to the chain. Take a look at your swings before you get started to see what you’ll need.
Bolt cutters
We needed to cut some chain down to the right length, so bolt cutters came in handy.
Adjustable wrench
You’ll need a wrench to put the nuts on the hanger brackets. They are too long for a driver.
Hack saw with a metal cutting blade + Angle grinder with flap disc
The hanger brackets we bought stuck out of the top of the beam a few inches, so we used a hack saw with a metal blade to cut them down after they were on, then ground them down with an angle grinder + flap disc so they wouldn’t be sharp. This step is totally optional.
The bolts are stainless steel, so they will dull your blade quickly. Might need a backup blade.
Sawhorses
Sawhorses are helpful, but not necessary. You could put this together on the ground.
Rubber-faced hammer
We had to tap the A-Frame brackets and the swing hanger into place with a rubber-faced hammer. If you don’t have one, you can use a regular hammer with a piece of 2×4 as a buffer so you don’t mar your brackets.
Measure tape
We need to do a bit of measuring to get the swings in the right place.
Short step ladder
Will be helpful for driving the bolts and attaching the swings once the swing set is stood up.
A friend
This is heavy. You’ll need someone to help you stand it up!
Putting it together
Put the A-frame brackets on the 4x6x10 beam with the outer edge of the beam flush against the outside of the brackets. Make sure the spots for the legs are facing out and down.
Drill pilot holes with 3/16in bit and drive the lag bolts in to secure the A-frame brackets in place.
Drill the holes for the hanger brackets. Measurements here assume two regular swings. You may need to adjust if you are adding a third swing or a two-person swing.
Measure 10in from the inside edge of the A-frame bracket and make your first mark. This is where the first bracket of the first swing will go. Then measure 24in from your mark and make your second mark. This is where the second bracket of the first swing will go.
Repeat from the other side.
You will have something like 29in between the two inside marks.
Make marks in the middle of the beam at your marks.
Drill the pilot holes all the way through with the long 1/4in bit at all four marks. Make sure the bit is perpendicular to the beam and straight.
Enlarge the holes with a 7/16in bit from both sides.
Here is a rough diagram of what the bracket placement looks like:
Put in your swing hanger brackets.
You want the bracket flush against the beam on the bottom, so run one washer and nut all the way down to the U-shaped hanger.
Tap the bolts through.
Put a washer on the top, then use your wrench to tighten down the lock nuts.
Cut off and grind down the bolt if you’d like to. Leave some of the thread in case you need to get the bolt off later.
Put in all four posts for the legs and drive one bolt in each, then stand it up. You’ll probably need two people for this.
Adjust the legs (wiggle them, pull them out, push them in, etc) until they seem solid and at a good resting spot. Then drill pilot holes with the 3/16in bit and drive in the remaining lag bolts.
Attach the swings. Make sure the chains are the same length. Count the links! If you need to shorten the chain, this is where the bolt cutters come in handy.
Go get your child and push them on the swing!
Future plans
We plan to put deck sealer + stain on the wood to help it last longer (and look better in the yard)
Next year I plan to put a small climbing wall on one side, kind of like this:
Update, March 2024
I added the climbing wall and wrote a post about that, too.