Why I choose CLI over web interface

Yesterday I was working on a piece of code which needs to communicate with beanstalkd server, so I spent about an hour or so trying to figure out which framework to use, Lumen, Slim or even Laravel.

The code was not that much complicated, just getting some data and passing it to the queue server and processing it later. Nothing that much complicated, I even though to do it with plain PHP and not use any framework at all.

Long story short, I ended up creating a PHP CLI application, I mean literally I found it the best solution, so why did I choose to go with CLI instead of any regular web application and make it a web app or even a RESTFUL app.

I went with CLI for few reasons :

  1. There is no interaction from outside, so no one will communicate with it or even call it from outside the server
  2. It has only one purpose, getting the data and push them to the queue server to be processed later.
  3. needed it to be light, and simple.
  4. didnt need all this mambo jambo of setting up nginx, PHP & SSL .. etc

And the nice thing is that I was able to do it in less time than if I ever wanted to use a framework.


so my advice to you, if you are going to work with microservices try to check if you can do the job via CLI, if yes dont do it via web.



Alert! As usual, English is not my first language so if you found any linguistic error just let me know to fix. thanks in advanced.
Filed under: Business, Code, Linux, PHP

What am doing and Why am not blogging that much

Okay, so basically I have few Ideas which I want to work on, some have been already in my head just needed the time, some just got into my head, so for sure I’ll work with what I already have.

So far I have got the domains, I do know where am going to host them :cough: Scaleway :cough:, and I already contacted one of the companies and got their permission to use their logo. But now am in the phase where I need to design the website and do all the HTML before I move on to the main part, and to accomplish this am going to start learning Sketchapp, HTML part is not the issue, designing the site & having the nice layout is.

So my first project which am going to work on, is not going to be a startup nor has any business relation, but it will be technical and the plan is to release it for free but with the ability for anyone to donate if they like using bitcoin, and yes am ready to take e-money not regular money, for many reasons I don’t think this post is the one which I’ll talk about it.

Wish me luck everyone, and I hope to see you joining the project once I lunch it.

Filed under: Business, Nginx, Other, Video

How to configure PHPStorm 2017.1 to work with native Docker for mac

Today PHPStorm released the new version of 2017, with the number 2017.1

There are a lot of changes and updates, the main one which I want to talk about today is the fact that from now on no need to use socat as mentioned in my older post to talk to Docker on mac, now you can talk to it directly using the unix socket like this

Docker settings
Docker settings


Information! I Do advice you to read the old article as I go with more details about the topic
Filed under: Code, docker, PHP

How to test and auto deploy your laravel code from Gitlab

Few days ago, I was playing with the new Laravel 5.4 and Gitlab CI, and got to the point where I wanted the CI to test my code once I push it.

Using google lead me to this post on Laracasts, and it was the starting point for me, there you can get important files .gitlab-ci.yml and .gitlab-ci.sh  , basically the first one will define the stages for the testing and the second one will build the environment for your test.

So lets look at a short version of .gitlab-ci.yml

Continue reading

Filed under: Business, Code, docker, Laravel, Linux, MySQL, PHP

Why to use Vagrant or Docker for development?

Few years ago, I was introduced to Vagrant and for me it was the most elegant tools I ever used, at the end it ended up the most annoying argument I ever hear all the time ” It works on my computer “, at that my team at the company used to use MAMP (yes they all use MAC so we are all have the same OS but different versions), and when I did introduced Vagrant they really liked the idea, especially that it was so easy to have your environment up and running in just few hours (based on your internet connection and what tools you will have to download).

Now things got more better, so I created a Vagrant file which we all used and share, it was based on Vaprobash and everything went so simple after that, we never heard that annoying phrase anymore, we all now have the same environment (despite the fact that I always update & upgrade my installed image, and I cant guarantee that everyone else does that), and the benefit was way more than what we though, now if we are working for a Node.js project, you can just grab a Vagrant file or image for it, if we are working on PHP the choices are open and we have no limit.

Continue reading

Filed under: Code, docker, Other, PHP