SanDisk Ultra Flair 64 GB by Ciro Santilli 35 Updated +Created
Marked read speeds up to 150 MB/s
Write speed burning 5 GB Ubuntu ISO from Dell Inspiron 15: 5.4 MB/s
For clean Dell Inspiron 15 3520 cryptocurrenty laptop bootstrap and backup.
Cryptocurrency swapper by Ciro Santilli 35 Updated +Created
A "Cryptocurrency swapper" is a service that swaps one type of cryptocurrency for another.
It is basically the same as buying and selling from exchanges for fiat, except that you only get fiat.
Swappers are in general able to receive send coins from any address, including self custody addresses.
Centralized swappers were a good way to workaround the endless Monero bans from exchanges circa 2024, e.g. x.com/cirosantilli/status/1771900725649371240 as they effectively serve as proxies for exchanges that are still legal in other countries.
They will eventually have to ban Monero of course, and then the only way left will be decentralized exchanges.
This leads to a scenario where the only effective way to ban Monero is to also ban all other cryptocurrencies. The question is if countries will go that far or not.
Privacy coin legality by Ciro Santilli 35 Updated +Created
Monero Core Team by Ciro Santilli 35 Updated +Created
React example by Ciro Santilli 35 Updated +Created
React class vs function component by Ciro Santilli 35 Updated +Created
React function components do produce shorter code. But they are also impossible to understand without knowing what is their corresponding class component.
Hooks were introduced much after classes, and just require less code, so everyone is using them now instead of classes.
React class component by Ciro Santilli 35 Updated +Created
React function component by Ciro Santilli 35 Updated +Created
@cirosantilli/_file/react/react/ref-click-counter.html by Ciro Santilli 35 Updated +Created
Dummy example of using a React ref This example is useless and to the end user seems functionally equivalent to react/hello.html.
It does however serve as a good example of what react does that is useful: it provides a "clear" separation between state and render code (which becomes once again much less clear in React function components.
Notably, this example is insane because at:
<button onClick={() => {
  elem.innerHTML = (parseInt(elem.innerHTML) + 1).toString()
we are extracing state from some random HTML string rather than having a clean JavaScript variable containing that value.
In this case we managed to get away with it, but this is in general not easy/possible.
@cirosantilli/_file/react/react/hello.html by Ciro Santilli 35 Updated +Created
Minimal React hello world example. As you click:
  • one counter increments every time
  • the other increments every two clicks
By opening a web inspector, you can see that only modified elements get updated. So we understand that JSX parses its "HTML-like" into a tree, and then propagates updates on that tree.
By looking at the terminal, we see that render() does get called every time the button is clicked, so the tree of elements does get recreated every time. But then React diffes thing out and only updates things in the DOM where needed.
Ubuntu 24.04 by Ciro Santilli 35 Updated +Created
React hook by Ciro Santilli 35 Updated +Created
Ciro Santilli reproduced on Dell Inspiron 15 3520 with factory defaults. This bug prevents "wipe windows" installation without workarounds, one of which is to disable encryption in Windows.
useEffect by Ciro Santilli 35 Updated +Created
This should only be used for things that happen outside of the state that React trackes, e.g. window event handlers.
useRef by Ciro Santilli 35 Updated +Created
useCallback by Ciro Santilli 35 Updated +Created

There are unlisted articles, also show them or only show them.