[032.5] Elm Weekly Drip #32 and Exercise: No Layout Until Login

An exercise, and links ranging from Technical Debt to Haskell to Progressive Web Apps.

Subscribe now

Elm Weekly Drip #32 and Exercise: No Layout Until Login [12.29.2016]

This week we looked at some very specific behaviours regarding signing up for a subscription on a fictional Stripe-powered subscription site, using Ports where needed. For this week's exercise, we'll make the layout simple for people that aren't fully logged in. First, though: here are some links I've found interesting recently.


Automatically derive Elm functions to query servant webservices.

If you're a Haskeller (or Haskell-curious?), this is a nice-looking library for automatically producing an Elm API interface to your servant-powered backend.

[ h/t @mattjbray ]


An experimental package documentation site for Elm packages, like devdocs

An easy webapp for browsing elm package documentation, which also uses LocalStorage to support offline use. [Source]

[ h/t @jackysee ]

Kent Beck - Mastering Programming

Here are ways effective programmers get the most out of their precious 3e9 seconds on the planet.

Kent Beck is a genius and this is a roll-up of a lot of wisdom. Read it! Not directly applicable to Elm, but a good generally valuable post regarding software development practices. A good Elm-y related bit of wisdom from the post:

Symmetry. Things that are almost the same can be divided into parts that are identical and parts that are clearly different.

I learned of this post from the Avdi Grimm's weekly Brunch newsletter, which I can also highly recommend.

[ h/t @KentBeck (discovered via @avdi) ]

Not a link, but!

Alexander Wallin (@alexanderwallin on slack) made an elm-branded slack theme. Just use this:


And it will look like this:

elm-lang slack with an Elm

(except hopefully less cluttered...I am in too many Slacks!)


CaronaBoard.com is an open source project, with the goal of creating a way to optimize the use of cars in cities, contributing to reduce local traffic, reduce use of fossil fuel, and help people to connect to its friends and colleagues.

An open-source Elm-based project that's pretty neat on its own, but this Pull Request specifically is very cool because it does server side rendering for a progressive web app.

[ h/t @_rchaves_ ]

Michael Feathers - Toward a Galvanizing Definition of Technical Debt

Technical Debt is the refactoring effort needed to add a feature non-invasively

Michael Feathers on Technical Debt. I saw this via Avdi as well, and it too isn't particularly Elm-related, but I found it great and it's definitely worth a read.

[ h/t @mfeathers ]


This week's exercise is simple. Just modify the elm_web_components_playground (tagged after_episode_032.4) in a pretty minor way:

  • If the user is not logged in or has no subscription, just center the content and exclude the drawer from the layout entirely.
  • If they are logged in with a subscription, nothing should change.

It's a surprisingly easy exercise this week, because I'm full of Christmas food and cheer. See you soon!