I’m still working through a backlog of recipes from this book, and since Myke was traveling for some of May, I also had an opening for trying recipes he wouldn’t like. I would give this one a solid 4/5 ★. I think the overall composition was good, the crispy tofu turned out great, but the sauce wasn’t quite right, with too much soy sauce overpowering everything else. Overall it ate somewhere between a noodle dish and a salad. Great for spring weather.
I’ve been slowly working on making a basic fried rice without a recipe. This time I had some spam that was now past its best by date, so I decided to turn it into pineapple-spam fried rice instead. Still a solid “okay” on my part, but I did a better job on the texture of the rice this time.
I have a confession on this one. I did not make the fried chicken from scratch. While I wanted to cook, I didn’t want to clean up the mess that comes with deep frying. Instead, I grabbed a package of Just Bare filets, which are honestly pretty good for frozen chicken.
I did at least make the mashed potatoes and collards from scratch. The collards are from a recipe I’ve used before, but I messed something up with the ratios this time. They came out overpowered by the salt and vinegar flavors, which isn’t normal. Some additional sugar helped to temper it, but it wasn’t the same.
I (foolishly) forgot to take photos of these, but they came out almost spot on for the recipe photos. I’ve had this bookmarked for ages as well, but kept putting it off because of all the steps (mostly freezing) involved. This month they finally happened because I let Myke pick what dessert I should make. I’m so glad we finally tried them because they’re fantastic. Worth the work to make, although I still wouldn’t make them often. Guessing about the calories, though, that might be for the best.
I ended up with leftovers of the streusel topping, and just heaped it over the last batch of cookies before baking. Most of it fell off, as expected, but we collected it back up and Myke used it as a pancake mix in, while I added some to vanilla yogurt as a bonus dessert.
As I mentioned in a thread over on Mastodon, making this was definitely not a thinly veiled excuse to break out my immersion blender. I mean… I did, I did get to use it, and it is cheaper than therapy, but that’s just a secondary effect.
This soup is also just fantastic. Hearty, flavorful, rich and creamy without using dairy. Completely wrong for the 80–90℉ weather we’ve been having, but oh well. If you’ve tried cauliflower soup made with blanched or boiled cauliflower and found it lacking, then I’d recommend giving this one a try instead. The roasting and spices give it a lot more character.
This is one of my favorite chicken salad recipes. It comes together quick, and I really like the additions of cranberries*. It’s also one of the reasons I’ll keep plain greek yoghurt on hand. It also doubles as a way to use up random nuts that I have on hand. Don’t forget to toast them if you’ve got the time to spare. I’m actually not a huge fan of nuts in things, so I’ll let this sit overnight in the fridge to soften them as well.
(*I’m also a pickles in tuna salad guy, and I think this is a similarly tart-flavored extension of that, although pickles would not work in a chicken salad.)
I’ve put this recipe on my calendar three times now, and not quite gotten around to making it twice. This week I just wasn’t feeling yet more chicken, but decided that I could probably swap it out for tofu instead, and it worked beautifully. For that, I sliced a block of extra firm tofu into 12 pieces, laid them out and pressed them into the marinade (as written). I let them sit overnight, since I find tofu needs the extra help with flavor. To cook, I dredged them in cornstarch to help with browning, then pan fried them for about 2.5 minute per side, until very crispy.
This recipe plates beautifully, with a whole rainbow of colors, but to actually eat it you’ll want to chop up the tofu and mix everything together. The marinade was good, but not enough to carry the whole dish, so I also added a good bit of hot sauce as well. 5/5 ★.
To reheat: I microwaved the tofu, rice, beans, and corn; then added in the rest of the ingredients cold.
I first heard about these from @NorcalGma2, over on Mastodon, who bakes lots of good looking things. Breakfast muffins are one of the few forms of meal prep I’ll actually bother with, because I don’t get sick of eating them after two days.
These muffins hide a shocking amount of fruits and vegetables. While you can certainly tell they’re not straight up cupcakes, they remain pretty sweet, and I even had some for dessert. Because Myke isn’t a fan of pieces-of-stuff in his baked goods I went through the extra effort of grating the carrots on the small side of my box grater, at which point they’re basically invisible once cooked. Still, they’re not his favorite, but they might be mine.
I made these skewers from memory, although I did look up a base recipe for the Chimichurri sauce. Ironically that was the one thing that turned out slightly off (it had too much olive oil).
For the skewers I made a mix of steak + vegetables (zucchini, red onion, broccoli, and cherry tomato) and chicken breast chunks. The chicken I kept on its own because it doesn’t have as much leeway as the steak in cooking, and didn’t want it to get overcooked.
I also used up a half-empty package of yellow potatoes by cooking them into smashed potatoes, which I consider infinitely superior to baked potatoes, no matter what you load them up with. We also added about 2 Tbsp. of shredded Parmesan cheese to each, after baking, and then let them sit in the hot oven to melt and keep warm while the rest of dinner finished on the grill.
I’ve mentioned this recipe before, but I just keep going back to it. It’s easy to prep, it sits overnight in the fridge (don’t forget to make the sauce in advance too), and then takes about 10-15 minutes to cook the chicken in the morning. That gives me enough time to chop some vegetables so that they’re ready for assembly after the chicken is cooked and rested.
This one is a bonus because I didn’t make the paella, my friend Miles did, so I’ve got no recipe to share, but it was delicious. I did contribute dessert: these snickerdoodle blondies.
Unfortunately, we were both upstaged by his roommate’s cat deciding to show up for dinner as well.
]]>That said, after sinking considerable hours in it, there’s also parts (omissions and inclusions) that have started to bug me. So here’s my wishlist of Splatoon 4 changes that no one asked for!
The boat. No one likes the the boat map (at least no one I’ve talked to). The Splatoon 2 maps generally didn’t make perfect transitions to Splatoon 3, but I would gladly have taken any of the others over this one. Arc Polaris can be annoying, with lengthy treks from shore to basket, but with the new wall surge and egg throw mechanics I think it would actually have been a lot better. Lost Outpost, with its verticality and windows, seems like it would likewise have benefited heavily from the new movement. My biggest issue with Marooner’s Bay is that it’s simply not fun. Even when the weapon rotation is good, even when I’m doing well, it feels like a chore to play on and I don’t enjoy it.
Glowflies. I don’t dislike the concept behind this mode, but we’re now two games in and it still isn’t fun. It’s unclear what mechanics this mode is trying to teach (unlike in Tornado, below). Even the in-game hints seems to imply Nintendo didn’t have a strategy in mind. This isn’t a mode you can carry in solo, and since about half the time your team will handle it poorly, losing can feel like a punishment that you can’t avoid. There’s just a 50/50 chance that it may be boring (because you have a roller player who knows their positioning) or it will immediately snowballs into a 30 second K.O.. Perhaps there’s something here to salvage, but it needs more depth, more… something. Contrast this with Grillers, which is also a mode that tends to snowball, but where better enemy pacing makes losses at least feel fair.

“The looming Discord IPO” by Alex Schroeder
I’ve always had a tenuous relationship with Discord. I still personally think it’s a nicer chat product than Slack for personal stuff, but I 100%, absolutely do not trust the company. I even think their model of “I personally pay for better service across servers” could make sense, yet somehow they’ve managed to make their Nitro service feel toxic to pick up. I’m really worried about them enshittifying further, because while I could pick up and go elsewhere, I don’t know how to take my friends with me, even if I do sometimes fantasize about spinning up my own XMPP service.
A reminder that if the government can send migrants to a prison camp without any due process, it can send U.S. citizens there, too. I know because this happened to me and my family in 1942.


This weekend was probably the last good skiing of the season, as most of the resorts will be closing down on April 20th, and giving the incoming weather I suspect this won’t get extended. We’re going out with a bang though! Last week, right at the end of season, saw a nice four day storm blow in, giving probably the best snow conditions all year. It’s a little frustrating that this happened so late… but hey, I’m not going to complain (too much).
The weather Friday was perfect. A little cloudy, but mostly sunny. Great for both skiing and photographing the landscape (I think that clouds just help the mountains pop). With temperatures immediately swinging back up, it was already sticky and heavy by Sunday though.
A little more dour of a roundup this week.
Warmer weather had melted most of the snow at lake level, which has at least made hiking easier. We decided to re-tread a rather difficult to navigate trail from last month, but this time in the daylight and in reverse, to get the tricky parts out of the way. With the advantage of light we were at least able to discern that… yeah, it really did just pass over a bunch of boulders. At least it was easier to do without snow. Chelsea did a great job, and didn’t even need carried. In a few spots we had to give her a lift though.
Forgive the list of links, but expanding these all as embedded posts was just too big.

Tried out a new trail this week. It was a bit flooded at the start with meltwater, and then was pretty much all uphill, but the views from the top were worth it.
“FOSS infrastructure is under attack by AI companies” by Niccolò Venerandi
Depressing, but not surprising. I’ve been seeing this interstitial pop up more lately and wondering what it was as well. For similar (thought not DoS) reasons, I’ve been debating whether I should be putting this website behind some sort of authentication. The problem with that is that there’s no good way to do it. I’d no longer be able to just share links, I don’t really want to maintain a user database, and I like having a simple static site. But as the threats of AI based scraping (and surveillance) continue to mount I can’t help but feel like I’m being somehow naïve.
Reply by Rob Napier on Mastodon
@isaiah @krzyzanowskim The puck is headed for the “trough of disillusionment” as Gartner says. We eventually will come out the other side with “AI-ish things” that are useful. I believe that. But the idea that they will fundamentally redefine work… no. The whole approach is already showing what we knew: it can’t keep scaling. And “of course there is magic way to fix that” is just that…magical thinking. It will matter. Probably a lot. But only after the disillusionment crash clears out the hype.
I saw this thread earlier today and thought it had some good nuance on the future of AI. I can’t imagine a future where LLMs spit out code that goes directly to production, unless we’ve reached a point where we simply do not care about what that code does or how it works (for more reasons than I’m going to get into as a quick commentary). I do agree that some form of LLMs are likely to stick around, but as I said earlier in the week, I’ll start getting excited about that once the technology becomes boring. As it stands right now, we can’t see the forest for the trees because of all the billboards that have been erected in front of them.
“Enshittification as a matter of taste” by Dave Rupert (via Tracy Durnell)
To me, enshittification means that a person who lacks taste was put in a position of power.
I’m pulling the same quote as Tracy did, but I just really enjoyed it. I’m not sure it’s a universally true statement, but it sure feels on the nose.
”A letter about silently re-enabling Apple Intelligence” by Ruben
Speaking of things I enjoyed reading.
”GPS” by Bartosz Ciechanowski
While going down a link rabbit hole, I ended up on this super detailed explanation of how GPS worked. While I knew how this worked in broad strokes, as is often the case, the details run far deeper in reality.
”Plex Pass is going up in price — and now you’ll need it for remote playback” by Emma Roth
Really solidifying my decision to not use Plex anymore. Jellyfin, meanwhile, has been great.

