Cypress 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 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 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 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 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 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 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 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 ArticleMy Polymorphic Relationships Adventure
How did I get here?Fix an awkward relationship. That was the name of the story that I took on as the NoRedInk Writing team embarked on creating our new Peer Review writing product. As we perfected how...
View ArticleA type for views
One of the joys of writing Elm apps is the many ways the compiler catches our mistakes, and the useful error messages it gives us when it does. It’s a two-way street though, meaning that the degree to...
View ArticleNoRedInk Peer Review
We know how valuable peer review can be in the writing process. Peer review empowers students to become “mini teachers” in the classroom. Students reinforce their skills by evaluating peers’ writing,...
View ArticleNew! Introducing Guided Drafts
Our mission at NoRedInk is to build better writers, and as you know, that’s not easy. There are countless skills that go into strong writing — from overcoming the fear of a blank page to connecting...
View ArticleAddressing Engineering Pain with Tech Discussions
How often does your team talk specifically about things that bother them in the code? Even though you try to be thoughtful in pairing and code reviews, these are not always enough to get everybody on...
View ArticleUse Pre-Mortems to Predict and Avoid Launch Failures
Imagine this: your team has been working on a big feature for the last couple months. You’re about to have the first big milestone of the project: an observation in a real classroom. So exciting! But...
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 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 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 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 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 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 Article