There are so many tools that are available to help make the process of coding more efficient, less time consuming, and overall a better experience. There are a number of tools / configuration settings I utilize in my environment to help make my overall coding / scripting and product enhancing job more efficient.
Here is my top 5 list for must have product development tools when it comes to code / scripting as well as which platforms the tools work with:
Notepad ++ (Windows Only)
First off, I like Notepad++ because it really is one of the best text / script editor tools out there. You can change the background so it’s not white (and therefore is not harsh on the eyes) and you can change the color of the text as well. The program by nature will change the color of the words depending on what you’re writing in (bash, python, perl, batch, etc.).
Sublime Text (Mac and Windows)
More recently I found Sublime Text Editor, which does things similar to Notepad++ but is available on both Mac and Windows. Also, rather than having to configure the global settings to set a black / grey background, Sublime already has that setting pre-enabled.
Inno Script Studio (Windows)
Sometimes I like to bundle my scripts and application files into a simple to run .exe file, so I use the free and powerful program Inno Script Studio. This can run your scripts (I have run several batch and powershell scripts) in the background, hidden from the end user, after all the installation files are extracted to a tmp directory. You, as the scripter, can configure settings like license agreements, message box pop ups, and menus for which applications you wish to install. This is a must-have product development tool.
Cygwin is great if you do stuff with Linux systems, bash scripts, Python, etc. It’s quite robust and makes my job easier. Sometimes when I’m in the middle of furthering the production of a script, task, or web application, I need to quickly ssh into another host. Cygwin makes this easy by allowing me to drop a shortcut to the app into my c:\windows\system32 folder. I name the shortcut, “ssh” and modify the target to be: C:\cygwin\bin\mintty.exe /bin/ssh. This automatically calls the ssh part of Cygwin so when I’m in a rush, I can launch run by hitting windows key + r, type ssh and then the host. Example: ssh user@server. All I have to do is hit enter and Cygwin loads as the ssh session begins.
Windows System32 folder on Windows Client
I briefly mentioned how I use the system32 folder to further product development and increase my efficiency, but there are a few other shortcuts I like to make. For one, I made a shortcut for all of the remote systems I frequently RDP to. To do that, I just made a copy of the shortcut for mstsc.exe, renamed it the name of the system I frequently connect to and then I modify the target to something like this: C:\Windows\System32\mstsc.exe /v:ccomputer /admin /f.
Just to recap, the above is a short list and brief explanation of the product development tools I use on a regular basis to increase my efficiency as I develop various solutions and processes for products in the workplace. Sound off in the comments if you happen to use the same tools, or if there is one others or myself should know about and use, too!
Systems Integration Engineer