This week Andrey Kuzmin has released an update to elm-physics. This release is accompanied with a large "release note" where Andrey describes the performance improvements made to the library, new shape types, and where the development is heading. Code contains an interactive demo where you pick the table and can rotate it around the grabbed point. But beware, you can spend a fairly large amount of time throwing that table around the screen which is pretty satisfying.
Jesse Warden wrote a lengthy post comparing React to Elm. It takes a bit of time to digest it, and for myself who has to write React every day it was still interesting, especially reading the one-sentence summaries and Jesse's opinions at the end of each topic, e.g. regarding updating big models:
For React, you have a few options. Two examples, just use a lens function like Lodash’ set which supports dynamic, deeply nested paths using 1 line of code… or use Immer. For Elm, lenses are an anti-pattern because the types ensure you don’t have
undefined is not a functionwhich means everything has to be typed which is awesome… and brutal. I just use helper functions.
Given multiple photos of the same object under different light conditions you can build a depth map of that object. What it means is that you can deduce the distance of object points from the viewpoint and create a 3D-model. After building the model, Matthieu then used WebgGL to display that in the browser. He also wrote an explanation of how it was done.
If you're looking for examples on how to use web components with Elm, wait no more.
I could have used Ryan Frazier's intro to his "What is functional programming" post for my last week's special on functional programming. It's comforting to know that I'm not the only one that found love in functional programming but have to use imperative at work.
A while ago there's been a philosophy game jam on itch.io, and one of the entries is a game called pouliuli. It's a fun little game where you have to follow the moves of the figures around you. Its code is up on Github.
This week is a bit short on news and text as I'm busy with work and family. Hopefully next week will be more content-heavy. Have a great week!
Here's a quote from Anomalisa, an amazing animated movie:
What is to be human? What is it to ache? What is it to be.. alive? Each person you speak to has had a day. Some of the days have been good, some bad. Each person you speak to has had a childhood. Each has a body. Each body has aches. Look for what is special about each individual. Focus on that. Remember there is someone out there for everyone. Our time is limited, we forget that. Death comes, that’s it. Soon it’s as if we never existed. So, remember to smile.