Show newer

Set up Pi-Hole running in a Docker instance on my Synology NAS. Now I just need to set it as the default DNS for the DHCP server on the RT-AX88U and then I can sit back and wait for any one of those things to fail inexplicably.

... what to do, what to do. So many things I'd like to do, but absolutely don't have the energy to do them myself. If only I could hire a team to do it for me.

Paying people to code on my own hobby projects. Hmm. That seems even sillier when I type it out.

"PHP 8 has two release maintainers. Sara is one, who is the other?"

"Is the other maintainer also Sara?"


Reading GitHub comments on one coworker's PR, another coworker compliments his coding style and advocates for that method of avoiding nested if statements. And I'm like "Yeah. Preach it."

And then I lurch forward, remembering that I wrote one earlier today & have suddenly realized a way to refactor it to remove the nesting.

Do I code now, or do I wait until tomorrow?


Mark it down: 9:55am. That's when I hit a coding catch-22 that will frustrate me for the next (checks Apple schedule) two hours.

Installing PHP 8 on Raspbian is a lot easier when you have a decent guide for it. Found this one tonight:

I finally got my underwater drone back in the water after a long winter hiatus, and I found something neat!

Went for a walk today & took a photo of an old rusted car wreck. I'd taken a photo of the same wreck 10 years ago, and thought it would be fun to try again.

PHP Notices poll (or notices in any lang)

Aha. I think what I need to do in order to understand all the fiddly draggy and droppy bullshit bits of XCode+Swift ... is version the project in git and look at the damned diffs.

Anything less precise seems utterly inscrutable.

The hull is actually much cleaner than the photo suggests; I think a lot of the speckledness is from light reflecting off the water, amplified by computer-driven postprocessing settings.

Show thread

Sailboat photo from this weekend:

Not my boat, although it could be for the low, low price of $15,900 CDN.

I want to propose "final abstract class" as a solution to this: it can be extended, and the abstract methods can be added, but nothing more than that can be done. And the extended class has to be final itself.

Show thread

Is there any way to say in an abstract class that any implementing classes cannot add extra methods, only define the abstract ones?

Not ideal, but I discovered a way around this: reading inbound messages from the API and reacting to them locally. Aka, polling. 🤷 I guess it works, for now.

Show thread

Maybe there's a way to do this same thing with array_* functions, but nothing came to mind.

Show thread

I just came up with the most brutal hack to use array_reduce with short functions ... heh.

Since "add to the array" and "return the array" are two operations, I turned them into a single one by using a ternary:

fn ($carry, $item) =>
($carry[$item['category']][] = $item)
? $carry
: $carry,

It eventually came back online; after several further issues with exhausted memory, I finally figured out that `make -j4` was just too taxing for the system (Pi 3 Model B)

Show thread

Me: "I have an idea: I'll compile PHP 8.0.3 on my Raspberry Pi"

Also me: "Now I can't SSH into my Raspberry Pi because, I assume, the CPU melted."

Show older
PHP Community on Mastodon

Open source. Open community. We are dedicated to building and enriching the PHP community.