The State of Elm survey takes the pulse of the Elm community. What experiences do newcomers have, and are they learning at decent pace? What companies have Elm in production? This year, the survey ran from the end of Janary to the beginning of March, and collected 1,176 responses (about the same as last year.) After the survey ended, I scrubbed each field for 17 of the questions to make sure we…
This year at Elm Europe I gave a talk called “Let’s Make Nice Packages!” It’s about research. No, wait, come back! Continue Reading
The State of Elm 2018 is on! We put on this survey every year to take the pulse of the Elm community. Where have we been, and where are we going? The survey is open now and will close on March 1. You can take it below or in full screen mode (better for mobile users.) Continue Reading
Last week, we covered how to break down decoders by starting from the innermost, or topmost, part . But what if you’re having trouble breaking things down from the top? (Or you’re dealing with a really complex JSON schema?) This week, let’s look at it from a different perspective: the outermost structure in (or the bottom up!) Continue Reading
A reader of the JSON Survival Kit wrote me with a question (lightly edited): I’ve got a JSON string that works fine in JavaScript: { "Site1": { "PC1": { "ip": "x.x.x.x", "version": "3" }, "PC2": { "ip": "x.x.x.x", "version": "3" } }, "Site2": { "PC1": { "ip": "x.x.x.x", "version": "3" }, "PC2": { "ip": "x.x.x.x", "version": "3" } } } I really can’t figure out how to parse…
The State of Elm 2017 results are here! I first presented these as two talks, one to Elm Europe and one to the Oslo Elm Day. I’ve embedded the Elm Europe talk below (it’s shorter) but the longer version is on also YouTube. Continue Reading
So you’re sending dates through ports in your Elm application, and things are getting pretty confusing. You send in a date, and you get… Err "Expecting a String a _.date but instead got \"2017-05-01T12:45:00.000Z\"" Wait, what? Isn’t that a string already? What’s going wrong here? Continue Reading
How do you keep your JSON encoders, decoders, and model in sync? You can skip fields in your encoder, right? But should you? And what about when you add new fields? Decoders are a little easier, but you have to sync them up with your encoders or you’ll lose data. And the worst part is that we can’t rely on the compiler to catch these classes of errors… argh! This is a perfect…
Working with ports can be awkward. You’re really limited as to what values you can send through, so how do you get objects? Easy: write a JSON Decoder! Continue Reading
After the sets series finished, I got really curious… How fast were these sets, exactly? I had to shave a lot of yaks to answer that question, but to sum up: Elm now has a benchmarking library ! Let’s take a look at how to use it! Continue Reading
This time, let’s look at filter. It does the same thing as List.filter , except it operates on a Set instead of a List . We’ll have it take a function that checks whether we should include a value and use the output of that function to filter the values from the set. Continue Reading
The State of Elm 2017 Survey is now live, please go take it. It will run through Friday, February 24, and the results will be available sometime after that. Here are the results from last year , or as a slide deck . Continue Reading