HNHacker News
TopNewBestAskShowJobs

charliesome

3,785 karma · joined January 5, 2010

https://charlie.bz
submissionscomments
charliesome··on The modern packager’s security nightmare
You can achieve this by recompiling the software. Cargo will not recompile dependencies that have not changed.
charliesome··on 8 Bits Are Enough for a Version Number
There might be a nuance here I haven't grasped, but isn't the kernel's API == its syscall ABI == the boundary to userspace?
charliesome··on Poland plans to make censoring of social media accounts illegal
There is simply far too much content being created all the time for current judicial systems to keep up with. Much of the law breaking content out there is never pursued.

If we agree that greater censorship on social media is necessary, and if private companies aren't taking on the role of censor here, I think that suggests governments must become more active in their roles as censor. What would that look like and how would it work?

charliesome··on Mundane: Rust cryptography library that is difficult to misuse
> I am planning to fix this in ring early in 2021 (January)...

This is definitely the piece that gives the current versioning policy its sharp edge, so it's great news that the fix will arrive soon.

Thanks for your hard work on Ring!

charliesome··on Mundane: Rust cryptography library that is difficult to misuse
I have never used Ring directly, but my experience dealing with it as a transitive dependency leads me to avoid it.

Ring has a policy[0] of only supporting the latest released version with users being expected to always upgrade to latest Ring. This in itself is not so bad, but coupled with the lack of any guarantees around API stability means that it can be a very tricky dependency to work with. This problem is compounded by it only being possible to link one version of Ring in to the same program.

Even if you don't depend on Ring directly, Ring could appear as a dependency of many of your dependencies. This forces you into upgrading all of your Ring-depending dependencies in lockstep. You cannot upgrade any until all of these dependencies support the same latest version of Ring.

This is a real shame because Ring otherwise looks fantastic. The API is misuse resistant and looks quite pleasant, and the documentation is thorough. Its current versioning and stability policy however is a massive liability for any project that relies on it. I hope this changes eventually.

[0]: https://github.com/briansmith/ring#versioning--stability

charliesome··on Cover Your Tracks
Calling mass surveillance a "fundamentally Soviet activity" weakens your argument here. Is mass surveillance something that happened in the Soviet Union? Of course. But it also happens in the US and many other nations, liberal democratic or not, worldwide. So why shouldn't we call mass surveillance fundamentally American, or fundamentally capitalist?

Mass surveillance is bad. It is toxic to freedom and democracy. Let's focus on that rather than invoking Red Scare tendencies of old.

charliesome··on Apple Silicon and losing our legacy
As of time of writing, it is indeed front page on HN. Your comment's other claims also appear to be true. Since we agree on the facts so far, let's discuss the article.
charliesome··on Using const/let instead of var can make JavaScript code run 10× slower in Webkit
While the creation and destruction of a scope every loop iteration is the correct mental model for what this code does, there's no reason that implementations must actually perform any allocations - especially for an example like this where it is trivially determinable that no bindings escape the immediate scope.
charliesome··on Letsencrypt, the Good, the Bad and the Ugly
A few people have already suggested alternatives to certbot, so I thought I'd throw another suggestion into the mix: dehydrated (formerly known as letsencrypt.sh)

https://github.com/dehydrated-io/dehydrated

I've got only good things to say about it. It's a single shell script, making it super easy to install and start using. It's quite configurable, but has sensible defaults and just works without demanding much operator attention.

charliesome··on Moreutils – Unix tools that nobody thought to write (2012)
Re sponge: the shell will open the output file for writing before invoking the command so in the example joey provides, /etc/passwd will be an empty file by the time sed opens it.
charliesome··on Rediscovering the beauty of text on the internet
This is not true. Using 'they' as a third-person singular is incredibly common, is becoming increasingly so, and has been in use for hundreds of years.
charliesome··on Weirdos in the depression
From the rest of your comment I assume that you mean well, but I would encourage you to reconsider your statement that being gay is fashionable, and reflect on why it might be offensive to some people.
charliesome··on Writing Python inside Rust
There could be no reasonable use case for something like this, and yet it would still have artistic value and this would still be an interesting article.

It's a brilliant hack and we are on Hacker News after all.

charliesome··on I can't keep up with idiomatic Rust
As the kind of more conservative Rust user GP references, I've had a great time with the derive_more crate's From derive [0].

This lets me write code like this:

    #[derive(From, Debug)]
    pub enum SomeSpecificError {
        Io(io::Error),
        SomeAppLevelErrorCondition,
    }

    fn do_something() -> Result<(), SomeSpecificError> {
        do_some_io()?;
        // ...
    }
Previously I would have written:

    fn do_something() -> Result<(), SomeSpecificError> {
        do_some_io().map_err(SomeSpecificError::Io)?;
    }
I find this approach results in clear code that continues to compile and work just fine over time, even as everything changes around it.

[0] https://jeltef.github.io/derive_more/derive_more/from.html#e...

charliesome··on The global oil market is broken, drowning in crude nobody needs
https://github.com/nextgens/anti-paywall

Chrome users can install this directly as an unpacked extension.

For Firefox users, there's an xpi hidden in the releases tab.

charliesome··on Show HN: An infinitely nested task manager where progress bubbles up to the top
The homepage is a white screen with JavaScript disabled.

If requiring JS to render the homepage is a conscious decision made considering the various tradeoffs, please at least add a message saying so in a noscript tag.

charliesome··on Why Climate Alarmism Hurts Us All
I highly recommend reading David Wallace-Wells' "The Uninhabitable Earth" - https://www.goodreads.com/book/show/41552709-the-uninhabitab...

The book is quite information dense, intellectually honest with regard to the likelihood of various outcomes, and offers the clearest and broadest assessment I've yet read of where we are and what lies for us in the future.

Describing the contemporary climate discourse as "alarmist" denies the severity and scale of the problem we face.

charliesome··on How Facebook Avoids Ad Blockers
How does this impact assistive technologies? Are Facebook users using screen readers left unaware of what's an ad and what's not?
charliesome··on New type of black holes – Non interacting low-mass black hole
> People dismiss that as astronomically unlikely, but it must have happened many times somewhere in the universe

It's hypothesised that a Mars-sized planet once collided with Earth in the early history of the solar system (about 4.5 billion years ago), creating our moon today:

https://en.wikipedia.org/wiki/Giant-impact_hypothesis

charliesome··on Making the Tokio scheduler 10x faster
x86 does do out-of-order execution however, so while it's true that you'll never read a half-written value, it's still important to use the atomic types to ensure that reads/writes across threads are performed in the right order.
charliesome··on Why The Public Radio is sixty dollars (2018)
This is an interesting post from the perspective of logistics operations for a small scale consumer electronics product.

I'm fascinated by the idea that one of the features they chose to cut from their initial release - arbitrary tuning - has ended up significantly constraining how they can manufacture their product at their scale.

I'm guessing that there's a deeper philosophical reason for not building an end-user tunable radio that isn't simply "it's a feature we decided to cut so we could ship on time"

charliesome··on JSON for Modern C++
CSV as a format doesn't really exist. CSV is a family of similar but not always compatible data formats each with their own special rules and edge cases.

Note that the quote is talking about a well-specified CSV, not any CSV in general. A well-specified CSV would indeed be fairly easy to parse.

charliesome··on The one who kept VLC free
It's totally subjective of course, but I really like the lack of UI polish in VLC. To me it makes it feel like a real, powerful tool. Clearly the process killing thing is a straight up bug that should be fixed, but I do hope VLC retains its utilitarian aesthetic.
charliesome··on Adblock Radio: An adblocker for live radio streams and podcasts
There's a few community radio stations in my home city. They play good music, support local musicians and local venues, and are largely funded by voluntary memberships. This membership gets you a bumper sticker and a good feeling.

Contrast this to the commercial radio stations which allocate a huge proportion of their airtime to annoying, dishonest, manipulative ads employing all sorts of shady tactics (like those discussed elsewhere in this comments thread) to try to part me with my money.

charliesome··on Apple’s New Mac Pro to Be Made in Texas
> China buys airplanes from the USA because no commercial airport (including the ones in China) would allow a Chinese-made plane to land there.

This is a ridiculous assertion to make when there are indeed Chinese planes landing at Chinese airports.

It's true that the majority of airplanes Chinese airlines currently operate are manufactured outside of China, but this is not the reason.

charliesome··on Apple’s New Mac Pro to Be Made in Texas
There's no inherent scarcity to information. Building your economy on such an assumption is a very shaky foundation to build on.
charliesome··on TIL humans have consumed 9.2b tons of plastic. 6b will never meet recycling bin
How do you dispose of plastic properly? Even landfill doesn't cut it - the stuff just breaks down into smaller and smaller pieces. These microplastics then enter the groundwater, and from there find their way into almost every part of our environment.
charliesome··on The Rise of the Electric Scooter
If electric scooters continue to become more widespread (I think they will), they'll become normalised and people will stop thinking they look goofy.

For now, it's easy to not worry about the goof factor.

charliesome··on Efficient string copying and concatenation in C
I'd argue that an invalid string concept would be neither correct nor efficient. Why should all code that deals with strings carry the burden of fallibility of a subset of string functions?

You've mentioned NaN propagation in another comment and I think that's a perfect example of the problem with this approach. Sorting a vector of arbitrary floats is a notoriously thorny problem because any float could be NaN, and as NaN is incomparable to any other float, there is no total ordering of floats. There is no general solution to this problem that doesn't involve making assumptions that could be faulty for some applications.

charliesome··on Juul, Philip Morris Sued Under Racketeer Act for Targeting Kids
If marketing tobacco products isn't where one draws the line, where would the line be drawn? We must not give a pass to people who work on bad things simply because their boss told them to do so.
Page 1 of 12Next →