We are in the process of writing ActivityPub extensions (which we will publish as Fediverse Enhancement Proposals), in collaboration with other developers, to cover these features for any ActivityPub software that chooses to use them. These specifications can allow everyone to efficiently implement this same feature in an interoperable way. We’ve shared initial work on this for ActivityPub developers, and we’re also posting the background research we performed, that was discussed with others - in both cases, these are being posted as deeper-dives for technical audiences and other implementers; they do not represent final outputs and choices.
In addition to these proposals, this feature will impact many parts of the Mastodon codebase, including the ActivityPub-handling code, the public API, web user interface, moderation panel and capabilities, the administration panel, and the official iOS and Android applications. We’re working on it, but Quote Posts will still take more time to develop.
I wanted to highlight this mostly because of how tired I got seeing people toss around “Mastodon hates quote posts” takes a few years back. There’s no perfect team and no perfect product, but I personally appreciate the slower pace of development that Mastodon has stuck to. Too many words have been spilled about what the team (or even just Eugene) should have done differently, and I’d like to just stop and give them some credit for simply doing their best and not letting the complaints get to them.
Quote posts were one of the more contentious topics over the years, and I think their post does a good job going over the actual history of the team’s hesitations. Mastodon started off as a very niche platform, and was therefor able to take strong positions like this early on. That’s arguably where some of its success came from. In the time since then the team has been listening, thinking, and debating how and whether to change course, slowly and within their means. I’ve seen it first hand in their Discord server.
People like to complain about how they’ve been sold out by Silicon Valley, or how they want to get away from “billionaire” social media, but actually doing something different is hard. I’m sure that’s why stuff like TikTok and Threads are still as popular as they are, and to some extent Bluesky (which I’m still waiting to properly demonstrate their commitments to federation and decentralization). If there’s something the Mastodon team is truly doing different, it’s that they’re seriously trying to build something with long term appeal instead of just capitalizing on short term hype. There’s different benefits in both approaches, but when the rest of the tech industry seems set on the latter, I’m glad to also see some of the former.
Again, Mastodon and ActivityPub are imperfect, will remain imperfect, and this implementation of quote posts will also be imperfect; but I’m more excited for it than “reskeets” or whatever new fad social network thing will emerge next month.
]]>please click the button below to learn more
when you could just use a link like Learn More… 🥲
]]>Continuing my book club reads, over December and January we read “Glorious Exploits” by Ferdia Lennon. The cover here is fantastic, although it betrays the tone of the actual story. I think I would perhaps call this a “dark comedy”, in much the same way that my high school english teacher defined Shakespearean comedies as “a play where not everyone dies”. This book was hard to read, and I had to put it down and force myself to pick it back up several times. It’s also amazingly well written. The combination of those things make it tricky to review or recommend, and while it’s not a light read, I am glad I read it.
Note: The rest of this post contains spoilers, which aren’t individually tagged.
Being unsure how to start, I guess I should just jump straight in. A lot of my frustrations with this book stem from its main character, Lampo (and I think this is intentional on the author’s part). He’s a jerk, self-centered, oblivious, and highly un-empathetic towards others. He’s also our sole narrator for the plot, which makes for an interesting perspective. In many scenes he’ll zone out, bored as someone is telling him something important, because he’s thinking about getting drunk that night instead. The juxtaposition of this is only exaggerated by the themes of suffering and tragedy. Most other characters come across as more mature and complex than Lampo, and I found myself constantly wanting to follow them more, but we aren’t given that option. Ultimately, you are given enough context to understand the story beyond Lampo’s viewpoint, but the author is clearly putting some faith into his readers’ ability to read between the lines (which I appreciate).
All through the book we’re given vignettes of the struggles of others. Some people’s stories are told nearly in full, while others get just a paragraph or two in passing. I really appreciated how this approach gave so much more breadth to the story, which I don’t think could have sustained itself on just the core plot. Most of these side plots are upsetting in their own ways, and very few characters get to have a happy ending. There’s a lot of alluding to political and social injustice, and demonstrations on the importance of other people. Much of what this book touches on relates to the importance of basic human dignity, and how we cannot function without it.
While our protagonist starts to learn this by the end of the story, his earlier carelessness comes back to cost him, and while still frustrated, I do think I came to empathize with even him. He is in many ways a victim of circumstance. Much like one of the takeaways of The Good Place, he had never been given a reason to improve himself, so why should he have bothered? This doesn’t excuse his behavior, nor does the story let him off the hook.
I went into this book apprehensive, as I feel my general understanding of Greek history is pretty weak. Even after finishing it, I’m certain I missed some of the themes here. For instance, Medea and The Trojan Women play a signifiant part in the story, and judging from the reviews I read by others, I missed some of the parallels to them. Even without that context, I still feel like I got something out of this book, though I would struggle to recommend it with caveats.
]]>The opposite of being bored is to be surprised, and that’s not something a sysadmin desires when building, maintaining, scaling, troubleshooting, upgrading, or even replacing a complex system… especially when you’re woken up at 03:30 by a monitoring server. […]
This isn’t to say there isn’t room for innovation, or that staying put is a guaranteed recipe for success. What it does teach is that it pays to make informed decisions, and that often times the understood, reliable, boring tech will get you there over something new, shiny or propped up with marketing spin. […]
I can’t help but second this post by Ruben. It also sounds eerily similar to things I say, such as “that’s very clever, can you please rewrite it” and “I’ll be excited about that when it starts being boring.” I’m guessing a few of you have been on the receiving end of one of those 😅.
]]>While I’ve tried to do everything I could to isolate and containerize Mastodon, properly auditing my home network was a bit beyond my skills. Late last year I decided that I was uncomfortable enough that I would actually need to do something. I started researching how to better separate traffic within my LAN, and the short answers all pointed to configuring a VLAN at the minimum. But, like many projects, this quickly grew in scope. Was my router robust enough for this? Would I need to purchase new hardware? Containerized or not, I also would probably want to move Mastodon’s processes off of the box it was sharing with some more internal-only services, so that meant at least one new computer to put together.
I actually got so far as pricing out a minimum viable Raspberry Pi 5 as a dedicated server. At roughly $230, it wasn’t too bad, but when I compared it to Masto.host’s pricing (at $6/month for their “Moon” tier), I realized that I’d be able to instead let someone else deal with it for three years for the same cost. And that’s without including the cost of electricity, my time in managing it, or hardware costs (to replace SSDs and other components over time). Masto.host also handles backups (something I’m still unclear how to handle with VLANs) and has better uptime than my home internet. Really, the only reason I had to continue self-hosting was that it was fun. Of course, server administration is only a hobby when you get to choose when to do it, and generally you can’t pick when things will go wrong.
As a bonus story: while I didn’t end up purchasing a Pi 5 (since I didn’t need it), I did coincidentally reclaim a Pi 4 this week. It had been running Homebridge for a number of years, but due to some other changes I was able to migrate that to another machine. Since I’m not sure what I’ll do with it next, I decided to throw Raspbian on it for fun, which is actually where I ended up drafting this post. And it was mostly fun, although I quickly realized that I had skimped on RAM when bought it, only going with the 1 GB model. I’m sure this made sense at the time (running Homebridge is not very demanding), but trying to use it as a desktop computer is painfully slow. Still, it was able to run Chromium (at a glacial pace) and Ghostwriter (with increasing lag as its memory consumption grew).
btop screenshots lately and couldn’t help trying it out.I doubt it will remain as a desktop computer for long, but it was a fun distraction for a day.
]]>I keep meaning to post about the music I’ve been listening to, but instead put it off because I can’t figure out how to format things. That’s a pretty bad excuse, so I might as well just do the thing™. Rare Americans, as the name implies, are a Canadian band (yeah… it threw me too), and I first came across them via “Hullabaloo” as an auto-play followup on Apple Music.
I’m always a sucker for music with good energy and punk vibes, and Rare Americans didn’t disappoint. Although I’ve also been accused of having a rather “angsty” taste in music, which I won’t necessarily contest (perhaps wait for a few more music posts before drawing your own conclusions).
They’ve also produced quite a few music videos.
Our weather has been mixed this week. We got plenty of fresh snow, which is the good half, but it’s come with a lot of wind and foggy days. That’s made skiing a bit unpleasant, but on the whole I really can’t complain.
On Friday I drove up to Northstar to go skiing with a friend. The powder was honestly too deep for me in some places, making turning difficult, and the visibility was really low until about 15:00. Driving up was even slow, as I couldn’t go much above 30 mph. The roads were fine, but wind kept whipping up the fresh snow.
Then on Saturday Myke and I went to Heavenly, where they were having a pride event. The visibility was much better that day, but the wind was gusting upwards of 30 mph, putting several of the lifts on hold. This made getting around the mountain tricky, but the actual skiing was fantastic.
For Sunday, we were supposed to go up to Palisades, which I’d been looking forward to (I’ve never been), but the winds were so strong we ended up cancelling. Most of the mountain was closed, so we wouldn’t have gotten to see much anyways. Instead, we went for a hike. Coming in at 2.5 mi and 1h 30min, it was technically a short one, but a lot of the trail was soft and slushy snow, making it both slow going and good workout.
Not something I made, but with the cold and rain I was wanting soup this week, so some friends and I went out for udon. I had been planning to get Nabeyaki Udon, but when I spotted this tempura curry udon on the menu I couldn’t resist. It was super hearty, definitely hit the spot.
I also managed what I’d consider my first good latte art. The only problem I have now is that I’m still struggling with pulling a good shot of espresso to go with it. At least with the milk they’ve all been acceptable.
]]>
Highlight of the week: skiing on fresh snow this past Friday.
Looking forward to: yet another storm on the way. Our winter might be coming late, but I’m not going to complain.
As a reminder for your week: empathy is one of the fundamental strength of humanity. It is what’s let us come together throughout history, in a world that is otherwise ambivalent towards our survival (at best).
Observable. AsyncSequence and Observable have always felt at odds with each other, which is unfortunate since they’re often both useful models for change tracking. Outside of SwiftUI, this often held API authors back from reaching for Observable, but no more (well… hopefully… soon™)!
Win of the week: finally sat down and scrubbed all the goopy rubberized plastic off my old coffee grinder. Took about two hours, half of which was just spent waiting for the Goo Gone to work. Did you know you’re supposed to leave it sit?
pull.rebase = true feels near mandatory.I’m also omitting all the political links I had saved, because they’re just too depressing. Actually, I’ll include just this one, because it feels important:
Once I made titles linkable, I immediately decided it looked bad. When I colorized links a year ago I did it specifically for the <article> part of posts, excluding most of my navigation. At the time this was easier than defining a selector for all the existing links I wanted to remain gray, but it was also technical debt, which finally came due. Now my default style for links is to have them be colored, and I’ve found (hopefully) all the navigational links I wanted to remain gray. This in turn lets post titles show in my bright, inviting blue when they are themselves links (without adding another special case).
You’d think that’d be all, but I still felt like it wasn’t obvious enough what kind of link the title was. I think this was exacerbated because I knew that in some cases the title would link to the post itself (e.g., from the home page, or the blog index) but when viewing the post in detail it was now a link elsewhere. Was this clear enough? Would people instead assume it was a self-referential link? To solve this I decided to add an glyph for additional context. Finally, I was happy.
There’s one more tangent I have for you though. While I assumed I’d need an SVG icon for this image (which I did), I also came across an interesting Unicode proposal for it instead. Sadly, as best I can tell, this still hasn’t gone anywhere, though I think it’d make a nice addition. There’s a lot of arrow-y glyphs in Unicode, but none that felt quite right for this use. There’s also the 🔗 emoji, but I wanted a more textual glyph, and that felt like using ™️ in place of ™. (Why do we even have both?) The glyph I settled on was from Humbleicons, which I think all look quite nice.
Finally, to quote Ricky:
I swear, one day I will write something on my blog without having to hack on my stylesheet first.
#mood
]]>This is what they call a “leading question”. In truth, there’s no competition here. What I’m providing isn’t even a service, it’s just software. And all these different implementations still promote the same open protocol, not a vendor-specific product. That’s why I was able to pull records from Benji[1], store them in some new backend, and easily switch over every post’s ❤️ button. If that sound novel or subversive, then unfortunately you’ve forgotten: that’s how a lot of things used to work. And they could work that way again.
On to the software itself… If you want to give it a try the details are over on Codeberg in the README, which covers installation and setup. I wanted to take the rest of this post to cover some things that wouldn’t otherwise be captured in the final product.
The Open Heart protocol is super simple. There’s a GET action to get reaction counts for a given page, and the POST action to increment a single reaction’s count. Reacting multiple times? Multiple requests. I did choose to implement a non-standard endpoint to get all pages’ reaction for a domain in bulk, which Mu-An added for her NodeJS version. I could use this to efficiently get reaction counts on my blog index page, though I’m unsure whether I actually want that. Something I enjoy about Open Heart is how it gives a way for people to send good vibes without focusing too heavily on “engagement”.
I decided to write this in PHP because 1) I know PHP, even if it has been a while, and 2) I can easily deploy PHP to my shared hosting setup. For something like Ruby or Swift (which I also considered), I’d probably need to upgrade to a VPS or a more dedicated hosting environment. Web development has come a long way since I was last in the thick of it, and part of me also missed unzipping some PHP files and just copying them over, so that’s what I built.
For storage, I actually only considered SQLite. It’s a tool I honestly quite enjoy using. Sure, it’s fairly boring, but almost always gets the job done. I’m sure there would come a point at which it stop scaling, but if my blog gets me there then I think I have other problems.
I also learned about some new stuff while working on this, like SQLite’s UPSERT, which let me combine UPdate and inSERT statements into a single query. This is helpful because I choose to store a count of reactions per page URL, so I would otherwise need to check if a row exists for a given URL before choosing how to handle it. This isn’t terrible, but it does mean two queries, probably under a transaction to prevent a data race.
I also considered a different schema in which I would record a separate row for each reaction, instead of a single row with a count. This would simplify some things, for example, by making every request an INSERT and avoiding write contention on the database. A row per-reaction would also allow storing additional metadata, like a timestamp to graph reaction frequency, or IP addresses for retroactive audits[2]. What pushed me away from this was concerns about storage, since without some kind of denial-of-service mitigations, a bot could easily spam requests to consume disk space indefinitely. With a counter the worst that will happen is that the count can overflow.
There’s still plenty more robustness that could be added to this. I’ve even got a list, that I should really add to my repo’s issue tracker (now that I have one). Maybe I’ll get to that, maybe I won’t. This was really just something I wanted to write for fun. In typical software engineering fashion, it took me about a day to get something working, then about two days to get it “shippable”, and finally a week spent futzing about with the README and naming it. I had a lot of fun though, and was glad to see that PHP hasn’t changed too much on me. It has types now though? So that’s cool.
1 Since I only have a handful of URLs I did this by hand, but I’m sure Myke would have automated it. ↩
2 Not that I think it needs these, but some sort of backoff or spam mitigation is something I would like to tackle in the future though. ↩
]]>
Highlight of the week: got virtual coffee with one friend, and had some others out for hiking and board games.
Looking forward to: snow. Not that there is any in the forecast, but I’ve got to stay positive.
The past two weeks my MacBook Air has been acting up. Doing anything in Finder was prone to freezing and I noticed several apps constantly hanging on file system operations. When I finally bothered to run Disk Utility it spit out a bunch of file system errors, repeatedly ending by saying that the disk was corrupt, was being fixed, was fixed… but would then show the exact same errors when re-running fsck_apfs. After dragging my feet I finally decided to fully re-install macOS (erase and start over is the official guidance for APFS errors that won’t go away).
This was fine. I have multiple backups in multiple places, so I wasn’t particularly worried about data loss, but it was a pain. For starters, I couldn’t find a clear answer to whether the somewhat recent “Erase All Contents and Settings…” action would reformat the boot volume like I needed, so I decided I’d do it the old fashioned way and erase the disk via Recovery. This had the downside of then resetting the version of macOS which would be installed via Internet Recovery to Sonoma. I was honestly very tempted to stay there, since I’ve been incredibly unhappy with the way that Apple has been pushing to enable Apple Intelligence without my consent, but it would mean that my backups would be incompatible and I’d need to start being more cautious about security patches.
Accepting that I’d update back to Sequoia wasn’t my only hurdle though. After erasing and re-installing I then had to set up the MacBook with a temporary user so that I could boot into macOS, install the OS upgrade, and then once that was done… erase the Mac again. This was perhaps overkill but I really wanted to restore my Time Machine backup during initial setup, since I also didn’t trust merging the data back in once the user account had been used. macOS’s multi-user support has also grown more complicated, and since I don’t plan to add any other users I wanted to hit the happy path of setting it up for a single user as well. That’s all done now. It did delay some stuff, but it also forced me to go outside and log off for all of Friday.
Next month’s book club pick was mine to choose, and we’re reading “All Systems Red” by Martha Wells, which I’ve had recommended now by several people. I decided to go with the audiobook version, so that Myke and I could both listen to it in the car, but due to some technical challenges we haven’t gotten to start it yet. I was happy that it was available without DRM from Libro.fm, though apparently Apple Books won’t sync audiobooks like it does other digital books, which feels like a rather pointless restriction. Instead I had to add it as an “album” in iTunes Apple Music, and sync it to my phone via iTunes Match. While I can understand giving 1st party store content tighter integration, it’s a bit frustrating since I remember a time when Apple went out of their way to make bringing your own content possible as well (ex: CDs).
I’m just giving up on pretending that I get to curate the videos I watch. YouTube now thinks I’m into video game development and shader programming (which I guess I’m not not), and brought me these lovely videos this week.
Boy did I. This week I made two batches of bread, including a batch of nine brioche dinner rolls and two loaves of milk bread. The milk bread came out a bit too dense, probably because I didn’t bother to buy heavy cream (oops!), but it was still good once toasted.
The rolls were to go with Saturday’s dinner: braised short ribs, creamy parmesan polenta, roasted carrots and broccoli, and this roasted delicata squash salad (but with butternut squash, because that’s all the grocery store had).
The short ribs did great reheated the next day, allowing me to cook them before company arrived and spend less time the day of. We also used the leftover buns for egg sandwiches. In total I probably spent about eight hours cooking during the week, but it felt great to try some more involved recipes again.
]]>
Went to San Francisco with Myke to see “Back to the Future: The Musical” for Valentine’s Day. I’m not sure how well it made the jump to musical, but it was still a fun show. No spoilers, but there were some quirky bits of 4th wall breaking that I appreciated, the songs were good but none really stood out, and the casting were likewise solid. The real showstopper, though, were the special effects. The bulk of the budget clearly went into the DeLorean, and it didn’t disappoint. Along with some digital projections and mesh screens, they managed to pull off something that felt more like a 4D Disneyland ride than a theater set.
What really struck me from watching this was just the nostalgia for a time where “the future” was a idea filled with optimism and potential, rather than dread and foreboding. I hope one day we can get back to that.

Tried out a new bakery cafe near us. The coffee was good, and the baked goods were fine but a little stale.
I had more links this week, but as I just kept putting more and more words beneath them I decided to pull them out for their own posts. I’ve actually been meaning to start spreading out links over the week, since I personally find big link roundups to be difficult to read. Let’s just hope I actually get back to them now.
I’ve had “make a playdate game” scrawled on a post-it note since I heard about the console, so at the risk of once again ruining my YouTube recommendations (which it did, now I’m getting so much tech junk) I clicked through on this one. This could easily just be an introduction to performance optimizations in general though, and a lot of these gave me a bit of a laugh remembering my early days of iOS development. We really are spoiled by our high level abstractions these days. Still, I really enjoyed this, and thought it was a solid collection of advice. I also appreciated that there was some discussion of trade offs between raw performance and readability, which I’ve come to bias a lot more towards the longer I’ve been programming, though there really is no one answer.
Such a fun concept, and an interesting application of shaders. I also saw that someone managed to get this running on a Playdate as well, which is doubly impressive since that device hardly has the processing power do 3D in the first place.
Also, did I mention that I clicked on one tech video this week? This is obviously one of the good ones that came out of that, but I really wish YouTube would chill with it’s home page.
Part of me wants to gloat a bit, because this feels so obvious to me. I mean, when has any change to Google Chrome actually been about improving privacy and not just cementing their ad tech business? But that’s no reason not to hold them accountable to their promises.
Google says this data is already widely used by other companies, and it continues to encourage responsible data use.
On that note, what a weak argument to justify doing something underhanded. If the actions of others can change your morals, then did you actually have any to start?
These were fantastic, as most of Sally’s recipes tend to be. I didn’t adjust this for altitude, and it came out “okay”, though a little bit underbaked. Given how fast these went, I must have been the only one to notice though. We actually made a double batch of this, with the intention of giving some to our neighbors, but never got the chance.
This is a recipe I’ve had bookmarked for ages, but likewise haven’t made in years. As evidence, I forgot it made two loaves until I had gotten all the way to shaping. Oops!
This recipe is also very approachable, with highly detailed follow along steps. I don’t want to say it’s easy, because I’m not a good judge of that anymore, but it’s certainly on the simpler side if you’re looking for a filled loaf recipe to try.
I gave this a try for the first time this week, and my overall impression was positive with some reservations. While I’m not a food purist, it just didn’t hit the right notes for a “sloppy joe” for me. As a slow cooked pulled brisket sandwich, it was great though. I think swapping out the fried onions for coleslaw (or just adding it) would have balanced out the sweetness better, but I’m holding on to this one to make again for sure.
We also had this with a hot German potato salad and chips, which nicely complemented the cold weather we’ve been having. Thanks too my friends who came over to taste test as well.
]]>I’ll let you guess which one making this post was.
]]>
After a month of nothing and a weekend of rain, we finally got some snow. This resulted in the best skiing I’ve done all winter, though that’s sadly still not saying a lot. Friday’s weather was also all over the place, including intermittent wind holds at the top of the mountain.
Highlight of the week: had a visit from a friend (and some new friends) in Tahoe. The weather was yucky, but the company was great.
Looking forward to: taking some time for mid-week hiking. Trying to find a new routine.
Not cooking per se, but I’ve been learning to use the espresso machine that Myke got me for Christmas. I knew there’d be a learning curve, and am happy to report that the lattes I’ve made have all been drinkable to actually good. There’s still plenty I have to improve though.
For dinner this weekend I made three kinds of pizza (the perks of having friends visit).
And as a snack, I’ve also been making sourdough toast with cream cheese and fresh fruit. Super easy!
Hopefully I’ll get to do more cooking in the near future. Years ago I would bake a ton, enough that I still seem to be have a reputation for it despite not bringing anything into work for years. Of course, now the problem will be that even though I have the time I’ll have fewer people to help me eat it.
]]>
For my first book (and №48 for the book club) we read “A Darker Shade of Magic” by V. E. Schwab. This was originally published in 2015, and is the first in a three-book series, though I hadn’t heard of any of the books previously. The plot follows a split narrative, featuring Kell (a magician/wizard from a parallel universe London) and Lila (a thief from our own London, or close enough to it). There’s magic, intrigue, politics, and a few plot twists as well. On the whole I’d say there was a lot to like about it, but that it fell short on its potential. I still enjoyed reading it, but was left feeling frustrated at many of the author’s choices.
Note:
I’ll do my best to avoid spoilers, but I will touch on some of the plot after this point.
The story revolves heavily around internal conflicts in its two protagonists, Kell and Lila. They’re set up as strong characters, who have both had to overcome trauma in their past (with more of it looming in their present) and still grapple with its effects. This leads to them sometimes making bad choices, which isn’t necessarily a problem, though throughout the story they do continue to make the same bad choices, well after it felt that they should have learned a lesson. That’s also arguably very realistic of them, I get it, but in terms of plot it started to feel stale over time. As the first book in a series, I can expect some of their growth to be held back, but the lack of development made it hard to sympathize with the problems they made for themselves, or to root as hard for their success.
In some marketing copy, I found that this book is meant as a departure from the author’s previous Y.A. works. This made the blink-and-you’ll-miss-it moments of romance that did exist rather awkward for me. There are hints of infatuation between several of the characters, that are then immediately dispelled… or are they ;). On the whole, I think the plot would have been stronger if it either committed to these tangents or omitted them.
I also have mixed feelings about the story’s handling of its side characters. To start, there are a lot of them, and while the book isn’t short, there was still more than it had time to properly develop. Several of the introductions were shallow and rushed, and there were overall more characters than the story had parts it needed to fill.
I would like to say that I appreciated how the author wasn’t afraid to kill off side characters, except that this become one of my biggest frustrations by the middle of the book. Characters would frequently be introduced with heavy exposition and backstory, seemingly set up for some important role, only for them to die in the next chapter. In some cases, this would happen before they could really do anything, sometimes before we had even met them! After enough times, this began to undermine the emotional impact, and in the end I stopped getting invested in any new characters, assuming they would simply be fodder for some world building.
Conversely, the important characters suffered from too much plot armor, surviving more than a few encounters they really ought to have not. There’s one death in particular that I think should have happened, and felt clearly avoided just as set up for future book.
Magic was a huge plot device in this story, and I think it was handled relatively well. Starting with the positives, I really appreciated how magic was somewhat democratized. The book starts out by explaining that magic needs to be spoken, but can be said in any language, because it is more about the caster’s focus and intention. Stories like this can too often fall victim to introducing a main character who is just innately special, which I find to be an uncompelling narrative. However, by the end of the first chapter it is also explained that Kell knows how to speaks the real language of magic, something that no one else in his world can do, and is in fact just innately special and gifted at magic. The 🙂 to 😒 pipeline is real.
Other than that, the magic system did basically whatever it needed to do for the plot. I personally think this is good, and it’s something that separates fantasy novels from sci-fi. Having a plot device that could do anything (dare I say, that feels like magic) requires restraint, which the author had. While Kell’s magic is more powerful than basically anyone else’s, he didn’t come across as a One-Punch Man.
Reading this back, I worry it may come across too harsh. I’ve focused a lot on the issues I had with this book, but I also did enjoy it. What frustrates me is how this book came close to being really good, making these nits feel all the more glaring.
If this is a genre you like, A Darker Shade of Magic is a fun story with lots of novel quirks, and worth a read. The author clearly enjoys world building, and does a great job with descriptions.
Rating: 3.5 ★
]]>I still read cookbooks like books, cover-to-cover, which I suspect might be a bit weird. To me, they are somewhere between a story book and science textbook, depending on the author. Modern cookbooks also tend to have great photography, which is usually more aspirational than practical, but does make for fun casual reading. I think what’s often felt wrong in cooking ebooks is the loss of their textbook-like page layouts with intentional placement of photos, ingredients, and prose. You can arrange this all linearly, but recipes aren’t necessarily linear, and I find it flows better when spread out across columns and grids.
New library card burning a hole in my pocket, I decided to check out what cookbooks were available at my local branch. This turned out to be “too many,” but after sifting through popular titles, I settled on Dinner in One[1] to start. I’ll admit to shopping with my stomach a bit, but it wasn’t just the cover that drew me in, but the concept too. I mean, I love to cook for fun, but usually it’s just to eat. I’d also been trying to find more sheet pan meal ideas before even finding this book, and here was a whole chapter of them.
For a quick review: I thought it was great. I even bought a copy as a Christmas present for my sister-in-law[2]. Melissa’s writing is fun and easy to follow, and I bookmarked about of dozen of the recipes. The book itself is divided into sections based on preparation style (sheet tray, dutch oven, skillet, etc…), and each section has a decent mix of simple and adventurous flavors. It’ll be interesting to see which ones I can get Myke to try, although there’s at least a handful that I think could work.
Something I really appreciated was Melissa’s approach to introducing these recipes. There’s some of the standard cookbook fluff, but she also gives a bit of a conceptual “base” for most dishes, along with alternative preparations for many. Lots of these came with vegetarian substitutions as well, and while there’s a lot of tofu in those, they feel more thoughtful than a simple protein swap.
What I can’t comment on (yet), but will be most interested to evaluate, is her trade offs between number of dishes and flavors. Fewer dishes equals less cleanup is easy math, but when you cook all your vegetables together you can end up with muddier flavors or imperfect texture. I suspect it’ll all be worth it though.
I was glad to see that in some recipes she did let herself use some additional cookware. The “one pot” bit is true enough for how things get cooked, but if a step needed an extra bowl to mix up a dressing, or set aside some prepared ingredient, she still let herself use it. That’s a good sign that these really are practical instructions.
If it isn’t obvious by now, I was really happy with this find. I’ll probably go back and check it out again when I have longer to look it over too, but I did copy down a few things to try sooner. 5/5 ★, would recommend.
1 I managed to misread this title as “Dinner for One” until after I’d brought it home. That didn’t stop me, since I figured that I could easily scale meals up, but while reading the introduction I noticed it talked specifically about serving sizes from 4-6 people and got rather confused, before realizing my mistake. Oh well. ↩
2 I want to caveat that this is without actually cooking any of the recipes, though I’ve seen enough that I’m still confident they’d be good. ↩
]]>
Is this a reflection of my own insecurities? I do stress about giving recommendations. What if someone doesn’t like the thing I’m recommending? But this is my blog, so I assume you’ll understand that these are also my opinions, and Paper Places scratched an itch for me that I didn’t know I had.
Let’s start with the host, Kerry, who is delightful to listen to. I loath the idea of parasocial relationships, yet I can’t help but find myself rooting for her during updates on her memoir writing, or thinking about reading a nice book as she gives an NPR-style walkthrough of the study she’s building. For an audio-only medium, Kerry has done a great job putting together a space that feels cozy, safe, and inviting; a place I’m always looking forward to hanging out in.
This is also a podcast about writing, so naturally there’s the writers. It isn’t always explained where Kerry finds the people she interviews, but they all have a few things in common: they are largely people I’ve never heard of before, likely would never have heard of, and they’ve all had interesting (and very human) stories to tell. I’ll spare you clichés about writers and “storytellers,” but I really do appreciate the stories these people have chosen to share. There’s Freya Bromley, in episode 2, who talks about grief, loss, and the vulnerability of writing about oneself. In episode 3 I was introduced to Ellen Atlanta, whose stories about the beauty industry drove home things I knew existed, but had never really sat with myself. These can be (at times) heavy episodes, but they’re also ones I’m grateful for. Not everything is heavy though, and there’s a lot else in these episodes, including Freya’s writing retreat (which really drove home that I should plan a trip to Italy some day). I also have to at least touch on episode 5, with Stephen Hackett, which is how I discovered the show in the first place.
While these stories form (what feels like) the core of the podcast, framing them are the shared experiences these people, Kerry included, have as writers. Learning about the writing industry has likewise been fascinating to me, and I find it amusing how similar all these people’s advice is certain things. The plural of anecdote is not data, but it would seem that nearly everyone has some sort of love/hate relationship with their own creativity, everyone likes writing but likes being done with writing more, and importantly everyone has their own insecurities about their writing. Strangely (or maybe not), listening to professional, published writers talk about being nervous to share stories about themselves makes me feel a lot better about this blog. (The same is true for when I see other bloggers talk about their blogging process as well.) I can’t say whether listening to Paper Places has made writing a book seem a more or less reasonable goal, but it sure has made me think about it at all.
I made a point this year to get back into podcasts, as part of my push to start reading more blogs as well, and I’ve been focusing on finding less tech content for both. Paper Places scores positively here, albeit weirdly. I found the show through 512 Pixels (an Apple focused blog), it’s hosted by Relay.fm (which is itself a rather technical collection of podcasts), and several of the guests have backgrounds in tech journalism. Reading between the lines, I feel like Kerry could probably host on a show about technology too, but it’s in the background here, which keeps this as an escape for me. This show has been a delightful find, and I really have no complaints*. As I write this, it’s on its 8th episode, and I’m looking forward to more in the coming year. I’m all caught up for now, sadly, so we’ll need to find something else to round out our 50 drive to Alabama (we made it to Texas today though).
(*Okay, one small thing. Each episode ends with the author performing a reading of their own work, after which the audio cuts immediately. For some reason this throws me every time, and I really wish there was like… two seconds of silence, just line noise, so I could breath out and know it ended. 😅)
]]>Win of the week: used my new library card to check out a cookbook.
Looking forward to: taking a bit more vacation in December than usual.
I know I just said I scaled back for Thanksgiving (and trust me I really did), but due to some curiosity and circumstance I still managed to fit in a lot of firsts while preparing it.

Hoping to save some time, I decided to try out a new technique and sous vide turkey breasts instead of roasting a whole turkey. I know half the point Thanksgiving dinner is the leftovers, but Myke doesn’t eat dark meat, and I don’t particularly enjoy cooking a whole turkey anyways. I’ve made sous vide chicken breasts before, but I still did some research on timing, settling on this article from Serious Eats as my prototype.

Safeway didn’t seem to have any plain turkey breasts, so I went with a read-to-bake meal kit, which happened to come pre-seasoned as an added shortcut, (although I still threw in some fresh herbs). The only prep I had to do was swapping the meat from the roasting bag it came in for a vacuum-sealed one which would be watertight. Then, following the cooking table, I let it go for 3 hours at 145ºF. The result: very tender, very juicy turkey, just like I’d been promised, although, perhaps a bit too tender. I would opt for a slightly higher temperature next time, to get a more traditional texture. On the flip side, it’s reheated wonderfully, kept a nice texture, and didn’t dry out in the microwave.
For sides, I went with a house staple sweet potato casserole. This is specifically a recipe from Ruth’s Chris steakhouse, which has always been my husband’s favorite, and one I make for nearly every holiday. Safeway was out of the canned sweet potatoes I typically use, so I made a game time decision to buy fresh ones and make it from scratch. This might be a recurring play, because it was better received that usual.
For the rest of the starch I substituted mashed potatoes (also traditional, but we’d had some earlier in the week) for Hasselback potatoes, mostly for the aesthetics. My technique still needs a some work, but I had fun preparing them, so no regrets. I had also planned to bake some bread, but Myke had picked up rolls from the store that were almost the same, so I decided it would be one less thing to prep.


