Issue #22

It seems that the Covid-19, protests against police brutality and racial discrimination, economic slowdown, and, well, I guess the summer weather all had an effect on people getting time off the Internet and their computers. There isn't happening much this week in the Elm land apart from some bad news: the Elm Conf 2020 got cancelled.

This might be a good time to zoom out a little bit and look at other things. If you studied in university and majored in CS or a related field, it's likely you've heard about the Big O notation. You might have heard about it from elsewhere too. In essence, the Big O is a way to classify algorithms based on how they use time and space (resources) as their input size grows. It's not often one uses it (and if you do, I actually envy you) during the regular web development. The majority articles and descriptions talk about the time complexity, i.e. how long it would take something to produce results. But there's another metric that is equally important: the space, or how much resources an algorithm would use. Dan Romans gives a nice overview of what is space complexity and how it's determined.

I recently stumbled upon an interesting topic: philosophy. How is it related to Elm, or even software engineering? Well, the connection between these subjects is very weak, but recently I've been looking at the home page of Jim Calrson who is better known as jxxcarlson, an active member of Elm community and an author of many packages, and stumbled upon the term type theory. In his own words:

Absolutely fascinating, touching everything from philosophy to logic to  mathematics to programming.  What more could one ask for?  Currently  reading Programming Language Foundations in Agda, by Philip Wadler and Verified Functional Programming in Agda,  by Aaron Stump.  Both are based on Per Martin-Löf’s work and both give  down-to-earth treatments of how to prove theorems using type theory

To inspire some interest in philosophy in you, there is an interesting essay from Derek Johnson bringing in some facts why studying philosophy can make a better software engineer of you.

Packages

Markus Laire has released malaire/elm-safe-int which is a safe 54-bit signed integer that solves some of the problems regular Int has, for example: operations can return NaN, +Infinity, -Infinity, or even a floating point number, operations can crash or are not consistent. Well, if you had problems with integers, you already know what this package solves.

zwilias/elm-json got another update, and it adds a big speed boost. The package provides a bunch of tools to make common tasks involving your elm.json files a little easier: upgrading your dependencies, installing specific versions of packages, removing dependencies or initializing new packages, and many more.

Videos

I love to (re)watch Dillon's live presentations, and here's is a great one he did with the author of elm-spa Ryan Haskell-Glatz:

Quote of the week

And to finish off this week, here's what Martin Fowler once famously said:

Any fool can write code that a computer can understand. Good  programmers write code that humans can understand.
Show Comments