Blog
9 signs your frontend code has quality issues that affect your users
Check if your project is displaying any of them.
How to prevent WebStorm from removing trailing spaces from one specific file?
I love WebStorm's "on save" formatting options, but from time to time, they get in my way.
How to format Elixir doctests?
I wrote a doctest formatter plugin to help you with that.
How to format Elixir code in Markdown code blocks?
I wrote a Markdown code block formatter plugin to help you with that.
Do not run mix test || mix test --failed
This popular way of retrying flaky tests on CI is a trap.
How to ask for help with your code online
Do you often get ignored when you ask people online to help you with your coding problems? Make sure you're not breaking any of those 7 rules.
Side project: The Nonvisual Website
A few words of explanation about an unusual creation.
5 bugs that HTML validation caught for me
Are you running your website through an HTML validator? No? Here's a list of 5 bugs that HTML validation caught for me before I released them to production.
My 2023 job search
In July 2023 I applied for web development jobs for the first time in the last 5 years. Here's what happened.
How to require the document to start with an h1 in TipTap?
If we're writing a blog post editor, something that we might need is to require the blog post to start with a title. TipTap can do that for us.
How to allow editing image alt text in TipTap?
Image alt text is a crucial accessibility and SEO feature that every rich text editor should support.
How to prevent yourself from running npm in a yarn project or the other way around?
Depending on which project I worked on most recently, my muscle memory causes me to type the wrong command when switching projects.
Migrating a React app from JavaScript to TypeScript
Recently we rewrote a medium-sized React app from JavaScript to TypeScript. Here's how we approached the task.
13 tips for junior developers on how to make a great impression with your take-home coding task
Finding your first job can be very hard, and making a great impression with the take-home coding task can make the difference between getting hired or not.
7 Gettext lessons learned after 2 years of developing a European platform
In January 2020, we grew Steady's language support from 2 to 9 languages. Those initial efforts, as well as adding new features to the platform afterwards, taught us a few good practices for working with Gettext.
The problem with Task.await/2 and timeouts
It's a common pattern to start many asynchronous tasks at once and then await each task using Task.await/2. But did you know that the timeouts can add up?
Speed up the compilation of Elixir projects that use Gettext
With those two small configuration fixes, we managed to make our Phoenix project compile 3 times faster.
Fake skip links in Vue Router
How to allow users to skip chunks of content in your Vue app when the hash part of the URL is hijacked by Vue Router.
Link Phoenix debug page stack trace to your editor
You can configure Plug.Debugger to generate links that open the line that caused the error in your editor.
Providing custom error messages for built-in HTML5 form validation
Did you know that you can change the error messages displayed by the browser when using HTML5 form validation features?