2015-03-18

Considering Migration -- or, Why I Run Windows, 2015

One of the kids at the office is all keen to have me move my primary laptop to Linux.

Linux is where I started at this company, my first laptop ran Mandrake, and a moved through a succession of Fedora Cores over the years.  I did stupid things like runing Ximian Desktop and keeping a bodged set of RPMs of olvwm cobbled together.

Abe speaks the truth
What did it for me was when I started to get into the family way; I lost the time to fiddle with things.  I had other things to do with my life after work hours.  Tools started to get in the way of work, and when the world moved on it inevitably left me behind with broken messes.

When that happens to someone, Windows is the perfect environment because it doesn't change very fast, it is bog-standard, it does a lot of things adequately well despite not having much in the way of customization available, and for the most part one can just bother the helpdesk staff when there is a problem.  I've certainly done that over the past few years.  "This is broken and I can't figure out why", is what I tell them.  Sometimes they can help; sometimes they can't.  But it stops being my problem to solve.

For the most part, the things I said back in 2008 are still true, except that today it is Windows 8.1 Pro instead of Windows 7 Pro.  But still.  One wonders if running Windows is a Socially Responsible Choice or if I am part of the disintegration of society.  And when someone comes along with an alternative, it can be attractive.

So first of all -- why am I considering this?
  • Windows 8.1 on this hardware is less stable than Windows 7 was.  I am stuck with phantom hangs, mysterious refusals to boot, phantom 100%-cpu-usages that don't have any obvious offenders, occasional crashes, and I've already fought with anti-virus.  My perception here is that I'm spending more time than I should fighting my tools when I need to be working.
  • Much of what I actually do day-to-day and hour-to-hour is in terminals to unix systems.  Changing to linux would let me do mosh connections in a much more robust, native way.
  • Plus there's the ability to try different window managers.  I like the idea of ratpoison, I wonder if I would actually like working with it.
On the other hand, why might I not want to do this?
  • I have the boot drive encrypted with BitLocker.  This isn't the most secure thing in the world, but it is an order of magnitude better than the nothing that most people run with.
  • Windows almost certainly handles the hardware use cases better than Linux.  My concerns here are the usual suspend/unsuspend, dock/undock, multiple monitors, and network behaviors including 802.1X wifi authentication.  I shouldn't have to think about any of that, and for the most part, I don't with Windows.  My battery life is pretty poor right now, and I somehow doubt that running Linux will improve it any.
  • Plus the special hell that printing always is on Linux.
  • The Office infrastructure is pretty embedded.  We use Sharepoint, Word, and Outlook corporately.  I use Excel and OneNote pretty heavily and my corporate data is backed up using OneDrive.  I'd be forced into a VM for proper native use of these tools; for some of them I could probably find open-source replacements.
  • I use GoogleDrive to share some files from home with my work system.
  • Our company uses a windows-based online backup tool for backups that wouldn't work with Linux; one way or another I'd have to spend some time re-inventing that particular wheel.
  • Like it or not, there are still some web interfaces that only work properly in IE.
  • I like my desktop environment.  I have all the gadgets I like in a sidebar, and sourcing and configuring Linux replacements would be a pain.  I especially like the countdown gadget that tells me when the pager is coming back to me (or, while I have it, how long until I can get rid of it).
  • This laptop is five years old now and will probably be replaced with something newer.  So while the hardware in this laptop is probably fairly well understood by the linux community, new laptops almost always have terrible hardware support; it would be frustrating to go from Windows to Linux, only to be forced back to Windows when the new computers come.
  • Frankly I don't like the idea of Ubuntu, and that would probably be what I'd be running.  CentOS is more of a server-OS that wouldn't give me as good an experience.
  • And yeah, there's the whole "we fear change" joke that's funny because it is true.
So how viable is this?  Here is what I have open right now:
  • IE for the sharepoint site.  I'd lose the tight integration with Word from Sharepoint if I went to Linux, or I would be forced into a VM.
  • Firefox.  Available on Linux
  • Chrome.  Possibly available on Linux, it seems to vary.  I seem to recall that CentOS 6.x has been declared too old for Chrome.
  • Outlook.  Well it turns out that the OWA interface isn't as terrible as it used to be.  So that might be usable.
  • VisionAPP which I am using as a Remote Desktop Protocol multiplexer.  RDP sessions used to be pretty terrible under Linux, and with the current infestation of Windows servers showing no sign of abating that's a serious concern.
  • Skype.  There is allegedly Linux support for Skype, although I'll bet you that it isn't anywhere near top-tier support.
  • MobaXterm, which I am using for mosh sessions.  No concerns here.
  • tftpd-64.  I'm using it as a syslog target today, but all of its functions are available in Linux much more natively.
  • Excel.  Although I only use this for tables, rarely for calculations or graphing or fancy things like that, I do have to share those excel files with others.  So that'll either be a VM thing or something that I have to have strict compatibility with, which rules out OpenOffice.
  • FortiClient -- for VPNs to FortiGate firewalls.
  • OneNote.  I've been putting notes into this daily for two years now, so at the very least I have to be able to access that information; ideally all that data would be exportable into whatever I chose to replace it with.
  • OneDrive.  This is where my corporate data is stored.  There is no way that there will be a Linux solution for this.
  • Our corporate backup tool.  This is a wheel that would require reinventing.
  • Gadwin PrintScreen.  I presume screen-capture software exists in the linux world...
  • PasswordSafe -- one of my customers distributes passwords with this app, and while I hate it (KeePass is much nicer as an app, and I use LastPass in my web browser), that's the tool they use.  So I'd probably have to run that in a VM.
  • iCloud -- running but not configured.  It would mean that either my iOS devices would have to be managed from a VM or a computer at home instead of this one.
  • GoogleDrive -- don't know what the state of support for that is.
  • Paegent -- native functions are available in Linux.
Things that I run frequently that would have to be dealt with:
  • vSphere client -- since my VMware environments are all 5.1 or older, I'm stuck with the non-flash interface.  So that has to run in a VM.
  • Our helpdesk sharing software is a Bomgar.  Don't know if there is Linux support.
  • Couple of versions of Juniper Network Connect.  However they get run in VMs today.
  • There are other things installed, but for the most part these are tools installed to fake a Linux environment or tools that came from unix originally like ncftp or wireshark.
So, any show-stoppers?  I guess if I wanted to run a VM (or VMs) then there's really no software reason to hold back.  I could even get Workstation running and do the seamless desktop integration thing.  Thing is, I don't run a VM all the time today, and running a VM all the time would feel like a hack.  I would have to commit RAM to the VM that my desktop couldn't use, and once that was exhaused I'd be swapping.  Since my current platform is Windows, then all the RAM is available if needed, and any Linux VM I run will be small -- rarely more than 2GB because I don't need more for what I do locally and if I do need more I have access to bigger machines/VMs to run on.

As far as my hardware/OS complaints go, eventually I'll get a new laptop and the hardware complaints should will go away.  And Windows 10 is supposed to be the shit when it comes out.

I don't actually have time to do anything about this right now because I'm too busy, and I wonder if this mental exercise is more about hiding from the things I should be doing instead.

But really, after writing all this out, I don't see a compelling need to change.  Maybe if we had a second laptop that was similarly powered to this one I could run them both in parallel for a while, but I suspect I'd be continually reaching for the Windows computer to get things done.

The kid at the office is going to be sooooo disappointed.