Volker Dusch (Edorian)

👋 Hi, I'm a Software Engineering and Management Human interested in growing systems, Developer Experience, Shipping, PHP Performance, and more beautiful software things.

PHP 8.5 Release Manager.

Working @Tideways.

Gaming enthusiast. He/Him.

Volker Dusch (Edorian)edorian@phpc.social
2025-06-04

Thank you @roave and @asgrim for Dinner at #IPC #Berlin today.

It was so nice catching up with you and hearing what's going on. Always a blast talking to you about software and life.

Volker Dusch (Edorian)edorian@phpc.social
2025-06-04

We moved clone_with_v2 to "Voting" now.

#rfc: wiki.php.net/rfc/clone_with_v2
Discussion on Externals: externals.io/message/127353

Truly thankful for the comments that helped reduce this in scope to something that fits into existing #PHP. No BC issues, and it fully leaves room for other people to iterate on it for additions.

I wish we could have gotten that implementation and proposal out of the door initially to avoid a lot of back and forth. But language design is hard, so many eyes help

Thank you :)

Volker Dusch (Edorian)edorian@phpc.social
2025-05-21

@klimpong vat geht ab

Volker Dusch (Edorian)edorian@phpc.social
2025-05-20

@dseguy I was more referring to "this" being a valid property name.

Never saw that in the wild so before

Volker Dusch (Edorian)edorian@phpc.social
2025-05-20

@dseguy I came across this, that looked like something you might like

3v4l.org/hQGmC

Volker Dusch (Edorian)edorian@phpc.social
2025-05-19

@Crell @timwolla @dseguy You allocate a ton of memory in `two` making these temp arrays.

Memory is pricier than a couple of jumps.

Does that help? :%

Volker Dusch (Edorian)edorian@phpc.social
2025-05-19

@Crell @timwolla @dseguy I strongly feel that counting Opcodes is an awful metric, and it's not how PHP works. Please don't spread misinformation like that. :/

It's like measuring a scripts' performance by counting lines. It matters what each line does.

In the same amount of time you could measure it as well. Or say nothing.

[Citation]
gist.github.com/edorian/06eb83

Volker Dusch (Edorian)edorian@phpc.social
2025-05-19

@Crell @timwolla @dseguy I think Tim was talking about performance (execution speed) not the number of opcodes produced - a metric I don't see a point in optimizing for.

Volker Dusch (Edorian)edorian@phpc.social
2025-05-16

@Kynx yeah, was also my reason for picking this up to make read-only nicer to work with for people.

I don't use it much myself but it's a good addition to PHP I feel :)

Volker Dusch (Edorian)edorian@phpc.social
2025-05-15

We moved clone_with_v2 to "under discussion" now.

#rfc: wiki.php.net/rfc/clone_with_v2
Externals: externals.io/message/127353

Let me know what you think!

While I don't have many use cases for it I found the idea to be quite neat and that it rounds out #php.

Let's see if we can finish what Máté github.com/php/php-src/pull/94 started :)

Volker Dusch (Edorian)edorian@phpc.social
2025-05-15

@luzat @beberlei @Tideways My guess as to why that is, is that for most people "sub 100ms" is not a target as their "web vitals" / SLOs don't show it to be one and full-stack frameworks want convenience first and performance second. Seen that across PHP/Ruby/Python/Node.

Having more "preloading" php.net/manual/en/opcache.prel (up to fastcgi_accept) would be something I'm into as well, but I found the difference to be single digit ms in most cases.

FrankenPHP made that idea more popular recently.

Volker Dusch (Edorian)edorian@phpc.social
2025-05-15

@luzat @beberlei @Tideways

While "per request" surely does have a cost, I've found this to be 1-4ms in most applications I've optimized. For some apps, especially when using full-stack frameworks, this can go into double-digit milliseconds. Seeing API endpoints going up to 20ms is not uncommon.

The biggest Apps I've worked with had 30-60ms full SSR HTML page response times, but that doesn't come out of the box these days. I haven't seen Ruby apps (for example) be faster for similar dev time.

Volker Dusch (Edorian)edorian@phpc.social
2025-05-14

@sebastian 🤔 Been running PHPUnit in containers for a long time. Both for local dev and in CI, so I'm struggling to come up with ideas on what the challenges are here.

For me, using a PHP container, mounting the full project and running PHP from a composer install works. Tradeoffs vs. the phar are the same as they are on the host.

Having an official container to COPY --from would make the phar slightly more attractive, but we need to "composer install" anyway, so no personal upside.

Volker Dusch (Edorian)edorian@phpc.social
2025-05-12

@rowan_m @joeri_s I didn't read all of it yet, but what I read I loved.

Thank you for sharing!

Volker Dusch (Edorian)edorian@phpc.social
2025-04-27

@movetodevnull I made this mix up a cutie times my self. The edit button saved me :)

Volker Dusch (Edorian)edorian@phpc.social
2025-04-26

@movetodevnull Was a lot of fun.

Sidenote: The @__ account is just a automated twitter sync service (I have nothing to do with).

This one's mee :)

Volker Dusch (Edorian)edorian@phpc.social
2025-04-24

@dseguy the cheating answer

<?=file_get_contents(__FILE__);

3v4l.org/JA6Tb

And there is also gist.github.com/antonmedv/6138

Volker Dusch (Edorian)edorian@phpc.social
2025-04-10

@paulca

What worked for me:

Settings > Notifications > Facetime > turn off Allow Notification worked for me.

What also worked: Turning off reactions manually once in a zoom call and then they stayed off

I never use facetime for anything, so nuking that was a 0-downside choice for me.

---

Apple's nagging to use their unfinished AI-chip-justification features doesn't bold well, though.

Volker Dusch (Edorian)edorian@phpc.social
2025-04-03

@sebastian thank you Sebastian!

Volker Dusch (Edorian)edorian@phpc.social
2025-03-31

PHP Foundation: Impact and Transparency Report 2024: thephp.foundation/blog/2025/03

Excited about many things in this post.

My top two:

"10 developers paid part-time/full-time" is amazing. Having the foundation as a vehicle that allows people to get paid, transparently, is fantastic.

And Germany's "Sovereign Tech Bug Resilience Program" sovereign.tech/programs/bug-re paying @neighbourhoodie to do infra work is delightful. Open source infra is a rarely seen, but crucial piece that I'm happy gets funding.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst