Issue #50

As I was getting close to the burnout point due to my startup job as founder, two small kids, and the rainy winter we now have in Estonia, I decided to take a break from computers. I was hesitating whether to send an email mentioning it, and eventually decided against. After all, this email is about Elm with some of my commentary, and not a personal blog. Issue #50 was supposed to be a special one, but I chose the topic that took way longer to prepare, so I will keep it for the issue #55.

December was very fruitful when it came to Elm content with multiple advent calendars, and many other people writing and sharing their content. Hopefully January will be as interesting too. And it indeed is...

There are two interesting discussions on Reddit talking about Evan leaving No Red Ink and funding of Elm development. Turns out people still care and think that Elm should be run more like React or VSCode community project rather than how it is run today. Evan discussed it in several places, and his most recent post gives a very detailed overview of the current state of affairs and the future of development. In an earlier post linked in the original thread he mentions a good example about the Norwegian development company Bekk which employs one of the core members, Robin, who works on Elm 20% of his time. The language grows organically by being used in various companies which are not afraid to rely on it, rather than people who need guarantees of frequent releases before committing to use Elm. I often see complaints that it's impossible to convince the team to use Elm because it looks like a toy language. This reminds me of a discussion I recently had with a potential investor: they told me there's only one way to do business, and this is to grow rapidly at all costs, and then sell out or IPO. They just threw out the possibility to grow slowly and organically, to have a lifestyle business for yourself and your employees, to limit the growth of your company.

Jeroen and Dillon from Elm Radio Podcast continue to discuss interesting topics. The latest episode is about Elm Review, a tool to find mistakes in your code. If you've written Python or JavaScript, Elm Review is similar to ESLint or flake8. You define the rules for your codebase, and this tool checks if your code conforms to these rules. So even if you're not actively programming in Elm, you might find this episode useful. There is a lot of common wisdom like starting small so that initially the tool gives you very small number of errors, and as you fix them you raise the verbosity level. This is such a simple and well-known advice, yet it's surprisingly easy to overlook it which I recently did with another tool at my day job.

Kristian Pederson continues to write his 30 days of Elm series of articles where he shares his progress on learning Elm. It's almost like an advent of Elm with new content being released every day. When I look at the posts and problems Kristian is writing about, I immediately see the same questions I asked myself as I started learning Elm: msg vs Msg, struggling with JSON :|, basic time, and others.

A topic discussing server-side rendering pops up every now and then. In his post √Čber discusses the way they hacked together a solution to run Elm on the server. They used the Json.Decode.Value to pass the resolve function from a promise between Express.js server and Elm. If you felt the need for running Elm from your Node.js, read on, and be sure to check the comments too as there are some interesting suggestions.

Kolja is proposing to take part in the Google Summer of Code program and work on the Elm toolchain. If you can help with the organization or mentoring, be sure to check it out. I think it would be awesome to see someone spending several months working on improving or creating new tools.

When I read the Elm + Bekk post referenced earlier in this email, I noticed the link to another post by Robin explaining the optimization of the Dict datastructure. I love posts which go deep into implementation details, and with varying success I'm trying to do something similar with my special issues. This week a new interesting discussion popped on discourse talking about the List.map speed optimization. While this is not a scientific paper, it is still very technical for me so if you're not afraid of it, read it like any scientific paper. They talk about tail recursion modulo cons, deforestation, elm-optimize-level2, and as a bonus you can also skim through Robin's improving Elm's compiler output article. Perfect weekend read.

Another seemingly (as I haven't had time to go through it yet) deep and insightful read on relational programming in Elm in which Brian Hicks talks about his attempts at datalog implementation in Elm.

If you've been looking for an (Elm) alternative to Disqus that is also more privacy-oriented and is fully open-source, meet ParlezVous, a project built by Giorgio Delgado.

I'm currently reading The Lessons of History by Will Durant which is the first paper book I've read in more than 5 years. All of the other were e- or audio books. It is packed with interesting quotes and fact enough to fill another small book. Here's one of the quotes I recently highlighted:

In progressive societies the concentration of wealth may reach a point where the strength of number in the many poor rivals the strength of ability in the few rich; then the unstable equilibrium generates a critical situation, which history has diversely met by legislation redistributing wealth or by revolution distributing poverty.

Have a great week!

Show Comments