Subscribe to masimplo.com

Stay up to date! Get all the latest & greatest posts delivered straight to your inbox

Code

Languages, patterns, and implementation details.

Waiting for progress cover image
Code

Waiting for progress

When an application has many time-consuming processes then a progressbar in the central form is necessary, so that there are not 20…

Testing RxJS5 async methods in Angular2 cover image
Code,  Testing

Testing RxJS5 async methods in Angular2

For some time now I am struggling to find a way to test RxJS code that uses functions with time in them. Let’s look at an example of what we…

Adding type safety to Immutable.js with Typescript string literals and keyof cover image
Code

Adding type safety to Immutable.js with Typescript string literals and keyof

Using immutable data structures is all the rage and for a good reason. After having used immutables in some large projects I can personally…

Testing Ionic presentables cover image
Ionic,  Code,  Testing

Testing Ionic presentables

I frequently come across the question of how we can test a presentable in Ionic. A presentable is component that is presented in a separate…

Using environment config in Ionic2 cover image
Ionic,  Code

Using environment config in Ionic2

After you finish building your app and you are ready to deploy to the App Stores you will realize that you need to use specific variables…

NodeJS async/await with retry cover image
Code

NodeJS async/await with retry

Some time ago I wrote a microservice in plain es5 javascript running on node 4.x I recently wanted to make some changes to the service and…

Measure real world web performance cover image
Performance,  Code

Measure real world web performance

Every developer at some point gets a task to make something faster. You might hear: Some of our users complain that this part of app feels…

Writing a Firebase function to modify user claims cover image
Code,  Firebase

Writing a Firebase function to modify user claims

Hey there, long time no see! Have you ever wanted to give certain users in your Firebase project special privileges, like being able to…

Managing Collections in Javascript cover image
Javascript,  Code

Managing Collections in Javascript

In many JavaScript applications, it’s common to have models that contain collections of other objects. For example, a user profile might…

Migrating an Ionic App to use Angular standalone components cover image
Code,  Ionic

Migrating an Ionic App to use Angular standalone components

After upgrading some of our projects to Angular 15 and making sure everything works as expected, I decided it was time to delve into…

The week coding assistants stopped pretending to be autocomplete cover image
Technology,  AI,  Code

The week coding assistants stopped pretending to be autocomplete

If you write software for a living, you develop a reflex for classifying tools. “Helpful sometimes.” “Annoying often.” “Fine for boilerplate…

Vibe Coding: An Honest Take After Three Years of AI-Assisted Development cover image
Technology,  AI,  Code,  Opinions

Vibe Coding: An Honest Take After Three Years of AI-Assisted Development

Long time no see. Three years ago I wrote a post about the dawn of the ChatGPT era and how it felt like we were standing at a genuinely…

Training juniors in the AI era — judgment, struggle, and why the field still needs new data cover image
Opinions,  Code,  Technology

Training juniors in the AI era — judgment, struggle, and why the field still needs new data

I wrote separately about how day-to-day coding with AI has changed the job. That story is mostly about people who already have a mental…

Using Claude Code's parallel agents to collaborate on a feature cover image
AI,  Code,  Tools

Using Claude Code's parallel agents to collaborate on a feature

I wrote a few weeks ago about vibe coding and what three years of AI-assisted development actually looks like. One thing I glossed over is…

Three similar Ionic apps, one Nx monorepo, and a lot of AI-assisted glue work cover image
Ionic,  Technology,  AI,  Code,  Personal

Three similar Ionic apps, one Nx monorepo, and a lot of AI-assisted glue work

How we merged three Ionic/Angular/Capacitor codebases into a single Nx workspace so a small team could stop maintaining the same code in three places.