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

I know someone who works on the macOS permission system. If you submit a bug report and share the feedback number, I will send it their way https://bugreport.apple.com/


I’ve been running Linux for ~20 years. Proton is, without a doubt, a huge leap forward for the ecosystem. I stopped dual booting Windows for games ~5 years ago and haven’t looked back. It’s positively wild to me that native Linux builds for games are often harder to get working than just using proton and the game’s windows build.


They needed to compile the kernel because they were using the full kernel. The main package repository (and thus the main binary caches) only include a de-blobbed version of the kernel. To get standard Linux including all the blobs, you need to use the “nonguix” package repository. The nonguix folks do have a binary cache server, but using it during install is slightly annoying. I currently have a guix vm compiling Linux for exactly this reason. Since you likely won’t be installing much else from nonguix during system setup, you only need to compile the kernel and other bloby things you choose to include (e.g. firmware, microcode).


Isn't an hour a long time for a kernel compile?


I would argue that you should do something similar in Haskell, too. It would ensure that practically everything accessing the allow list fails to compile unless it had been adapted to the new model. Haskell’s strength is the compiler and its ability to pedantically enforce type errors. Use it! Let it help you!


And yet, Elon has decided that a term used in academic medical research for nearly a century, “cisgender”, is a slur and banned from the platform. Funny how he wants to protect objectionable speech that aligns with his political view while restricting “objectionable” speech that doesn’t.


From Wikipedia, while the concept has been discussed since at least 1914 the actual term cisgender has apparently only been used since 1994: https://en.wikipedia.org/wiki/Cisgender


Cisgender is recent, but it’s also primarily used to serve as the counter to transgender. To understand “cisgender”, it’s useful to study the history of “transgender”. Transgender was introduced as a term because it encompassed a larger group of people and avoided the stigma surrounding “transsexual”. Transsexual has a history dating back about a hundred years. Since “trans-“ and “cis-“ are antonym prefixes, once you have transsexual, you have cissexual. For the purposes of Elon’s rule, it doesn’t matter whether it’s CISsexual or CISgender, he objects to “cis”.


One reason why many people, particularly feminist women, find "cisgender" a disagreeable term is because it's a linguistic concession that makes it more difficult to argue for the rights of actual female women, as it implicitly redefines "woman" to include males and "man" to include females.


Disagreeing with a particular taxonomic way of describing different types of people simply because it makes it hard to advance your political beliefs does not mean the words involved in that taxonomy are slurs. “Slur” has a particular meaning, and it isn’t “makes it hard for me to achieve my political goals”.


The Korean approach is still wrong, arguably. If you want to include the totality of the life of the baby, the next normal stopping point would be conception. That would make the child ~9 months old, not 1 year.


In practice, you normally don't know the exact date of conception, you can only roughly estimate, but any estimate is likely to be a few days out. There are exceptions – e.g. IVF, or the parents know they only did it once and remember the exact date they did it on (but their memories may be fallible, etc). Birth is better because (in developed countries where babies are normally born in hospital) the bureaucracy almost always knows the exact date every person was born – in many cases even the time of day, not that anyone really cares about that.

Plus, any proposal like that is inevitably going to get mixed up with the politics of abortion, which is another reason why it won't happen.


Conception as a result of sex can take place up to one week after the act, even if it only happened once.


A error margin of +/- 7 days still beats a error of 9 months.


The Korean approach does not account for preconception well at all. It counts the number of calendar years a person has been present for postpartum.

A person's Korean age starts at 1 sal, and increments at New Years. A baby could be born on December and be 2 sal by January. A baby born in January would be 1 sal until next year, and be considered 1 sal younger than the December baby, even though they were only born 1 month apart. Everyone born in the same calendar year is in the same age cohort.


They could have fixed just that.


I disable password authentication and use fail2ban. It's unlikely they will be able to brute force my key, but no server is perfect. sshd might be compromised one day. I’d rather have an extra layer of defense just in case.


It's impossible they will brute force your key if you have a decent length.

While I'm sure it is possible for some (mainly government) actors to brute force keys, I'm also sure these do not include the same low-hanging-fruit vandals blasting brute force attacks. And I'm also pretty sure you're not one of the select targets of these highly advanced actors.

