It’s interesting that 10 (more?) years later the product has not evolved and, apparently, hasn’t found a way to finance itself without removing the pure free tunneling option.
1,428 karma · joined April 2, 2012
[ my public key: https://keybase.io/yuchi; my proof: https://keybase.io/yuchi/sigs/iHLqZwLH8F262yODwR0xQa6RSxGBb4-BmsSMyUkiHY0 ]
It’s interesting that 10 (more?) years later the product has not evolved and, apparently, hasn’t found a way to finance itself without removing the pure free tunneling option.
When you actually design interfaces you discover that there are way more states to keep in mind when implementing asynchronous loading.
1. There’s an initial state, where fetching has not happened yet
2. There may be initial cached (stale or not) data
3. Once loaded the data could be revalidated / refreshed
So the assumption that you either are loading XOR have data XOR have an error does not hold. You could have data, an error from the last revalidation, and be loading (revalidating).
With attributes strings it’s trivial, you just need to move attributes accordingly and to normalize stuff at the end.
Incredible article btw
That said, very interesting. A cool tool to have in your belt.
——— <redacted> ———
Update: apparently HN doesn’t like some characters…
Anyway these are the characters: https://unicode.org/charts/nameslist/n_2700.html
- 2700 Black Safety Scissors
- 2701 Upper Blade Scissors
- 2702 Black Scissors
- 2703 Lower Blade Scissors
- 2704 White Scissors
Xenia was such a powerful social norm that for a warrior, in the heat of battle, is perfectly fine to temporarily be nude, exchange your finest armour for a lower grade one, and still be happy about it.