Dan Leech
dantleech@fosstodon.org
<p>Developing the Phpactor (<a href="https://phpc.social/@phpactor" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">phpc.social/@phpactor</span><span class="invisible"></span></a>) language server, PHPBench, and other stuff. Working with <a href="https://fosstodon.org/tags/PHP" class="mention hashtag" rel="tag">#<span>PHP</span></a>, <a href="https://fosstodon.org/tags/Go" class="mention hashtag" rel="tag">#<span>Go</span></a>, Typescript. Bad musician, not good at spelling. Learning <a href="https://fosstodon.org/tags/Rust" class="mention hashtag" rel="tag">#<span>Rust</span></a> painfully.</p><p>Will upgrade your PHP projects in exchange for money. My opinions are yours unless otherwise stated</p>
Posts
-
Post #4423361
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)
-
Post #4374163
POV the upgrade you've been working on is faster in every single envuironment except the one you don't have access to, where it is, slower.
-
Post #4368896
My feelings towards slop are not getting better. I can no longer tell what's real and what's not: if I should be impressed, entertained, worried - if I should give something my attention at all. I don't want AI slop in my face and the only content I trust on social media is that which is created by people who hate slop as much as I do.
-
Post #4355891
you know it's hot when you're still pouring sweat 20 minutes after finishing a run.
-
Post #3983265
I've had some negativity in regards to Phpactor recently, mostly as it has been distributed as the default PHP LS for Zed and falls short of people's expectations in terms of usability and performance - and I've also seen it described as a "joke". "Jokes" aside I can't argue with the performance aspect and also don't have the time or energy to dedicate to it that I once had, so I put a disclaimer at the top of the README. Was nice to get some unexpected...
-
Post #3885618
them: so that will be £20 a month for 12 months. me: _thinks_ me: _still thinking_ me: so that's £120 a year them: ... no
-
Post #3876756
- 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)
-
Post #3760483
So have put enough effort into this for now. #php package to visualize/survey installed composer dependencies: https://github.com/dantleech/depgraph
-
Post #3717285
F-Keys are a lie in 2026 (and probably since 2006 when laptop manufacturers unaimously agreed that it was too expensive to have dedicated media buttons).No I can't use them on MacOS due to every combination I can think of resulting in some random shitty MacOS thing happening and nothing gets through to Kitty.
-
Post #3551935
corporate PC: - no you can't run that Rust binary - but I can run PHP right? - yep
-
Post #3489411
The interface cargo cult: I'm seeing: - `XInterface` is 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.
-
Post #1037705
Had a great #unKonf in Mannheim, enjoyed the format and met some great people. Would unKonf again. Recommended 👍
-
Post #929115
Have added a &quot;line item&quot; 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. https://github.com/dantleech/pttlog
-
Post #921952
because destroying power plants and civlian infrastructure is a proven method to win hearts and minds and end wars right.
-
Post #921949
me: I&#39;ll just quickly refactor the PHPBench expression language to support `.` notation for relative paths. me: oh god I&#39;m pulling on this thread and it never stops.
-
Post #921948
Just found a grainy and distorted phone video of me playing Chopin&#39;s Ballade No 1. in 2008. I didn&#39;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.
-
Post #921947
oh no. I asked &quot;what if my home server could be my smart TV&quot; and it led me to KDE Plasma: https://wiki.nixos.org/wiki/KDE#Installation Entering another rabbithole.
-
Post #921946
I know I&#39;m in the minority here, but BIG emojis and animated gifs have no place in messaging software. In fact all animation must be stopped.
-
Post #738620
plan: take afternoon off: - go for a run - draw a picture - do some open source stuff
-
Post #738619
Blog post about #php collections and cats in pipes: https://www.dantleech.com/blog/2026/03/15/php-collections-and-you/ (ok, they&#39;re in cans, and I didn&#39;t write about them) #php
-
Post #738618
ok, spent maybe 5 (!?) hours today updating the @phpbench 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&#39;ll document how to set it up. PHPBench 1.6 released: https://github.com/phpbench/phpbench/releases/tag/1.6.0 Haven&#39;t spent that long doing any O/S in ages. Tired. 😆
-
Post #738616
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.
-
Post #738615
RE: https://phpc.social/@phpbench/116272317320771775 and the docs include &quot;active&quot; examples that are tested part of the build. That&#39;s one of the things I&#39;m happy abut with the PHPBench docs - most of the examples are run in CI.
-
Post #738614
If an app sends me marketing notifications then thats an instant uninstall. Bye AirBnb
-
Post #738611
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.
-
Post #464067
TFW you leave pretty detailed feedback on a PR explaining why suggsetions were made and the response is: "they're mostly personal opinions, but that's ok". Like, no, they're objective suggestions to improve the code. I leave "personal opinioins" to CS fixers. Also shit day makes shit worse.
-
Post #199587
Unhinged, sweary but beautifully illustrated blog post about legacy project structure: Space - the Final Straw https://www.dantleech.com/blog/2026/01/30/space-the-final-straw #php