As I'm running under Windows, some of the software below may only be available for that operating system.
- File management
- Writing code
- Documentation
- Database management
- Images
- Browsers
- Others
ποΈ 7-Zip is a file archiver with a high compression ratio.
The FTP client of my choice.
WinSCP supports automation!
Also take a look to my WinSCP repository.
XYplorer is a file manager for Windows. It features tabbed browsing, a powerful file search, a versatile preview, a highly customizable interface, optional dual pane, and a large array of unique ways to efficiently automate frequently recurring tasks. Itβs fast, light, and portable.
A million times better than the old, basic Windows Explorer.
πΆ XYplorer is a freemium software, you can use it for free but not all features will be available. On my own, I got a lifetime license in 2015.
Also take a look to my XYplorer repository.
πΆ Paid software.
Code quality, linter, formatting tools, ... I'm using.
If you don't have time to read everything, the two BEST TOOLS are phpqa
and rector
.
Lint for Dockerfile (.dockerfile
) in a Docker image.
Idea is to validate the syntax your your dockerfile and notify you about problems and where you can do better.
Linter for markdown files. Thanks to the --fix
command line arguments, markdownlint will fixes errors for you like removing trailing spaces at the end of lines.
Will warn about problems like using invalid hierarchy (you use a H3
just before a H2
).
Using Docker: docker run -v $PWD:/workdir davidanson/markdownlint-cli2 README.md
(see https://github.com/DavidAnson/markdownlint-cli2#container-image)
PHP Static Code Analyzer. To use in conjunction with PHPSTAN.
The easiest way to use it is using https://github.com/jakzal/phpqa.
The PHP Coding Standards Fixer (PHP CS Fixer) tool fixes your code to follow standards; whether you want to follow PHP coding standards as defined in the PSR-1, PSR-2, ...
Greatly increase code quality.
The easiest way to use it is using https://github.com/jakzal/phpqa.
Copy/Paste detector will scan and highlight (consecutive) lines of code that have been duplicated. So if you have copied/pasted a function in two or three places, phpcpd will tell you.
If you have a block of strictly identical code in several places, it will tell you that too (and it's up to you, for example, to create a reusable function).
The easiest way to use it is using https://github.com/jakzal/phpqa.
PHP MD is a tool to check for unused variables, dead or duplicate code (Don't repeat yourself), ...
The easiest way to use it is using https://github.com/jakzal/phpqa.
PHPMND will scan your code and search for number. For instance:
if (mb_strlen($password) > 7) {
throw new InvalidArgumentException("password");
}
and suggest to define a constant instead of hard-coding the number. With a constant, the code will immediately be more readable.
The easiest way to use it is using https://github.com/jakzal/phpqa.
Docker image that provides static analysis tools for PHP.
Using the single PHPQA image, you'll be able to run a lot of tools like phan
, php_codesniffer
, php-cs-fixer
, phpcpd
, phpmd
, phpmnd
, phpstan
and much more.
Just install PHPQA and specify the tool you want to run on the command line like f.i. docker run -it --rm -v "$(pwd):/project" -v "$(pwd)/tmp-phpqa:/tmp" -w /project jakzal/phpqa phpcs
and followed by the correct arguments.
Static code analyzer for PHP; scan the code without running it and discovered potentials problems and give powerful hints to improve the code quality and stability.
To use in conjunction with PHAN.
The easiest way to use it is using https://github.com/jakzal/phpqa.
PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.
Thanks to phpcbf
, PHP_CodeSniffer will reformat the code to respect standards (by default PSR2
rules) and fix some formatting errors for you.
Then phpcs
will warn about other violations you'll need to fix manually.
The easiest way to use it is using https://github.com/jakzal/phpqa.
Another PHP static code analysis. A very good complement to the others ones.
The easiest way to use it is using https://github.com/jakzal/phpqa.
More than a tool, a coach.
Rector will analyze your code (static analysis) and will suggest a lot of improvements like using new syntax : you've always use $customers = array();
; did you know you can type; since PHP 7 $customers = [];
.
Rector will give you a lot of suggestions to improve the quality of your code and to help you to become a better PHP developer. If you're coding for f.i. PHP 7.4, Rector will detect your "old" way of doing things and will tell "hey guy, did you know that ..." and inform you of the new features of the langage.
Rector is a refactoring tool and also make a lot of automated changes to help you to f.i. convert your code from PHP 5.3 to PHP 7.4 f.i.
It's an excellent tool with an amazing support : the developer answer very fast (see Issues).
The easiest way to use it is using https://github.com/jakzal/phpqa.
Linter for Bash (.sh
) scripts. Dockerized version for https://www.shellcheck.net/.
Dockerized version for a shell formater i.e. a reformat tool for your Bash (.sh
) scripts.
SonarQube is an open source platform for continuous inspection of code quality.
Also think to install SonarLint, the addon for Visual Studio Code.
To install and manage PHP dependencies.
Also take a look to my Composer tips repository.
Custom UI Editor for writing ribbons for MS Excel applications.
Download: https://bettersolutions.com/vba/ribbon/custom-ui-editor-download.htm
Thanks to Custom UI Editor
you'll be able to create ribbon for your MS Office application f.i. for Excel.
See my two repositories: https://github.com/cavo789/excel_ribbon and https://github.com/cavo789/vba_excel_RibbonDropdown.
π How to say? Docker is an amazing tool allowing you to download a software (embebed in a single file called image
) and to run it using a single docker run
command. Nothing to install, nothing to configure, ... just to read how to use the image.
Docker is a wonderful software working both on Mac, Windows and Linux. A must have for any developpers.
And if you're a developper, you can create your own image and publish it on https://hub.docker.com (public or private).
Is it useful to explain what GIT is?
See also my tips repo: https://github.com/cavo789/git_tips.
Git quick statistics is a simple and efficient way to access various statistics in git repository.
Recall what you did on the last working day. Psst! or be nosy and find what someone else in your team did ;-)
Show uncommitted, untracked and unpushed changes for multiple Git repos.
GitHub to store all my public and private repositories. Also for the documentation of tools as wiki
.
A must-have to replace the very basic Notepad.
To install javascript tools and libraries.
To create regular expressions and immediately test them.
Bash scripts (.sh
) Automated Testing System.
Thanks to Bats
you'll be able to write unit tests for your bash scripts.
PHP testing framework for PHP.
Visual Studio Code as my main IDE.
Also take a look to my Visual Studio Code tips repository.
PHO linter for SonarQube.
Tabnine auto-completer for vscode.
A billion better than the old DOS
prompt or Powershell IDE
: using Windows Terminal
, you'll have one window where you'll be able to start DOS, Powershell, Ubuntu, Debian, a SSH interface and much more. One window means that each prompt will have his own tab.
Windows Terminal support customization like f.i. themes.
See also my tips repo: https://github.com/cavo789/windows_terminal_tips.
To compare two files and detect differences. Works for folders too.
I also use https://www.diffchecker.com/ when I didn't have Winmerge on my computer since it's an online tool here.
Working under Windows, as from Windows 10 you can enable Windows Subsystem for Linux
and then install a Linux distribution (of your choice) like Debian
or Ubuntu
.
The installation process is even simplier with Windows 11.
You'll then be able to start your computer on Windows and, simply, start Linux using a prompt (see Windows Terminal
).
On my side, since I'm coding most of the time with PHP and Bash, I turn on my computer on Windows, start the terminal, open a Linux prompt (which is my default prompt) and run Visual Studio Code from the prompt (just by typing code .
on the prompt).
It's just like I was on a Linux machine but no, I'm on my Windows, familial computer. It's just crazy, really!
See also my tips repo: https://github.com/cavo789/oh-my-zsh-tips.
Fish-like autosuggestions for zsh.
Oh My Zsh is an open source, community-driven framework for managing your zsh configuration.
Sounds boring. Let's try again.
Oh My Zsh will not make you a 10x developer...but you may feel like one.
The best theme for ZSH I think.
I don't use anymore Word or PowerPoint for my documentations, just a code editor (Visual Studio Code
most of time) to write markdown files (.md
).
Most of time, I'm writing multiples small .md
files and I use a tool to merge them into one big file. That file is then used by f.i. pandoc for the docx
generation.
Also take a look to markdown-tips repository.
Mermaid and Mermaid.cli to write flow charts, diagrams, sequences, ... just using words.
Mermaid.cli as an automation tool to convert .mmd
files (simple text files) to a .png
so I can directly include images in my generated documentation.
Pandoc to convert markdown files to Word (.docx
) or PDF documents.
Also take a look to my Pandoc repository.
Very nice PDF template to be used with Pandoc for professional output.
Needed by Pandoc to generate correct PDF output.
Very nice HTML5 slideshow framework. Write your content in Markdown and run it as a beautiful HTML presentation.
Database management in a single PHP file, as a Docker image.
You'll be able to access to PostgreSQL or MySQL databases with adminer.
MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more. MySQL Workbench is available on Windows, Linux and Mac OS X.
This is a software to install locally. See Adminer and pgAdmin for web based interfaces.
pgAdmin is a web based administration tool for a PostgreSQL database (can't be used with MySQL).
https://www.canva.com/ to create banner, cards, posters, ...
I use it to create the banner above each of my repositories as well as this one. Go to the top of the page to see it.
When I need to publish temporarily an image on internet before, f.i., using it in a forum or if I need to send it by email (useful for animated gif f.i. not supported in emails).
Paint.NET is image and photo editing software for PCs that run Windows.
Image and Video screen capture.
Screen, webcam and sketchboard recorder with an integrated editor.
Make it really easy to create animated gifs.
Online interface, nothing to install, to optimize images
My main browser with a few addons.
https://chrome.google.com/webstore/detail/adblock-plus-free-ad-bloc/cfhdojbkjhnklbpkdaibdccddilifddb
To remove as much as possible ads and banners on pages.
https://chrome.google.com/webstore/detail/google-analytics-opt-out/fllaojicojecljbmefodhfapmkghcbnh
Tells Google to not track my surf session.
https://chrome.google.com/webstore/detail/json-formatter/cfaihfocdnniaholfnjcemnfhcjchohb
Nicely display json content.
Also take a look to my JSONLint repository.
This is an extension for Chrome: All-in-one bookmark manager.
Using raindrop as an extension, it's easy to keep track of an URL and save it using categories for later.
https://chrome.google.com/webstore/detail/stylish-custom-themes-for/fjnbnpbmkenffdnngjfgmeleoegfcffe
When there is a real need to highlight which is the production web site, I use Stylish to inject CSS in the page to f.i. set the background color of the page to yellow (or whatever) and inject a pre-body content prefix "PRODUCTION" f.i.
When I feel like laughing and remember how mediocre that software is π.
πΈ Dictionaries and various proofreaders (spelling, grammar, ...)
πΆ Paid software.
π Previously I was using LastPass but moved away to Bitwarden which is totally free (no limitation at all like LastPass).
π Online translation. Give really nice results.
π§ To listen music while coding.