Yes I understand that, but if that is what is meant I find the wording to be somewhat strange. They mention not being able to find a "feasible mapping from software to hardware", and later on "some of the constraints may not be properly formulated into the optimization, and so the compiler may not find a feasible software mapping for the target hardware".
So the problem is that there is no software mapping, which I understand to be the mapping of compiler instructions to the underlying hardware. It looks like I'm missing something. Is this the same as saying that the hardware design is not feasible?
I think you might want to look at something like Solid[0]. It resembles your idea, but is more general. People host their data in a personal data store (a pod, which can be either self-hosted or by a 3rd party) and Web applications read to/write from this data store. It is more general in the sense that this data can then also be used by other applications to provide their own features (which is a hard problem to tackle, since you don't want to restrict all current and future different types of data to one interface).
E.g. When you create a new blog post this is stored in a pod of whichever data provider you chose. The fact that you wrote this blog post can then be discovered e.g. on your social media, after which people can read it in their favorite blog post reader.
I find the implications of such a platform to be the most interesting thing. It effectively creates two different markets: that of data providers, which compete to provide the best service, and of application providers, which compete to provide the best features.
The network seems exciting but it definitely needs a less confusing explanation. Or at least an explanation that does not require prior knowledge of (what seem like) niche concepts.
> "It surfaces content related to the node you're visiting using a lightweight fanout convention"
Requires knowledge of what exactly a "node" constitutes in this context. Since I don't know what such a node is, the remaining part of the sentence about the fanout convention is just meaningless (it also seems irrelevant?).
Now, it is explained on Agora what a node is, namely:
> "A node is the set of all subnodes with a given title, or otherwise mapping to a single entity or wikilink. Subnodes can come from a variety of sources; currently these are mostly notes as volunteered by users via their independent digital gardens."
This suffers from the same problems: I still don't know what a node is, since I would need to know what a subnode is. I'd expect a recursive relation where a subnode is simply a node that is a child of a node, but it seems there is a distinction between both. In any case, it's still unclear.
It seems as if it's written by someone who's so familiar with these concepts that they forgot what it's like to not have this background knowledge. I'd recommend letting someone without prior knowledge explain to you what they think it is in simple terms, and build your explanation from that.
Great stuff. Well witten notes with clear and extensive examples. I actually used this just a few months ago to pass my calculus exam. Feel like I learnt a lot more than from my overly dense and formal textbook.
That's actually an NP-complete problem, called the Dominating Set problem[0]. One application of this problem is used in OLSR[1], a routing protocol used in Mobile Ad-Hoc Networks (MANET). To see how it is useful for MANETs, you can look at the problem in a different, but equivalent, way. Namely, try to find the smallest subset D of nodes (puzzle pieces), such that every two nodes that are not in D are connected to each other through a node in D. In the case of MANETs, these nodes are wireless stations. The nodes in the Domating Set are chosen to relay broadcasting messages for their neighbours. This way congestion on the medium is reduced but every node can still send and receive broadcasts.
It does remind me of the Real World repository [0]. It is basically a Medium clone implemented in tons of different frontend and backend frameworks. Probably not exactly what you were looking for, since it's more related to the frameworks rather than the programming languages, but it is still interesting nonetheless.
From the guidelines on what to submit to HN:
"If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity."
Yes, but nowhere is it implied that it is because of something inherent to coffee. It probably could have been another delicious drink, like hot chocolate. That doesn't diminish the content of this article though.
Naively, it seems to me that as long as the profit you get out of mining scales linearly with the amount of money you put in, the richest player will eventually control all of the hash rate. Yet this doesn't seem to be the case (so far?). Is my thinking incorrect, if so, why?
I'm not sure what you mean by "You can't off-load error-correction". In the case of classical computing, we do off-load error-correction (I don't have to worry about bit flips while typing this). In the case of quantum computing, if we couldn't offload error-correction, an algorithm such as Shor's wouldn't be able to written down without explicitly taking error-correction into account. Yet, it abstracts this away and simply assumes that the logical qubits it works with don't have any errors.
> Exactly. I don't know why Haskell fanboys insist on abstracting us so far from the machine.
I believe it is because abstractions are the way we have always made progress.
Is the C code that's so close to the machine not just an abstraction of the underlying assembly, which is an abstraction of the micro operations of your particular processor, which in turn is an abstraction of the gate operations? The abstractions allow us to offload a significant part of mental task. Imagine trying to write an HTML web page in C. Sure it's doable with a lot of effort, but is it as simple as writing it using abstractions such as the DOM?
> We live in a mutable physical universe that corresponds to a procedural program. One thing happens after another according to the laws of physics (which are the procedural program for our universe).
You just proved why abstractions are useful. "One thing happens after another" is simply our abstraction of what actually happens, as demonstrated by e.g. the quantum eraser experiment [1][2].
Even though it isn't without controversy, Brave browser has this exact feature through use of its BAT token [1].
Basically, you earn BAT either by directly depositing money into your wallet, or by viewing "privacy respecting ads" (herein lies part of the controversy), which let you earn 70% of the ad revenue as BAT. These tokens are then distributed over the content creators who have signed up for the program. The exact distribution depends on how much attention you gave each creator.
So the problem is that there is no software mapping, which I understand to be the mapping of compiler instructions to the underlying hardware. It looks like I'm missing something. Is this the same as saying that the hardware design is not feasible?