/images/avatar.png

Run NodeJS anywhere using Docker and Nexe

A project I’m working on currently requires me to build a server side agent daemon. Due to the nature of the agent, a live connection requires to be open to the managing node server, using websockets. PHP is not very well suited to this kind of workload, so the obvious choice was to develop it using NodeJS. I will build a Docker image containing the application, as well as provide a standalone binary for people who don’t have Docker, but also don’t want the hassle of installing NodeJS.

Testing PHP code using Docker

Setting up a testing environment can be a rewarding pursuit - if you do your testing before you deploy code, your tests can signal errors and stop you from deploying a critical mistake to production. Testing requires various software, depending on your development process. One of the most common php testing frameworks is phpunit. Let’s see how we can set up a Docker driven test environment.

Getting started with docker

Docker is a popular way of packaging your applications, or micro services into container images, which can be copied to any running docker server. Docker uses a linux kernel feature - namespacing - which allows it to run applications in isolation away from the operating system, much like virtual machines, avoiding common pitfalls of virtualization like CPU and RAM allocation. Each docker container is much like any standalone application, except for the fact that it’s isolated away from the host OS.

CSS Resets are broken

It is my opinion that CSS resets are broken. My educated, argumented, and I’m sure, valid opinion. You might share it, you might agree, or you might not agree - at the end of the day, it just depends on what your use case is. Let me tell you why CSS resets today are broken and why we need a new deal.

One programmer is not like the other

I consider myself a problem solver. You might have an image of what a “problem” is in the programming world, but I should be clear - most often than not, the problem is inheriting a project from another programmer, or using one of such projects as a dependency. In the extreme, you realize that you are solving problems created by other programmers and find that you tend to dislike the whole bunch, just because you don’t agree on the definition of problem.

Setting up a remote digital workspace

In a post by Ivan Voras on TopTal, he describes his remote digital workplace.

From it, I can only understand that he is a freelancer, which didn’t grow out of start-up garage mentality. Amazon, Google and Apple started in a garage, but it was a different time. And what people seem to forget - they were working, they weren’t setting up a work environment. Today you can lease a server and set it up in minutes and start working.