871 private links
What do minecraft blocks correspond to real life minerals? How do they look like? In which aspects are the game accurate?
Although the article is long, it was the opposite of boring. Along the way I learned quite some (mostly useless) knowledge in geology.
The webpage demo accepts custom inputs. Quite useful.
A Slower Speed of Light is a first-person game prototype in which players navigate a 3D space while picking up orbs that reduce the speed of light in increments.
Huh! This is one question I've been thinking about since I learned some Assembly - why isn't there dynamically growing array on stack? This answer solved the mystery wonderfully:
- because stack grows backwards (from high to low), the array index cannot be 0, 1, ... if we want to make the array grow in the same direction as the stack. The index would have to be 0, -1, -2, ...
- You can't have more than one of such arrays for the array to be contiguous.
- The array cannot grow when there are any stack push operations (e.g. function call).
A nice read about dependent type.
I never know there is a van Laarhoven's representation of Free Monad! What's more, van Laarhoven free monad can be used to implement extensible algebraic effects (see https://hackage.haskell.org/package/free-vl). Isn't that awesome?
newtype VLMonad ops a = VLMonad { runVLMonad :: forall m. Monad m => ops m -> m a }
instance Monad (VLMonad ops) where
return a = VLMonad (\_ -> return a)
m >>= f = VLMonad (\ops -> runVLMonad m ops >>= f' ops)
where
f' ops a = runVLMonad (f a) ops
An informative series about executable file formats.
Besides an in-depth illustration of rust futures, this article also showcased some fany crates that I'm glad to learn about, which includes:
- color-eyre (failure handling)
- tracing (collect structured event-based diagnostic info)
- cargo-expand (print source code with macro expanded)
Can two potentially dishonest players play a fair game of poker without using any cards (eg. via the mail, or via the telephone) and without using any mutually trusted intermediate?
Enter a descriptive sentence, find a picture matching the sentence. In my experiments the result is pretty accurate, and the results show up instantly.
An "awesome list" of tutorials on building things from scratch.
The article described some fun facts and fun histories about emoji and why it is so prevalent.
The author took on an experiment not to use emoji for two weeks, and learned what roles emoji plays in daily communication and the text alternatives.
cyber security search engine
Do you know RF signals can be used to track your poses and positions even if you don't carray a phone? This guide show a number of things I previously never thought of impossible.
This article desmonstrated some fancy usage of systemd, including the followings:
- Filesystem sandboxing
- Dynamic users
- Socket
- LoadCredential
Unison is a langauge where segments of code are not addressed by names (like function names), but by the hash of their contents represented as AST.
By building a language based on this central idea, the problem of dependency conflict is a non-problem. The author also demonstrated the potential of elastic distributed computing based on the idea.
This project reminds me of From Laptop to Lambda: Outsourcing Everyday Jobs to Thousands of Transient Functional Containers, which is built around a similar idea, but implemented as a computing system instead of a programming language.
This article explained some internals of the logic system in coq. It answered questions like why is Type : Type
consistent.