We went for a couple of hikes. Getting to see the forest covered in snow is always a treat, and there’s not too much that hiking becomes difficult. Chelsea has also been enjoying her doggy backpack… or at least I think she has. She tolerates a lot, but it’s let her go on longer hikes than she’s can otherwise go on, and she really likes coming along for them.

I can already feel that December is going to be a blur. We’re planning on driving around the country, from California → Alabama → Ohio and back, to see our families for the holidays. Depending on the day I’m either dreading or excited about that. Ask me afterwards I guess.
]]>Right now, and for most of the month, all I’ve felt like doing is staring off into space, a move which brings with it nothing of value. No, writing a blog post will not fix that. It will not address the root cause of my problems. All it’s going to do is give you something (fun?) to read, which is why it hasn’t felt worth doing.
On the surface that feels inconsequential, and I feel like I should be doing something more imporant. But, if I haven’t managed to do anything, then doing something is surely better than nothing?
In part, what really got me over the line here has been reading other peoples’ blogs. Just following along with someone’s normal, day-to-day life has afforded me at least a bit of stability, and I’ve found myself looking forward to hearing updates from my internet friends. So, if their blogging has brought me some comfort, I think I at least owe whoever might be reading this blog the same courtesy.
This post is very meta, and it isn’t the post I wanted to write. It’s a post where I’m working through my feelings, something I don’t always want to do, but is one of the things that blogs are supposedly for. I’ve got some more light hearted things I’ve been sitting on that I need to dust off as well, but for now here’s me just saying I’m still doing my normal, day-to-day life stuff too.
For instance, …

