HNHacker News
TopNewBestAskShowJobs

jbboehr

242 karma · joined July 23, 2015

Hell is other people’s code.
submissionscomments
jbboehr··on GNU Guix System
NixOS uses systemd, although wrapped in their own DSL, example:

https://github.com/NixOS/nixpkgs/blob/24903b5de2e07cc7b65eae...

jbboehr··on Language Design in the Real World
> Languages generally release with this (ie Swift, PHP), rather than add it later

PHP did not get nullable types until 7.1 [0]. Function arguments (only) supported it in PHP 5 with the syntax `function(stdClass $arg = null)` but I would hardly call that nullable type support.

[0]: https://www.php.net/manual/en/migration71.new-features.php

jbboehr··on How many radioactive bananas would you need to power a house?
Well there's also this concept [0]:

> Radiation hormesis is the hypothesis that low doses of ionizing radiation (within the region of and just above natural background levels) are beneficial, stimulating the activation of repair mechanisms that protect against disease, that are not activated in absence of ionizing radiation.

[0]: https://en.wikipedia.org/wiki/Radiation_hormesis

jbboehr··on Pirate site traffic surges with help from manga boom
Where does GochiUsa go wrong?

Or, more likely, people don't want to say the whole title because it's too long. Weebs being weebs are going to prefer the Japanese abbreviation sometimes.

Is there a version of Hanlon's Razor that goes "Don't attribute to malice what can be attributed to convenience?"

jbboehr··on So Long Surrogates: How We Moved to UTF-8 in Haskell
> String (linked list of Char)

That... sounds awful for performance. Is that a real thing?

jbboehr··on The SSO Wall of Shame
> The source code for the fusionauth-app bundle and all closed source libraries owned by FusionAuth cannot be decompiled or reverse engineered. This prevents companies from forking FusionAuth and creating their own solution to sell to their customers (i.e. like Amazon has done with ElasticSearch).

Is AGPL or one of those new licenses like the BSL not sufficient to prevent this sort of thing?

jbboehr··on How Nix and NixOS get so close to perfect
But it seems like everything that uses YAML has to reinvent programming languages in YAML, and YAML has it's own share of footguns. At least Nix is designed for it's purpose.
jbboehr··on How Nix and NixOS get so close to perfect
Another option: I often just manually vendor the nix files for the version of the package and/or service I want.

You can supply a particular package version to most services e.g. `services.nginx.package`.

Or if you need to vendor a service, you can copy it into your local repo and use `disabledModules` to prevent the loading of the original.

I haven't used them yet, but I think flakes will make this a lot easier, if my understanding of them is correct.

jbboehr··on How Nix and NixOS get so close to perfect
Docker has it's own "paper cuts." Such as only being able to cache sequential build steps, not being very reproducible, etc.
jbboehr··on The tech bubble that never burst
Not a coincidence:

> The Atomic Energy Commission (AEC) established the Plowshare Program in June 1957 to explore the peaceful uses of nuclear energy. The program took its name from the Bible (Isaiah 2:4), "they will beat their swords into plowshares."

https://st.llnl.gov/news/look-back/plowshare-program

Strangely, Wikipedia makes no mention of the source of the name.

jbboehr··on Ask HN: Best Width for Website?
Slightly off-topic, but a personal pet peeve of mine is `<meta name="viewport" content="user-scalable=no" />`. My vision isn't as great as it used to be and not being able to zoom is awful. I usually just keep my browser around 80% the size of my screen and zoom the text on a per-site basis for comfort, although I can see this varying a lot based on a person's exact setup (screen size, distance, etc). Apparently I browse HN at 210% zoom.
jbboehr··on Poll: Where do you live?
Well, in an unverified poll, it would be more likely be some rando: https://slatestarcodex.com/2013/04/12/noisy-poll-results-and...
jbboehr··on In defence of the boring web
Only answering with what I'm familiar with, but AWS S3 provides access logs: https://docs.aws.amazon.com/AmazonS3/latest/userguide/Server...
jbboehr··on Agatha Christie could afford a maid and a nanny but not a car
Interesting, reminds me of the student loan debt bubble.
jbboehr··on PHP in 2022
> I've written code that uses ReactPHP, and I can't see why every lib you use needs to be developed for ReactPHP. My guess is that you're an inexperienced dev.

Not OP, but perhaps every library is a bit of an overstatement. But, as most PHP code was historically written under the assumption that blocking is fine, potentially any library you use could inadvertently block your event loop.

jbboehr··on PHP in 2022
> The fact that I needed multiple processes (nginx+fpm)

I believe you can have fpm listen on TCP and run nginx in another container if you want, although I haven't tried it so I can't vouch for it.

jbboehr··on PHP in 2022
AFAICT, that behavior was fixed with the release of PHP 7.1 in 2016.
jbboehr··on Don't use Digital Ocean (DO) for production
I've inadvertently done something against Linode's ToS twice and both times they contacted me to get the issue resolved, my account was never locked. So take this as a +1 for them, at least on this front.
jbboehr··on Trying Out Generics in Go
> Rust is overused where Haskell or OCaml is more appropriate

Except then I'd have to learn Haskell or OCaml :) As a curly-bracket language programmer, Rust was much easier for me to get into and feels more like home.

jbboehr··on Intel’s Alder Lake big.little CPU design, tested: it’s a barn burner
Basically all of my favorite games get worse simulation performance (FPS or UPS) the longer you play as the simulation becomes more complex (Factorio, RimWorld, Oxygen Not Included, Kerbal Space Program, Stellaris) so the performance is absolutely desired.
jbboehr··on Google DNS at 010.010.010.010
__FILE__ returns the path to the source file in which it's used. It's from C's equivalent preprocessor macro.
jbboehr··on Debian's Which Hunt
> For all the BS surrounding the "systemd vs. whatever-else-the-other-thing-was", I found the former made my life as a mid-tier Linux user and home-grown server admin much easier, too.

Yeah, I'm sympathetic to some of the anti-systemd stuff, but I've found writing systemd units so much easier and more reliable than upstart or sysv init scripts. And sd_notify is great.

jbboehr··on Ask HN: State of PHP at Facebook?
They stopped supporting interoperability a while ago [0].

[0]: https://hhvm.com/blog/2018/09/12/end-of-php-support-future-o...

jbboehr··on Nix-GUI: Make NixOS usable for non-technical users through settings / GUI
> NixOS could be used to build reproducible containers

You absolutely can build docker images using Nix via dockerTools.buildImage [0].

[0]: https://nix.dev/tutorials/building-and-running-docker-images

jbboehr··on Tanaka Hisashige, builder of the Myriad Year Clock (2016)
TBH, when I saw the term "myriad" in the title, I was expecting the term "八百万" (yaoyorozu, 8 million) [0].

[0]: https://en.wiktionary.org/wiki/%E5%85%AB%E7%99%BE%E4%B8%87

jbboehr··on Murder rate rose by almost 30% in 2020 in the US
"I told you so" never felt so good.
jbboehr··on Ditch your version manager
> you need it to work together with some network based package manager

Well, you can disable sandboxing if you want, although it's not recommended. This lets you run a package manager that requires networking in a derivation.

jbboehr··on Ditch your version manager
I may be wrong, but I believe one caveat here is apt may not always have some version of packages available. I believe only the latest one in each `deb-src` is available.

This is not an issue with nix as nix has the ability to build the entire system from source forever in a single command.

jbboehr··on Ditch your version manager
I did this once. It was a terrible idea. Nix solves the same problem of wanting better control of system-level dependencies but without all the manual packaging.
jbboehr··on Ditch your version manager
> Hunting down every commit hash of every package to pin down the exact version is neither maintainable nor scalable

I believe flakes will make this a lot easier, but it's not quite here yet.

← PreviousPage 3 of 6Next →