Hacker News

Top stories

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

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