Charlie and I went out in the woods after dark searching for yellow spotted salamanders. I think it might be a bit early yet for the salamanders, but we were lucky to find the spring peepers out in full display in the vernal pools.
The moment we stepped out the front door, we heard their distinctive calls. By the time we got to the woods, the noise was deafening.
(Bonus Charlie at the end saying, “Daddy, I want to get some rain on my tongue, but no rain is landing on my tongue!”)
We had a lot of fun watching and catching the little spring peepers. Here are a few photos I grabbed with my phone:
We mostly spotted them on sticks and small logs, and in the leaf litter along the edge of the vernal pools.
We even got to see some mating, but those photos weren’t great. I’ll bring my SLR and tripod another night when it isn’t raining and see if I can get some better photos.
You can see the distinctive X marking on this one’s back:
Charlie’s joyful giggles when he got to hold them were infectious. He always let them go quickly, so I never got a photo of him holding one. He said, “I want to let them get back to the water and their friends.” Sweet little boy.
Once you get into fly tying, you accumulate a lot of materials. If you aren’t careful, a lot of that gets thrown into a drawer or a box, which makes that small bag of CDC almost impossible to find.
First I organized my thread and yarn, then I organized my beads and hooks.
Thankfully fly tying thread generally goes on the same spools that sewing thread goes on, and there are tons of thread organizers out there. Here is what I use:
For hooks and beads, I took a page out of our seed organizing binders, quite literally. I got a small binder and clear zipper pouch inserts. I organize the hooks by size and beads by size and type (countersunk, slotted, cone, barbell.) I thought about organizing the hooks by type as well we size, but decided that is overkill.
Everything else went in a couple drawers. That finally started to drive me crazy, so this week I got my act together and organized the rest of it. I took a queue from the moms in my life and got some zipper organizers in various sizes. Every mom in our friend group has these for art supplies, puzzles, backup clothes, sunscreen, bandaids, etc. They are also perfect for organizing fly tying materials, so I ordered my own pack.
The grouping that seemed reasonable to me:
Soft Hackle
The largest pack for me.
Hair & Fur
Second largest. Deer, Elk, Rabbit, Squirrel, Mole, etc.
Synthetics, mostly. Foam, chenille, egg yarn. One pack of quill bodies.
CDC
I love CDC and have it in a few colors, though I mostly use natural.
Wings
Matched quill pairs, para post, mallard flank.
Flash
I only have a couple colors of this, but it is so messy that it needs to stay by itself.
Silk
The antique stuff for wet flies and flymphs that I’ve tracked down (Pearsall’s Gossamer and Belding Corticelli Buttonhole Twist), and some of the newer Ephemera from 54 Dean Street.
Poly yarn & floss
I don’t use this much, but got it in a pack of stuff I bought on eBay. I mostly use it in small amounts on tags.
Tinsel
Gold, silver, and copper.
Yes, these bags themselves go in the drawer, but now it is much easier to pull out just the couple bags I need.
I also got the glass beads out of their various vials and put them in an organizer by size and color:
When I need to take some stuff to a fly tying night or on a fishing trip, I have a Toyo Y-350 box that I pack just the small amount of materials and tools I need, plus the table clamp for my vise. When the tools aren’t in their caddy on my desk, they travel in a Maxpedition EDC organizer.
How do you organize your fly tying stuff? I want to see your post!
You probably know Scott from Seeing Like a State or The Art of Not Being Governed. He is a political scientist and anthropologist, and he blends that very well into a book about the environment and ecology.
Demon’s Game by Rob Worthing.
The new book out in the tenkara space, focused on the Oni School of tenkara (the teachings and style of Masami Sakakibara).
The Laws Guide to Nature Drawing and Journaling by John Muir Laws.
I want to get better are drawing while out in nature! This seems to be the book on the subject, so I picked it up.
Ponds, an Illustrated Guide by Patrick J. Lynch.
I follow Lynch on Bluesky and saw his new book. Charlie loves ponds and marshes, so I thought this would be a good book to look at with him and keep around the house for reference. I also pre-ordered Lynch’s forthcoming Streams illustrated guide, out in September.
Fiction
Fugitive Telemetry by Martha Wells.
Sixth book in the Murderbot Diaries series. Easy read with short chapters when I need a mental break.
Altered Carbon by Richard K. Morgan.
I watched the TV series during covid before I knew it was a book. A friend is letting me borrow his copy and I’m enjoying it.
Overnight we turned the clocks forward an hour. This afternoon the temperature on our weather station reached 66F (18.9C). The sun went down an hour later as the clock reads, so Charlie got to play outside longer than normal. The skunk cabbages are emerging.
It feels like we turned a corner and spring is on its way in.
I went out to the upper west branch of the Croton River (the west branch reservoir outlet) this afternoon for a few hours to cast out winter and the cobwebs that have accumulated on my casting form.
I was delighted to see lots of little black stoneflies on the rocks and some tiny BWOs in the air.
I also tied some glass bead dark sakasa kebari and some size 20 CDC BWOs.
I’m glad I tied the dry little black stoneflies. I was rewarded with an 8″ wild brown trout, the average size for that stream. My heart started racing when I saw it take my fly, then immediately dropped when I realized it had spit it out. I took a breath and carefully cast again to the same spot, a feeding lie below where water funneled between two large rocks. The little fish snatched my fly again, and to my delight, I hooked it. I quickly brought it to hand, and just as quickly released it back from whence it came.
My first fish of 2026, on a dry fly no less.
The banks were still icy and the water was 41F (5C), so we still have a ways to go before the sulfurs start hatching, but I’ll take the little stoneflies for now.
The warm sun, when it peeked out from behind the clouds, felt invigorating. The breeze was mostly chilly, but every now and then a gust of noticeably warm air would blow by, and it felt like standing in front of a vent. It was a welcome feeling after this long, cold winter.
I was surprised that there was still so much snow on the ground there in Carmel. Over in Peekskill almost all of our snow is gone. I hiked a little over a mile upstream to fish a section I haven’t fished before, and the trudging was slow going.
A kind whitetail led the way for about a half mile and led me to a shallow crossing before some steep terrain. I was also fortunate enough to see a blue heron out doing some of its own, and a freshly excavated pileated woodpecker feeding hole.
While trudging, I noticed a spot where something had eaten a mallard. I noticed the distinctive feathers right away. I suspect a bird of prey, because there were no footprints around the rocky bear spot littered with feathers. I selected a few subtly barred flank feathers from the scattered remains. Perhaps I’ll tie a few patterns so the duck can return to its river in a different form.
When I got home, Charlie was happily digging in the garden bed, ready to plant tomatoes and tomatillos. Me too, bud.
Amanda suggested we round out the day by firing up the grill and making hotdogs instead of the sheet pan dinner we had planned. A great idea! If you want it to be spring, you must live like it is spring.
I’m hoping to spend as much time as I can outside these next two days while we have this relative heat wave, before the standard cold, rainy March weather comes back later this week. Perhaps I’ll even get out and entice a couple more trout to rise to my fly.
I used Telex to create a Pages Family Tree block for my Digital Garden.
I wanted to be able to see my hierarchical post types in context, so it shows siblings and two levels of ancestors and two levels of children in relation to the current page I am on. I use it in the sidebar.
The skunk cabbages are emerging, a sure sign of spring.
Dates we noticed them previous years:
March 9, 2025
March 12, 2024
February 11, 2023
February 10, 2022
These photos are also me testing out a used Canon Extender EF 2x III that I picked up. The reviews are accurate: A bit of a reduction in sharpness and a reduction in speed on auto focusing. You lose a couple of aperture stops, too. Still very useful and gets a useable 400mm zoom for a small fraction of the price. H
Charlie is also getting more independent and doing things like making his own cinnamon toast.
We learned that Charlie likes antique stores, so we visited many of them throughout the month. We picked up some cool old local maps, a vintage umbrella holder for our entryway, some Cuban maracas.
This year, the daffodils popped out of the ground on February 19.
2026: Feb 19
2025: Feb 24
2024: Feb 8
2023: Feb 14
2022: Feb 18
February was a tough month. Between snow days, weather delays, winter break, and sick days, we didn’t have a full week of school the entire month. For the shortest month, February felt pretty long. Looking forward to spring.
But I did have a fun coworker. Currently he works in our in-house art department.
During the week off school, a dad friend and I took the kids to the Norwalk Aquarium. It is a pretty good aquarium in an otherwise unremarkable city.
They breed jellyfish there and give them to other aquariums.
They had awesome touch tanks. Every aquarium has a ray touch tank, but this one also had a jellyfish touch tank and a sturgeon touch tank.
Charlie did not want to touch the jellyfish or the rays, but surprised me by jumping right up to touch the sturgeon. When I asked him why he didn’t want to touch the others but he did want to touch this one, he said: “Stingrays and jellyfish sting you, but sturgeons don’t!”
The local TU chapter (Mianus) sponsored a trout tank with brown and brook trout, and had some great info on the Mianus river watershed there. Pretty cool.
We went to the Catskills one weekend. I took lots of photos there, too!
We rented a cabin in the Phoenicia area. (Yes, we went to the diner and yes, it was great!) We made some s’mores in the fireplace. We explored at the Catskills Visitor Center.
I did a bit of fishing, though the water was 33F and I saw zero fish, even in the deepest pools I could find. Oh, well. It was nice to get out and scout some locations for the spring.
We spent an afternoon at West Kill Brewing. Incredible place. Highly recommended.
On the way home we stopped at Bread Alone Bakery and Woodstock.
We also went to Woodstock for my birthday weekend in 2023. Here is Charlie in downtown Woodstock then vs now:
Charlie and I had some fun with a Makey Makey Go that a coworker sent to me in the holiday gift exchange. First we turned an apple into a drum, then a piano, then a robot that repeated a recording of Charlie saying “Poop!”, which is pretty much the best thing for a 4yo.
Then I blew his mind and made the computer answer his questions by typing “say ….” on the command line. I made it say nice things about him and he got the biggest smile and said “Thank You” to the computer. It was sweet.
Cute Charlie quote:
“Jonas, Soren, and I were foolin’ around on the playground.”
Curious dad: “What does foolin’ around mean?”
“It is like… doing cheeky businesses!”
February ended with a nice day walking around Beacon with Charlie and Amanda.
AI has taken over my work life. If you don’t work in tech, it is hard to explain just how much work has changed in the last couple months. We are all trying to surf this wave as best we can and building lots of tooling.
There is lots of good and bad, but I’m generally optimistic about it. Things are changing rapidly and there is lots of experimentation happening day-by-day. Don’t take things you see on social media too seriously. Dive in and get your digital hands dirty and build some things for yourself.
One of my friends is out on parental leave and coming back in two weeks. I told him he is coming back to a different company.
Not a developer but want to learn how to go beyond just AI chat? This is a good place to get started:
In 1969, I read a two-part article written by Cecil E. Heacox that appeared in the March and April issues of Outdoor Life titled “Charmed Circle of The Catskills.” That poetic, yet simple, set of articles about the Catskills had a profound effect upon my life. Heacox wrote, “I call this region charmed because its fine fishing in wild, forested settings has survived even though it is within a day’s drive of one-sixth of the population of the United States and Canada.” He added, “The story of the Charmed Circle is touched with a mystical quality, trademark of the Catskills since the days of Rip Van Winkle.” In that two-part series, Heacox wrote about the many facets of trout fishing in the following Catskill streams: Rondout, Esopus, Schoharie, Beaverkill, Willowemoc, Neversink, and the Delaware. He skillfully took a neophyte like me on an enchanted piscatorial journey—one that I never forgot nor ventured too far from all these years later. Heacox pronounced the aforementioned rivers “topdrawer streams” because they were the “birthplace of dry-fly fishing in America, bailiwick of talented fly-tyers, and proving grounds for custom-rod makers” and “have lured fishermen from all corners of the world to the Charmed Circle for more than half a century.”
Cecil Heacox was no ordinary flyfisher who just picked up a pen and began writing, mind you. No, he rose professionally through the ranks of the New York State Department of Environmental Conservation (DEC) from a junior aquatic biologist in the Catskills to regional fisheries manager to DEC’s deputy commissioner. Years after he retired, I had the very good fortune to meet him once—a true gentleman in every sense of the word. He autographed my copy of his 1974 book, The Compleat Brown Trout, and I thoroughly thanked him for his 1969 Outdoor Life articles. To this day I still have, and treasure, both copies of the original magazine articles.
Wow! I’d seen these articles referenced before and the phrase “Charmed Circle” is now ubiquitous, but I hadn’t read them. I decided I needed to look them up and educate myself.
Two hours of searching online later, I simply couldn’t find them, and I’m no slouch when it comes to tracking things down online. I looked everywhere I could think of: Library collections, Google Books, Outdoor Life’s website archives, the Internet Archive, etc. I found the scanned Outdoor Life 1898-1961 collection, but sadly that stopped eight years too soon. I’m pretty sure these articles weren’t available online. Dozens of references, but no original text.
I was in the Charmed Circle that weekend, so I drove over to the Jerry Bartlett collection at the Phoenicia Library, figuring they’d have a copy. No dice. Lots of great works and I left with a long to-read list, but not the Cecil Heacox articles.
I tried fruitlessly a few more times over the next couple days. Finally, I struck gold. Someone was selling all twelve 1969 issues of Outdoor Life magazine in an eBay auction. I snapped them up.
Last year was quite a year. Less than two weeks after my thirty-fifth birthday, I was in the hospital for five days from a blood clot in my kidney. That kicked off a year of focusing on my health.
First, I had many specialist appointments for six months. I’m all good on the blood clot and kidney front and off of the blood thinners. But the positive thing that came out of the whole unpleasant ordeal is that I started seeing a doctor again regularly for the first time in 15 years.
I learned that my cholesterol is slightly high (not a contributing factor for this blood clot, but something to watch), and I was able to lower that by altering my diet and exercising more. I started going to CrossFit regularly in July.
My stress levels have gone down at work. From April through June I was on sabbatical, and my average resting heart rate decreased over that period. When I returned to work in July, I was switched to a new position that I find more enjoyable and less stressful.
My sleep has improved this year on two fronts. First, recovering from the blood clot forced me to slow down. For four or five months my energy was gone by ~7pm each night, so I spent most evenings reading in bed and falling asleep early. My energy levels have improved and I’m staying up a bit later now, but for the most part I’ve been getting consistent sleep.
The second front my sleep has improved upon is managing my acid reflux. In one of my many CT scans, I learned that I have a hiatal hernia, which is a major contributing factor to my acid reflux. I’ve taken famotidine for it for years, but it has always been a problem, and I was sick of taking medication, so I sought out alternatives. I raised the head of my bed for a few months, which helped a lot, but wasn’t great for the bed. I ended up getting a Medcline pillow, which has been incredible. Immediately it managed my acid reflux and allowed me to get off of medication for it. It has also been better for my lower back, since it forces side sleeping and helps with spine and hip alignment.
The next health thing I’m working on is improving my digestion. I got completely wrecked with strong antibiotic injections, then oral antibiotics. I took probiotics for a couple months to recolonize my gut floura, which helped, but I still needed some improvements. The last two months I’ve been focusing on increasing my fiber intake through my weekly beans project (see the posts here) and a daily Floura bar. Without going into too much detail, the increased fiber has been a positive improvement. I’m hoping it shows in the cholesterol numbers in my next blood draw, too.
Side note: Did you know how little fiber Metamucil and the like have? They only have ~5g of fiber and taste like a terrible sludge. Floura bars have 13g of fiber and taste amazing. They are made from 12 different plants instead of the husk of one kind of seed. I’m a fan.
All things considered, I’m feeling better than I have in the last couple years.
Last year I wrote this:
There is so much in our own communities that we ignore/miss/tune out/don’t notice. One of my goals this year is to explore and experience where I live in new ways.
This is an extension of trying to lean into the seasonality of this region. Noticing how the brook in the woods changes from season to season. Keeping an eye on the wineberries so I can pick them at peak ripeness. Noticing when certain wildflowers emerge. Which birds are around when.
Taking it a step further, I’d like to see the same place from a new perspective. I’d like to walk or ride my bike some places we normally drive and experience it at a slower pace. Fish a spot we’ve only driven by. Try catching some striped bass where I normally row my boat. Have coffee in a new park. Go to different playgrounds with Charlie.
I think I’ve done pretty well on that front this past year. I fished a lot of new streams, rowed and paddled new places, taken more woods walks, volunteered with Trout in the Classroom, visited new playgrounds, eaten at different restaurants, noticed three different kinds of trilliums in the woods, foraged, photographed different places, and have walked and driven new routes in daily routines.
I ended my post last year with an intention:
What do I want my thirty-sixth year to look like?
More local and seasonal focus. More time outside. Daily connection with Amanda and Charlie. Take advantage of ideas/inspiration/excitement when it strikes. Keep making things.
How did that go?
More local and seasonal focus.
This went very well (see above), and I will keep it going this year.
More time outside.
This was the highlight of my sabbatical. I spent almost every day outside for three months. Beyond that, we spent as much time outside with Charlie as we could. The extreme cold this winter put a damper on that, but we still bundled up and went out when we could.
Daily connection with Amanda and Charlie.
All-in-all this went well, but I can still improve here. Recently work has accelerated and I’m working more in the evenings, and I need to set a better boundary there. This winter has been hard with how cooped up we’ve been, and I’ve been losing my patience with Charlie, who probably just needs to run around outside and play in a completely unstructured way, but can’t. I need to work on that.
Amanda and I recently bought Bricks to help us reduce our screen time. That should help.
Amanda and I have been more intentional about going out for lunch dates, which has been wonderful. Dinner dates would be great, but finding a sitter is hard, so at this stage of life lunch dates are where it is at.
Take advantage of ideas/inspiration/excitement when it strikes.
Pretty good on this one. We’ve made house improvements, made things, and taken trips this year by acting when inspiration strikes instead of sitting on it. I’ve also read some great books by buying them when they catch my interest, instead of adding them to a black hole “to read” list.
Keep making things.
I’ve tied lots of flies this year and made some nice things in the workshop:
My woodworking declined when I was waiting on a part for my Shopsmith, but now that I’ve replaced it, I’d like to get back out there again soon. I had no desire to get out there when it was in the single digits, but now that is back up around 30F-40F during the day, my heater should be able to keep up.
One other thing I want to note: It has been great getting back into photography these last two months after a decade hiatus.
What do I want my thirty-seventh year to look like?
I want to prioritize my health, prioritize being present with Amanda and Charlie, spend as much time outside as I can, keep making things, and keep blogging.
A few ideas for this:
Staying consistent with CrossFit. Illness and snow days have derailed that this month, but next week is a new week.
Turning more small bowls in the workshop. Keeping a list of workshop ideas. Like those candleholders I saw in Woodstock last weekend!
Amanda, Charlie, and I spent last weekend in the Catskills, exploring the Phoenicia and West Kill areas. (Or, depending on how you look at it, the Esopus and West Kill watersheds.)
I took along my camera and tried to capture some of the beauty of that region in the winter.
Woodland Valley Rd bridge over the Esopus.
I love these signs and have a growing collection of photos of them.
This week’s bean dish was a white bean soup with escarole and ham.
I was going to make a vegetable soup with yellow eye beans, but when I was in the grocery store, I spotted escarole, which I don’t see in many stores around here, so I bought a head of it and resolved to make some soup. I hadn’t cooked escarole before, so I was excited to give it a shot.
I started with Rancho Gordo’s recipe from their new book:
I used a small cottage ham instead of country ham. I used the whole pound of ham, so I increased the amount of other ingredients to keep the ratios the same.
I used duck stock, which is what I had. It was rich and delicious. I think I would have preferred a nice vegetable stock, though. I’m running very low on stock right now. I need to make more. The duck stock was the last container of any homemade stock I had in the freezer.
This was a relatively quick recipe to make (for a bean soup). I soaked the large white lima beans that morning to speed up the cooking time. Once those were cooked, everything else came together in about 30 minutes.
This was good, but probably not going into the standard rotation. Worth having once a year when escarole is in season, though. Or when you have some leftover ham.
Next time, I’ll use vegetable stock and add more red wine vinegar than the recipe calls for.
Blizzards are dangerous winter storms that are a combination of blowing snow and wind resulting in very low visibilities. While heavy snowfalls and severe cold often accompany blizzards, they are not required. Sometimes strong winds pick up snow that has already fallen, creating a ground blizzard.
Officially, the National Weather Service defines a blizzard as a storm which contains large amounts of snow OR blowing snow, with winds in excess of 35 mph and visibilities of less than 1/4 mile for an extended period of time (at least 3 hours).
We ended up getting 15 inches of snow this time. Last month we got 16 inches. Though the amount of snow was the same, this one felt different. The 50mph winds plastered snow to the sides of our house and vehicle, and created major drifts. We couldn’t see beyond our yard for hours due to the low visibility.
Thankfully our power stayed on, though I was prepared and got the generator out and ready to start given the circumstances.
The snow from Fern had finally melted by last Friday.
It piled up against the back door.
Charlie got to try out his new snowshoes.
Behind-the-scenes view.
After shoveling.
We made an igloo, then ate lunch in it the next day. This storm generated two days off from school.
Nice long shadows on the fresh snow.
A short venture into the woods.
From a quick tally of the what I remember, we’ve gotten close to 50 inches of total snowfall so far this winter. More coming the next couple days.
I’m tired of shoveling, but I’m glad we’ve gotten persistent snow this winter. The last couple years were mild. Seasonal variety is great, and I’m glad Charlie gets to experience the full breadth of our seasons. Playing in snow above your knee is magical when you are a kid.
Brandon Kraft built a WordPress plugin that solves a core frustration in the fediverse: Sites have their own identities, but most of us already have separate identities in the fediverse, too. FediBoost automatically boosts posts from your site’s identity from your own identity in the fediverse.
Right now, I don’t use AI to compose my blog posts. I sometimes use AI in the pre-writing ideation stage and later in the editing/review stage, but not the composing/“putting pen to paper” stage. Six months ago I might have made “not using AI in personal blogging” a principled stance, but my thinking has evolved since then and it is now more of a personal preference.
I think the most important part about blogging under your own name is that you are able to completely defend your work. I think provenance matters less than the ability to defend it. So few people are truly original writers. Most of us borrow phrases, sentences, and structure from other things we’ve read, often without realizing it. We get input and edits from peers, too.
AI might be an extension of that. I don’t see AI composition as fundamentally different from ghostwriting. There is an awful lot of handwringing about AI-generated writing, but ghostwriting is not controversial in the same way, and the end result is the same: someone else wrote it.
There is something to be said for personally grappling with the ideas and the words you put on the page. But what is the goal there? We don’t struggle for struggle’s sake. We struggle with words, whether ours or someone else’s, in order to understand their meaning and implications. When we read or hear things that ring true for us, we often adapt, remix, and make them our own. The crucial step in-between reading/hearing and adopting is wrestling with it.
What about developing and writing in your own voice? Given a decent sample set, AI can already convincingly mimic “your voice”, so that is not a good heuristic.
When you publish a post, you must be willing to defend it line-by-line, just as a publisher of a newspaper must be willing to defend what is published in their paper. Though on your personal blog, you are the de facto editor, fact checker, and legal review. If you can’t point to a line and say why it is in your post, it must be cut. That is true whether you wrote it or AI wrote it.
As we are coming up to Mardi Gras/Fat Tuesday, this week’s bean dish was Red Beans and Rice. This Tuesday is looking a little busy for us, so we opted to make it this weekend and invited some friends over for dinner.
It was Valentine’s Day, so Amanda and Charlie set the mood with hand-painted heart decorations.
For an appetizer we put out a cheese board and I made some roasted nuts tossed with butter, brown sugar, rosemary, salt, and smoked paprika. The classic Union Square Cafe bar nuts.
The biggest change to the recipe is that I added some of my home-cured tasso ham to the trinity at beginning. I added some carrot, too. I know that isn’t traditional, but I like it.
The dish took about four hours from start to finish, though most of it was simmering time with occasional stirring. I’d say about an hour of that was active chopping, stirring, and watching time.
It was fantastic overall, though I think the weakest point may have been the andouille. I haven’t found a good local source, so I picked up some standard Aidells at the grocery store. I’ve heard Barb’s Butchery in Beacon makes their own andouille, so I think I’ll run up there to pick some up next year.
Amanda and her friend Megan have been working on a project to support the local immigrant community impacted by ICE.
Hi friends. We’re excited to share a little something we’ve been working on for the past few weeks — after bedtime, during swim class, and on the couch while our families watch Cars (Charlie) or Frozen (Miles) for the 10 millionth time.
The world feels so heavy right now, but we believe that little acts of love compound.
If you’re in the Westchester area, we hope you’ll pick up a wand for your kids. If you’re not, we hope you’ll reach out for our free DIY guide to make your own … and maybe you’ll sell an extra or two. And if you’re not crafty, we hope you’ll feel inspired to use your own unique gifts to spread some love. We can’t wait to see what you do.
With love, Amanda & Megan
Here are a few more photos of the heart wands they are making:
Do any mathematicians read my blog? Perhaps one or two of my former math professors or classmates?
At work, I forked an old package that converts .tex files to WordPress-compatible HTML and updated it to generate modern Gutenberg markup for the WordPress block editor.
I’d love help testing it out and identifying the rough edges.
Action Scheduler is a library for triggering a WordPress hook to run at some time in the future. It is used in a lot of large plugins to handle background processing of large job queues. It is an extremely useful tool. Unfortunately, it is also easy for bugs to make the queue or logs explode in size.
I had a fun runaway action scheduler issue to deal with at work today that ended up creating 26.7M rows in the wp_actionscheduler_actions table before we patched the bug, so I had to figure out how to clean it up. I’m blogging about what I learned so future me can doesn’t have to figure it out again.
Action Scheduler Defaults
By default, after every run, Action Scheduler cleans up completed and canceled actions older than 31 days. It does not clean up failed actions by default. Failed actions will stay in the wp_actionscheduler_actions table until manually cleaned up.
You can change the default retention period or statuses that are cleaned up with filters:
wp action-scheduler clean --status=failed --batch-size=50 --before='90 days ago'
Bash
Bash and sql to delete 50K rows at a time with 2s delay after each delete, pausing to re-assess every 1M rows:
for i in $(seq 1 20); do echo "Batch $i/20..."; wp db query "DELETE FROM wp_actionscheduler_actions WHERE status = 'canceled' LIMIT 50000;"; sleep 2; done
When all else fails, use the CLI, increase the batch size, --force, and if it is big enough to have multiple runs going, make it more efficient by having each run focus on a different group or hook.
Trout Unlimited is doing a citizen science project in our area: Environmental DNA sampling to locate hidden brook trout populations in the NYC suburbs: Fairfield, Westchester, Putnam, and Long Island.
Their plan is to cover 400 miles of streams, starting with locations where there was historic Brook Trout presence, but no recent state sampling. Then expand to include other streams to find previously unknown populations. This will help guide TU in restoring and protecting the habitat for these native salmonids.
Gerald Berrafati of the Mianus chapter is leading the effort. I met him out fishing the Amawalk last spring, so I decided to go out to his presentation at the Mianus chapter’s meeting to learn more. (I’m a part of the Croton chapter next door.)
They’ve already taken 130 samples and confirmed brook trout populations in 21 streams, with early signs that number could be as high as 40, including an unknown salter spawning population on Long Island. That is incredible in such a densely developed region.
The way eDNA testing works:
Collect a water sample
Filter it to capture organic material
Extract and amplify DNA via PCR
Match against reference databases to identify species
Tag the results with GPS coordinates and add to a database
The testing is so sensitive that it can detect fish a mile or two upstream of the sampling location. That is pretty wild. It only can tell you absence/presence though, nothing about the size of the actual population. It needs to be followed up with stream assessments, electro-fishing, and spawning surveys.
Another citizen science tool TU has is the RIVERS app, where folks can submit on-the-ground information about a stream while they are out fishing. A geotagged photo of a brook trout is a great way to confirm presence. You can also tag old dams, erosion sites, etc. I downloaded it and will use it this season.
I signed up to help in Westchester and Putnam. I’ve asked other fly fishers where they’ve caught brook trout in the the area and have some ideas of places to check out. Charlie and I will go out on some hikes to take water samples in the spring once things thaw out. I need to get him some waders!
TU gets their eDNA testing kits from Jonah Ventures. I’m going to buy one separately to sample Dickey Brook in Blue Mountain Reservation near our house. It primarily runs through protected land, has decent flows year-round, and has some macroinvertebrate life. I want to know what else is in there!
Such a simple data analysis, essentially sorting a column in a spreadsheet, revealed a problem with how parking near bike lanes and hydrants are marked. This post led to real world changes (repainting this and other areas to make it clear not to park there.)
This post had an impact on my life.
I found it during a creative dry spell. It inspired me to pick up my interest in data analysis and visualization and start blogging again, which led to a post that ended up getting me a job at a startup:
It also reframed data science a bit for me. You can get real world insights just by asking simple questions and looking in places nobody else is looking. You don’t always need fancy models, sometimes you can just sort a spreadsheet in different ways.
I’ve made a couple different recipes with Rio Zape beans, and they are the tastiest bean varietal I’ve tried so far. Velvety texture and a pinto-y flavor with hints of coffee and chocolate.
From Rancho Gordo:
In 1935, Rio Zape beans (also known as Hopi String beans), were found in the Ancestral Pueblo cliff dwellings of the Zuni Pueblo in New Mexico. Then, in the 1960s, archaeologists found them in the excavation of a sealed tomb in Rio Zape, Durango, Mexico. It’s believed that the beans were sealed in the tomb around 600 AD. A beautiful bean with a mysterious history!
I added Mexican-style chorizo, but I think it would completely stand alone without it.
As an aside, I’m starting to get the hang of cooking dried beans on the stove and reducing the pot liquor down to keep that flavor.
We are serving this with tortilla chips.
Early sampling at home is showing this to be a very tasty dip, probably one that we’ll make again in the future, perhaps in a vegetarian or vegan variant, depending on whose house we are going to.
I love amaro, and Amaro Nonino is a good gateway amaro if you haven’t yet explored the category.
Here are three excellent cocktails in which to enjoy Nonino. All of these are in books on my shelf, but alas, you can’t link to books, so I linked to online sources.
Fallback
This is a wonderful autumn and winter cocktail by Sasha Petraske. Though a lot of people enjoy applejack in the fall, I’d argue it is traditionally a winter drink because the process of “jacking” is essentially leaving buckets of the liquor outside and removing the ice that forms on top, thereby jacking up the alcohol content by removing water.
This is from Sother Teague, the brilliant mind behind Amor y Amargo, my favorite bar in Manhattan. It is technically a scaffa, not a cocktail, but English is fluid enough the meaning of the word has expanded since it was originally coined. So, close enough.
It is room temperature, so great for winter.
1.5 oz Amaro Nonino Quintessentia
1 oz Cognac
1 oz Cocchi Americano (though I often use Cap Corse)
The AI features are what pushed me over the edge. The ability to prompt things like these have been incredibly helpful for keeping my inbox tidy:
“Archive all marketing emails older than 14 days”
“Show me all marketing emails I haven’t read that I probably want to unsubscribe from”
“Show me recent personal emails I haven’t replied to”
It is also nice to ask questions and get answers based on email as context instead of having to rely on keyword search. For example:
“What book did _____ recommend to me recently?”
“Get me all information for my trip to _____ next week.”
“What’s the latest update on _____ ?”
I don’t like AI for creative work, but I love it for analysis, debugging, triage, and rote tasks. I’ve been using AI to triage work ticket queues, and it hit me one evening that I should be using this power for my own email, too. I hate email, and I want to spend as little time on it as possible. AI helps with that.
The UI is nice, too.
Overall, Spark blows Airmail and Apple Mail out of the water. I can’t believe Apple is so far behind on their mail app, given that they’ve had a headstart with on-device ML and a gigantic user base for so long.
Setapp users will notice the Plus version of Spark is included.
Security concerns with having AI “read” your email? First, Google already “does” that. Second, use a different inbox (like Proton) and PGP for things you need secure. Or move it to Signal. Or go for a walk in the woods without your phone.
When I’m out on photo walks, I like to have both a wide lens and a zoom lens with me, but I don’t want to carry my big gear bag.
I couple weeks ago I picked up a Crossbody Bag at Uniqlo for $25, intending to use it on park outings and woods walks with Charlie (backup clothes, some wipes, a small first aid kit, water, and a snack). When we got home, I discovered that it fit my 70-200mm zoom lens perfectly, so now it is a photo walk bag, too.
It doesn’t have any padding, but that is fine for walks. It isn’t a travel bag, just an outing bag. The zipper across the top makes changing lenses easy. Plenty of room for extra batteries and a lens cloth, too.
Here it is. Left is has my 24-70mm inside, right it has my 70-200mm inside.