I use Ubuntu Linux.  That much is clear from the title. It confuses some people as to why I would; and others have no idea what I am on about when I say I don't use Windows or a Mac - but those are non-technical people. But of all of the Linux distros out there, I remain with Ubuntu after years and years.  Here's why.

It's Easy

Yes, I use Ubuntu because it's an easy distro to use.  The interface is usable, the package manager is simple, and I generally don't have any issues doing anything I need.  I've used a few other distros in the past, and still have a few CentOS servers I maintain, but remembering different locations and commands across distributions is a pain.

It's Fast

Ok, this could be said about just about any Linux distribution out there, but the time to load from pressing the power button always impresses me.  Okay, I run it on an SSD, but it's as quick as loading Windows on my work's laptop (that's another story), which is also on an SSD.  The difference, my Ubuntu drive is encrypted, so it has to decrypt as it loads.

It's (more) secure

Comparing Windows to Linux in terms of security is like comparing a wet paper bag to Fort Knox.  I've often been on a Windows machine and had the permission alert stating I don't have permission to access something.  Click "ok" and it let me access it.  Try that on Linux, and you go nowhere.  It's secure out of the box, and isn't afraid to not let you do something.

It might be frustrating for some people, particularly new users, to not be able to change or access something, but it's there for a reason. Even now, I try to edit a file for configuration when I have't logged in as the correct user, or escalated to a privileged user.  When I try to, it doesn't let me, and I have to lose my changes.  This simply stops unauthorised personnel from making changes to the system which are going to break things.

It's right for me

I could say the same for any flavour of Linux out there, but as my work is based around the LAMP (Linux, Apache, MySQL/MariaDB, PHP) stack; I kind of need to work with Linux.  I just happen to use Ubuntu for the reasons above.

I have seen a lot of people develop PHP code on Windows, only to have it fail when they deploy it to Linux servers.  This usually comes down to one of two things:

  • Case sensitivity (Linux is case sensitive - Windows isn't)
  • Permissions issues (Windows doesn't really do permissions, Linux does)

Wait, you work with Windows?

Sometimes, yes.  But this is mostly because I work for an organisation who's primary focus isn't software.  They use Microsoft Office for a few things, and some other software I need to run for my job only works properly on Windows.  It was also easier for the IT team to set up, as that's where their knowledge lies.

My day-to-day coding takes place on a Linux virtual machine (running Ubuntu) which, in turn, communicates with other Linux virtual machines on my laptop for database and other services.  This allows me to mimic more closely the infrastructure the application will be running on in production, rather than the overly happy (and highly performant) everything on one machine approach.