Anecdotally I see this _all the time_...
3,093 karma · joined October 10, 2016
---
C++ can remain irrational longer than you can remain sane.
---
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.
- C. A. R. Hoare (RIP)
Anecdotally I see this _all the time_...
The difference between obscurity and a secret (password, key, etc) is the difference between less then a year to figure it out and a year or more to figure it out.
There is a surprising amount of software out there with obscurity preventing some kind of "abuse" and in my experience these features are not that strong, but it takes someone like me hours to reverse engineer these things, and in many cases I am the first person to do that after years of nobody else bothering.
I want to be able to switch existing terminals with existing applications between themes.
If your software does something dumb when my theme switches to black on white during the day then I am just going to avoid using it...
That being said, given the quality of code these things produce, I just don't see that ever stopping being the case. These things require a lot of supervision and at some point you are spending more time asking for revisions than just writing it yourself.
There's a world of difference between an MPV which, in the right domain, you can get done much faster now, and a finished product.
There's "okay for now" and then there's "this is so crap that if we set our bar this low we'll be knee deep in tech debt in a month".
A lot of LLM output in the specific areas _I_ work in is firmly in that latter category and many times just doesn't work.
So there may be other nonvolatile compounds which nevertheless impact the flavour profile. While a lot of flavour is in your nose, not all of it is...
Although that in itself might be a hint to change language and write your library there, instead of inventing a new one.
I can agree on Windows, but there is no such thing as "keybindings that don't make sense" on a proper Linux WM given that you can literally make up any keybindings you want. I mean this strictly from a window management perspective, yes applications running in those windows have often got their own idea of what good UX is, and this clashes. That's just a trade-off of Linux and to a lesser extent Windows not being complete walled gardens.
> that have never used Mac OSX
I have _used_ Mac OSX. It was and continues to be a confusing experience every time. I'm not saying that this would be the case if I bothered to learn it, but in all the times I have used it, I have failed to see any feature which would make me want to switch to it over i3 or which I feel like is missing in i3. Really it doesn't seem like there is any way of making it act remotely close to i3. Tiling as an option on top of whatever Mac OSX has is just as appealing to me as tiling on top of what Windows has.
> Unless you want to copy and paste, or have consistent key bindings cross applications, or take screenshots. Sure
I've never had copy and paste fail on Linux. The only issues I've had is with more modern applications not implementing the selection properly which is a feature you don't have on windows in the first place. No idea about Macs.
Screenshots have always and will continue to work (the way I want them to) because I can, as mentioned, bind any key to any action.
A good few years ago now (when it was possible to get something in good condition for such a measly sum) I was buying a car from a private individual. The transaction was in cash. You can't take £1500 out from an ATM, unless you spread it over multiple days, and probably doing that would also get you flagged. So I went to my bank (also HSBC coincidentally) and they required me to tell them what I was buying with that money.
Now I could have lied, of course. But they could also have just told me that I can't take cash out if they didn't believe me.
If you look around, there are news stories of people being denied access to their own money because the bank decided it was too risky.
You can get kicked out of a bank for being too risky. And there's not even any legal requirement in the UK for a bank to offer you an account. Or well, there _is_ but like with all UK regulations which protect the individual, it's full of caveats. You are entitled to a Basic Bank Account (BBA) if you can't get any other account except if you can't verify your identity/residency, or you have a history of financial misbehaviour, or if you are too closely associated with terrorism. So I guess homeless people or pro-palestine protesters aren't allowed bank accounts.
I mean, maybe you have, but if you are not fussy then at worst MacOS is quirky and Windows and Linux are identical and merely have different icons.
If you pay a little bit of attention you will notice that on linux things seem more flexible and intuitive.
If you are very finnicky, there is nothing that comes close to X11 window managers when it comes to window management flexibility, innovation and power.
Firstly, calling this redaction implies that the data is missing, and calling what was done "unredacting" is akin to saying someone "decrypted" a cryptographic hash function.
Nobody unredacted anything here, they merely discovered that it hadn't been redacted, and simply looked like it was redacted.
Calling this a hack places responsibility on the people who discovered the information, rather than on the people were put in charge of handling the redaction and screwed it up.
Reinvent what wheel exactly?
D-Bus can't read your mind (yet) and as such it can't generate an API for you, you still need to design a protocol, it's just that it's on top of D-Bus with certain quirks and restrictions.
Doing the same over UDS in 2025 isn't any more work and doesn't have any negative impact on end users. There's nothing unique about D-Bus from a usability standpoint that can't be done with a service listening over UDS.
This is equivalent to saying that you're reinventing the wheel by not using HTTP as a transport.
> Do you hate a{sv}? If you propose JSON as alternative, you are going to make me laugh.
Maybe you should look at Varlink. The systemd backed D-Bus alternative. It uses JSON.
Regarding secrets management:
My password manager's protocol is handled using exec and command line arguments. Arbitrary applications can ask for passwords, but they won't get them. They won't read them from disk.
The design of the gnome keyring isn't great, but I actually don't think the protocol matters much in this case.
Where the hardware comes from is much less of a risk than the fact than where the locked down firmware and software comes from.
Yes the west's over-dependence on Chinese hardware is a liability, but what's easier? Compromising hardware or compromising software? If you don't know, I'll tell you, it's the latter.
I don't know who you are or where you were but the paypal problems were pretty well announced and _I_ was there. The project was already facing delays because a key person who was needed to make the board layouts was held up with the also now dead DragonBox Pyra handheld.
I have no idea where you think the money went, how much you think there was, but it was a constant game of trying to drum up enough activity to gain attention of potential customers to bring in enough down-payments to pay the salaries of the small number of people working on the project while having enough money to buy parts. The money went into salaries, parts, nobody bought hookers or blow with it, and certainly nobody got anything but stress out of that project in the end. I believe Joerg Reisenweber paid a lawyer out of pocket to try to get PayPal to release the funds.
The project used PayPal to gather downpayments, PayPal decided to lock the funds for months (almost a year or maybe longer IIRC) because they saw money coming in but no confirmation of goods coming out. And, you know, when it comes to big companies, no explanation is sufficient, you are guilty of something because some heuristic said so, so the funds were locked, legal threats didn't work (try threatening a company with the power of a small/medium country), and by the time they got their money back, key people who were going to work at a discount to cover key milestones had moved on.
What's noteworthy is that the compiler isn't required to generate a warning if the array is too small. That's just GCC being generous with its help. The official stance is that it's simply undefined behaviour to pass a pointer to an object which is too small (yes, only to pass, even if you don't access it).
Yes, in a very superficial sense, you can't literally route a packet over the internet backwards to a host behind NAT without matching a state entry or explicit port forwarding. But implementing NAT on it's own says nothing about the behavior of your router firewall with regards to receiving Martians, or with regards to whether the router firewall itself accepts connections and if the router firewall itself isn't running some service which causes exposure.
To actually protect things behind NAT you still need firewall rules and you can keep those rules even when you are not using NAT. Thus those rules, and by extension the protection, are separable from the concept of NAT.
This is the kind of weird argument that has caused a lot of people who hadn't ever used IPv6 to avoid trying it.
It's worth noting that success in life (for whatever that is defined as) is not the same thing as intelligence. And being intelligent isn't even enough for you to be successful in intellectual pursuits either.
You can be highly intelligent and receive no education, have no access to books (or be unable to read) and then you might be able to intelligently solve the problem of eating a sandwich but that wont get you anywhere.
Likewise, you can be intelligent and have access to the right tools but you might be too anxious to try to excell. Maybe you're intelligent and have unmedicated ADHD causing you to constantly fail to actually get anything completes in a timely manner.
There are a lot of things between IQ and success in life. But we do know for a fact that when controlling for other factors, we see positive trends between IQ and life success. That doesn't mean that IQ is the only factor.
Certainly the fact you can pull out a handful of anecdotes about high IQ individuals and talk about how uninspiring their lives are doesn't mean that all high IQ people are living uninspiring lives, or that living an inspiring life is uncorrelated with IQ, or that there is even a meaningful definition of an inspiring life.
Lastly, please note that there are lots of successful people who had an IQ test where they scored really low, and lots of unsuccessful people who had an IQ test where they scored high. This will in part be due to the fact that IQ doesn't corelate at 100% with anything, but also due to the fact that IQ doesn't correlate with itself over time at 100%. You can do an IQ test on an exceptionally bad day, or an exceptionally good day, you might get an IQ test which is not good at measuring you in particular. That's why when we do research on this topic we apply multiple different tests, we control for variables, and we run these on large groups of people.
Whether intelligence is useful for a model or not, who knows. All I can tell you with relative confidence is that IQ tests are designed with humans in mind, and when you apply them to models, it is no longer clear what they measure.
One thing models don't have (yet) is lives which they can live and which we can study.
Bash has to be explicitly installed on OpenBSD, FreeBSD, NetBSD (I think, haven't used it in a while) and probably a bunch of others. And in all of those cases (that I know of) it doesn't end up in /bin/bash once installed.
The default bash shipped on macs is so abhorrently ancient that it would be strictly better if it didn't exist because it would reduce the number of people who think bash scripts I write are broken (they're not broken, they just inevitably depend on some bash 4+ feature). Moreover, hardcoding /bin/bash as your shebang in this case will prevent anyone from remediating this problem by installing a non-ancient bash because the old one in /bin/bash will still get used.
First off, we don't have a good way to actually measure an individual's intelligence. IQ is actually meant to correlate with g which is a hidden factor we're trying to measure. IQ tests are good insofar as you look at the results of them from the perspective of a population. In these cases individual variation in how well it correlates smooths out. We design IQ tests and normalise IQ scores such that across time and over the course of many studies these tests appear to correlate with this hidden g factor. Moreover, anything below 70 and above 130 is difficult to measure accurately, IQ is benchmarked such that it has a mean of 100 and a standard deviation of 15. Below 70 and above 130 is outside of two standard deviations.
So, in summary, IQ is not a direct measure of intelligence. What you're doing here is pointing at some random guy who allegedly scored high on an IQ test and saying: "Look at how dumb that guy is. We must be really bad at testing."
But to say we don't know what intelligence is, is silly, since we are the ones defining that word. At least in this sense. And the definition we have come up with is grounded in pragmatism. The point of the whole field of research is to come up with and keep clarifying a useful definition.
Worth also noting that you can study for an IQ test which will produce an even less correlated score. The whole design and point of IQ tests is done with the idea of testing your ability to come up with solutions to puzzles on the spot.
So it's not really a standard.
/bin/sh is a much more common convention but once again, not a standard.
There really isn't a truly portable shebang, but the same can be said about executables themselves. As part of the build or install step of whatever thing you're making, you should really be looking these up and changing them.
What's more, bash isn't a standard shell.
One thing I noticed is that while I hate being told what to do, and my partner hates being told what to do, and we understand deeply how we feel when someone tells us what to do, we still tell each other what to do (which goes especially badly after a long day).
Edit: I am glad you wrote this, so I didn't have to. It feels like reading my own autobiography. But the problem with reading about this stuff is that, if you forget for a minute that it's literally just how life is for you, it reads like some fantastical fiction comedy. I avoid telling anyone I deal with that I have ADHD because I feel like if I tell them they'll lump me in with some crappy mental model, and I avoid telling anyone I deal with about these problems because they sound completely absurd.