Yet he admitted to deceiving a customer in that same anecdote
1,650 karma · joined August 8, 2020
Yet he admitted to deceiving a customer in that same anecdote
I don’t see why this would be frowned upon. It seems to be a runtime version of the borrow checker. For sufficiently dynamic code I don’t see how you can get around checking mutability access at runtime (or asserting that multiple blocks of code aren’t concurrently requesting a mutable reference).
As a comparison, there are many cases where the compiler can prove that a bounds check is unnecessary for accessing an element in a vector but there are also many useful cases where it’s simply not possible to do at compile time. It would be silly to frown upon runtime bounds checks when the requested index or the size of the vector is not known at compile time, a common occurrence in many interesting programs.
I get the motivation to make APIs as statically checkable as possible but it doesn’t seem to always be practical. Reusable UI components can be used in a variety of contexts, e.g. situations with multiple callbacks for different backends. The information is just not always there at compile time.
If you looked into these things you’d see it’s very much below your pay grade.
I don’t have to do this with normal data link layers. That’s the point of the complaint. Wireguard is not a true data link layer. Manually configuring multiple interfaces for something I can do with just one interface with a normal data link layer at runtime is an extra inconvenience.
> This is for exactly the same reason that a routing table can only have one default entry. If you want two default entries, make two routing tables.
Using nftables I can specify different routers to use based on arbitrarily complex packet rules. Using just one interface. I can’t do this with wireguard, it will only allow me to to route arbitrary packets to a single peer on an interface. This is an inconvenience.
Yes but UI wise it presents itself as one, since it’s acts as an interface. The fact that it is not a true data link layer is the basis of my comment.
> AllowedIPs can be disabled if you want; just set it to 0.0.0.0/0.
Only one peer is allowed to use 0.0.0.0/0 for AllowedIPs
Fair enough but this just kicks the can down the road. Why does Japanese culture have a propensity to follow rules? How can we duplicate that in America?
Do sociologists yet understand why some cultures are strong in morality yet some aren’t? Surely if we understood the forces that drive macro behavior we could duplicate desirable attributes like high morality in other cultures. I would really like it if we had this high level of morality in America.
If those 1337 guys were tasked with writing software to accommodate those use cases, I’m certain it would be better than software today that accommodates those use cases
> Also it's not like these programs aren't still available. Did you write this comment using lynx? Do you do your finances with "gnome spreadsheet?" Do you listen to music with WinAmp 2.0?
I was referring to 80s software, not 90s software. In terms of architecture, 90s software is closer to the software of today than the software of the 80s.
Later in that thread someone surfaced [2] the fact that the CEO had made a sockpuppet account [3] to praise his own projects.
So the OP is not surprising to me. At the same time all of the public communication I've read by the CEO has been polite so I wonder if he is just misunderstood but it's hard to say, it seems like there could also be a lot of bad things happening behind the scenes.
[1]: https://news.ycombinator.com/item?id=24900186
Strong incentive no. In fact, most volunteer open source developers release their software with no legal liability at all (cf. MIT license).
On what basis can you say that? It’s clear that a corporation that accepts legal liability for the software they run in production or ship would have a strong incentive to create a process around determining the origin of said software.
> Red Hat (IBM)
Marketing in this manner is deceptive. Saying it’s “by and for” open source maintainers gives the impression this is a grass roots effort, when in reality this is a corporate initiative.
The government can never effectively ban general purpose computing in an authoritative way because it’s just too easy to build a computer. You can build a computer using a bunch of fpgas connected together. If they ban fpgas, hackers will start using 80s-style 8 bit micros.
That is all to say, the people who care about general purpose computing will never lose it and the people who don’t care won’t even notice.
Edit: answered my own question. So this is the obsolete segmentation isolation I’ve always read about!
That’s true but it’s also slightly misleading. Any code that uses the unsafe wrappers technically must be checked and all code that uses that code must checked in turn, ad Infinitum. Misuse of the Unsafe wrapper can occur at any level. For instance, if you misuse a DMA command that corrupts memory, it’s not simply the DMA command wrapper that must be checked, the entire sequence of logic that led to the bad command being executed must also be checked.