A vulnerability in sshd is indeed possible and happens once in a while. Fail2Ban won't stop this though because a known exploit will let them through on the first attempt.

I personally view fail2ban more as nuisance control when it comes to SSH with password auth disabled. Minimizing the log crap, the wasted CPU resources by the failed handshakes. It's not really a security protection in that scenario. In other cases (e.g. web logins where passwords must be used) it of course is.


Unless the maintainer of your distro's ssh package accidentally introduces an error that reduces the number of possible keys to, say - 32,767 total possible keys.[1] That's a brute-forcible number of keys that fail2ban would help mitigate.

(1: https://research.swtch.com/openssl)


Or the NSA subverts a cryptographic standard in order to produce predictable seeds for cryptographic random-number generators that are used to produce private keys. [1]

(1: https://www.bbc.com/news/technology-24048343 )


INCONCEIVABLE!

You keep using that word. I do not think it means what you think it means.


Many of the str functions in the C standard library assume a nul terminator.


Yes, but aside from string literals pointed out by a sibling comment, nothing in the language itself dictates this convention. The C library could be augmented with functions which expect strings structured in other ways.


> nothing in the language itself dictates this convention.

String literals are nul-terminated, e.g.: "foo"[3] == '\0'


I’ve used Mac’s at my job for about 10 years + a few years of personal use before that. I’ve had ample time to get used to the Mac workflow.

macOS’s approach only works nicely if you expect to have one simultaneous task per app OR you don’t expect to switch between apps. Once you have multiple simultaneous tasks in multiple apps, it becomes really cumbersome to use command tab. My job tends to involve exactly the pattern of window switching that macOS isn’t made for.


I've been using two monitors for a long time at this point, which might be part of why the macOS workflow works for me. I make heavy usage of virtual desktops, with "primary" apps going on desktops on the main monitor and secondary/auxiliary apps going on the secondary monitor. With this I can mix and match entire sets of windows very quickly and efficiently and very rarely manually manage windows.


Some models of the Turing machine have an infinite tape in only one direction. Some also don’t require every state to have an exhaustive set of transitions. Those models generally consider going off the end of the tape or failing to find a transition to be a halting state.


The paper makes explicit how this is dealt with:

> For the purposes of defining the halting problem H, one should specify whether it officially counts as halting or not if the head should happen to fall off the left edge of the tape. Although the truth of the main theorem will not depend on these details, provided we adopt a uniform answer, let us be definite and regard such computations as having not officially halted, as the halt state was not reached.


It’s unclear to me why restricting ourselves to that model is useful here


Changing the model wouldn't change anything. A turing machine is equivalent to any computational machine you want to put in there. It doesn't matter what the machine is. The turing machine is the goto because it was first used for them.

Any other machine that can simulate a turing machine can simulate failing in those same ways. You can't escape the problems of turing completeness without losing it.


It does matter, the second and last sentence of the abstract is "The proof is sensitive to the particular computational models."


It’s the simplest model which can simulate all useful models of computation we have so far.

So, if you want to prove something about the limits of computation, a Turing machine is usually the right choice.


I think interaction nets [0] is actually a simpler model and can simulate Turing Machine efficiently. I wish courses in Computability/Complexity theory would be taught in interaction nets instead of Turing Machines as the program written would be so much nicer and compose easily. It also has real-life uses in compiling functional languages. [1]

[0]: https://en.wikipedia.org/wiki/Interaction_nets [1]: https://github.com/HigherOrderCO/HVM


How is this simpler?

It seems to me a more complex lambda calculus.


Symmetric interaction combinators (an instance of interaction nets like 2-state 3-symbol Turing machine is a particular type of Turing Machine) only has 3 agents and 3 rewriting rules. This makes it about as simple as lambda calculus with 3 possible terms (variable, application, and abstraction) and α-equivalence, β-reduction, and η-reduction. The advantage of interaction nets is that each rewriting rule is local and "atomic" unlike subsitution step in β-reduction which can take arbitrarily long time as it is defined recursively.


I was referring to the instantiation of a TM as having a one sided tape.


It is true that some models define halting that way, but in this paper they explicitly do not.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: