DEV Community

Jonathan Bossenger
Jonathan Bossenger

Posted on

My 2019 web development setup

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.

Browsers

  1. Chrome - the more I'm reading about Google lately, the more I'm considering switching to Firefox as my main browser.
  2. 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.

Development environment

  1. 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.
  2. 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.
  3. Homestead - I don't use this much any more, but it's still a great tool.

Editors

  1. 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.
  2. Notepadqq - Notepadqq is a Linux version of Notepad++, which I used as a Notepad replacement on Windows.

Development Tools (GUI)

  1. PHPMyAdmin - I've been using PHPMyAdmin since my first days of PHP development. It's the quickest way to make small database changes
  2. MySQL Workbench - for when a more robust database modelling tool
  3. 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)

  1. Git - I have a GitHub account for public projects and a GitLab account for private ones.
  2. Subversion - because WordPress.org.
  3. Composer - package manager for PHP.
  4. PHPUnit - Testing framework for PHP.
  5. 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.
  6. 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.
  7. YuiCompressor - I don't tend to use task runners for minifying JavaScript and/or CSS (I know, I know), and PHPStorm has built in support for doing this via YuiCompressor.
  8. NodeJS - to install YuiCompressor (mostly)
  9. mkcert - great CLI app for generating locally trusted SSL certs. Installed via...
  10. Homebrew - purely to install mkcert
  11. Pipe Viewer - a tool for monitoring the progress of data through a pipeline. I use it to view the progress of mysqldump commands.

API Tools

  1. Postman - Useful for testing API requests
  2. 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

Communication

  1. Slack - the Castos team, WPSouthAfrica and Making WordPress communities, and Codeable experts communities all chat via Slack.

Productivity/Tracking

  1. WakaTime - logs time spent writing code. Useful when I forget when I was working on what
  2. Toggl - Time tracking tool. I've definitely gotten better at time tracking using this tool, which is vital if you charge by the hour.

Multimedia

  1. SimpleScreenRecorder - I've not found a better app on Ubuntu to record screencasts
  2. Audacity - audio editor, mostly used to edit WPHackerCast episodes.
  3. VLC - I don't think I've used another video player in over 10 years
  4. AwesomeScreenshot - Chrome browser extension for quickly taking browser screenshots.

Password Management

  1. LastPass - I don't know what I'll do if I ever forget my master password!

Oldest comments (4)

Collapse
 
edgarngg profile image
edgarngg

It seems now you can add your fingerprint as backup for your matter password. Probably less safe but may save you time.

Collapse
 
jonathanbossenger profile image
Jonathan Bossenger

Interesting, thanks, I will look into that.

Collapse
 
leogopal profile image
Leo Gopal

As always, awesome post Jon! I think I will let that inspire my first posting here as well.

Collapse
 
jonathanbossenger profile image
Jonathan Bossenger

Thanks Leo, please do. You probably have way more technical knowledge than I do.