RSSAmplifier

Blog

Hey there! · Brian Hicks

Recent content in Hey there! · Brian Hicks

brianthicks.comRSS feed ↗15 posts

Latest posts

State of Elm 2018 Results

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…

Let's Make Nice Packages!

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

State of Elm 2018

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

Breaking Down Decoders From the Bottom Up

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

Breaking Out of Deeply Nested JSON Objects

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…

State of Elm 2017 Results

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

Sending Dates Through Elm Ports

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

Add Safety to Your Elm JSON Encoders With Fuzz Testing

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…

How do I get JSON out of a port?

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

Introducing elm-benchmark

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

Functional Sets, Part 9: Wrap-up

Our Set implementation is done! We just have a few things to wrap up. Continue Reading

Functional Sets, Part 8: Map

Now that we have filter and friends , we’re almost done with our Set implementation. Once we have map , we’ll be done! Continue Reading

Functional Sets, Part 7: Filter, Diff, and Intersect

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

State of Elm 2017

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

Functional Sets, Part 6: Union and Remove

With folds done, our sets are shaping up. Folds unlock some more interesting things for us. Namely: unions! Continue Reading