Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. One Year of Sponsored Servo Development(servo.org ↗)
    27comments
  2. I didn't sign the Fields medallists' letter(gowers.wordpress.com ↗)
    29comments
  3. Nvidia announces native GPU programming in Rust(nvidia.com ↗)
    269comments
  4. GLM Built Its Own Inference Infrastructure(z.ai ↗)
    discuss
  5. Keys Not Included: recovering the signing keys for US driver's license barcodes(ryan.science ↗)
    64comments
  6. The Relation Between Mathematics and Physics by Paul Dirac(cam.ac.uk ↗)
    13comments
  7. My temporary PHP fix from 2014 has nearly 20M installs. Today I'm deprecating it(jakeasmith.com ↗)
    18comments
  8. Training a 4B model to produce 81% faster query plans than Postgres(rohanbansal.com ↗)
    118comments
  9. Lucasart's Afterlife(togameforlife.wordpress.com ↗)
    10comments
  10. Xiaomi Mimo 2.6 live post-training dashboard(xiaomi.com ↗)
    112comments
  11. Comparison of Malloc() Algorithms(egbert.net ↗)
    10comments
  12. Backups Aren't Simple(filipovski.net ↗)
    143comments
  13. Small programming tricks(will-keleher.com ↗)
    235comments
  14. Cloudflare/Security-Audit-Skill(github.com/cloudflare ↗)
    12comments
  15. Developing provably correct Rust code with Verus(amazon.science ↗)
    18comments
  16. Breaking the 1.58-bit Barrier for Ternary LLMs(arxiv.org ↗)
    32comments
  17. A 32-year-old bug walks into a Telnet server(watchtowr.com ↗)
    26comments
  18. Back to the future: modules for Guix packages (2022)(guix.info ↗)
    discuss
  19. The engineering behind the US Strategic Petroleum Reserve(johnjwang.com ↗)
    78comments
  20. The Return of Sail Power: Cargo Ships Are Turning Back to the Wind(gcaptain.com ↗)
    56comments
  21. AI Safety Is Mostly a Sex Cult(skywriter.blue ↗)
    23comments
  22. Show HN: An e-ink frame that hears birds and draws them as 1800s illustrations(github.com/arnegiacomo ↗)
    243comments
  23. HarnessTax: How Much Does the Harness Matter for Coding Agents?(harnesstax.github.io ↗)
    52comments
  24. PCB is brought to you by Fable 5(a6mzero.com ↗)
    51comments
  25. OpenSpec – A lightweight and configurable AI spec framework(openspec.dev ↗)
    61comments
  26. AWS says it can't restore some data from mideast facilities struck by Iran(wsj.com ↗)
    341comments
  27. US interest rates raised for first time in three years(bbc.com ↗)
    54comments
  28. OpenAI Model Misalignment Report(openai.com ↗)
    discuss
  29. Performance Improvements in .NET 11(devblogs.microsoft.com/dotnet ↗)
    61comments
  30. Japan's book scene is moving from bookstores to libraries(untranslatedjp.substack.com ↗)
    79comments

My temporary PHP fix from 2014 has nearly 20M installs. Today I'm deprecating it

104 pointsby 1d agojakeasmith.com
18 comments
1d agoHN ↗

Author here, happy to answer any questions. I never imagined a polyfill for http_build_url would gain so much traction. After 12 years, deprecating it feels like the right move, especially given the new options from the community and PHP itself.

1h agoHN ↗

what a broken ecosystem.. The crazy thing is not that the package exists, but that it is used by JS devs.

49m agoHN ↗

There’s a bit more nuance as to why. It’s not fair to say that the average JS dev is reaching for a package like is-odd/is-even.

Years ago when npm was just getting started there was a lot of experimentation and land grabbing for packages. A few “prolific” developers were pushing these tiny utilities and then using them in their own projects which ended up being required as deps in other projects and then snowballed into is-odd being included in webpack at some point (I think I have that timeline roughly correct).

It’s still a crappy problem for sure but it’s not fair to paint most JS devs with a brush so broad.

45m agoHN ↗

I feel like I have to remind people of this quite often, but the history is such that npm was lightweight at one point, bundling wasn't a thing, and while `isodd`/`iseven` are of course silly, things like `isarray` were not functions that existed back then (we didn't have Array.isArray). `typeof [] === 'object'` in JS, so e.g. my package `is-arrayish` checked for a similar structure to an array (whereas Id guess `isarray` checked for the prototype). `isarray` failed for the `arguments` keyword, which was needed for variadics before argument spreads were added to the language I believe in ES5.

So of course they don't make sense now. But they were created for a reason. Before even Markov chains were a fad - let alone LLMs - we were trying to be as efficient as possible and maximize code reuse I stead of writing the same helper functions over and over again. That's what you're seeing.

20m agoHN ↗

I hate to bring politics into such discussions, but this thought struck me as funny.

The hubris of humanity... what you're describing is akin to the US Constitution and the Founding Father's goals, ending in Donald Trump.

Node is the same horror.

Nice ideas, great premise, and all turned to garbage in the end.

19m agoHN ↗

I think a lot of things end up that way, just at different timescales. Best we can do is learn from them and start again, IMO - however that looks.

7m agoHN ↗

"The road to Hell is paved with good intentions". Still true, probably thousands of years after the sentence was coined.

18m agoHN ↗

I’d say the deciding factor is that it has bugs where both fixing and not fixing them can have a negative impact. If there were no known bugs and there was no harm in using it, I’d probably just leave it there and not disturb anything, given that its use is so widespread, and instead merely note in the documentation that its purpose has become obsolete.

3h agoHN ↗

We used to work together at AOL. Glad to see you on here; I hope you're doing great!

3h agoHN ↗

Reading this threw me back to 2014 - how was working for AOL back then?

2h agoHN ↗

It hasn't been updated in 11 years. Not sure I'd call that "keeping it alive".

3h agoHN ↗

There is nothing as permanent as a temporary fix that works.

2h agoHN ↗

For a package with that kind of install base, is there a final release that prints the migration options in a deprecation notice? People will find it years from now through old Stack Overflow answers.

2h agoHN ↗

The package is marked as abandoned on Packagist [1]

This package is abandoned and no longer maintained. No replacement package was suggested.

Both adding it as a dependency using composer and installing it from a lockfile results in:

    $ composer require jakeasmith/http_build_url
    […]
    Package jakeasmith/http_build_url is abandoned, you should avoid using it. No replacement was suggested.
    […]
    $ rm -r vendor/
    $ composer install
    […]
      - Installing jakeasmith/http_build_url (1.0.2): Extracting archive
    Package jakeasmith/http_build_url is abandoned, you should avoid using it. No replacement was suggested.
    […]

[1] https://packagist.org/packages/jakeasmith/http_build_url

1h agoHN ↗

Reading this made me really nostalgic. I cut my teeth in web/software dev in the Laravel 5.x days, and it's quite jarring comparing the day-to-day we have now with back then!

46m agoHN ↗

Should the repo be archived?

I rarely see people use that feature yet tons of repos on Github are essentially dead.