I find articles like this one very interesting, partly because it's always fun to see what other developers use on a day to day basis, and partly because I'm seeing more and more developers using my favourite OS - Ubuntu - for their development set up.
With the recent release of Ubuntu 19.04 (aka Disco Dingo) I was jumped onto the opportunity to upgrade my laptop and try it out. This gave me the chance to document the apps and tools I needed to reinstall. Hopefully you find something useful here.
Authors note, this list only includes software I have to install over and above the base Ubuntu system, or cloud based services I use regularly. If you want to know what I use to play music, view images or edit spreadsheets, I'm going to be using whatever comes installed with Ubuntu.
- Chrome - the more I'm reading about Google lately, the more I'm considering switching to Firefox as my main browser.
- Firefox - this actually comes preinstalled on Ubuntu, but it's worth reminding everyone how awesome it is. Before Chrome, Firefox was the web developers browser of choice.
- LAMP - Digital Ocean has become a great resource for Linux based set up tutorials, so I usually just follow the steps in whatever the latest flavour of Ubuntu set up tutorial they have available.
- Virtualbox & Vagrant - if I need anything specific (nginx, or an older version of PHP/MySQL) I spin up a Vagrant Bento box of whatever flavour of Linux needed.
- Homestead - I don't use this much any more, but it's still a great tool.
- PHPStorm - While I spend most of my time working with PHP code, PHPStorm is so much more than just a PHP IDE, so there are rarely files I can't edit with it.
- Notepadqq - Notepadqq is a Linux version of Notepad++, which I used as a Notepad replacement on Windows.
Development Tools (GUI)
- PHPMyAdmin - I've been using PHPMyAdmin since my first days of PHP development. It's the quickest way to make small database changes
- MySQL Workbench - for when a more robust database modelling tool
- MailHog - catches all mail sent via the local web server. I found a great Ubuntu set up article that still works 4 years later.
Development Tools (CLI)
- Git - I have a GitHub account for public projects and a GitLab account for private ones.
- Subversion - because WordPress.org.
- Composer - package manager for PHP.
- PHPUnit - Testing framework for PHP.
- PHP CodeSniffer - I've become dogmatic about making sure my code conforms to a coding standard. I use the WordPress Coding Standards for WordPress development and PSR-1 for other PHP projects.
- WP-CLI - the command line interface for WordPress. I recently discovered wp-cli-psysh by Alain Schlesser, which makes the wp shell command a joy to behold.
- NodeJS - to install YuiCompressor (mostly)
- mkcert - great CLI app for generating locally trusted SSL certs. Installed via...
- Homebrew - purely to install mkcert
- Pipe Viewer - a tool for monitoring the progress of data through a pipeline. I use it to view the progress of mysqldump commands.
- Postman - Useful for testing API requests
- SOAP UI - The first time I had to work with a SOAP API I used SOAP UI, and I've stuck with it ever since
- Slack - the Castos team, WPSouthAfrica and Making WordPress communities, and Codeable experts communities all chat via Slack.
- WakaTime - logs time spent writing code. Useful when I forget when I was working on what
- Toggl - Time tracking tool. I've definitely gotten better at time tracking using this tool, which is vital if you charge by the hour.
- SimpleScreenRecorder - I've not found a better app on Ubuntu to record screencasts
- Audacity - audio editor, mostly used to edit WPHackerCast episodes.
- VLC - I don't think I've used another video player in over 10 years
- AwesomeScreenshot - Chrome browser extension for quickly taking browser screenshots.
- LastPass - I don't know what I'll do if I ever forget my master password!