Part of the reason I stopped using haskell is because of how generalized everything is. I want to get something basic done and you are expected to read a whole book some maths topic to understand how do something basic. Another language would have an example on how to do that thing 99% of users are trying to do but in haskell land they want you to understand the 1000 different ways the library can be used and piece that together to work out what you want.
Thats the case for apple chargers. I have seen that macbook chargers fail after about 6 months use because they switched to a plastic that was less toxic. Conveniently the side of the cable that always fails is the one you can't remove from the brick so you have to buy a new $100 charger at least once a year.
Nice work. I'm not a JS expert but I think I saw a bug.
Inside of animate() you are calling setTimeout() to automatically call animate repeatedly but this is also calling setTimeout() every time animate runs but setTimeout() should only be run once.
What you mean is setInterval and does work well for synchronous execution. His approach is correct and would even work if the animate function is asynchronous as the next tick gets scheduled at the end of animate function execution.
I tried that once. Main issue is you have to reply to the pings or you get kicked.
I have found Matrix to be easier to interact with. You need a HTTP client instead of netcat but it's super simple to send JSON from a program or terminal.
I only started using irc about 5 years ago but I have been using it daily since then and yeah the people on it aren't too bad. I have only really seen tech stuff on it recently, all the non tech irc channels I was in moved to discord :L
The speed has gotten better recently. It usually sends messages in under 1 second. The UI is still a little laggy when switching tabs but everything is slowly getting more polished and faster.
Some time ago I tried to start a federated homeserver, connected to it and joined the main matrix channel (at the matrix server). Thirty seconds later (IIRC) my client (riot) gave up on the attempt. Nothing showed in the channel. I was told the servers (synapse) were syncing the required information. I checked the logs and, true, a lot of stuff was being sent back and forth.
One hour later, a lot of stuff was still being sent back and forth. I still could not join the channel, and there was still no user-friendly feedback on the failure.
These are fundamental flaws in usability and design that really need to be addressed before the system can gain more widespread acceptance. Have they since been corrected, or have improvements been made to mitigate them?
My fitness has improved so much since owning an ebike. Yeah it's not nearly as much work as using a regular bike but unless you are using a bike all the time you are going to see a massive improvement from switching from a car to an ebike.