I’m also hoping you’re all doing as good as you can be. Remember to take care of yourselves, and take some time to talk to some people who you might have fallen out of touch with. While I might not be feeling the most charitable about humanity these days, it’s still important to remember that other people are what make life worth living.
]]>And if you live in the U.S., I’m sure you don’t need me to tell you that you should too.
Here’s what I wrote. And yes, of course I submitted a comment with a typo, because I’m incapable of being my own editor.
As a pedestrian and a driver I do not feel safe [with] the size and blindspots of today’s vehicles. With less visibility over truck hoods, even good drivers have a harder time seeing pedestrians and other hazards. I want safer options to choose from when buying a car, and historically we have not seen automakers move to maker safer vehicles without the weight of policies such as these.
I am supportive of these standards, and want to see pedestrian safety accounted for.
I haven’t had one in years, mostly because I haven’t read enough to bother. Lately, however, I’ve been trying to change that, and figured it was time to give it another go.
Technically they’re the same prescription I’ve been getting for years now, but I keep preferring a lower power for my contacts. At my proper prescription I find focusing on screens to give me a headache faster, and that I have more difficulty refocusing for distance (like while driving). My optometrist wanted to give it another shot, but I’m still thinking I’ll keep things as is.
If these look old it’s just because I’ve had this sitting as a draft for a while now. I’ve got some newer things to share, but am trying to keep these posts to a not-totally-overwhelming number of read more’s.
I try hard to not let myself succumb to nostalgia, but can we all agree that the jewel case aesthetic was a bop?
I follow this blog for recipes, so I was a bit confused when I saw some mountains as a new post. This was even more confusing, since I follow it in Mela, which tried to convert it into a recipe for me. I’m happy the ML model failed to filter this out completely, otherwise I wouldn’t have seen it, and the photography is just too gorgeous to miss.
I’m not going to give a full summary of this because it’s long and quite honestly… I’m only halfway through it after like a month. But it’s also been interesting, and I keep going back over it
As a small aside, I also recently discovered Anh’s blog via Tracy Durnell, and quickly fell in love. She’s done such a cool job curating different layouts for various posts. I should also really finish updating my website’s theme one of these days.
I’m now about halfway through this, and at some point I feel that things transitioned from “mathematics as anecdotes” to “I need to go back to college to keep reading”. I’m still finding it interesting, but large swaths of these chapters are going completely over my head, and I’m sure I’m missing some points. For now, my plan is to push through to the end before going back and trying any remedial math research.
]]>Brains are weird, of course, but is this normal or just a problem for me? In practice it can be a real source of frustration. There is documentation that I’ve been meaning to write for years now, but with no more than a title to go off I can never seem to get started. Meanwhile, I’ll have someone ask me about a specific line of code and produce a full essay about its history in a DM. I’ve started copying these down into a (horrendously organized) document, since it’s the best I’ve been able to do, but I’m certainly envious of people who can just take a prompt and spin it into a coherent narrative.
]]>[…] What’s your home setup like? I still use an Aeropress, but I really need to upgrade my $10 grinder at some point!
While I could have just replied there, it seemed like a good excuse to do some blogging, plus this gives me more than 500 characters to work with. I’ve also been meaning to put together a /uses page, which would certainly include some coffee equipment, so consider this a sneak peek I guess?
Before we jump in, I’ll mention that none of these are affiliate links, nor are they necessarily endorsements. This is just stuff I use, with links if you’re interested.
For most of the coffee I make, I’ve been using a V60 Ceramic Coffee Dripper 02. I’ve had this thing for as long as I can remember, and it’s great. I recall waffling about whether to get it in plastic or ceramic, but aesthetics won out, and I went with ceramic because it looks nicer on my mugs. In theory, plastic doesn’t absorb as much heat, which should be a bonus to brewing because it avoids the need to preheat the brewer. In my unscientific experiment (read: getting lazy, and not bothering to preheat it most days) I can’t say I’ve noticed a difference though. If I do bother with preheating it’s usually so that my mug doesn’t cool down too fast instead.
Brewing with the V60 is simple… aside from perfecting your pouring technique, which you’ll probably never be quite happy with 😬. I remember watching James Hoffman’s videos a bunch when I first got it though.
This thing is also easy to clean. Most days I just rinse it off right after I’m done, and then every so often I’ll give it a good scrub. I have coffee mugs with much deeper stains than it, and it gets used more than them. 10/10, would recommend.
Of course, behind the simplicity of a pour-over are a lot of supporting characters. Starting with water, I use OXO’s Adjustable Temperature Pour-Over Kettle. This has a nice, easy to grip handle (as OXO are known for), and the display is nice and readable. I do sometimes get confused about whether it’s “on”, “off”, or “not actually on unless you press the button, but still lit up”. Thankfully, it has an auto-shutoff feature for when I get that wrong.
Prior to this I had a giant kettle that I used exclusively for tea while in college. It had no temperature control (just went straight to boiling), but held nearly 2 liters of water! This was great when I had five roommates, but I’m actually happy to have downsized. The OXO has closer a 1 liter capacity, which has never been an issue, and a nice range of temperature control instead.
I also want to give a shoutout to the Fellow Stagg EKG Electric Kettle, which I know has a lot of fans. I, however, am not one of them. Having played with one for a bit, I find it a bit form-over-function. The display is hard to read, the handle isn’t as comfortable to pour with, and the kettle finish can scratch easily.
Around five years ago I picked up Hario’s V60 Drip Scale (Black) as a bit of a impulse purchase. It’s nice, I have no complaints, although the kitchen scale I’d used prior also worked just as well. The sub-gram precision is neat, but I myself am not precise enough to make it necessary. I thought I might start using the timer function to time my brew steps, but much like preheating (and rinsing filter papers) I rarely, if ever, bother.
Having said that, it does look great, and has let me keep my kitchen scale with the rest of my cooking supplies instead.
Last, and most recently, I got Fellow’s Opus Conical Burr Grinder to replace my aging Bodum Bistro Burr Coffee Grinder. This is easily the most expensive part of my kit, but arguably it’s one of the more important, and I’m really happy with how it’s been working out. I liked the Bistro, but it’s coated in a rubberized plastic, which after ten years had finally turned to goo. This made making morning coffee a truly unsettling sensory experience, and is why I didn’t want to replace it with the same thing. Hopefully the Opus will last at least as long, and since it’s made of hard plastic I shouldn’t need to worry about it disintegrating either.
In terms of functionality, the Opus should offer a better range of grind control, though it is overkill for drip coffee and pour-over. The Opus also has a smaller hopper, which isn’t suitable for storing more than one batch of beans. I never did this anyways, so it wasn’t an issue for me. For other features, I find that the Opus has less grounds retention than the Bistro, although I’m not sure I find its anti-static feature to be life changing.
I also have a Bodum Bistro Blade Grinder, which like all blade grinders, is inferior to a burr grinder in terms of uniformity and control. For example, it’s hard to make coarse ground coffee for a french press, because you’ll always end up with some totally pulverized bits before you’ve even broken down some of the beans. Because of this, I’d use it pretty exclusively for drip coffee, but besides that it’s really solid for the price.
Other than that, there are a few other coffee brewers I’ve picked up:
I have sometimes contemplated getting a real espresso machine, but the price makes it hard to justify. I also know there’s quite a lot of learning that goes into one, along with ongoing maintenance, whereas my current setup is very low-maintenance to keep working. If I’d had more foresight I might have picked one up in early 2020. That way I could have had plenty of time at home to learn how to use it. Instead I get most of my espresso beverages (almost always lattes) at work, where they’re thankfully somewhat subsidized.
]]>As this gap in update may also imply, I’m continuing with my (lifelong) struggle to get caught up on things. Despite our summer travels finally slowing down, my to do list doesn’t seem to be getting all that shorter. In a lot of ways it feels like I’ve got some residual fatigue from doing too much, which is also not new for me, but it means I’m spending the free time I do have not doing much productive. Still, I guess relaxing isn’t all that bad of a “something” to do either.
I’m still trying to pad out my galleries so that the index page doesn’t look so lonely, and eventually I should have the time to actually go back through my archives. Of course, because nothing can be simple, and I am now left conflicted about where to post what between my two sites. In the short term I’ll try to keep stuff that is entirely about me, or created by me, here; and James & Myke’s Adventure for our joint stuff. It’s not a clear line though.
I also want to set up photo galleries to show up in my RSS feed, so if you suddenly see these backdated it means I got around to that.
Referer header?I maintain that how much time I can spend playing video games is a pretty good indicator of how underwater I am, and right now the answer is “not a lot”. Still, a sequel to World of Goo coming out after 16 years was enough for me to set aside a little time. I haven’t gotten very far into it, but so far it feels a lot like I remember, (perhaps too much, but I’ll withhold that judgement until I’m past the tutorial levels). The replay mechanic of having various “bests” for time, moves, and goo balls collected is nice, although some of the requirements seem pretty brutal. I’m not sure I’ve got fast enough mouse reflexes to beat most of the time-based challenges.
This one isn’t too surprising, although I’ve did mostly put down Splatoon this month. Despite the short games, you kinda need a good internet connection, which I haven’t had while traveling. Instead of PvP I’ve also been going back to Salmon Run too. It has more predictable gameplay, and I’ve needed some predictability. Due to some lackluster rotations I’ve also been revisiting Splatoon 2, because it also just has better Salmon Run maps), (or maybe it’s just because it’s easier there and I want to win some). EVP levels are hard 😭.
(*It had been “recently” when I originally drafted this, in June. Due to life, I had to put this on a back burner for several months.)
I’ve played Splatoon casually since Splatoon 2 came out in 2017, although I only held on for about the first year of that. I’m not someone who wants to hoard games (having successfully avoided many a Steam Sale), so when Splatoon 3 (2022) was announced I wasn’t sure I’d bother to get it. However, something must have convinced me to, and given how many hours I’ve sunk into it since, it wasn’t a bad purchase. Reflecting on this, I think a few things changed for me in Splatoon 3 that made it more enjoyable, and helped it stick.
I think the first three of these are pretty straight-forward to understand. A teamwork focused game is more fun when you play it with friends, and it’s also easier when you can voice chat with your team (especially when the in game options are simply “Booyah” and “This Way!”). The last point I think needs some more explanation. This wasn’t a case of just watching someone do something and deciding it looks fun, but instead watching someone really dissect how the game works. And yes, this is just as nerdy as it sounds, but I’d never actually considered the theory side of Splatoon before, nor a lot of other games, so it was a whole new world to explore.
Alongside a new appreciation for the game’s mechanics came an ability to set more specific goals for myself. I was able to tease apart mechanical competency from tactical decision making. For example, when I couldn’t maneuver as well as an opponent, it wasn’t a game over, I just needed better tactics to compensate. This is the kind of games theory I knew existed, but always found boring, only for some reason it really clicked this time. Perhaps it’s simply that knowing more about the game helped me win more, and who doesn’t like winning?
The first thing I went looking for in S-rank was whether my teammates would feel more competent than in A-rank. Coming up from C to A, there was always a noticeable bump in skill across the lobbies, however I also felt I was often one of the top performers in my games. This led to me sometimes blaming my team for losses, when I felt like I couldn’t have done a lot better. To my surprise, S-rank players didn’t have the same “bump up” in skill as other ranks. They were certainly better, but from how much I had struggled during Rank Up matches, I had expected S-rank to give me a bit of a breather by being able to rely more on my team. I instead found that players seemed to have better mechanical skills, but that team coordination was often still poor to nonexistent. Which isn’t to say nothing changed, but for a rough estimate I’d say that I left about 70% of my A-rank battles feeling that I had been well matched against the other team (win or lose), and in S-rank this fell closer to 50-60%.
The next thing I noticed, which took a few weeks for me to feel confident about, is that matches really are more difficult. This too, isn’t shocking. Ranking up from C → B → A felt almost too easy, (at least once I’d started to invest time in understanding the game). Many people in those ranks are probably just going off whatever the game itself teaches you, which from my experience in Splatoon 2 is almost nothing, so it doesn’t take a lot to improve past them. Just practicing enough to develop better hand/eye coordination can get you out of C-rank, and it wasn’t until A-rank where I started to actually feel challenged. In S-rank people are clearly playing to win. Fights that I could previously run away from or just kite, I now lose if play them like I did in A-rank. Alongside the more punishing point adjustments, the game (very gently) ramps up pressure that you do need to improve to keep going, which I appreciate.
Lastly, and importantly, S-rank is still fun. Splatoon has a really high skill ceiling, and while winning is fun, being able to learn from losses broadens how enjoyable it is. Now, I can lose a match, but still be glad I played it. I think this may be closer to the intended gameplay loop, since becoming “the best” is effectively unachievable for the vast majority of players.
While a part of me thought I might get through S and into S+ during this season, that never happened. Unlike in A-rank, where my progress was fairly consistent, I made barely any net progress this season, (going from S300 at the start of the season to around S600 at the end). I had huge swings in my win/loss streaks, sometimes going as low as S275 and as high as S800. This was intentional on my part. With Open battles you can still gain points even if you lose more than you win, but I wanted to know my gameplay had improved, not to just “make number go up”. I also knew that if I couldn’t win Series battles consistently, I wasn’t going to win my Rank Up battle either, so I forced myself to take more risks to learn from them.
When the rank reset rolled around, I was left a little nervous about what would happen next. Would A-rank be easy now? Would I get back into S-rank again? Or was it a fluke I made it in the first time?
I’m happy to say that the practice did pay off. It still took about a week to find time to grind up the 300 points needed to try and rank up, but I got past the Rank Up match on my first try this time! I think my time in S-rank has also helped me appreciate that there really is more for me to do as well, and I’ve stoped focusing on how good my teammates as much. If I can get better, I can compensate for them, and looking back I think my previous feelings of frustration came from missing what I was still doing wrong. Right now I feel like I’m just a bit above average for the overall player base, but I’m happy with where I am. I also work full time, and can’t spend nearly as much time as some people on a hobby like this. Plus, I am “older” than a lot of other players, and that does put my reflexes at a disadvantage. At least I have fast internet though :P
]]>For now I’ve mostly repurposed the gallery code I had already written for my other site, and tweaked it a bit to work better here. That said, I’ve really started to get bored with my current theme and want to redo it, I just know I don’t have the time right now. Instead I keep sinking work into moving things around bit by bit instead. I’ve felt this more acutely while working on this photos page because of how much metadata I had, and how plain my current design language is. There just wasn’t a satisfying home for anything that didn’t feel like clutter.
I also want to build out support for posting photo streams, which would be like a living gallery without a defined end date. There are a few categories of photos that I’m constantly taking, but trying to divide them up into discrete galleries just doesn’t make sense. That works better for trips, or projects, but not “nature” or “long exposure”. One thing at a time though.
]]>But fear not reader (or maybe even readers, I don’t use Google Analytics to count y’all), I’ve got a few drafts I keep almost finishing. I also have a less formal recap of the last three weeks.
Did a ton of cooking for a party at our house.
This weekend we got treated to a really spectacular sunset over the lake, featuring these trippy lenticular clouds.
There’s actually a lot more that I’ve captured, but one of the problems I’m seeing with 360º video is that I’m in everything I shoot. Which is… fine, but it makes things like a hike in the woods feel a lot more intimidating to share knowing I’ve included all my random facial expressions in the video, (as opposed to a front-facing capture where I have to consciously put myself in frame). I’m sure I’ll get over that at some point, but for now I’ve just got some reframed timelapse shots.
The X3 is also water-proof, so I’m looking forward to taking it diving with me this summer as well. I need to figure out how exactly to use it while underwater, but I suspect the 360º videos I get from that will be really fun to watch. YouTube also includes a fairly functional 360º viewing mode, which is likely where I’ll end up hosting these (bleh). So far, this has looked really good on a phone or computer, although even at the maximum of 5760×2880 @ 30fps I suspect it isn’t quite good enough for immersive viewing in a VR headset.
]]>
This problem is solvable, and I’m sure I’ll get used to things in another month. For now I’m just happy to have my recording setup working, and I even made a few test streams on Twitch over the weekend. For this post I wanted to include some clips of me actually doing well, however, so these are taken on the Switch itself.
First up, a game-winning push in Rainmaker that I was super proud of. Basically across the whole map too.
Another good play, with a six splat streak during a game of Turf War, including a successful charge slash (which I usually don’t have consistent enough aim for).
This one I can’t take much credit for, but RIP to this poor dualies player who dodged right off the map. We’ve all been there.
These two clips were from the recent Curling Hurl challenge mode, which I did a lot better at once I realized I just needed to lean fully into the overpowered sub-weapons. I had two games in a row that came right down to the wire though.
And finally, since it’s still a bit of a meme special weapon, my collection of Ultra Stamp actually being useful clips. Including a really nice quad on Sturgeon Shipyard.
I’m not actually sure how the streaming will go, or why I want to try it. I also don’t really enjoy using Twitch as a product, although with the alternative being YouTube there aren’t great options overall. Hopefully I’ll remember to get in a few more session over the next week, although with work I’m not promising any sort of schedule. But uh, don’t forget to like and subscribe I guess 😅.
]]>Highlight of the week: finally saw some snowplants budding. It’s way later than I expected, but at least I didn’t miss them.
Goal for next week: hoping I’ll be able to spread out my work a bit more. I’ve got a ton of things to do and not a lot of energy left to do them all.
Wasn’t a very exciting week. Did a lot of work, did the bare minimum on house stuff. The one thing I did try to make time for was a couple of evening walks, which rewarded me with some great views.
After reading Benji’s post about 12 times (to make sure he actually intended people to piggyback off this, which hopefully I got right; and thanks!), I took the afternoon to play with integrating it. The most difficult part of which turned out to be just placing the <open-heart> button. I haven’t done much with my layout since retrofitting it into a blog last year, and without a real “metadata” block I ended up sticking it at the end of posts. Actually setting up the web component was painless, which was cool since I haven’t gotten to mess with those before.
Like Tracy, I kept things simple for now, with just a ❤️. I debated adding more, but on the implementation side found it would require an additional HTTP request for each <open-heart> element, (fixable, but not right now). I also figure this can make a good experiment for adding some interactivity to my otherwise static site. I’d also been mulling over whether to include something like a comments section, or maybe add links to a Mastodon post for replies, or just setting up an a reply email; but that all feels premature. I’d rather focus on finding interesting stuff to write about first, and I’m in no rush.
Aside: Hey, look at that. I finally managed a mid-week post.
]]>
The weather also gave me a good excuse to stay inside and catch up on some chores. Our bathroom renovation is nearly complete, so I started on my backlogged work to deep clean the house. I’m not sure I’ve ever seen it this dusty, so it’s going to be a process.
Highlight of the week: got to use our new shower for the first time!
Looking forward to: I still haven’t see any snow plants this year, and it’s well past due for them. Hopefully they’ll pop up soon, it’s almost time for the woolly lamb’s ear to show up though.
Highlight of the week: successfully set up some time to hang out with friends we haven’t seen in a while.
Looking forward to: our bathroom remodel is almost done, but one thing still to go up is the mirror. I splurged a bit and we got one with a built in light and defog, which I’m probably too excited to try out. (We also now have an actual bath fan, so I’m really hopefully I’ll be able to actually use this mirror after a shower.)
The common application of this is left- and right-handedness, or chemistry, but I actually remember first coming across it in reference to the way telephone cords curl, (see also: tendril perversion).

