Let's talk about code

Hi, I’m Michiel. I’m a professional programmer for more than a decade. I work mostly in PHP and javascript, mainly in Magento and Laravel. I write testable code and love to give testing workshops to you and your colleagues. You can hire me for freelance/consulting jobs.

Contact me Hire me


Magento, ngrok, Quick Tip, Tooling

Share your local Magento environment with the world

Sometimes you need to share your local Magento environment with the world. This may be to share it with someone, to test it on a real phone, or to test some kinds of api response for example.
Composer, Laravel, Magento, Valet Plus+, Quick Tip, Tooling

Install Magento 2 with one command (Valet+ only)

For my daily work as a freelancer i tend to use a lot of disposable environments: I use them to check a bug in that specific version for example, and them throw them away. Setting up Magento can be a lengthy process, but with this one liner i can bring it down to ~10 minutes, depending on you internet & cpu speed. It installs the required Magento version including sample data.
Database, Tooling

TablePlus review

I've been using Sequel Pro for a few years for all my database needs. But lately my relation with Sequel Pro got troubled. This is due to a nasty bug in the latest version: If you close a tab, the program crashes. You can download a nightly build, but i still had weird problems.
Composer, Laravel, Magento, Magento 2, Open source, Symfony

Introducing Shorty

In my day to day life i tend to switch between Magento, Laravel and Symfony on a regular basis. Each system has it's pros and cons, but Magento has one pro over the other two: If you are using Magerun you can run console commands from any directory inside your project. It always bugged me that there isn't such a thing for Laravel, Symfony or other frameworks. That's why i created Shorty
Magento 2, Quick Tip, Tooling

My Magento 2 workflow

When people share their workflow/tools i love to read them as it gives me the option to improve mine. I think i currently have a pretty decent workflow which allows me to develop faster than ever. I wanted to share this flow with you so everyone can use it.
Direct Admin, NGINX, Quick Tip

Redirect a domain to https with nginx in Direct Admin

I always forget how to redirect a domain from http -> https when i'm in Direct Admin.
Freelancing, Laravel, Magento

What move to make next on my freelance career?

In 2015 i started my company, Control Alt Delete. As a developer, i was always building websites for friends and family. As this started to get out of hand, i decided to make it official and start a company. I did this next to my fulltime job, but eventually started doing this for 2 days a week, and in 2018, i decided to go fulltime.
Continuous Deployment, Quick Tip

Creating SSH keys using PHP

So in my day to day development i like to use continues deployment for every project where i can. Continues deployment means that everytime i push a commit to master the latest version of master will automatically be deployed to my production environment. This makes my development cycle way faster, and it makes sure that it don't have any basic problems, like handling untracked changes on the production. It just works.
Laravel, Magento

Accessing Magento data from Laravel

Recently I was in the process of migrating a Magento webshop to a SaaS webshop solution. Normally I would access the product and other data by using the API. In this case this was a problem as there was a lot of data that I was not able to access. I needed the output of blocks and some custom modules which where not exposed to the API.
Magento 2, Testing

Swapping instances in the object manager

Coming up next week is MageTestFest. For the last ~2 years I have been doing a lot with testing and Magento, and I think this is awesome. In that spirit I decided to write this blogpost down.