CodeWaiting for progressWhen an application has many time-consuming processes then a progressbar in the central form is necessary, so that there are not 20…
Code, TestingTesting RxJS5 async methods in Angular2For 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…
CodeAdding type safety to Immutable.js with Typescript string literals and keyofUsing immutable data structures is all the rage and for a good reason. After having used immutables in some large projects I can personally…
Ionic, Code, TestingTesting Ionic presentablesI frequently come across the question of how we can test a presentable in Ionic. A presentable is component that is presented in a separate…
Ionic, CodeUsing environment config in Ionic2After 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…
CodeNodeJS async/await with retrySome 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…
Performance, CodeMeasure real world web performanceEvery 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…
Code, FirebaseWriting a Firebase function to modify user claimsHey there, long time no see! Have you ever wanted to give certain users in your Firebase project special privileges, like being able to…
Javascript, CodeManaging Collections in JavascriptIn many JavaScript applications, it’s common to have models that contain collections of other objects. For example, a user profile might…
Code, IonicMigrating an Ionic App to use Angular standalone componentsAfter upgrading some of our projects to Angular 15 and making sure everything works as expected, I decided it was time to delve into…
Technology, AI, CodeThe week coding assistants stopped pretending to be autocompleteIf you write software for a living, you develop a reflex for classifying tools. “Helpful sometimes.” “Annoying often.” “Fine for boilerplate…
Technology, AI, Code, OpinionsVibe Coding: An Honest Take After Three Years of AI-Assisted DevelopmentLong 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…
Opinions, Code, TechnologyTraining juniors in the AI era — judgment, struggle, and why the field still needs new dataI 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…
AI, Code, ToolsUsing Claude Code's parallel agents to collaborate on a featureI 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…
Ionic, Technology, AI, Code, PersonalThree similar Ionic apps, one Nx monorepo, and a lot of AI-assisted glue workHow 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.