387 private links
A P2P database
Ok
Not read yet.
The browser behavior in quirk mode.
How Rust differs compared to other programming languages and why it's efficient.
One reason is there is a lot of Javascript running in the browser.
Nice!
See also https://lichess.org/
Big Tech app stores are walled gardens where a single gatekeeper decides what gets in. Powered by Nostr, Zapstore is open source, permissionless and censorship-resistant. Anyone can publish and switch relays. To preserve quality in an open network, we use web-of-trust and other metrics to surface signal and obliterate spam.
The economy is important because we don’t care enough about one another and our environment.
If we did, we would figure out how to treat each other well, how to grow individually and collectively, and how to take care of our environment in the process. With or without “the economy.”
Instead, we’ve focused so much on property and trade and money and economics and got so accustomed to money as something we can exchange into anything we want, that we've forgotten both what we need (like healthy communities and a healthy environment) and that alternatives exist.
With property, trade, money, economics having long been ubiquitous and all everyone ever worries and talks about, we have nearly fully alienated ourselves from each other.
Add to this our crisis of trust and truth, and we end up with a vicious circle: Because we’re increasingly alienated from each other, we find even more solace in money as the means to exchange it into anything we need or think we need.
The world is literally heating up in consequence.
What’s the answer?
- Indexing into a vector: prefer better pattern matching or raw array with index safety instead
- Lazy use of
Default: initialize all fields instead - Avoid fragile trait implementations that pass silently on changes
Fromtraits must be infaillible, useTryFromif any error can occur. Make it explicit.- Avoid non-exchaustive matches (with
_ =>) - Use decriptive names for unused variables with the
_placeholder. - Avoid temporary mutability and make it explicit instead:
let mut data = ....; .... ; let data = data - Defensively handle constructors with
#[non_exhaustive], so creating an raw instance of a struct should be prohibited outside constructor functions. - Use
#[must_use]to avoid unused instance of the struct. - Avoid boolean parameters and in case of need, prefer enums.
- Use Clippy lints:
- clippy::indexing_slicing
- clippy::fallible_impl_from
- clippy::wildcard_enum_match_arm
- clippy::unneeded_field_pattern
- clippy::fn_params_execussive_bools
Use cases for inherit(). They can be good but I don't see a need currently
There are great animations of ease-in, ease-in-out, ease, spring and bounce. The latest two can not be animated with Bézier curves as other common animations.
To get spring and bounce effects, the linear() function can be used. The linear() function takes a set of numbers, with 0 representing the starting value and 1 representing the final value.
Easing wizard or the Linear() Easing Generator can help.
Revue des différents moyens de protéger son serveur contre les bots IA.