Adopting elm-safe-virtual-dom
In this post we’ll share the steps we took for adopting Simon Lydell’s elm-safe-virtual-dom, which is a partial rewrite of Elm’s Virtual DOM that makes it resilient to external DOM mutations, and...
View ArticleWord Labels
Working at NoRedInk, I have the opportunity to work on such a variety of challenges and puzzles! It’s a pleasure to figure out how to build ambitious and highly custom components and...
View ArticleCustom Focus Rings
Many people who operate their devices with a keyboard need a visual indicator of keyboard focus. Without a visual indicator of which element has focus, it’s hard to know what, say, hitting enter might...
View ArticlePresenting Styleguide Colors
The Web Content Accessibility Guidelines (WCAG) include guidelines around how to use colors that contrast against each other so that more people can distinguish them. Color is a fuzzy topic (brains,...
View ArticleSVGs as Elm Code
Moving SVGs out of the file system and into regular Elm code can make icons easier to manage, especially if you find you need to make accessibility improvements.Imagine we have an arbitrary SVG file...
View ArticleFunding the Roc Programming Language
At NoRedInk, we’re no strangers to cutting-edge technology or to funding open-source software. When React was released in the summer of 2013, we were early adopters. Shortly after that, we got into...
View ArticleTuning Haskell RTS for Kubernetes, Part 2
We kept on tweaking our Haskell RTS after we reached “stable enough” in part 1 of this series, trying to address two main things:Handle bursts of high concurrency more efficientlyAvoid throttling due...
View ArticleTuning Haskell RTS for Kubernetes, Part 1
We’re running Haskell in production. We’ve told that story before.We are also running Haskell in production on Kubernetes, but we never talked about that. It was a long journey and it wasn’t all roses,...
View ArticleHaskell for the Elm Enthusiast
Many years ago NRI adopted Elm as a frontend language. We started small with a disposable proof of concept, and as the engineering team increasingly was bought into Elm being a much better developer...
View Article🌉 Bridging a typed and an untyped world
Even if you work in the orderly, bug-free, spic-and-span, statically-typed worlds of Elm and Haskell (like we do at NoRedInk, did you know we’re hiring?), you still have to talk to the wild...
View Article☄️ Pufferfish, please scale the site!
We created Team Pufferfish about a year ago with a specific goal: to avert the MySQL apocalypse! The MySQL apocalypse would occur when so many students would work on quizzes simultaneously that even...
View ArticleA QA Interview We Never Used About five years ago I was working on a QA...
A QA Interview We Never UsedAbout five years ago I was working on a QA interview process and got the following suggestion: “You’ve just arrived at the airport and have two hours before your flight to...
View ArticleWhat would you pay for type checking?
Here’s a statement that shouldn’t be controversial, but is anyway: JavaScript is a type-checked language.I’ve heard people refer to JavaScript as “untyped” (implying that it has no concept of types),...
View ArticleCypress in Action: A Few Months In Three months ago, I wrote Going...
Cypress in Action: A Few Months InThree months ago, I wrote Going Automative: Increasing Quality. At that time, we (the NoRedInk QA team) had chosen an automated testing tool to use (Cypress), and we’d...
View ArticleType-Safe MySQL Queries via Postgres
My team and I are working on NoRedInk’s transition from Ruby on Rails and MySQL to Haskell and Postgres. A major benefit of our new stack (Postgres/Haskell/Elm) is type-safety between the boundaries...
View ArticleOur Summer Retreat!
Invest in and take care of each other. This core value has shaped our culture and we are committed to keeping it in sight as we continue to grow.NoRedInk knows that it takes more than just a feel-great...
View ArticleGoing Automative: Increasing Quality To misquote Jane Austen: it is a truth...
Going Automative: Increasing QualityTo misquote Jane Austen: it is a truth universally acknowledged, that a QA team in possession of a rapidly growing product, must be in want of automated tests.That...
View ArticleDrag & Drop without Draggables & Dropzones
Why is building drag & drop UIs so hard? They’ve been around for a while, so we would be forgiven for thinking they’re a solved problem. Certainly there are high quality libraries to help us build...
View ArticleCelebrating Launches
Imagine this: your team has just spent months on a big release, and you just hit the button… it’s live! Over the next couple of days, you look at your metrics and people are using it. Hooray, this just...
View ArticleQ&A with Steve Gardner, NoRedInk’s New VP of Sales and Marketing
After a long courtship, NoRedInk is thrilled to welcome Steve Gardner and his 26 years of edtech experience to our team as our new VP of Sales and Marketing. A valuable addition to our executive team,...
View Article