Welcome

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

OpenData.swiss\ CERN Open Data Portal

3D Models

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

Audio

Freesound.org\ OpenMusicArchive.org

Textures

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

 

Languages, Frameworks, Tools

.NET

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

Android

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

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

Docker

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)

Java

Properties file

Simple tutorial to write and read properties file

Javascript

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]

Misc

Javascript Bind

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

LaTeX

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

Markdown

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>)

Node.js

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

PowerShell

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.

Python

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

Regex

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.

Scala

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

IntelliJ

Plugins

.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

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

Other

Stuffs that needs to be ordered one time…

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

Git

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 !)

Aliases

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

GitHub

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

Licenses

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

Miscellaneous

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 :

Slack

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.