Renew let’s encrypt SSL via systemd

I’ll assume that you are using Ubuntu 16.04 and nginx on your server, as I’ll talk about installing Certbot and then how to setup the renew process.

To install Certbot (the simple way) you need to update your system and run the following commands:

After installing Certbot you will need to run the following command which will edit your nginx configuration files and do the magic

And to renew your certificate you should run the following command ( which is the command that we will automate )

Now that we have everything up and running we will need to configure Systemd to automate the renew process, the following is copied over from Sheogorath’s Blog post but modified a bit to work with Certbot instead of letsencrypt binary.

Continue reading

Filed under: Linux, Nginx

How to claim your Bitcoin cash

 

Alert! Please be careful and do more research before doing anything. You are doing those steps on own risk.
The fork is now finished, am not going to talk about it, if you need more info please search the internet.

Now for those who are using electrum this is what I have found about how you can claim your Free Bitcoin Cash, and am summarize it:

  1. Export your private keys.
  2. Move your fund to a new wallet.
  3. Wait until the fund is confirmed in the new wallet.
  4. Find a new wallet which supports Bitcoin Cash ( the options is listed here https://www.bitcoincash.org/ ).
  5. Import your keys.

Mostly this is the process, I didn’t try it so if you are going to do it, be careful and do more research.

If you have any advice you want to share or even an experience you would like to share, am more than happy to hear it, just contact me or comment below.

Filed under: Business, Other

Manually run your Bitbucket Pipelines

In the earlier post, we have talked about how to test your Laravel  application with Bitbucket Pipelines, but sometimes you may need to run the tests on specific commit and not after you push it, luckily for us Bitbucket Pipelines team has implemented the custom section in the ymal file, which helps us to do so.

It does not differ that much from what we already have, so adding the following to our file which we created in the earlier  post will enable us to manually run the pipeline:

Continue reading

Filed under: Code, docker, PHP

How to test your Laravel application with Bitbucket Pipelines

Bitbucket Pipelines is a CI service that you can use to test your application, yes it has its own limitation, but remember it is still new and hopefully it will get better. Today I had the chance to work with it, and trust me I was not planning to do so, am a happy Gitlab-ci user, but why not.

Each of these service has its pros and cons, and am not planning to go over it and list it, just do a small reading to find the differences, so today I’ll talk about how to test your Laravel Application with Bitbucket Pipelines and how you can get it fast.

Requirements:

For sure you need to know Laravel and how to write tests, this post will not talk about it, and it would be nice if you know a little bit of Docker.

Enabling Pipelines:

You will need to enable the pipelines from the Repository Settings as the following image

Continue reading

Filed under: Code, docker, Laravel, PHP

There is no shame of asking questions

So, as a programmer do you feel ashamed of asking questions? and let us say that you are new to programming, do you care about that?

The most important thing that I have found over the past few days is that newcomers to programming feel scared of how the community will react to them when you ask a question, a stupid question or even any question. So why we don’t make it simple, why we always laugh on each and every question we got?

Maybe am so lucky to not feel ashamed of asking questions, even if I found out the solution by myself or even I found out that the approach that I have taken was not correct, and sometimes the APPS that am using caused it. And this is something that happened to me in the past two days, I was pulling my hair from not being able to work with Lumen via PUT request, and I was angry talking about it, pinging everyone and even complained about it on twitter, to find out finally that Postman was not sending the correct header. and before anyone jumps and says that I should write tests, that’s what I was doing, I wrote tests and they failed too when I tried $this->pull function that comes with Lumen Test case class, which caused a lot of running around and trying it and even try to debug each and every call I made to the API, and I finally fixed it by creating an ajax call $this->ajax with the type PUT to the same API endpoint.

To find out later that the problem mostly comes from Postman, and for some magical reason, even my tests started to pass.

I even got some funny reactions from some people on the IRC, someone even started to argue with me that Laravel IRC channel is not for Lumen questions and that Lumen codebase is not related to Laravel .. etc, another one didn’t want to help because I didn’t answer his question, why am using Lumen, or I think it was what I was trying to do, even though I have answered his question, trying to use PUT requests to update database record.

Now let us imagine that a new programmer was asking those questions, and everyone mocked him, do you think he will feel confident? and he will keep asking questions and learn? if we got him to think that asking questions is a shame and you should already know the answers. It’s already a hard thing for a new programmer, they already have a hard time following us all, and try to figure out how they can learn new things, as each day we have a new thing. Trust me I do have a problem following up all those new trends.

So let’s make it easier and start to enhance our communication skills, no need to mock someone just because you are better than him, or because you are a core contributor to the project, we are all human. and based on what I know no one was ever born fully educated.

 

Filed under: Other, Personal