RSSAmplifier

Blog

Markus Eliasson

markuseliasson.seRSS feed ↗20 posts

Latest posts

Under the hood of a Gleam test-framework

During spring and summer I have been busy building a small test-framework in Gleam. Let's open the hood and see how it is designed, and why I designed it the way I did. Hopefully this can inspire you to try out Gleam, Garanti or building your own thing.

Guilt-Driven Development

A few weeks ago, the day before Midsummer, I went on my summer holiday. I merged my last pull requests and shut down my computer, looking forward to a few weeks of relaxing. Come Midsummer morning, I checked my work emails 1 and I noticed that a failure had been reported earlier that day for one of the services I maintain. 1. Maybe a bad habit, but I tend to at least skim the subject lines while…

Effort, the illusion of value

I think the industry is acting drunk at the moment. Carried away with how easy it is to produce thousands of lines of code, and mistaking this for value.

Type-safe i18n in Gleam

I wanted to add translations to a small Gleam project I am working on. The type-safety and pattern matching in Gleam helped me make a solution that I am pretty happy with.

Quarter - my time-tracker. Rewritten. Again.

I have been busy rewriting the UI for Quarter in yet another language. I am quite happy with the new look and feel, see for yourself and why not try it out!

Gleam a lovely little language

When was the last time you programmed without using an if-statement? Ok, what about a for-loop? Recently I have been digging into the Gleam programming language. A small functional language that, as you probably guessed, neither has if-statements nor for-loops. And it has been a lovely experience.

Going Indie

I finally got around to delete my GitHub Pages site and set up my own site. Why? Because I want to keep the web open and free for everyone.

A test-data builder

A while back I built a test-data builder for one of the projects I am working on. Now, after using it for some time I really think it simplifies and improves our tests, while also helping us to write new tests faster. This article will guide you through how to implement one for yourself.

Don’t round twice

When debugging what seemed to be a rounding error, I learned a surprising thing about the way .NET round decimal values.

Guide Comments

Code comments is a subjective topic in a world of collaboration. What is superfluous for some might be helpful for others. Personally, I come to like something referred to as guide comments.

Test-Driven Development - looking back

For the last five years I have been test driving pretty much all the code I have written. This is a retrospective on why it took so long to get started, where I see the greatest benefits and where it is still hard.

The fear of releasing

The fear of releasing is real, it is the fear of failure.

Technical debt

What is technical debt, who owns it and when is it due? Post #2 in a series of post about obstacles around software development.

Your obstacles are YOUR obstacles

Why do we have obstacles in software development when software is almost free from constraints?

Best practices for ScalaTest

Writing clear, consice and maintainable tests can be quite challenging regardless of tool and language. Following the practices discussed here will hopefully help you achieve this if you are using ScalaTest.

Building a parser for Sequence

Now that we have defined what we want the Sequence language to look like, we need to formalize this in a grammar and then build a parser to parse our input into an Abstract Syntax Tree

Defining the Sequence language

Even a tiny language as Sequnce requires a careful and iterative process, you need to consider both the semantics and the synatax.

Building your own DSL does not have to be hard

The need for different types of computer languages is growing rapidly — luckily it turns out that creating your own Domain Specific Language does not have to be all that hard.

Bytes do not destroy software — people do

Have you ever come across a poorly written software where you thought to yourself — this has grown out of control!

Littering in the ecosystem

Are we littering the JavaScript ecosystem, or are we setting up a smorgasboard of choices?