Highlight of the week: got to see all the new flooring put down in our bathroom. It’s looking good! Still a few weeks from being able to use it though.
Looking forward to: some coffees and lunches I have scheduled to catch up with friends next week.
I honestly didn’t believe this first one was real, and had to look it up myself.
Highlight of the week: dinner at Dan Izakaya for my birthday dinner. We got rained out of our original plans to drive down to Carmel, but Dan is great, and it’d been ages since I’d been there, so no regrets.
Looking forward to: our first camping trip of the season. Weather has still been a bit fickle, so hoping it’ll be warm and dry.
The Visitor pattern is the most widely misunderstood pattern in all of Design Patterns, which is really saying something when you look at the software architecture excesses of the past couple of decades.It then proceeded to show me a form of the visitor pattern I’d not seen before. I’m unsure if that means I’d been misunderstanding things, but it’s a new perspective, so I’ll give the author credit.
Highlight of the week: went to The Melting Pot with some friends to celebrate my husband’s birthday. Ate way too much cheese and chocolate.
Looking forward to: seeing the snow plants start to appear. It should be any day now.
RHYD-148T-HPHN-DPUF, RAU1-30A0-GSJ5-VB49.<video> formats.
* meant, (I thought it was just something you did for “objects”). During that time I published several iPhone apps.Tunisian Sunset from Poppy & Bliss (Ravelry)
Weight: Fingering
Size: 44×52” (2,288 in²)
Total Time: 4 months

In contrast to my last project, this blanket was a relaxing change of pace. It used a single, repeated stitch for the entire body, and once I got that down I only needed to refer to the pattern to look up color changes. The overall blanket was worked in columns of Tunisian crochet, with each subsequent column grafted on to the last (so no sewing required to join it all together). I didn’t quite get to a point where I could look up from my work, but I had no problem going on autopilot while I had conversations or put on a podcast.

A tip for anyone working this themselves though: use stitch markers. At first, I had a lot of difficulty keeping track of the matching row when working up new columns. I would constantly skip one or work two new rows into the same stitch because there were just too many similar looking loops to keep track of. What was worse is that I wouldn’t catch this until the end of a block when I’d go back to count and double check my work. Once I started placing a marker into the “next” loops I’d need this stoped almost completely.
There were a few other novel things that tripped me up, and which I wished the pattern had made more clear, such as how to best carry up colors for two-tone squares. I didn’t actually realize this would be a problem, but once I got a bit of the way in I noticed that these squares had fairly pronounced lines on one side, and I’m guessing this could have been avoided with a different technique. On the first column, my carried colors also gave me a ragged and confusing edge, which made picking up stitch to work the border later much harder. Smaller issues came from how I joined the last and first rows in each column, where it wasn’t obvious where my last slip stitch should go. I think I ended up making the wrong choice, and creating an extra stitch on these.

I also didn’t even think about the border until the end (although that’s definitely on me). By the time I got to this, I was running behind, and struggled with understanding the instructions. Here I turned to YouTube, and tried to find some tutorial videos, but different videos would have small variations which contradicted each other (or my written pattern) which only confused me further. Lacking a clear direction, I finally just went for it and did my best, but I’m still unsure if I got it quite right. My corners were a bit lopsided, and due to some earlier issues I mentioned I don’t think I ended up with equal stitch counts on all sides. I’m also still unclear about how I was supposed to end up with consistent tension, since the stitches in the blanket itself were slightly rectangular. It seems like I should have had to add more stitch along the long-sided edges than the short-sided, but nothing seemed to account for this. In the end, it turned out alright, but I clearly have room to improve!
Lastly, a concern I had before starting this project was just how many loose ends I would have to weave in. I think it’s safe to say this is most people’s least favorite part, and this blanket ended up with around 200 ends in the body (quick math, I didn’t actually count). While I’m not sure it was the most elegant solution, I made an early call to work in as many of these as possible along the way. I did by either holding two colors during color changes on return passes, or wrapping cut tails around the working yarn on forward passes. In the final piece I could tell where these tails were, but I think it was overall worth the tradeoff. For someone who isn’t looking, they most likely aren’t obvious (unless you hold it up to a light). With baby blankets I’m also extra conscious about durability, so I also worked in a little extra length than usual just in case.



Looking back, despite missing my self-imposed deadline, I actually think I averaged a fairly respectable ¾ squares per day. Of course, that’s the average. I probably worked more like one square every other day during the first three months, and then maybe four a day during the last one 😅. Near the end I also let myself rush a bit too much, and ended up dropping a stitch, which I didn’t notice until about five squares too late. At this point I had even cut several colors of yarn, which put me in the difficult position where reworking these might require grafting in additional yarn (since I also had not been working that stitch in all the following rows as well). In spite of my fears, I went back and reworked them all anyways, holding my tension just ever so slightly tighter and hoping it wouldn’t be so tight as to warp the work instead. It honestly turned out fine, but a little more patience and vigilance would have saved me a big headache, and probably have gotten it done sooner too. Lesson learned.

This project had a lot of firsts, including working a moss stitch border. I’m honestly not sure if I did it correctly. In some places I feel like the stitches came out lumpy, and I had difficulty ensuring I was always hooking into a consistent place in the previous row. Overall, I think it came out nicer than I feared, but if I had more time I might rip it all out to do over… or even look for an alternate type of border. One issue that I’m not sure is my fault is that the gap between stitches is different across the top and side of the work, since you’re either workin into the rows or columns and the stitches themselves are not square. This led to the sides looking noticeably worse than the top and bottom edges for the border. Nothing in the pattern called this our or suggested modifications depending on which side you’re working though.
Aside: I had planned to write up something in January about my New Year’s goals, but… it wasn’t coming together. Also not helping things was how the final push I needed to complete this blanket ended up taking all my free time. That’s no great loss though, the tl;dr is that I need to start stretching and eat more fiber. You probably do too.
]]>How I got here is a bit of a mystery to me. Sure, I’ve been busy at work, but that’s not unusual. Maybe I took on too much travel, which burned me out? As fun as that was, I do crave quiet weekends, and need them to stay caught up on life. Once my to-do list gets too long it can be fatiguing to even think about starting something. In any case, I’ve started to take some conscious steps back to let myself recover. This isn’t easy, because it feels like I’m falling further behind if I’m not constantly working on something, but I’ve proven to myself through experience that the alternative is just productivity theater.
There have also been some blogging specific speed bumps, like quickly realizing how rusty I’ve become at writing since college. Even short posts, like this one, take me quite a few hours to put together. I might like how the ideas come out, but getting the words right doesn’t come naturally. Other times I can’t figure out how to turn thoughts into a straightforward narrative. They’re all in there, but I can’t figure out where the “start” is to begin writing from. I’d like to get to the point where I could turn out a post in a few days, but right now two posts a month appears to be my limit.
Lastly, this all competes with my other hobbies. I set myself a Christmas deadline for my current crochet project (a baby blanket), and I’ve been trying to get back to S-rank in Splatoon for the current season. I try to make little goals like these so that I remember to make space for myself; otherwise I have a tendency to drop “optional” responsibilities, like taking care of myself, whenever something comes up.
]]>
However, back to the topic at hand, what have I been cooking?

This recipe was a new find that I knew I wanted to try as soon as it showed up in my feed reader. The description had me hoping for a kind of banana/chocolate blondie, but it came out with a pretty traditional banana bread texture instead. Not that I’m complaining; they were still delicious. This would have also worked well in mini loaf pans, but baking it in a quarter sheet tray makes it more accessible. I think it would work well for Madelines too.

This has been my go-to recipe for brioche rolls, buns, and a few other form factors (although for loaves I tend to use this recipe by Alex instead). I keep to the ingredients as written, but I’ve adapted the instructions for a stand mixer:
For shaping, divide the dough into pieces for however many rolls you want to make, then flatten each piece into a circle with your palm. Next, fold into thirds, and roll tightly from the opposite directly. Finally, roll and tuck the dough to make a taught ball. If this sounds complicated, just consider it a good excuse to make more bread and practice your forming technique. It will all taste good regardless of shaping!
The most interesting way I’ve made these were as mini rolls in this honeycomb pan from King Arthur’s Flour (which they no longer seem to sell). While good, the patterned part of the rolls didn’t get browned at all, so I think this would need some tweaking on the presentation. Still, delicious.
For a sweeter roll, you can also substitute sesame seeds with coarse sanding sugar and add lemon zest and juice to the dough itself.

I somehow managed to double this recipe, probably due to my cavalier attitude towards measuring vegetables, or the multiple substitutions I made to bring it more in line with my husband’s palate. No big deal. I had enough extra bakeware ready to go, and it made for two days of leftovers.
Overall, I think this was a solid pot pie. The filling set with a looser consistency than some other recipes I’ve tried, and I even skipped on making a separate roux. Instead, I added flour directly to the vegetables to cook off before thinning it with broth, which saved some dishes.


So what made this winter particularly bad? How is this coming one shaping up, and are we actually excited for it? (Aside: I am not a meteorologist, and the weather varied around the area. Some of this comes from reading local news, but mostly my own thoughts.)
An obvious issue was the record-setting amount of precipitation. But lots of snow isn’t uncommon for the area, and towns are generally prepared to handle it. The unique factor I’m blaming is instead the warm and wet weather we saw. Along with much of the West Coast we experienced repeated atmospheric rivers, which brought us larger quantities of warm moisture than usual. Because of this, they succeeded in noticeably raising temperatures and survived as rain, where usually storms would turn to snow before making it over the mountains.
If you’re unfamiliar with winter weather, this may not sound too bad. Wouldn’t a “warm winter” be nice? And if things stay warm, sure, but problems begin when the temperature repeatedly flip-flops around freezing. This freeze/thaw cycle will wreak havoc on basically everything. For example, it turns light, fluffy snow (which is easy to shovel and plow) into damp, soggy slush and then further into ice (which we have to remove with an ice chisel). Freezing water also expands, forcing cracks in pavement to worsen into potholes and splitting gutters from roofs (ask me how I know 😞). Oh, and if that weren’t enough, it creates ice dams—a ridge of ice around the edges of a roof—which traps further snowmelt from running off, drastically increasing the retained water weight.
Ice damming is also what led to our super fun 16-hour drive one weekend. Concerns that too much ice was piling up pressured us to race ahead of an approaching rainstorm and clear as much off the roof as possible. Without this threat of structural damage we wouldn’t have been so rash, but unfortunately the winter had caught everyone off guard and roof clearing services were either booked out or exorbitantly expensive (at one point a state of emergency was even declared, in part to address price gouging). Given our choices of doing nothing, hiring an uninsured handyman (something I’m unwilling to take a risk on), or doing it ourselves, we went with the latter.
I don’t have much to say about the coming winter (yet). Despite the great skiing last year brought, we’re both hoping for something a bit more tame, but forecasting that far out isn’t very accurate. So far, I’ve been told that it should be a mild winter, but I’m also hearing rumblings about more atmospheric rivers (which are kind of at odds with each other). With the changing climate, even other locals seem unsure about what will happen.
Given all this, I’m cautiously optimistic about the upcoming winter. I’m not sure why, given how much effort it takes to live in such a severe climate, I think I’m just like this. I’ve always loved winter, and to a degree that insulates me (hehe) from the bad parts. (My husband does not share this feeling.)
We’ve also taken some lessons from last winter, and are doing more to prepare in advance. Our back gutters were damaged during the winter of 2021, but we ignored it at the time. Last year’s winter finished the job, flattening them under huge chunks of ice. This caused the damage to go from partially broken to an actual liability, as they no longer work as gutter and instead provide ice with a foothold to grow and break apart the roofing.
Along with new gutters we also had heat tape installed along the roof and down the gutters themselves. This should prevent ice dams from forming and channel snow melt better. Previously, the runoff would spill over frozen gutters on to the deck below, turning it into an ice rink.
We finally admitted defeat at keeping everything plowed ourselves, and found a snow removal service before the season starts. We’ve got a good-sized snow blower, but the daily and weekly accumulating was just too much to keep up with, and we don’t have enough space to get something big enough to chew through the ice and berms which were constantly reforming.
Finally, we splurged a bit and picked up some heated walkway mats. I’d be tempted to classify this as an impulse purchase had we not been eyeing them for a few years now. Hopefully they live up to their marketing hype (because they weren’t cheap). We could only get enough to cover the stairs before running up against the limit of our wiring, so if they work too well it will almost be a shame (that or we need to get a new circuit installed too).
I’m tentatively looking forward to having (hopefully) fewer things to worry about during this winter, but I’d also be fine if we end up not getting our roof stress-tested again. The fantastic skiing and beautiful mornings—with trees caked in fresh snow—were incredible, but it was also exhausting keeping up with nature. I think there’s still a good chance of getting snowed in over the holidays again, but if we can skip getting the car stuck this year I’ll consider it a win.
]]>
First up is this White Bean & Sausage soup by Melanie. While described as a soup by the recipe, I’ve taken to making a thicker version by keeping all the liquid from the canned beans, and simmering until it reaches more of a gumbo consistency. This goes great served over rice or with bread, which helps to stretch it if you’re feeding a crowd. It also works well to make in advance and reheat, or hold on the stove if you aren’t sure when you’ll be ready for dinner. Like a lot of hearty soups, I tend to reserve this in cooler months.

Switching seasons, here’s a marinated ahi tuna I did over the summer. I’ve made this a few times now, only loosely following a recipe, and it always turns out great. Most recently I made this for some visiting friends, and served it as a salad with greens, red onions, and a ponzu vinaigrette; although it also goes great with rice, or as a lux appetizer. Since the only cooking here is a quick sear, it comes together super quick, and the ahi is forgiving with the timing of marinades, making it simple to fit in with other prep.
Lastly, an easy recipe for chicken sharwama from Nagi. The first time I tried this was when a friend made it a few years ago, but I liked it enough to put it into my own rotation. I always make sure to include some pickled vegetables with this too. The recipe calls for a minimum three hour marinade, but I’d say this is really something you want to plan to let go overnight. The home version works great on the grill or cast iron skillet. I’m sure this could work with breast meat, but thigh meat gives you a lot more flavor is will be more forgiving to cook.
]]>Pattern: Neutra Wrap · Ravelry
Weight: Fingering
Size: 17×82” (1,394 in²)

My recollection when writing this was that everything took about nine months from start to finish. It wasn’t until I started collecting my photos that I realized just how far off I was. From these I found my cast on date of August 6, 2022, putting me at nearly a year in total! If that wasn’t long enough, I had purchased supplies in November 2021, but was just too busy at the time to do anything with them.

m1l and m1r stitches seemed wonky after getting a dozen rows in. These were new stitches to me, and despite watching a tutorial before it turned out I had been doing them backwards, giving me holes which were too large and asymmetric along the fold. Since these were all wrong there wasn’t much to do other than rip everything apart and start over. Once I got these down things started to speed up. The first part of the pattern involves a lot of color changes, which was tedious but not too bad. I even took a short (and unedited) video of this part.

Once I got the hang of the pattern repeat things went pretty smoothly, and I was only checking my stitch counts every ten or so rows. This pattern also gave me lots of practice counting by threes, as it seemed to be a common multiple for many parts.
There were only two cases where I had to rip back more than a few rows to correct a mistake, and I only found one mixed up stitch. I also missed an increase at one point, but managed to sneak it in to the beginning of the next row without it being noticeable, so I’m considering that a win.
Overall my review of this pattern is that it was super fun. I do wish I could have gotten through it sooner, as it started to overstay its welcome. That’s mostly my fault though. Work kept me a lot busier in the first half of the year than anticipated, and even once things calmed down I was just too tired to really get back into things. I also find I just have less motivation for knitting in the summer for some reason, I think it’s the heat.

Ravelry listed this as a difficult of 3/10. I think that’s probably a little low, and would consider it more of an intermediate difficulty. No one technique is too challenging, but in combination there are often a lot of pieces to hold in your head. This was definitely something I had to give my full focus to, and certainly couldn’t do while listening to podcasts or shows.
]]>