Subscribe to masimplo.com

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

masimplo.com

"Love many things, for therein lies the true strength, and whosoever loves much performs much, and can accomplish much, and what is done in love is done well." - Van Gogh

Finding an appropriate WAF might be harder than it looks cover image
Security,  Technology

Finding an appropriate WAF might be harder than it looks

When you deploy anything on the internet, it immediately becomes a target for cyber attacks. There are many measures that need to be taken…

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…

Help the Helpdesk! Send Info. cover image
Tips

Help the Helpdesk! Send Info.

Mobile apps are a crucial part of our daily lives, but when something goes wrong, it’s important to have a quick and easy way to contact…

Bing's great comeback cover image
Technology,  AI

Bing's great comeback

Today, I decided to check the hype about the Bing search engine that got superpowers all of a sudden, by integrating with chatGPT. I mainly…

3D printing resources cover image
3D Printing

3D printing resources

This is just a list of links related to 3D printing, mainly here for my own reference, but pretty sure you might find something useful in…

Fear of the warped bed cover image
3D Printing

Fear of the warped bed

Voron printers are known for their heavy-duty bed plates, which use an 8mm thick (or more) MIC-6 cast aluminum plate instead of a thin piece…

Software security is a culture not a calendar event cover image
Security,  Opinions

Software security is a culture not a calendar event

As technology continues to evolve, the importance of security in software and infrastructure becomes more and more critical. However, many…

In the Era of ChatGPT and friends cover image
Technology,  AI

In the Era of ChatGPT and friends

AI technology is advancing rapidly and changing many aspects of our lives, including the way we communicate and write. One of the most…

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…

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…

Batch resize pictures on Mac using Preview cover image
Tips,  Tools

Batch resize pictures on Mac using Preview

Resizing images can be a tedious task, especially if you have a large batch of them. But with the help of Preview on Mac, it’s a breeze…

Building my own 3D printer cover image
3D Printing,  Hobbies

Building my own 3D printer

I have always been fascinated by the concept of creating something out of “nothing”. That is one of the reasons that led me to become a…

I just discovered the best laptop sticker residue remover cover image
Lifehacks,  Tips

I just discovered the best laptop sticker residue remover

I really like laptop stickers. They make our boring work laptops seem a bit more jolly, so I stick a ton of them on the back of my macbook…

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…

Github Source cover image
Source

Github Source

Where to find this project on GitHub.

Git rerere to the rererescue cover image
Tools,  Tips

Git rerere to the rererescue

When working on a feature branch you are sometimes isolated by all the fun that happens on the develop and master branches. You are…

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…

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…

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…

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 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…

What's wrong with StackOverflow cover image
Opinions

What's wrong with StackOverflow

I have been a StackOverflow member for over 6 years now and as most developers nowadays, visit it a few times a day looking for possible…

Removing remote and local git tags cover image
Tips,  Tools

Removing remote and local git tags

When I first set up a teamcity build server I thought it would be a good idea to tag my git commits with the build number that teamcity…

Updating Cordova config.xml version using npm version cover image
Bash

Updating Cordova config.xml version using npm version

I like using npm scripts to do all my build and maintenance tasks. They are clear and can be reasoned with. I also like using the tooling…

NVM is hands down the best way to install nodejs cover image
Tools

NVM is hands down the best way to install nodejs

With NodeJS rapidly releasing newer version since the node community got back on its feet, it is now necessary to have an easy way to…

Removing sensitive data from github cover image
Tools,  Security,  Tips

Removing sensitive data from github

Today I accidentally pushed a commit containing an API key to github. It wasn’t an important API key, but could be. Reverting the commit…

Ionic2 VirtualScroll custom component workaround cover image
Ionic

Ionic2 VirtualScroll custom component workaround

Simply put virtual scroll is a performance related technique to have a scrollable list of a vast amounts of records that does not impact…

Adding highlight.js to Ghost cover image
Blogging

Adding highlight.js to Ghost

Markdown has an out of the box code formatting syntax using the single or triple ` symbol but it does not feature any syntax highlighting or…

Teamcity agent as Docker container cover image
Tools,  Docker

Teamcity agent as Docker container

Updating teamcity agents with external project dependencies (e.g. gulp cli or nodejs version) can be a pain, especially if you have many…

Listing global npm installed packages cover image
Tips,  Tools

Listing global npm installed packages

Now that yarn is all the hype, I am guessing a lot of people would want to reinstall their global packages using yarn. In order to find the…

Running Ghost inside docker behind nginx cover image
Tips,  Docker,  Blogging

Running Ghost inside docker behind nginx

##Let’s get us some segregation So you want to run Ghost inside docker so you don’t have to mess around with your perfectly running server…

Welcome to Ghost cover image
Docker

Welcome to Ghost

##Getting Started… again After such a long time that I have completely abandoned by blog, I decided I needed a fresh start, something to…

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…

Practical CSS3 tables with rounded corners - RedTeamDesign cover image
Web Design,  CSS

Practical CSS3 tables with rounded corners - RedTeamDesign

Searching as always for something unrelated, I came across an article by red-team-design.com that shows a great way to create beautiful HTML…

A picture is a thousand words. GreenShot cover image
Tools

A picture is a thousand words. GreenShot

As a developer, taking screenshots has been a recurrent need for me. Whether it’s to demonstrate something to a colleague, include it in a…

Annoying online salesrobot cover image
Online Shopping

Annoying online salesrobot

Going shopping on a Saturday morning, even though we don’t feel like it, can be a common occurrence. We open our closet and realize that…

Breaking promises...and asking santa for internet access. cover image
Blogging,  Personal

Breaking promises...and asking santa for internet access.

OK, I admit it… once again, I created a blog, wrote 2 posts, and left it for 6+ months! But today, times have changed, and I remembered its…

Google Apps forwarding cover image
Tips

Google Apps forwarding

If you’ve signed up for Google Apps, it may not be immediately apparent if email forwarders are supported; fortunately for everyone, they…

Android blogging cover image
Blogging

Android blogging

I just installed the WordPress application on my Android phone so that I can always have the blog with me, even if I become dedicated this…

Entity Framework Proxy GetType() mess cover image
.Net

Entity Framework Proxy GetType() mess

Working with the Entity Framework of .NET and having implemented a Repository Pattern with generics, I found myself in the position of…

Hello world cover image
Blogging

Hello world

👋 The default blog post I just installed…Hello World! I thought for a moment to delete it and start writing my own posts, but what more…