Dev tips, resources and tools that I came across one day and wanted to share. Updated multiple times a week. Feel free to make some suggestions !

As this page grows, I will probably change the sections or create separate, dedicated pages by themes.

See also the separate pages like Mac or VSCode.

Table of Contents


Resources/Assets (OpenData, Pictures, Audio, 3D Models…)

Unless specified, these are free resources.


OpenData.swiss\ CERN Open Data Portal

3D Models

Free3D : free models Archive3D : free models Turbosquid : paid and free models


Freesound.org\ OpenMusicArchive.org


Textures.com My-textures.com : Free textures for personal and commercial use Myfreetextures.com Texturegen.com Texturelib.com Plaintextures.com


Languages, Frameworks, Tools


Naming Guidelines\ Naming conventions of the .NET framework : Capitalization conventions, general naming conventions, names of classes, interfaces, type members etc.


Getting started

Android Jetpack: A set of libraries, tools and architectural guidance to help make it quick and easy to build Android apps.

Useful apps

AZ Screen Recorder\ Records the screen and the audio played on device.


CSS Diner : interactive learning of CSS selectors (how to select elements by their class, id, last element…). Flexible Box (Flexbox) MDN documentation


Dockerfile best practices

Docker cheat sheet

Understand the concept of Image and Layer About images, containers, and storage drivers

Remove all containers, images, volumes

Stop all running containers : docker stop $(docker ps -a -q)\ docker system prune -a --volumes (documentation)


Properties file

Simple tutorial to write and read properties file


Best practices

JavaScript - The Right Way : Best practices for JS. Coding style, tools, frameworks…\ Idiomatic.js : A guide to write consistent, idiomatic JavaScript.

Interesting readings

JavaScript: The Good Parts [Douglas Crockford]


Javascript Bind

Really nice explanation about ‘Bind’ on SO\ bind() function documentation on MDN


todonotes : a simple way to add todo notes to a document. They appear on the right margin by default.


CommonMark\ A strongly defined, highly compatible specification of Markdown. Now also used by GitHub in place of GFM. Markdowntutorial.com: interactive tutorial for learning Markdown.

Inserting multiple empty lines

This can be done by using the non-breaking space character : &nbsp;\ (Alternatively, you can use <br>)


List all packages that are installed as well as thier dependencies : npm list [-g] [--depth=0] See outdated packages : npm [-g] outdate


posh-git: a PowerShell module that integrates Git and PowerShell by providing Git status summary information that can be displayed in the PowerShell prompt.\ posh-git also provides tab completion support for common git commands, branch names, paths and more.


Enforce arguments to a specific list of values\ Generating list of lists


Regex Crossword : puzzle challenges from beginner to expert to learn and train Regex.

Regex101 : online regex editor and debugger. Allows to create, debug, test and have expressions explained for PHP, PCRE, Python, Golang and JavaScript.\ RegExr : Learn, build & test Regular Expressions.


Naming conventions

Learning and Training

Scala Exercices\ Alvin Alexander’s Scala tutorials\ Twitter’s Scala School\ S-99 : Ninety-nine Scala Problems

Various Q&A

Q: What is the difference between == and .equals in Scala ?\ A: You normally use ==, it routes to equals, except that it treats nulls properly. Reference equality (rarely used) is eq. (source, other answers are also interesting)

Q: List concatenation, ::: vs ++ ?\ A: Answer (three first answers)


IDEs, text editors



.ignore\ Plugin for .*ignore files (e.g.:  .gitignore). Files syntax highlight, coloring ignored files in the Project View, suggestion of default .gitignore file for new project, and other useful functionalities.

Unity3D (Game Engine)

Unity3d Best practices

Unity3D on Linux : Where to get the latest builds, release notes and known issues.

Special folder names in Assets folder\ Explain for example the special “Resources” folder.\ StreamingAssets folder : Any files placed in a folder called StreamingAssets (case-sensitive) in a Unity project will be copied verbatim to a particular folder on the target machine.[…]


VIM Adventures: a game to learn VIM

Visual Studio Code

=> See the dedicated VS Code section.


Prototyping/Designing tools

Balsamiq wireframing\ Ziteboard online collaborative whiteboard


Stuffs that needs to be ordered one time…

Pandoc.org : a universal document converter. Converts files from various markup format into another.


How to write a git commit message: A must-read article on good practices about writing useful, nice git commit messages. (Thanks @jcavat for sharing !)


Must have Git Aliases : nice samples of git aliases. Basic shortcuts are also listed at the end.

.gitignore templates

GitHub’s templates collection\ The .gitignore templates as offered in the GitHub.com interface when creating new repositories and files.

gitignore.io\ Just type the name of the IDE or programming language and get the corresponding .gitignore file.

Configure pull to use rebase

git config pull.rebase true # for current repository, add `--global` for all

Reduce the size of .git folder

git gc

This command remove unnecessary files and optimize the local repository. See git-gc manual page

Clone only one branch

git clone -b branch_name --single-branch https://domain.com/repo.git

Filenames capitalization

Changing capitalization of filenames in Git


DownGit: tired of cloning a whole repository when you just need some specific files/folders ? Just past the link to the resource you need and DownGit will make a .zip file of it, ready to download.\

Removing sensitive data from a repository

GitHub Pages

GitHub Pages examples Dr. Jekyll’s Themes: jekyll themes directory


Choose a license : simple explanations to help choosing the appropriate license for a project.


Emoji Cheat Sheet

Semantic Versioning

Microsoft REST API Guidelines

How to know if a string is a MD5 or a SHA1 checksum

It depends of the length : 128-bit sequence (32 hexadecimal digits) => possible MD5 hash, 160-bit (40 hex digits) sequence => possible SHA1 hash.

Interesting Open Source Repos

Microsoft Open Source : all the open-source repos from Microsoft. Personal selection :


Nice tools

Simple Poll

Better quality code tools

Code coverage, CI…

Coveralls: Shows which part of code aren’t covered by the test suite. Free for open source repos.

SysInternals Tools

SysInternals Live

Add tools to path and symbols variable

  • Open sysdm.cpl from start menu
  • Add the SysInternals tools location to PATH variable
  • Add a new system variable named _NT_SYMBOL_PATH with value: srv*C:\symbols*http://msdl.microsoft.com/download/symbols


psinfo -d: show also disks information.


pslist -s 60 -r 1: displays information about running processes, refreshed every second.

pslist -x win: displays CPU, thread and memory information about all processes with names beginning with win.


Tells who is logged on to a computer, locally or through resource shares.


psloglist application