The tools I use — Web Dev edition

Back in 2012 I wrote an article about the tools I commonly use as a IT Professional, however these days I do far less formal IT work and more web development, especially backend development work. Here is an updated list of tools that I currently use:

Here are some of my favorite applications I have installed on my computer, and often install right away, in no particular order:

Web Development Specific Tools:

  1. JetBrains Suite of IDE — including Intellij IDE and PHPStorm IDE: This suite of commercial Integrated Development Environment (IDE) make developing software so much faster and easier, along with built in formatting standardization, code completion, refactoring and code checking. It includes tools that will connect and understand your database, push code to GIT and deploy code to servers. A long time ago I used CuteHTML & CuteFTP.
  2. Notepad++ is probably the best plain text editor I have used. It is a great improvement over the built in Notepad. The color coding when viewing code such as HTML, PHP or Java is very helpful.
  3. GIT & GITHUB — having version control, even on single developer products is extremely helpful. One of the most common things I work on is working on multiple versions of the same application simultaneously. For example, I have released version 2.2 and am actively developing 2.3, but before 2.3 is ready for release, a hotfix is needed for 2.2 — using version control I can quickly jump back to 2.2 and make the patch on a new branch that I then pull into both the 2.2 and 2.3 codebases. Things that used to manually require a lot of time ensuring things maintained consistency.
  4. PuTTY – is probably the most common, versatile multi-protocol client application which is our longtime favorite choice for all our SSH needs.
  5. Oracle VirtualBox & Vagrant Boxes – There is a lot of ways to setup a development environment for programming such as local installation and Docker. However the one I keep returning to is Vagrant Boxes which runs on an entire virtual machine. After getting burned in the past with the differences between Windows and Linux, being able to run your code in the same OS environment, with the exact same tech stack is invaluable. I’ll take this moment to plug my own Dead Simple LAMP Stack Vagrant Box called CognacBox.
  6. MySQL Workbench – it is a user-friendly graphical interface for managing MySQL databases. I use it for designing databases/schemas, writing SQL queries, and optimizing performance. It simplifies tasks for database professionals, making MySQL database management more efficient and accessible.
  7. Honorable mention to very general dev tools: Composer, Postman, CURL, Filezilla, XDebug,
  8. And also because unavoidably I do some minor front end work: NodeJS, NPM, Webpack

General Productivity Tools – Not Web Dev Specific:

  1. Microsoft Office 365 – For decades this has been the de-facto business productivity suite of tools, and even with the rise of Google Docs, when dealing with professional clients, the will far more often send you a Word document than a Google doc. There are some clients which use things like Google Sheets, but the vast majority is Microsoft Office suite based. Byeond Google there is also open source software like OpenOffice or WordPerfect (my dad still uses this product because it came as bundled software on his 15 year old computer). The biggest detractors for these Word alternative is when it comes to situations where page formatting is critical. When you factor that in, in many cases, the time I would spend working around the compatibility issues, Microsoft Office is actually less-expensive — something I think people need to consider a bit more often when looking at free tools… But alas, this list is filled with free tools!
  2. Microsoft Visio – Also another key tool that I use from MIcrosoft is Visio for making flow charts and diagrams. When it comes to making clean, professional-looking diagrams, description data flow or logical organization, its hard to beat Microsoft Visio.
  3. Microsoft Acrobat Professional – Again another key office productivity tool — primarily used for providing traditional paper documentation, contracts or agreements, etc. Also because a lot of my projects result in providing print ready output, we generate a lot of Acrobat PDF documents from the web applications. Some pages are simply designed to be printable, but its not uncommon to want strictly formatted reports or invoices that look pixel perfect, which is where the PDF format comes into play.
  4. Cloud based Password Managers – I will not directly mention the one that I’m currently using but there are many excellent choices available. For more details on how I manage passwords see this article about My Approach to Password Managers & MFA Security.
  5. VLC – A highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, …) as well as DVDs, VCDs, and various streaming protocols.

Honorable Mentions from the prior list

  1. Virtual Drive Clone – my favorite application for mounting ISO images as optical media. I cannot recall the last time I was provided an ISO image — things like CD and DVD are very much a think of the past. I technically still have this tool laying around, but I cannot recall if I’ve ever used it in the last 5 years.
  2. Cloud Based Storage (Dropbox, OneDrive, Google Drive) – along the lines of syncing data, I am starting to use Drop Box for non sensitive data. They can help keep your data synced between multiple devices including mobile devices. Due to a recent security flaw, there was the potential for your data to be accessed by other users. As with any technology like this, I discourage the use for anything sensitive.
  3. Keepass safe – A password manager which helps you to manage your passwords in a secure way. You can put all your passwords in one database, which is locked with one master key or a key-disk. This is perhaps still the best way to keep data stored locally, completely under your control. This is best
  4. TeamViewer – I use this tool to provide general tech support for family members (parents, kids, etc) Each of my systems has this installed, and I really appreciate that even after you logon to the website, to access your system, it still requires you to enter whatever password you use on your computer to access it.
  5. CCleaner – A system optimization and privacy tool that removes unused files from your system and allowing Windows to run faster and freeing up valuable hard disk space.
  6. Remote Desktop Manager – If you are freqently connecting to remote resources such as via RDP or VNC, this is the tool for you. It offers built-in support for Microsoft Remote Desktop, Terminal Services, VNC, LogMeIn, Team Viewer, Ftp, SSH, Telnet, Dameware, X Window, VMware, Virtual PC, PC Anywhere, Hyper-V, Citrix, Radmin, Microsoft Remote Assistance, Oracle Virtual Box and more.