Live data from Hacker News

Viewing profile — kdunglas

kdunglas

HN member
Joined
Wed, Sep 12, 2018, 2:50 PM UTC
HN karma
1,176
Public activity
62 items

About kdunglas

Founder of Les-Tilleuls.coop (tech worker-owned cooperative).

Creator of mercure.rocks, frankenphp.dev and api-platform.com and vulcain.rocks. Co-maintainer of the Symfony framework and the Caddy web server.

[ website: https://dunglas.fr, twitter: https://twitter.com/dunglas ]

Recent public activity

  1. story
  2. comment
    Comment #42590244

    WebSub cannot be used by browsers because browsers cannot receive POST requests. WebSub is for server to server communications. Mercure is basically WebSub over SSE. The draft has …

  3. comment
    Comment #42575874

    Yes, as it 's "just" SSE, this works pretty well behind Cloudflare and other similar solutions. Mercure also automatically sends the NGINX-specific headers required to allow unbuff…

  4. comment
    Comment #42572721

    Once the connection is upgraded, you loose all metadata included in the HTTP headers (because it’s not HTTP) and all protections relying on it. Also CORS and SOP can be bypassed: h…

  5. comment
    Comment #42572628

    This limitation is gone with HTTP/2 and HTTP/3 and the Mercure hub automatically use the most recent protocol supported by the browser.

  6. comment
    Comment #42572587

    Hi, Mercure author here. Indeed that's how it works. One of the key point of the solution is that you don't need anything client-side. The native EventSource class is all you need …

  7. comment
    Comment #42572529

    Hi, Mercure author here. WebSockets are hard to secure (they totally bypass CORS as well as other browser built-in protections), don't work (yet) with HTTP/3 and for most use cases…

  8. comment
    Comment #42512719

    SSE/Mercure (as WebSockets) is much battery-efficient than polling (push vs poll, less bandwidth used). Additionally, on controlled environnements, SSE can use a « push proxy » to …

  9. comment
    Comment #42511691

    A while ago I created Mercure: an open pub-sub protocol built on top of SSE that is a replacement for WebSockets-based solutions such as Pusher. Mercure is now used by hundreds of …

  10. story
  11. comment
    Comment #41288493

    The Symfony framework (PHP) provides a similar feature, which also relies on LISTEN/NOTIFY and FOR UPDATE SKIP LOCKED: https://symfony.com/doc/current/messenger.html#doctrine-tran.…

  12. comment
    Comment #40523339

    That's not the case with other engines able to keep the booted app in memory to handle several requests (FPM doesn't support this).

  13. comment
    Comment #40523243

    This script is entirely optional and is only used to create static builds of FrankenPHP or to create self-executable PHP apps. It doesn't require a Docker image but does need some …

  14. comment
    Comment #40523203

    Optionally, you can embed the PHP scripts in the final binary using a Go feature similar to `include_bytes`: https://frankenphp.dev/docs/embed/ But for PHP, it's even simpler: PHP …

  15. comment
    Comment #40521370

    This means that in addition to any PSR-7 implementation, you can run apps using HttpFoundation (Symfony, Laravel, Drupal, etc) and "legacy" code using superglobals without the need…

  16. comment
    Comment #40520905

    Unlike Laravel and Symfony, WordPress doesn't support the worker mode of FrankenPHP (yet?), so there are not many benefits in terms of performance (except the ability to preload as…

  17. comment
    Comment #40520851

    Hi, FrankenPHP author here. We would very much appreciate a reproducer. According to most benchmarks, FrankenPHP is generally much faster (~3 times) than FPM when worker mode is en…

  18. comment
    Comment #39753061

    I maintain the Mercure protocol (built on SSE) and the reference implementation (written in Go, available as a standalone binary and a Caddy module) which does exactly that: https:…

  19. story
  20. story
  21. story
  22. comment
    Comment #33209148

    I haven't tested it yet, but yes it's a stated goal.

  23. comment
    Comment #33208207

    Definitely! (using xcaddy and compiling PHP yourself, for now)

  24. comment
    Comment #33208167

    The approach isn't the same: Roadrunner executes php-cli and connects it to its web server through GRPC; FrankenPHP uses an ad-hoc SAPI, it is more like Apache's mod_php, the Go co…

  25. story