Programming
RSSA nice collection of posts I wrote about software engineer / Site Reliability Engineering etc, etc.
-
Markdown is clearly programmers preferred (or at least most used) text format. By moving to Emacs, I got a bit curious on the documentation format used by the majority of the packages. This format is org. I read a bit about it and was blown away by what people were able to do with it. Figure 1: org-mode’s logo Why org-mode? So you might wonder, why bother creating a new markup / text format.
-
Moving from Vim to Spacemacs
It’s been five years I am now in the “Software Engineering” industry and I’ve been playing with few editors. I have to admit it became quite a meme around me as I love playing around with the different type there’s out there. VS Code, Vim, Emacs, IntelliJ, PyCharm & others. Seriously, it’s time consuming. As you might have guessed, this post will be about my transition from 4 years (yeah I was one year on PyCharm even though the technical beast sitting next to me was praising the benefits of Vim every single day) of using Vim intensively to use Spacemacs for literally everything. -
What is a NAT Gateway?
Looking into designing platform and new architectures can be quite intimidating, especially when it’s your first time. Today I want to speak about the NAT Gateways, what is it? How it works? When to use it, etc… What does even NAT mean? So first things first, what is actually a NAT?? If we listen to papy wikipedia: Network address translation (NAT) is a method of remapping one IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. -
Why Kubernetes nodes change of name when using AWS
At work, I got a terrible issue with adding the AWS support to the OpenShift cluster. I really got confused as well as I was explicitly setting the nodename for this server. But whatever value I was putting in the config, it was never working, it always registered the node as the specific instance name that amazon would have given. But why??? Let’s have a look. The homicide A long time ago, a nice little instance in AWS called node00. -
Introduction to Terraform
With the massive adoption of the “Cloud”, different tools are borned to simplificate dev / sys. admins lifes. These tools created a new way of dealing with infra, the Infrastructure as Code aka IaC. To be honest, the cloud is a nice word but let’s face it, you just run vms on someone else servers. The big plus to use those is that with a simple API call you can provide, provision and destroy infrastructure at your glance. -
Django debug toolbar not displayed using docker-compose
Hi all, after few minutes of frustration I finally got the django debug toolbar showing in my django apps running in docker managed by docker-compose. This issue happened to me quite a few times now and it really pisses me off to not know why this is happening. And that was a really simple issue… The Issue If you started to dockerize your django app, I am sure that you encountered some weird difficulties that you managed to fix after few google requests. -
Iptables and Docker
Hey! I was messing around my production server and saw that all my docker containers were opening ports to the open world! Scary stuff, here’s how to fix that. The fix First time ever I will redirect you to an article but all the content you need (and I needed) is there https://fralef.me/docker-and-iptables.html. Sur ce codez bien, ciao! -
[Archlinux] How to fix "gcc: removing gcc-libs breaks dependency 'gcc-libs=7.1.1-2'"
Hi everyone, I was crossing this issue this morning so let’s fix it! First of all this issue is appearing because I enabled the multilib support in my arch config (https://wiki.archlinux.org/index.php/multilib). To fix this problem you need to have all your gcc packages using multilib or none of them, not both. First let’s find out which packages you need to remove/install with the multilib support. Run: 1 sudo pacman -Qs gcc You should have an output like: -
How to dockerize an application?
As you could have seen in the previous post, docker is quite handy to make your application running EVERYWHERE. So now the problem you can have is, how do you actually dockerize your application. I will give you a guideline, feel free to contribute to it, I will surely be wrong or missing something. Define the requirements of your application It can sound a bit a cheap advice, but before to start everything you need to identify and isolate what your application needs. -
Introduction to Docker
Wow, big subject here. Docker. So what’s docker? Docker will help you to deploy applications without worrying about the installation or the host you want to run it on. To be brief Docker will help you to encapsulate softwares inside lightweight virtual machines. Installation It’s pretty straight forward. On archlinux: sudo pacman -S docker For ubuntu, it is a bit harder: 1 2 3 4 5 6 7 8 9 10 11 sudo apt-get install apt-transport-https \ ca-certificates curl -fsSL https://yum. -
How to automatically push your Ionic app changes to Google Play
Hi everyone, today we’ll see how to automatize every new functionality that we’ll build in our little ionic app to the Google Play. Server configuration Firstly, we’ll install all the dependencies on the server where’s Jenkins. Ionic installation sudo npm install -g ionic@beta Here I use the beta version of ionic (to use angular 2 =D), so you can remove the @beta if you’re on a v1 project. Cordova installation sudo npm install -g cordova JDK installation Here, it will depend on your linux distribution. -
Create easily a REST API with the django rest framework!
Hi! Are you near to create a new API, and you don’t know which framework to use? If this API will be added to a django project, the django rest framework will be perfect to create this API with few lines of code! What’s a REST API? The REST architecture will allow us to think first of an API describing the resources used in our django application. The main point of using a REST API is that we’ll have a separation between the client and the server. -
Encrypt your website with Let's encrypt!
Hi all ! Today, we’ll see how to change our http server to an https one without paying one fucking cent thanks to let’s encrypt which is now officially in public beta. We will create our certificate and use them with nginx ! Why HTTPS ? First of all, we could ask why HTTPS ? That will change anything for users ? Hmm, good question. I heard a rumor that http website are not as well indexed in Google (bullshit) , a rumor seems to say that firefox is going to blacklist all website without HTTPS, etc… Let them talk and let focus on what matters, understanding how it works. -
Introduction à Django - partie 2
(Re)Bonjour ! Si vous êtes là, c’est que vous êtes restés sur votre faim pendant ce quickie de 15 minutes de django à Codeurs en Seine, sinon, pour les personnes s’aventurant par hasard sur cet article, je vous invite à passer votre chemin (le temps que la vidéo soit disponible, s’il y en a). On va donc voir ce que j’ai ajouté à l’application que nous avons codé pour obtenir le résultat de ces2015-django -
Spray your web application with Gatling !
Hi everyone, there’s a long time ! Today, we’ll see the performance testing framework gatling which I could use during my intership of end of studies and I’ll show you how easy to use it is! Introduction Why Gatling ? DSL to write scenarios High performance HTML Report Community reactive Graphite integration And for lazy people, there’s a tool to create scenarios from your utilization of the web application using your web browser Case study To optimize your performances tests, you’ll need to detect each use case of your webapp. -
Why did I migrate all my projects to GitLab?
Since the popularization of git for IT projects, it became the most used tool for your project. With this phenomen, new services has been created as GitHub and Bitbucket (for the most known). The first one is focused on the social aspect and the second one is based on his privatisation of the projects (I’m only speaking about free offers). One way the most secure to keep its code was to install a proper git server managed with GitLab or GitBlit. -
Continuous integration for django with jenkins
Yo ! Today, we’ll see how to build a django application with a continuous integration system. With this installation maybe you will loose few times, but you will save time on every deployment of the application, and we know how it can be frustrating to deploy something. So you’ll never have this feeling again because all will be automatized, you’ll just need to do a little click and let jenkins rocks :). -
DRUMS - My sweet regrets
Hi everyone, today I will speak about a project which I loved doing during the last six weeks, DRUMS. To give you a quick idea of what’s about this project, the tag page of DRUMS can help you to know more about it ! Now you’ve learned more about DRUMS, I will add the context to it. I was in the project management team, and I had a title. I was the integrator. -
Git hooks
Hey everyone ! Today, I will introduce you what’s git hooks. In this tutorial, you’ll need to have some knowledge of git to understand well what we are doing. If it’s the first time you heard this word, I will like to know where you’ve been living ! But seriously, if you want to learn more about git, I recommend you to read this e-book After this few weeks of reading, let’s start serious stuff. -
How to create an (awesome) 404 page in Django
Hi everyone, today we will speak about the 404 page in Django. The documentation is quite lazy about this subject so I wanted to make this point a little bit more understandable. I have to admit, I look for advices for a long time about it without really find what I needed. Let’s see what I have found during this research. To create a 404 page, many options is possible : -
How to make a language router with Go?
If you asked yourself the same question as me “How could I serve my static files for different languages ?", so this post is exactly for you ! Let’s see how I did. Which file tree should we choose ? It was the first question I asked myself. A lot of solution is possible to solve this problem. In my side, I choosed this file tree: en, fr, stylesheets, js and img.