Hacker Newsnew | past | comments | ask | show | jobs | submit | sorcix's commentslogin


The URL for this page is very generic and bound to become a 404 page. Thinking about URLs is important to prevent link rot.

Agreed. Because of this (and regardless), archive everything:

https://web.archive.org/web/20260114140733/https://www.spark...


Sparkfun redid their site a couple years ago and nuked the links to all product pages of retired products too. A shame. I found someone's archive of the old site at one point, but I've since misplaced it.

The URL for this page is clearly a knee-jerk reaction. I don't expect it will survive the week.

Almost like it's by design.

Is "by design" supposed to imply a negative scheming aspect, or am I reading too much into your comment? This page won't really be relevant to anything after a couple months, so if the link breaks I don't think there's a big problem.

The YAML 1.2 spec states:

> YAML can therefore be viewed as a natural superset of JSON, offering improved human readability and a more complete information model.


The YAML 1.0 spec says no such thing, it doesn't even mention JSON. Neither does the YAML 1.1 spec. The YAML 1.2.0 and 1.2.1 specs do say exactly that. 1.2.2 no longer does, but it reiterates that the primary focus of YAML 1.2 was to make it a strict superset of JSON.


You're right. I must have clicked the wrong link, the YAML 1.0 spec doesn't mention JSON. The quote was from 1.2, thanks for pointing that out!


However this wasn't really true till 1.2 if I am reading the spec correctly. Plus many parsers default to 1.1. =\


It currently works about half of the time for me. Lookups going through ns2.nginx.org seem to work but ns.nginx.org returns SERVFAIL.


Cloudflare still has the records cached, if you need urgent access to their downloads:

~ dig nginx.org @1.1.1.1 +short

52.58.199.22

3.125.197.172

Webserver still works, looks like their NS servers are down.


Thanks for the IPs. My nginx instance is successfully updated with these IPs in the hosts file. So at least the servers that host https://nginx.org are not down.


bsky-social-e5qhz-qqdtr (edit: someone used it)



This is what Slint[1] does in their UI language[2].

1: https://slint-ui.com/

2: https://slint-ui.com/releases/0.3.5/docs/rust/slint/docs/lan...


Every time I bring up my language on HN, someone tells me about a project I've never heard of before. This is super interesting, thanks for sharing!


This article is using Vaultwarden, not the Bitwarden server. It's wrongly referring to Vaultwarden as "BYOPM hosts a Bitwarden instance" and "the Docker Image of Bitwarden." It is not, it is hosting a Vaultwarden instance. This is an issue as people using Vaultwarden report bugs to the Bitwarden project, where they can't be helped.


Yep, it's a bitwarden compatible vault but is not bitwarden


> built as a static binary without any dependencies

> As pamspy rely on libpam, we have to set the path where libpam is installed on your distribution.

Confusing text in the readme. Does it have dependencies or not?


When the author says it “has no dependencies” they are referring to build time dependencies (i.e. development headers) and runtime library dependencies (dynamic libraries that will be linked and used at runtime).

In this case the function of the program is to hook a library function in `libpam` using eBPF so it has libpam as a “dependency” in roughly the same way that a program which converts wav to mp3 depends on “the input wav file”.

Given that this is a somewhat unusual way to depend on a `.so` file it’s reasonable for there to be some ambiguity in the language here.


I read this as, due to pamspy setting an eBPF probe, pamspy needs to know where libpam.so lives. Not that the pamspy needs libpam to be built


Exactly, we have to found the address to hook on the system, so we need the path of the currently use of libpam by other process


Oh, makes sense, thanks!


It is still quite confusing.

> built as a static binary without any dependencies

Static binaries are explicitly used for removing the need for specific dynamic runtime dependencies. It does not refer to build dependencies, which are not interesting here.

Based on the terms, I would except that libpam is included for the final binary.


If libpam was compiled in, then this tool would do nothing. libpam is not a library for this tool, it's a target, like an input file. libpam is a library for the kernel of the target system. this tool hooks into it to do its work.


Exactly, it is the target. The later phrase pointed out in the original comment it to be some sort of dependency for runtime use, making the confusion. While it is not related to runtime code functionality at all.


The entire point of this program is that it hooks the func inside the libpam.so actively being used by the system for auth...


You could say libpam is the "target".

Like pointing a disassembler at a shared library, it's not needed to run the disassembler, it's the thing you're disassembling.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: