Dev Tools S01E01 : Z – Jump around

EDIT : The install method on Zsh + Oh my ZSH updated to prevent z_dirs:2: no such file or directory: /home/$USER/.z . Thanks to GAD3R for his reply to my answer here.

Howdy people,

So I’m starting this new blog post series called Dev Tools on which i’ll be going through some tools that I find useful and that can make developer’s life easier. This first episode is going to be about a command line tool called Z – Jump around  or just z. I’m not sure but the name may refer to a bunny’s leg which is shaped as a Z .

A scared bunny escaping !

This command line tool records every directory accessed then keeps a list of the most recent/frequent (“frecent” is the word used by its creator) paths you’ve been on. The recorded paths can then be accessed by a relatively short command line. Let’s take a look on how it works.

Cool right ? And if you try to run it without any parameter, you’ll get the list of recorded directories, every record has a rank that determines its frequency.

For more advanced usage, you can check the README file.

How to install

Download the script wget

Using bash ?

  • Run printf "\n\n#initialize Z ( \n. ~/ \n\n" >> .bashrc
  • Reload the shell source ~/.bashrc

Using zsh (without Oh My Zsh) ?

  • run printf "\n\n#initialize Z ( \n. ~/ \n\n" >> .zshrc
  • Reload the shell source ~/.zshrc

Using zsh + Oh My Zsh ?

This is my personal favourite setup ! (learn how to get it up and running here).

All you need to do is add z to the plugins list in ~/.zshrc.


Download the z script to your home directory:

wget -O ~/.z


source ~/.zshrc

That’s it 🙂 hope this will make your life a bit easier and see you soon for the second episode.


Loosing 300 GB of Data, the feedback

It’s been a while since I wrote something in this blog. There are a lot of ideas and subjects to talk about but too lazy busy to get them here. Until something super duper freaking not cool happened last week: losing no less than 300GB of data accumulated over the last ten years !

10 years of project files, music, pictures, videos and so on gone into the void. I’ve tried several data recovery software no matter how robust they’re, it’s still very hard to recover the exact same scale.

I mean, who’s going to wait this long :

Photorec output.

To finally get some bunch of messed up files with no extensions in most of the time.

How to prevent disaster ?

Do not use Microsoft’s Media Creation Tool

That’s actually how I screwed my external HDD up while trying to make it bootable to get a fresh windows 10 install. This piece of sh.. software isn’t smart enough to create an isolated partition when the storage media is already juiced up with data. It just wipes up every single byte off…

The cloud is your friend

At least for important files (pictures, videos, scanned patchwork,…) and do not worry if you’re a private life maniac, encrypt them before with something like veracrypt or similar.If you’re using Google Photos to backup your pictures, I suggest you to pick “High quality (free unlimited storage)” in the upload size option of the app as below. This will let you have an unlimited storage for pictures with a small drop in quality of nothing at all.


The upload size option in Google Photos Android app.

Upload size in the “Backup and Synch from Google” Windows app.

Developer ?

Use VCS as much as possible if you work with plain text files. Git is the most popular VCS out there. Many web based services use Git : Github, Gitlab, Bitbucket… Any will do 🙂

I guess it’s all I can say about how to not destroy your virtual life 🙂 Feel free to suggest any other tips I didn’t mention in this blog post.

Cheers !


[FR] Livebox 3 (et 4 ?) + BitDefender

Hello folks,

Si comme moi, vous êtes à la fois abonné Orange/Sosh et utilisateur de l’antivirus BitDefender (version à l’heure ou j’écris ces quelques lignes), vous avez sans doute fait face à un problème de connexion au panel de votre Box. En effet, en cliquant sur le bouton Connexion après avoir saisi votre mot de passe… il ne se passe rien…

Pas de bol… Bon, en regardant un peu ce qui se passe côté requêtes (via F12 -> onglet Network sous Chrome), on s’aperçoit qu’une XHR Request est envoyée. A noter aussi le mot de passe qui est passé en claire dans l’URL
(ce qui explique le blocage par l’antivirus) . Well done Orange, well done.

Si on jette un coup d’œil à la réponse de cette même requête…

Surprise! On tombe sur une page affirmant le blocage de la requête par Bitdefender, page qui ne s’affiche pas au moment du clique sur le bouton connexion probablement parce qu’on est sur de l’applicatif qui ne gère pas convenablement les ressources HTML avec XHR (cf. doc Mozilla ?).

Bref, peu importe la raison, pour remédier à cela il faut tous simplement ajouter une exception via la GUI Bitdefender.

proud power GIF

Merci à Zaki pour son assistance sur la partie réseau 🙂 


Get paid jetbrains products for free (legally!)


One of my all time favourite IDEs out there is IntelliJ (and any IDE based on it such as WebStorm and PhpStorm). The only problem with these products is that they are not free, at least for the ultimate version.

When I was a student, I had access to the free educational licence. But once I graduated from university (yay!) and joined a company as a software engineer, I had two option ; pay for a monthly/yearly subscription or find a workaround to still get it for free. That’s where I remembered something from a screencasts by Jeffrey Way I’ve watched a while ago “How to be awesome in phpstorm”, EAP.

Every JetBrains’ EAP product

What is Early Access Program?

We at JetBrains believe that making tools for developers should greatly involve listening to developers. Our Early Access Program lets development community closely participate in discussions devoted to our products and influence development planning, from early stages onwards. Early Access Program allows you to try pre-release versions of our software to evaluate features that will be added to the next release.

Basically, you can see the EAP as more or less of a “stable” pre-release of the ultimate version.