Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Goodbye Google (ocallahan.org)
    37comments
  2. F-Droid 2.0 (f-droid.org)
    288comments
  3. Show HN: Make cursed fonts like Times New Bastard (mitpit.com)
    80comments
  4. Show HN: Whiteboard (YC W26) – An open-source IDE for thoughtful software design (github.com/devdotfast)
    97comments
  5. Why is the liver so weirdly regenerative? (dynomight.substack.com)
    177comments
  6. 2DWillNeverDie (2dwillneverdie.com)
    23comments
  7. Fearless SIMD v1.0 (linebender.org)
    34comments
  8. Rails World 2026 Opening Keynote [video] (youtube.com)
    318comments
  9. Toyota is taking the Corolla electric (electrek.co)
    467comments
  10. My weird new hobby: Wandering around Tokyo on Google Maps (ahmedhossamdev.com)
    123comments
  11. Using LLMs to trace alchemical knowledge and decode 17th century letters (resobscura.substack.com)
    19comments
  12. Google’s Project Suncatcher to put ML infrastructure in space (blog.google)
    290comments
  13. Two-tier encryption in the UK (macanorak.com)
    384comments
  14. Writing Parquet files using Haskell (datahaskell.org)
    3comments
  15. Book review: Is parallel programming hard, and, if so, what can you do about it? (ahelwer.ca)
    33comments
  16. Opus 5.5 is good at explainer videos (launchvideo.io)
    109comments
  17. The Board Game of the Alpha Nerds (2014) (grantland.com)
    26comments
  18. Show HN: Air-gapped file encryption as self-decrypting HTML page (apeleg.com)
    17comments
  19. California is chasing wealth that has feet (landeconomics.org)
    568comments
  20. Security auditing in the age of (good enough) AI (trailofbits.com)
    12comments
  21. Sourcehut account takeover via build logs (XSS in ansi2html) (blog.arusekk.pl)
    17comments
  22. The forgotten battle of East Lansing (eastlansinginfo.news)
    15comments
  23. Show HN: Koi.rest – watch some fish and regain your balance (koi.rest)
    41comments
  24. WaveDigger: Dig into wireless signals to discover their physical locations (github.com/christianrowlands)
    20comments
  25. Nokia Design Archive (2025) (aalto.fi)
    121comments
  26. Forging 1024-bit RSA signatures in nearly SNFS time [pdf] (iacr.org)
    9comments
  27. Geothermal heat map of US hot springs (soakingsprings.com)
    39comments
  28. The Bayeux Tapestry: Woven by the Victors (historytoday.com)
    3comments
  29. Stable (YC W20) Is Hiring Product Engineers (usestable.com)
    —discuss
  30. Motor Characterization for Small Running Robots (2016) (robot-daycare.com)
    2comments

Why FreeBSD should not adopt launchd

51 pointsby 11y agoblog.darknedgy.net
13 comments
11y agoHN ↗

They don't have to use it exactly as OSX uses it

It's not doing all of that stuff in pid 1

11y agoHN ↗

Even on OSX it's not all done in PID 1; the post isn't quite right about that. I believe plist parsing is done by launchctl, not in launchd itself.

11y agoHN ↗

FBSD: I was just dealing with circular dependency hell (or misunderstanding of docs/conventions) in some rc.d scripts.

Maybe someone here knows how to do this properly (or better):

    # /usr/local/etc/rc.d/dnscrypt-proxy
    #
    # PROVIDE: dnscrypt_proxy
    # REQUIRE: ldconfig cleanvar NETWORKING
    # BEFORE: SERVERS local_unbound
    # KEYWORD: shutdown

^--- REQUIRE: ... NETWORKING always seems to cause a circular dependency (as per running: rcorder /etc/rc.d/* /usr/local/etc/rc.d/*)

Help appreciated, not required, just showing a real-life example.

11y agoHN ↗

did you open a bug? this should be fixed in the port, not on your local machine.

11y agoHN ↗

Mmm. Unix like OS with controversy newly swirling about init replacement. Déjà vu.

11y agoHN ↗

I hope the experience is less filled with tedious "mah Unix philosophy" for the BSD community than it was for the Linux community, but I wouldn't hold my breath.

11y agoHN ↗

The linked article is fortunately not really in that genre. It's criticizing the specific proposal in a reasonable amount of detail, not just vaguely criticizing the abstract idea of launchd for being allegedly "not unix enough". The main thrust of the criticism is that wholesale porting over the OSX services layer to FreeBSD produces a poor fit, because a lot of the OSX design is designed for a different purpose: as developer-facing tools used to configure/ship a desktop/laptop OS, not sysadmin-facing tools used on servers. Also, it's all tied up with Mach in a way that is fine if you're running Mach (as OSX is), but drags in a lot of baggage for FreeBSD.

11y agoHN ↗

Then again, Launchd seems to know its limits...

11y agoHN ↗

Doesn't the design philosophy of a complex piece of software matter? Doesn't consistency of philosophy provide power by enabling separate pieces to integrate smoothly?

There's a legitimate discussion about tradeoffs to be had, sure. But at least since Fred Brooks it's been quite clear that conceptual integrity is valuable. And the concepts behind Unix have been shown to be consistent and powerful; Plan 9 demonstrated that there's still unexploited potential there.

The Unix philosophy argument may be wrong in a particular case, but it shouldn't be derisively dismissed.

11y agoHN ↗

Well, Jordan Hubbard outlines some quite good things about what's going on and why in the video: http://www.nextbsd.org/jordan-hubbard-visits-bafug/

Certainly, this is not without controversy. However, it seems like Hubbard has pissed off far fewer people than Lennart did, so his ideas are likely to get a much more receptive response and actual technical discussion beyond "Lennart wrote it so I hate it.". In addition, Hubbard and co are likely to have learned from the systemd fiasco, and other *BSD systems have written some other solutions in this space. These ideas are falling on relatively fertile ground.

However, the FreeBSD leadership will occasionally make a decision and tell people to get stuffed if they don't agree. I would cite the GEOM changeover, in particular. People forget the vitriol that accompanied it now that it has been well integrated.

11y agoHN ↗

Not sure what you're trying to say. Launchd may not be a 100% function for function equivalent for init(8), but it does replace it, along with the rc subsystem.

"launchd(8) replaces: init, rc, the init.d and rc.d scripts" (source: https://wiki.freebsd.org/launchd)

11y agoHN ↗

Launchd may not be a 100% function for function equivalent for init(8), but it does replace it, along with the rc subsystem.

You are right. I was drawing on quite old knowledge regarding the OS-X boot process in thinking launchd worked in collaboration with init(8) and friends. Apparently, it has been this way for some time[1].

I have been aware of launchd replacing rc.d since its introduction. What I did not realize is that it supplanted init as PID 1. Knowing that this is the case, I am less likely to support its adoption FWIW.

1 - http://aplawrence.com/Words2005/2005_05_15.html