Dan Leech
mastodon 4.7.3Developing the Phpactor (@phpactor@phpc.social) language server, PHPBench, and other stuff. Working with #PHP, #Go, Typescript. Bad musician, not good at spelling. Learning #Rust painfully.
Will upgrade your PHP projects in exchange for money. My opinions are yours unless otherwise stated
Hello Daniel, I hope you don't mind me reaching out...
I do mind. Unconditionally.
The interface cargo cult:
I'm seeing:
XInterfaceis registered as a service ID in the controller. OK.- It returns a concrete implementation.. OK.
Then:
- The concrete implementation's class is also registerd in the DI
- It returns the interface
- The concrete implementation X is not retrieved via. the XInterface service but by X.
- The "XInterface" is not used in production code
- There is a test that tests that X implements the XInterface.
That's it.
- This washing machine has AI weight-sense technology.
- This TV has AI Brightness.
- etc.
It's called a fucking algorithm (and if it's not then WTF are you doing)
Blog post about #php collections and cats in pipes: https://www.dantleech.com/blog/2026/03/15/php-collections-and-you/
(ok, they're in cans, and I didn't write about them)
and the docs include "active" examples that are tested part of the build. That's one of the things I'm happy abut with the PHPBench docs - most of the examples are run in CI.
corporate PC:
- no you can't run that Rust binary
- but I can run PHP right?
- yep
I know I'm in the minority here, but BIG emojis and animated gifs have no place in messaging software. In fact all animation must be stopped.
me: I'll just quickly refactor the PHPBench expression language to support `.` notation for relative paths.
me: oh god I'm pulling on this thread and it never stops.
because destroying power plants and civlian infrastructure is a proven method to win hearts and minds and end wars right.
If an app sends me marketing notifications then thats an instant uninstall. Bye AirBnb
plan: take afternoon off:
- go for a run
- draw a picture
- do some open source stuff
oh no. I asked "what if my home server could be my smart TV" and it led me to KDE Plasma:
https://wiki.nixos.org/wiki/KDE#Installation
Entering another rabbithole.
Just found a grainy and distorted phone video of me playing Chopin's Ballade No 1. in 2008.
I didn't read music fluently at the time (and I can barely do so now). But I learnt by a combination of muscle memory, ear and slowly counting notes on the staves over many many months.
All forgotten now.
Have added a "line item" view to my plain-text-time-logging TUI. Along with Phactor this is the only other one of my projects that I use frequently. I have logged 866 days so far since October 2022.
For some reason I also made the worst DSL for filtering.
@DaveLiddament thanks for this series, I learnt a few new things. happy xmas!
(also not sure you covered --onto - that's one of the tricks I learned over the past years)
Maintaining a feature branch. Feel like that greek person trying to push a rock up a hill but people are pushing it from the other side. Also it makes me the its-too-late-its-already-merged reviewer of code thats so awful I want to cry.
ok, spent maybe 5 (!?) hours today updating the @phpbench@phpc.social expression language to support generating the JSON required to feed the `github-action-benchmark` github action and getting it all running on Phpactor.
https://phpactor.github.io/phpactor/dev/bench/
Next I guess I'll document how to set it up.
PHPBench 1.6 released: https://github.com/phpbench/phpbench/releases/tag/1.6.0
Haven't spent that long doing any O/S in ages. Tired. 😆
Dan 3(?) with a KVM setup switching between personal and client-provided laptop.
- Switching takes around 4 seconds which is pretty annoying.
- The Keychron Q17 is nice but I can't type well on it yet :/
- Having a single USB-C cable going to each laptop is great.
- This setup kinda suggests getting a webcam + mic - also annoying.
- The Mac insits on having a "mac" keyboard layout even when selecting Britsh PC (that was one of the problems I had intended to solve)
grr. trying to build Python RST docs locally for the first time in years is not fun. Also I ran 15 miles yesterday and the sun is shining and I want to run another 15 but I know if I do I will destroy my legs.
@george@phpc.social although now the opposite is true and cam't use the media keys even when holding down the magic fn button. oh well 🤣