166 karma · joined May 4, 2010
"The primary opposition to the Constitution was based on it being a centralizing document that risked making the states a mere administrative arm of the central government. States' rights advocates like Thomas Jefferson, George Mason, Patrick Henry, and Elbridge Gerry were wary of the new document. The Federalists were aware of these objections and their opponents. Thus, in trying to head them off at the pass, they adopted the name Federalists to give people the impression, true or not, that they were for a federal form of government and not a national one. This forced those who opposed the constitution to be known as Anti-Federalists, which to the less attentive audience gave the impression that they were against federalism and thus for a centralized regime."
What is exactly fraudulent about U.S. political ads placed by foreign customers?
Perhaps they are all saying that sponsorship has become so essential, so crucial to the whole scheme of things, that interference of the old sort is no longer necessary. A vast industry has grown up around the needs and wishes of sponsors. Its program formulas, business practices, ratings, demographic surveys have all evolved in ways to satisfy sponsor requirements. He has reached the ultimate status: most decision-making swirls at levels below him, requiring only his occasional benediction at this or that selected point. He is potentate of our time."
The Sponsor - Eric Barnouw
"A propaganda model has a certain initial plausibility on guided free-market assumptions that are not particularly controversial. In essence, the private media are major corporations selling a product (readers and audiences) to other businesses (advertisers). The national media typically target and serve elite opinion, groups that, on the one hand, provide an optimal “profile” for advertising purposes, and, on the other, play a role in decision-making in the private and public spheres. The national media would be failing to meet their elite audience’s needs if they did not present a tolerably realistic portrayal of the world. But their “societal purpose” also requires that the media’s interpretation of the world reflect the interests and concerns of the sellers, the buyers, and the governmental and private institutions dominated by these groups."
[0] https://blog.cloudflare.com/incident-report-on-memory-leak-c...
* Emphasis on undo instead of confirmation dialogs. Though, some applications got implementation completely wrong. Contacts, I am looking at you. It delays deleting a contact instead of offering a real undo, which means that if you exit early no action is performed at all.
* Different colors for constructive / destructive actions used consistently across applications.
* Keyboard shortcuts window. Though, I don't understand why most applications insist on making it modal, which essentially prohibits looking at shortcuts and trying them out at the same time.
* Headers bars. I prefer those over traditional menu bars, especially if number of different actions to perform is limited. Though, portability suffers as making it work in environments without client side decorations requires some custom code. Thus, if developer didn't take this into account it probably doesn't work.
* In-app notifications (used for example for example for undo I have already mentioned). Though, AFAIK this doesn't seem to be builtin part of GTK yet and require a little bit more custom code than other widgets.
* Empty placeholders! (Though, they might have been there already?)
1. Manage resources with RAII (though, in C you could use non-portable attribute cleanup in similar manner).
2. Use type safe wrappers around builtin types like in [0] and [1].
3. Use containers with more extensive bounds checking and iteration validity checks [1].
This could help detect some of those bugs at runtime, or even possibly prevent them from being written in the first place. Use of uninitialized value could be prevented with types that require explicit initialization or have default one (Bug 1). Left shifting a negative value could have been caught at runtime (Bug 2). Bounds check could prevent uninitialized memory read (Bug 3) Type safe wrappers could prevent an accidental promotion from being written in the first place (Bug 5).
Though, you need to go out of your way to actually do all those things, not to mention that your code would integrate poorly with existing library ecosystem. IMHO choosing C++ alone doesn't improve safety of your programs compared to ones written in C all that much.
* What about network failures? In FLP model network is reliable so there are no network failures.
* What about node failures? In FLP model node failures are permanent, so there is nothing illuminating to say that you cannot deliver message to a node that is permanently offline.
* What if node failures were transient? If network is still reliable and state transitions atomic, then failures are completely unobservable.
* What if state transition are not atomic, and you cannot process message and record that it has been processed in a single step? That would mean that exactly-once delivery is impossible even within a single node, and has nothing to do with distributed nature of computation.
* It does not encrypt metadata.
* It performs delayed clipboard clearing instead of preventing further coping after first use, which is technically possible to implement, though I am not aware of any small standalone tool that does something like that.
* If you don't have something like YubiKey, password protection of gpg private key is not particularly impressive compared to the state of art.
[0] https://github.com/openbsd/src/blob/0ecb71b5ec9e4b22a484606f...
There is no standard way to register global keybindings under Wayland yet, but this is bound to happen eventually. Not as a builtin part of Wayland, but it doesn't matter. It will of course use D-Bus interface, as KDE does it now for example - but if an application doesn't support this interface, it can't steal keybindings, it just doesn't get to install global keybindings itself.
Not sure what you have exactly against D-Bus, but clearly modern Linux desktop embraced it.
[0] https://security.stackexchange.com/questions/118854/attacks-...
Their data structure is considerably more complex than traditional implementations of std::deque, I wonder if it is actually of any practical interest.
EDIT:
I did look at the actual paper [0], they provide a strong consistency within local data center, and a causal consistency with convergent conflict handling across data centers. They presume that each client resides within a data center, so it is essentially a variant of fixed entry point solution I mentioned earlier.
Additionally, what it quite important, you lose causal consistency if client connects to different data centers.
[0] Don't Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS
Regarding those things that actually matter for programmer, following would be well-behaved in Rust (including unsafe blocks): conversion between types, integer arithmetic, pointer arithmetic (there are generally two variants of operations, one that essentially treats pointers as unsigned integers, and another one that behaves like in C with more opportunities for optimization). On the other side of the coin, in Rust mutable references cannot be aliased.