In this article, I will share with you some of the tools that I use regularly to increase my productivity and facilitate my life.
-
Notepad++
This is my favorite text editor. It supports syntax highlighting for all popular programming and markup languages. Its multi-tabbed interface allows for easy switching between open documents. It has a very flexible and powerful ‘search and replace’ dialog box that can search for text in the current document, all open documents, or the files on a hard disk. Its functionality can be extended by thousands of available plugins (Beautifiers, XSLT executors, Text comparators, etc..). It has powerful editing commands that allow performing common tasks such as getting rid of all the empty lines or removing consecutive duplicate lines. Lastly, it allows recording macros to facilitate the execution of repetitive tasks.
2. Beyond Compare
This is my favorite tool for data comparison. It can compare files and directories both locally and remotely on ftp servers and cloud storage. It supports plain text, CSV, Excel, and other binary formats. It is fast, reliable, easy to use, and allows a lot of flexibility. The free version should be enough for most users, and the license is surprisingly cheap.
3. Java Decompilers
Decompilers are tools that attempt to generate the source code from executable code. Java jars can be decompiled easily using programs that are freely available on the internet. An increasing number of online decompilers is also available where you can upload a jar file, and then download its source code. Decompiling can be helpful when investigating problems in a third-party software. The decompiled code lets us look inside the source code and increases our chances of identifying the root cause of bugs.
Two common Java decompilers include:
JD Decompiler is a freely downloadable decompiler for the Java programming language. It is available as a GUI tool as well as plugins for the Eclipse and IntelliJ IDEA Java IDEs.
Decompilers Online is a cloud Java decompiler. Simply upload a jar or class file to decompile it into Java source code. This service has multiple backends and supports modern Java 14 syntax features.
4. Online IDEs
These websites allow you to write code and run it from inside your browser. This can be extremely practical and timesaving since you don’t need to install IDEs or bother setting up projects.
A quick search on Google often returns several good online IDEs for a given language. Nonetheless, the below ones are extremely popular:
- Ideone.com, CodeChef, and Repl.it are popular versatile online IDEs that support most popular programming languages.
- JsFiddle is a more web-oriented IDE that allows testing html, CSS, and JavaScript code online in a very user-friendly environment.
5. Miscellaneous Online Tools
An increasing number of tools that allow doing especially useful operations online can be found through a quick web search. Several options include:
- Formatters and beautifiers: They allow formatting language code in a beautiful and easy to read way.
- Base64 decoders and encoders that can turn binary data into text (encode) or text into binary (decode).
- Online REST API testing websites that are useful for PHP and mobile software developers.
- CSV file generators. They allow to generate a random CSV file.
- Regular expressions testing websites that allow fine-tuning and testing a regular expression online. Many websites allow specifying the regex engine to be used.
- Converters between XML and JSON formats.
- Converters between Microsoft Excel tables, HTML tables, and CSV tables.
- Web optical character recognition (OCR) services allow converting scanned text images into Microsoft Word and PDF text documents.
6. List Operations
Quite often I must compare the behavior of 2 systems. Most of the time I end up with 2 lists, where I need to get their intersection, but also the elements that are in one of lists without the other one. These operations can be done in Excel, but they are time-consuming. Online options are much more versatile. My website provides a dedicated online tool that is much easier and convenient to use.
Do you have any tools that facilitate your life? feel free to share them with me either by email.