HNHacker News
TopNewBestAskShowJobs

xorvoid

1,177 karma · joined June 14, 2021

https://www.xorvoid.com
submissionscomments
xorvoid··on In Praise of RSS and Controlled Feeds of Information
This is a fantastic idea. Do you mind sharing a copy of your RSS comment feed?
xorvoid··on Unix philosophy and filesystem access makes Claude Code amazing
Let's do this. But entirely local. Local obsidian, local LLM, and all open source. That's the future I want.
xorvoid··on Why haven't local-first apps become popular?
I believe the lack of popularity is more of an economics problem. There are established business models for SaaS apps or freemium with ads. But, the business model for local-first apps is not as lucrative. Those who like the local-first model value features like: data-sovereignty, end-to-end encryption, offline usage, etc. These properties make existing business models hard-to-impossible to apply.

My current thinking is that the only way we get substantial local-first software is if it's built by a passionate open-source community.

xorvoid··on Want to piss off your IT department? Are the links not malicious looking enough?
Chaotic Neutral
xorvoid··on Wikipedia survives while the rest of the internet breaks
I would say this is all we really should reasonably expect from our knowledge consensus systems. In fact it’s the same values that “science” stands on: do our best everyday and continue to try improving.

It’s a bit hard for me to imagine something better (in practice). It’s easy to want more or feel like reality doesn’t live up to one’s idealism.

But we live here and now in the messiness of the present.

Viva la Wikipedia!

xorvoid··on Indices, not Pointers
It’s a fairly well-known trick in systems programming. Definitely not invented with zig, but perhaps popularized further.

If you write enough systems code in C or Rust, you end up inventing it eventually.

If you ever design a datastructure for multi-process shared memory (e.g. tmpfs mmap() on Linux), the only way you can do object references is with the “offsets”, since each process can map the region to different addresses.

xorvoid··on The Billionaires Are Abandoning Humanity
Is there an original recording of him saying this. Feels like a huge stretch, discounting all technology invented after 1969! Does he address that? I often prefer the source material because so much context is lost in reporting.
xorvoid··on The Billionaires Are Abandoning Humanity
The ads make this page unreadable. I guess I’ll never know what it says.
xorvoid··on Linear scan register allocation on SSA
Because block-argument is actually the “right way”. The phi-node is very un-natural.. in the same sort of way that pi should have been tau.

Also, notice the connection here between Phi nodes and Continuation Passing Style (CPS). It because obvious with the block-arg form because it’s just the same thing. Jumps to blocks are just calls that don’t return.

xorvoid··on Steve Wozniak: Life to me was never about accomplishment, but about happiness
(For his definition of success, which I would agree with, but not everyone would)
xorvoid··on Steve Wozniak: Life to me was never about accomplishment, but about happiness
That would be my guess. Or you can even consider that him focusing on happiness led to success.
xorvoid··on Tell HN: I underestimated how lonely building solo can be
Same. But I guess I’ve just accepted it and moved on. I’m willing to give that up for not having to give up 75% of my wake hours to a purely economic entity.

I think I’m mostly surprised that so many smart/capable/successful people keep grinding long after they need to. And I’m sad that those of us that don’t have a harder time finding eachother because we don’t have a common career to put us in a room together constantly.

Ah well. Wouldn’t trade any of the great adventures I’ve had for a job or a large sum of money. I’m happy with my trade.

xorvoid··on How Social Media Shortens Your Life and How to Expand It
Agreed. I don’t use social media of any kind. Not even on the desktop. I always run with Downtime on. All new apps are disallowed from running or notifying unless I whitelist them explicitly.

You really don’t need this “attention porn” in your life. Just turn it all off. Make friends IRL instead. So worth it.

xorvoid··on What's happening to reading?
For many people, paywalls may be bringing the age of traditional text to an end.
xorvoid··on PEP 779: Free-threaded Python is officially supported
Compile time. There are preprocessor #if guards all over the code base to provide different implementations for core operations. Many of these are used to provide a thread-safe version (e.g. atomic refcount). Presumably, these should work fine single threaded (assuming correctness). But at the moment they are compile-time, yea.
xorvoid··on # [derive(Clone)] Is Broken
Am I the only one who thinks this is perfectly fine?

The requirements for derive Clone are clearly defined. As with much in Rust, the type signature drives things, rather than the function body (contrast with C++ generics).

Occasionally, this results in perfectly reasonable code getting rejected. Such is the case with all static languages (by definition).

But in the few cases that happen, the solutions are quite straightforward. So, I don’t feel like it’s justified to add more complication to the language to deal with a few small corner cases.

xorvoid··on Too Many Open Files
You’re right. I think it ends up working out to a 4096 page on x86 machines, that’s probably what I remembered.

Yes, _FORTIFY_SOURCE is a fabulous idea. I was just a bit shocked it wasn’t checked without _FORTIFY_SOURCE. If you’re doing FD_SET/FD_CLR, you’re about to make an (expensive) syscall. Why do you care to elide a cheap not-taken branch that’ll save your bacon some day? The overhead is so incredibly negligible.

