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

> So are we banning all advertising to children? Or only banning them from communicating and posting with each other?

Kids are not banned from communicating and posting with each other; the ban exempts a number of direct messing apps, as well as community apps like Discord:

https://www.theguardian.com/media/2025/dec/10/social-media-b...

If I had to over-simplify it, then the ban appears to mostly target doom-scrolling apps. I say mostly, since I'm not sure why Twitch and Kick are included


Twitch & Kick are likely included because they can breed parasocial relationships between streamer & viewer.

You can turn warnings into errors with the `-Werror` option. I personally use that in CI runs, along with the `-X dev` option to enable additional runtime checks. Though that wont solve the author's problem, since most Python devs don't use either of those options

In PHP I don’t think there is a native way to convert E_DEPRECATED into E_ERROR, but the most common testing framework has a quick way of doing the same.

https://docs.phpunit.de/en/12.5/configuration.html#the-failo...


This is not quite what you asked, I think, but GCC is able to remove duplicate functions and variables after code generation via the -fipa-icf options:

> Perform Identical Code Folding for functions (-fipa-icf-functions), read-only variables (-fipa-icf-variables), or both (-fipa-icf). The optimization reduces code size and may disturb unwind stacks by replacing a function by an equivalent one with a different name. The optimization works more effectively with link-time optimization enabled.

In addition, the Gold linker supports a similar feature via `--icf={safe,all}`:

> Identical Code Folding. '--icf=safe' Folds ctors, dtors and functions whose pointers are definitely not taken


To my knowledge, the only difference between `unwrap()` and `expect()` is that the latter takes a custom error message, whereas the former generates a generic error message. In both cases the resulting error message includes the filename and line number of the panic. Both can also generate stack traces if you set `RUST_BACKTRACE=1`, unless this was explicitly disabled at compile time.

So if you want to ban `unwrap()`, then you should probably also ban `expect()`, and make sure to handle all possible cases of Err/None instead.


> In any case, who made the association of the git branch "master" to slavery? It is absurd.

BitKeeper, the VCS that preceded Git, used the terminology "master" and "slaves", so the association is not based on nothing:

https://github.com/bitkeeper-scm/bitkeeper/blob/0524ffb3f6f1...


It is based on nothing. It is not intended to be offensive, and it is not intended to be about slavery. Similarly how master and slave pins are not either, or how blacklist and whitelist are not about race either!


BTW FreeBSD changed blacklistd to blocklistd. :(

I do not mind blocklistd, but then again, there was nothing wrong with blacklistd either.


I grant it's not nothing, but I think it's not enough of something to make changes over it. Thinking of a master record or similar is the natural reaction when you learn about the terminology, and most young people have never used bitkeeper, so unless you go out of your way to explain why this is "bad" most people won't even know, so what do you gain from it?


They probably mean "slut". The word has the same meaning in Danish, by the way


There's a lot more involved in distributing C (and C++) programs than just compiling them:

I'm assuming a Linux based system here, but consider the case where you have external dependencies. If you don't want to require that the user installs those, then you gotta bundle then or link them statically, which is its own can of worms.

Not to mention that a user with an older glibc may not be able to run your executable, even if they have your dependencies installed. Which you can, for example, solve by building against musl or a similar glibc alternative. But in the case of musl, the cost is a significant overhead if your program does a lot of allocations, due to it lacking many of the optimizations found in glibc's malloc. Mitigating that is yet another can of worms.

There's a reason why tools like Snap, AppImage, Docker, and many more exist, each of which are their own can of worms


Yea def. I think Linux's ABI diaspora and the way it handles dependencies is pain, and the root behind both those distro methods you mention, and why software is distributed as source instead of binaries. I contrast this with Rust. (And I know you can do this with C and C++, but it's not the norm:

  - Distribute a single binary (Or zip with with a Readme, license etc) for Windows
  - Distribute a single binary (or zip etc) for each broad Linux distro; you can cover the majority with 2 or 3. Make sure to compile on an older system (Or WSL edition), as you generally get forward compatibility, but not backwards.
  - If someone's running a Linux distro other than what you built, they can `cargo build --release`, and it will *just work*.


Another nice thing is that, if you can live with the slower musl malloc, then building a "universal" Linux binary with Cargo takes just two commands:

$ rustup target add x86_64-unknown-linux-musl

$ cargo build --target x86_64-unknown-linux-musl --release

Similarly for cross-compiling for Windows


It may be fixed now, but devil's in the details. As one example, musl has (or had) chronic issues with it's dns resolver and large responses.


Definitely. I haven't tried building anything that requires DNS using musl, but I've had to work around musl's much, much slower malloc implementation

The musl wiki lists a number of differences between it and glibc that can have an impact:

https://wiki.musl-libc.org/functional-differences-from-glibc...


I should try that!


I don't disagree with you, but in my experience even having a requirements.txt file is a luxury when it comes to scientific Python code: A lot of the time I end up having to figure out dependencies based purely on whatever the script is importing


If they can't be bothered to make a requirements.txt file, I'm not seeing how uv will be of much help...


uv basically makes that a default. You don’t need to be bothered. Just uv add your dependencies and they are in your pyproject.toml.


Or use `uv add --script`. Then dependencies gets recorded in the script itself, which is great for single-file scripts. But obviously, that won't help if the author can't be bothered to take those steps


> Given that the majority of the country's citizens do not use the internet at all

On what do you base this assertion? I was not able to find up-to-date statistics, but 72% of participants in this survey from 2013 had internet access at home, either via PC or via mobile devices, and another 11% had internet access elsewhere:

https://digitalimik.gl/-/media/datagl/old_filer/strategi_201...


Did you use an existing package or did you write something from scratch? I'm also looking at rewriting my CV in Typst, though the fact that I am happy with my current job means that it is not a very high priority task


I used existing templates from the [typst universe repository](https://typst.app/universe/) for the resume then built something much simpler from scratch for a secondary document, a sort of cover letter/case study of projects I've done.

If there's interest I can maybe take some PII out of my repo and make it public. Not like there's anything wildly private in there, would just prefer to not get any more spam calls than I already do.


You don't have to go through the effort for my sake. I was mainly interested in hearing if you had recommendations with regards to existing packages, though there's a decent chance that I'll just end up creating something from scratch


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

Search: