Links #3

Picking better names for variables, functions, and projects - Tom MacWright shares some great, practical ideas for naming things as a developer. I like how he called out specific words to avoid like data and setup, which are often “correct” but too general to be useful. I also like this quote: “When you’re writing code, just stare at ‘what it does’ and ‘what it’s called’ and make sure that they are the same thing.”

Contribution and Abundance - An extended quote from Ben Horowitz on sources of happiness. His description of abundance vs scarcity mindset feels spot-on to me. It’s a topic that I’ve found myself thinking about a lot lately. There’s a lot we can do to nudge ourselves towards happiness by strategically avoiding zero-sum games and framing our world in terms of abundance.

Hyperbolic Sokoban - A non-Euclidean puzzle game that you can play in your browser. I had a lot of fun figuring out how this strange environment worked. It reminded me to look up Miegakure again to see if it’s been released yet (it hasn’t).

A complete guide to useEffect - When we got hooks in ReactJS, it made for cleaner and more functional code… but there were downsides. useEffect is React’s alternative to the lifecycle api, but less intuitive and easier to mess up. This article by Dan Abramov walks exhaustively through common useEffect mistakes, identifying misconceptions, and using examples to explain how React works under the hood in each situation. It was a big help in getting me more comfortable in a React codebase that used hooks exclusively. I’m grateful the article exists, even if it’s a bummer that it’s necessary.

The world is much better; The world is awful; The world can be much better - Max Roser uses these three (true) statements as a lens through which we can look at human progress. History shows that it is possible to make the world a better place, and there are plenty of areas that we can still improve. It feels like a healthy way to look at the world.

Bonus: - A YouTube channel featuring a talking fried egg that teaches programming concepts with slow jams in the background. Just because.