Anyways, seriously just use poll(). The select() syscall needs to go away for good.

xorvoid··on Too Many Open Files
The real fun thing is when the same application is using “select()” and then somewhere else you open like 5000 files. Then you start getting weird crashes and eventually trace it down to the select bitset having a hardcoded max of 4096 entries and no bounds checking! Fun fun fun.
xorvoid··on The coolest code I've ever written – Bill Gates
The scrolling effect is very disorienting for me. I want the read the article, but it’s disrupting my focus significantly. Is there a version without all to fancy effects?
xorvoid··on Right to Repair laws have now been proposed in all U.S. states
This is something I believe in. How can one get more involved in this? (Beyond donating)
xorvoid··on Avoiding outrage fatigue while staying informed
I think I did something similar. I decided to severely control my information diet after November and switch to only RSS feeds that I have selected manually and HN. It’s gone better than I expected and I feel very little urge to go back.

At the same time, I’m definitely less informed. Though I’m quite surprised how much still permeates despite me not “going looking”.

Generally, I think it’s more healthy to focus on what you can control and what you have agency over. You can choose what to be outraged over national/global events (and do nothing) or you can instead focus that energy on Doing Something closer to home that’s important to you. Which is the better trade?

I’m somewhat conflicted on being less informed esp with big changes happening. And even more conflicted about what kind of world we’d have if everyone chose this strategy. But, it’s not unprincipled. The principle is Focus on What You Can Control/Do and put all your energy into that.

xorvoid··on Avoiding outrage fatigue while staying informed
Yes, but it’s the old skool version of social media and the conversations here are generally higher quality and more genuine. I strongly disagree that it’s “on par with /.,xchan”

HN also doesn’t seem to be as susceptible to rage-baiting / outrage-attention-seeking behavior. Not sure exactly what by this is the case but I’d venture a guess it has a lot to do with (1) “dang”s moderation, and (2) not having a personalized algorithm feed.

I’m increasingly of the view that personalized algorithm feeds generated to select the maximum attention grabbing content for each person is a truly dangerous idea.

Frankly, HN is not that engaging (by modern standards). In fact, probably 60-70% of the articles on the front page are boring to me on any given day. I view this as a feature and not a bug. Why should I expect that everything I look at must be maximally engaging?

I wish more sites were old skool like HN.

xorvoid··on C: Simple Defer, Ready to Use
Yikes. So the OOM Killer bricks your camera then!?!
xorvoid··on Google's Results Are Infested, Open AI Is Using Their Playbook from the 2000s
Between Kagi for ordinary web search and Claude for “complicated questions I don’t know how to phrase for a search engine”, I’m pretty happy right now.

Great job to both organizations!

xorvoid··on C++ is an absolute blast
I’m glad someone is having fun in C++. Personally, after >20 years, I have to be done with C++. It’s just a mess.

If I really need the low-level control, I can wrangle C (warts and all), otherwise Rust, Python, etc just make me happier.

xorvoid··on Yadm: Yet Another Dotfiles Manager
Yet Another Considered Harmful Is All You Need
xorvoid··on Derivatives don't always act like fractions (2021)
I’ve never liked to conflation with fractions. Abuse of notation. And it causes so much confusion.

Also integrals with “integrate f(x) dx” where people treat “dx” as some number than can be manipulated, when it’s more just part of the notation “integrate_over_x f(x)”

Sigh. These are sadly some kind of right-of-passage, or mathematical hazing. Sad.

xorvoid··on Gleam: A Basic Introduction
From the tutorial:

// Division by zero is not an error

io.debug(3.14 /. 0.0)

It prints 0

Yuck. Division by zero is an unfortunate reality but basically nobody with mathematical background thinks that just defining x/0 = 0 is a good solution.

Often in numerical computing, getting an NaN or Inf is a blessing in that it’s a hint that your algorithm is numerically buggy, in the same way that a crash or a exception would indicate a program bug.

This approach is the numeric equivalent of a program continuing on after an undefined variable, just assuming it’s 0. That was tried by scripting languages in the 90s and these days most folks think it was a bad approach.

xorvoid··on Ask HN: What book bit, stung and shook you deeply?
Mountains Beyond Mountains

A biography of Dr Paul Farmer and how he dedicated his life and sacrificed everything to solve (in his words) “easily preventable” health problems in Haiti.

It hits on many levels: his unapologetic empathy for ordinary people, the global abuse and abandonment of Haiti by western powers, the flaws of thinking about global health through a lens of utilitarianism, the real change that just one person can initiate, etc

Highly highly recommended!

xorvoid··on Forsp: A Forth+Lisp Hybrid Lambda Calculus Language
You can fork and fix that with sed. Haha.

I decided on using sigils and then my thought-process drifted to Perl/Php, so $ naturally felt like a variable definition (which naturally must pop from the stack). I guess ^ is “push ‘up’ to stack”. But it’s all really arbitrary irrelevant syntax. YMMV.

← PreviousPage 3 of 6Next →