Screenshot of GNU/Linux Fluxbox desktop

[ this article is an incomplete draft, published for posterity ]

If you want to learn more about the GNU / UNIX operating system, and how Linux interacts with it, using a minimal installation of GNU/Linux will help.  It is harder work than installing and using GNOME 3 or KDE, but the benefits soon outweigh the costs.

Preface: Migrating to a leaner window manager

This article was created on fluxbox, but can probably be applied to any minimalist window manager for GNU/Linux.  My current operating system is Devuan, a fork of Debian.

If you are coming from Linux and have used XFCE, GNOME or KDE, or if you use macOS or Windows, prepare to invest some time in learning a new, yet more basic way of doing things.  Many people will claim that manually doing things in a terminal window is “old fashioned” or slow.  Actually, the more cloud-based and cloud-focused the world becomes, the more all of our programmatic and systematic workflows will rely on Linux.  Having a reasonable understanding of the GNU operating system software can only be an advantage for people these days.

But I digress.  I have written to some length about my love/hate relationship with GNOME 3.  Many of the design decisions of GNOME 3 are admirable but, in implementation, some of its features can become burdensome.  Using fluxbox, there is enough of a window manager for general productivity, but no more.  fluxbox is fast, yet it is so minimal that there is/are:

  • No native GUI tools to adjust its settings
  • No way of handling multiple monitors
  • No built in sound management
  • No native network management
  • No concept of power management
  • No icons on the “desktop”, and in fact, it’s not really a “desktop” at all – just a screen
  • A menu!  Yes, right-click on the desktop to access a menu and launch your programs! 😉
  • Workspaces.  Yep, that bastion of GNU/Linux productivity that us “open sorcerers” all enjoyed for years, before Windows 10 and Mac OS X (Lion) copied on…
  • Settings.  If you’re happy editing a text file, that is.  But if there’s one thing most people know how to do, that’s edit text files.

So, if none of the above phases you, then either you already use fluxbox, or you’re planning to and have now realised that this article is not about installing it for you!  Ah no… if you want some good guides to fluxbox, check out fluxbox.org, Arch’s fluxbox page or Debian’s fluxbox page.

Configuring easier multi-monitor support

Laptop with additional monitor connected.
My ThinkPad with an external display attached.  Yep, snapped while creating this post.

Being such a minimalistic “desktop”, fluxbox is not built to handle multiple monitors.  In GNU/Linux, a popular tool to handle this task is xrandr.

xrandr is handy.  It provides descriptive text output that can be used fairly easily as logical input in a script.

Here’s an example of xrandr on my dual display set-up:

# xrandr

Screen 0: minimum 320 x 200, current 1920 x 1980, maximum 8192 x 8192
LVDS1 connected 1600x900+0+1080 (normal left inverted right x axis y axis) 309mm x 174mm
 1600x900 60.01*+ 40.00 
 1440x900 59.89 
 1360x768 59.80 59.96 
 1152x864 60.00 
 1024x768 60.00 
 800x600 60.32 56.25 
 640x480 59.94 
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 478mm x 269mm
 1920x1080 60.00*+
 1680x1050 59.88 
 1280x1024 75.02 
 1440x900 74.98 59.90 
 1280x960 60.00 
 1280x800 59.91 
 1152x864 75.00 
 1280x720 59.97 
 1152x720 59.97 
 1024x768 75.08 70.07 60.00 
 832x624 74.55 
 800x600 72.19 75.00 60.32 56.25 
 640x480 75.00 72.81 66.67 60.00 
 720x400 70.08 
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)

My laptop’s display is identified as LVDS1, and my external monitor is HDMI3, despite that I connect via DVI.  This output was generated with my laptop in a docking station, so without this it may report a DVI connection as HDMI1 or HDMI2.  The T420 also has a DisplayPort++ interface, which would appear to be one of DP{1-3}, and a VGA output too.

The sections we’re interested in here are:

LVDS1 connected 1600x900+0+1080 (normal left inverted right x axis y axis) 309mm x 174mm
 1600x900 60.01*+ 40.00 
[...]
HDMI3 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 478mm x 269mm
 1920x1080 60.00*+

Two things of note:  Firstly, when a monitor is connected to a display interface, xrandr reports this as “connected”.  Otherwise, it’s “disconnected”.  Secondly, a monitor may be connected but may not be active.  How do we tell this?  Well, the resolution line displays an asterisk if the display is active, and omits an asterisk if not.  Working on the basis that the xrandr output will always list resolutions from maximum to minimum, and that we would want any monitor to run at best (native/highest) resolution, we can assume that it’s ok to test for the presence of this asterisk in the line that follows the main display line.

(UPDATE: 8 Dec 2016)

Next steps

Since drafting this article in August, my computer and computing needs have changed drastically over the past few months.  Despite a happy 16+ year relationship with Linux on the desktop (YMMV, BTW, but for me every year for me was the “Year of LOTD“), my working and personal computing needs came to an impasse which could only be resolved by moving over to a Mac.  My feelings and initial impressions of Mac usage are still true; for a better desktop, get GNOME – even if there have been several annoying problems.

Coming back to configuring xrandr, I’m afraid I never completed this exercise and instead opted for a quick and dirty logic script that determined which monitors were connected.  Because monitor positions would rarely change, I hard-coded the positional relationship into the script.  The script is will be below (when I’ve found it).

As I continue on with the Mac, I will dump more of the old Linux-y stuff into my blog, to use mainly as a reference for myself should I every have the pleasure of going back there one day.

(UPDATE: 14 Feb 2017)

After 10 months of trial and error, I am finally giving on up the Mac as a means to do work.  I’m faster and happier on GNU+Linux, so that’s where’s I’m headed.  Again.  Happy times! 😀

I’ll still post the script when I find it.

  1. Get Galaxy Note device 
  2. Create your documents in S Note
  3. Place your trust in it
  4. Create a Samsung Account
  5. Log in to Samsung account on device
  6. Sync S Notes to Samsung account
  7. NEVER, ever remove Samsung account from phone and delete it online immediately afterwards. It will delete irrevocably all your S NOTE files on your device
  8. Let’s just repeat that. Your data, that you created on your device, which you choose to  then sync with Samsung, will be deleted.
  9. Accept that Samsung now pwns your data.
  10. Never make that mistake again.

    #proprietary shame 

    #samsung

    I’ve ordered a machine to replace my Macbook Pro in the office: Dell Precision T3500 Xeon W3540 2.66GHz w/12GB  🙂

    Great performance at 1/10th the cost?! What the Dell?!

    I have been suffering as a would-be Mac user for the best part of 10 months now, on and off.  It’s been a painful experience, physically and mentally.  I was only going to post a short “microblog” post and be done with this topic, but I felt the need to expand upon my decision to do this.

    Perhaps it will help dissuade potential future purchasers of Apple‘s overpriced, underwhelming and non-expandable machines.  I hope it does, as one of the worst problems we create for ourselves in the 21st century is planned obsolescence – something, arguably, which Apple is guilty of.

    Background

    In my day job as managing director (CEO) of a UK web development & cloud hosting business, I – predictably – develop websites and administer servers.  I’m the kind of guy who likes to keep his hands dirty, and my skills up.

    Like many other people running a small business, my daily activities can vary rapidly.  A computer which is good at switching quickly is a boon.  Actually, it’s a frikkin’ necessity.  Yet my core activity – PHP & JavaScript development, rely on a few basic things.

    Very basic things, in fact.

    Very Basic Things I continue to rely upon, to get work done:

    • A keyboard with sufficient key travel, tactile feedback;
    • A keyboard that broadly adheres to the standard PC 105-key layout (with or without a numeric keypad).  This means:
      • Not putting CTRL (Control) in a stupid place.
      • Not putting ALT (Option) in an equally stupid place.
      • Not having a ⌘ (“Command”) key full-stop.  It’s a redundant modifier.
    • Having an operating system that gets out of my way.
    • Having a computer fast enough to run an operating system that gets out of my way.
    • Seeing the SMART status of connected drives.
    • Confidence in the device’s security.
    • Confidence in its ability to stay cool when working hard for long periods.
    • A system-native text editor that doesn’t refuse to edit the files I tell it to!
    • Expandability.

    For me, the Macbook Pro fails in all of the above.

    Appeasing Mac fans & celebrating the good stuff

    In April 2016, I bought this “Early 2015” Macbook Pro.  It has a Core i5 5257U processor, 8GB RAM and 256GB PCIe SSD.  When I mentioned to fellow designers I bought this, it was met with a knowing smile and the instant acknowledgement, “ahh wow, the SSD in those machines makes them so fast!”.  I also, regretfully, bought a 27″ Thunderbolt display.  The total cost of these two: a few pence short of £2,100.  Two-thousand, one-hundred pounds for an average-spec 2015 laptop and 27-inch QHD monitor.

    Fast is something I have never, ever considered a Mac to be, and especially this MBP.  It booted quick, sure, but in general use… nah.  Really, no.  But I’m not in the habit of upsetting people, so more often than not I’d reply with some kind of non-opinionated remark like, “yeah?  Right… I look forward to seeing that”.  I’d argue, though, that the apparent lack of speed is much more to do with the operating system than the hardware.

    This isn’t an Apple-bashing post.  It’s just an expression of my preference.  Yet there are things I really do like about the MBP:

    • Ambient light-sensitive backlit keyboard – very classy
    • A 3:2 ratio screen.  Apple has the right idea here, and the rest of the world is stupid for putting widescreen displays in productivity laptops. Stupid.  Well done Apple.
    • Build quality is really excellent.  If you like computers because they can be built well, I guess you may already have a Mac. 😉
    • Key spacing & travel.  You’re probably thinking, “but you just said…”.  More on this in a sec.
    • The port selection, while not excellent, still rocks more than on a MBP 2016 (like, duh!)
    • The 13″ retina display
    • The laptop’s general weight, shape, size and physical feel.  It’s solid, if a little cold to the touch sometimes.

    Talking KJeyboards…

    I am typiubg this post on Apple’s “Magic Keyboard 2”.  This section, including heading, is intentionally left with all the typos in as I make them.  Why?  Because the MAgic Ketword 2 is uterly crap compared to the keyvoard on the MBP itself.  It pales in comparison in terms of typing experience.  I would strongly recommend against anyone buying it, unless it’s vital to you to have a mininalist desk you can take photos of and swoon over all day.  I spend hours of wasted time correcting typos that occur as a direct resylt of using this keyvoard.

    By comparison, I was really quite glad how usable the keyboard on the MBO really is.  ITs typing experience, much to my genuine surprisem ws excellent.  The key travel is good abd the spacing between keys works really well.  Although chiclet in style, with slightly rteduced key sizes compared to, say, an old school LEnobo Thinkpad (like my old T420), it’s so much more intuitive to use than the Magix Keyboard 2 that I shall no longer labvout the point and just move on.

    The Problem with using a Mac:  Mac OS / OS X / macos

    2015 Retina Macbook Pro
    My 2015 rMBP. The current work machine.

    macos is stupid and has been out-developed by GNU+Linux and the GNOME free software project.  Strong statement, huh?  Here’s a few reasons why.

    • macos requires two keys for Mission Control and Launchpad.   You cannot view open windows and search for an application in the same mode.  In contrast, GNOME provides an overview by pressing the Super (Windows) key to see open windows, and accepts text search for launching a new app immediately.
    • macos doesn’t support writing to NTFS partitions.  Or writing to any Extended File System (EXT2,3,4), or other UNIX-based file systems.
    • macos’ Finder doesn’t handle SFTP connections to remote servers.
    • macos Finder supports the file operation ‘Move’ across file systems only through the undocumented keystroke, Shift-Command-V.  Why is this undocumented (or at least so hard to find in the documentation)?!
    • macos doesn’t do workspaces / virtual desktops as well as GNOME.  No other OS does.  GNOME uses the extra horizontal width to manage a vertical list of workspaces.  It’s totally logical and fluid in use, if unconventional.  But then, one has to “Think Different” to get on with unconventional.
    • macos doesn’t open an application in the workspace in which it was launched.  It seems to “remember” the last-used workspace in which the application was opened, which is pretty stupid when a second display is connected.
    • macos doesn’t support focus under the pointer.  When you move the pointer over another window, the previous window is still active.  Clicking, say on a button on the inactive window, first activates the window.  You then have to click on the button again in order to perform the expected action.  Again, serious inefficiencies when done multiple times per day.
    • Some macos keyboard shortcuts, relying on Cmd, really suck.  Here’s an example:
      Copying (Cmd-C) on a Mac. Note the awkward, cramp-inducing hand-crunch.
      Copying (Ctrl-C) on a PC. Possible without contortions.
    • Like other proprietary operating systems, macos includes features that are not wanted (Siri?! Siri-ously..?) or installed as standard (i.e. bloatware) that have no place on a business machine, Garageband being one example.
    • The list could go on, and on, and on…   [ EDIT 15 Feb 2017 ]  and it will!
    • Open a Finder window and the icons are not automatically sorted.  There is no general sorting setting, so each folder must have a “Arrange by” setting applied.
    • Copy a file from one Finder window and Paste into another.  The new file doesn’t appear in the destination Finder window.  That’s ok, just refresh the window’s contents…. except you can’t refresh a Finder window’s contents (amazing design decision there)!  And why does the file not even appear in the folder you’ve just pasted it into?!

    But the most important thing is that GNU+Linux and GNOME (or really any other free software desktop environment) is so much better.  At least for someone like me, working with remote servers, or SSH sessions in a terminal, or doing lots of text editing.

    What’s in a saying?

    Here is a phrase you may have heard somewhen:

    • Choose an occupation you love, and you will never work a day in your life

    I believe this is true.  I love my occupation and I am so privileged that people pay me to do it.   When I get into the office, I cherish that feeling of biting off more than I can possibly chew, and working the problem towards a solution.

    In the business, we make every effort to deliver the highest quality at the lowest possible cost.  However, in web design, development and hosting, there are quite a number of significant costs to meet while trying to keep the end price reasonable.  One such cost is test equipment.

    Another cost is time; a hidden cost if, as a developer, you are always fighting your equipment in order to achieve a comfortable, efficient workflow.  Using a Mac, while semi-enjoyable, also taught me just how efficient I had become using GNU+Linux to deliver results to clients.  I can’t imagine a more fluid workflow than Emacs, Chrome and GNOME.

    Looks are nothing

    So, to the new (old) machine, which will be with me tomorrow.  For the enormous sum of £179.99 + VAT and delivery (£9.99), I am getting:

    • T3500 Workstation
    • Windows 10 Pro 64-bit (this will be kept on the HDD for testing purposes)
    • Intel Xeon W3520 2.66GHz (4 Cores / 8 Threads)
    • 12GB RAM
    • 500GB SATA drive
    • DVD-RW
    • 512MB NVIDIA Quadro FX 580

    There are a few discussions online about the merits of this workstation, and I’m glad I opted for one instead of a new laptop to supplant the MBP.  The Xeon 3520 processor is not new by any stretch of the imagination.  It’s 8 years old.  But it’s still capable enough by far and comparable to a core i7 920; a processor we still have in use in a server at Warp.

    But let’s focus instead on someone else’s video, which is a nice way to tail off…

     

    Image of cupcakes with unusual toppings

    Despite previous posts advocating the indieweb, sadly I need to trim down my WordPress plugin experience.  This is mainly to seeing a lot more traffic on my site recently, and not having the time or resources to optimise the plugin code running on my virtual server.  I found that the number of plugins in my site (around 48) was really starting to hamper performance.

    So it’s with regret that I step out of the indieweb sharing platform, by removing all associated plugins from my WordPress.  Despite being in full agreement with the indieweb mantra, of owning one’s own data, I do find some satisfaction and convenience of using WordPress.com‘s own tools to do the same job now.  To some extent, they have embraced providing a richer, more social experience through WordPress sites – whether hosted by them, or by “us”.

    My only regret is that I couldn’t contribute to the project, the principles of which I wholly believe in and support – if only on an intellectual level.

    Good luck Indieweb!

    Padlock and code image

    Some time back, I wrote a post listing the steps required to migrate passwords stored in Chrome to Firefox

    That post was a bit convoluted, so this post is hopefully an improvement!  My intention is to make this process as simple, and reliable, as possible.  To succeed, you will need:

    There are five main steps.  Let’s get started!

    1. In Chrome’s address bar, paste:
      chrome://flags/#password-import-export

      …then hit enter.

      Chrome flag screenshot
      The option in Chrome should appear like this. Enable it!

      In the option that is highlighted, Select Enabled and then Relaunch.

    2. Now, in Chrome, navigate to chrome://settings-frame/passwords, scroll down and click Export.  Save the file with a .csv extension.
    3. Locate the CSV file and right click > Open With > LibreOffice Calc (Alternatively, start LibreOffice Calc and open the CSV file).
    4. Using LibreOffice Calc, you will need to modify the CSV file to import it into Firefox.  Do the following:
      1. Right-click on row 1 and select ‘Insert Rows Above’.  This should insert a single row at the top of the sheet.
      2. Copy the following and paste into cell A1, using Shift-Ctrl-V (to ensure you paste as plain text):
        # Generated by Password Exporter; Export format 1.0.4; Encrypted: false
      3. You need to move one column, B, to where column D is – but we don’t want to overwrite your data!
        • At the top of column B, right-click and select Cut.
        • Then right-click again and select Delete Columns – this should remove the now-empty column, and shift-left columns C and D, to positions B and C.
        • Now, on column D, select Paste.  Your url data should now live in column D.
      4. Paste the following into cell A2, using Shift-Ctrl-V:
        hostname username password formSubmitURL httpRealm usernameField passwordField

        When pasting, you may be prompted to select the data format.  Select “Unformatted Text” in the list and click OK.  We are ok with overwriting other cell contents, so “OK” that.  Note, you may need to separate out the headings into columns, left to right.

      5. Finally, we’re ready to export this data!  Go to the File menu, select Save As…In the Save As requester that appears, at the bottom check ‘Edit Filter’ and select ‘Text CSV (.csv)’ in the format drop-down:

        Select these options to correctly export your data!
        Select these options to correctly export your data!
      6. Before we get too excited, there’s just one more step to perform – some textual clean-up!Open up the exported CSV file in your favourite plain-text editor.  In the first row, you may see this:
        "# Generated by Password Exporter; Export format 1.0.4; Encrypted: false",,,,,,

        Delete the leading ” and trailing “,,,,,, from that line.

        Secondly, do a Find/Replace on double-commas (,,) making them ,””,  (with two quotes inserted) instead.  You may need to perform this Find/Replace twice.  Now save the file again.

    5. In Firefox, click on the burger menu and select Add-ons (or just go to about:addons).  Find Password Exporter and click Preferences.  In the Preferences window, click Import Passwords.  Now locate your saved CSV file and load it.You should finally see something like this:

      Importing saved passwords into Firefox. Not easy, but definitely rewarding!
      Importing saved passwords into Firefox. Not easy, but definitely rewarding!

     

    Minimalism embodied: a minimalist desk image.

    Many people reach a point in their lives where they see clutter and excessive personal possessions for what they are: distractions and time-sinks that deeply – and negatively – impact one’s life. Minimalism seeks to change this.

    I am no different; I, too, have been conscious that for many years I have amassed a vast number of gadgets, had far more clothing than I could ever really wear (before it went seriously out of fashion), and bought books far quicker than I could read them.  Freely, I admit, I still do the latter – but I can “hide” them now on my ebook reader!

    The Internet’s “Minimalism”

    It is amusing to see, particularly on certain social networks, how minimalism is portrayed.  Let’s describe a typically “minimalist” image:

    • White.  It must be white.  White walls, white furniture, mostly-white accessories, all well lit (often artificially).
    • An Apple Mac computer, centre-stage on a desk.  Typically a 21-inch iMac, but sometimes a 27-incher too.  In front of the Mac must be the following:
      • A wireless keyboard & wireless trackpad – both precisely aligned;
      • A notepad
      • A pencil
      • An iPhone
      • Sometimes… a mug of coffee (although I am allowing myself a crossover into that other bastion of internet imagery here, the “Getting Organised!” image);
    • A desk lamp;
    • A single picture on the wall, bordered with a white frame, casting a soft shadow thanks to…
    • A window on the adjacent wall;
    • A crappy plastic chair (still white) that no-one in their right mind could ever sustain a day’s work in;
    • A wooden floor.  Or, if the floor is white, then the desk is wooden.  Or the chair back might be green.  You get the idea.
    A silly picture of my wardrobe.
    For completeness, here’s a terrible picture of my wardrobe, showing just how far my minimalism still needs to come (it’s not just white, grey or black)!

    For an example, check out Jessica Comingore’s minimalist studio.

    Flipboard is a great resource for these types of images.  Search for ‘minimalist’ and you’ll soon happen upon this template of what a minimalist lifestyle apparently involves.

    What Is Minimalism?

    If you Google this, no doubt you will see a definition along the lines of styles in art, music or design.  But these days, “minimalism” has come to mean something else: the removal of superfluous possessions leading to a perceived reduction of stress and distraction in a person’s life.  It’s this definition what I am most interested in, which is the one driving most internet imagery these days.

    Minimalism is not, necessarily, about choosing to do without

    Minimalism is an interesting side-effect of western capitalism.  The effect of acquiring wealth is curious; it more often than not seeks to be displayed through the adornment of expensive garments, and through “showcasing” the necessity of owning various accessories, plus the outward demonstration of their worth to a “successful” person.  But to many people, myself included, the effect of acquiring objects is that they increasingly demand more time from the owner in order to manage.

    This is detrimental to their original purpose, because time will now be split between the owner using the objects, and the owner managing the objects.  Thus, the fewer objects there are – whether these are clothes, cars, bottles of liquor in the cabinet, or watches – the more utility such devices actually provide and therefore the more effective they become both at their original purpose, but also as a showpiece.

    What Minimalism is not.

    Minimalism doesn’t, in my mind, have any connection with frugality, virtue through sufferance, or eco-mentality.  To me, “being green” and “being minimalist” can be mutually exclusive, although they can also co-exist very well too.

    Minimalism is not, necessarily, about choosing to do without.  It is choosing to do with what you need, in the numbers your need it/them, and do without what you don’t.

    Minimalism is also not doing without, for the sake of doing without.  It’s a great exercise in making one reconsider what is important and what’s really important to you.  This is the key.  It’s justifiable to say that you need something because it makes you happy.  Most people listen to music because, for their happiness and wellbeing, it’s needed.  That’s fine.

    Being minimalist does not mean sitting in a silent, white room, looking at perfectly pressed shirts hanging in a wardrobe.  And it’s also not about choosing £20 shirts instead of £100 shirts.  One can enjoy life’s luxuries, and one probably will enjoy them more, if their number is measured.

    My Minimalism Experience

    Macbook Pro 2015: forcing my minimalism.
    A really expensive laptop considering the spec. A true minimalists machine!
    Image of ThinkPad T420: my barrier to minimalist computing.
    A great laptop, but sadly superfluous to my needs.

    For example, just before Christmas I came to a difficult decision:  I decided I had to sell my ThinkPad laptop.  There were no two ways about it; I had too many computers adoring my house, due to accumulating older work laptops as time went on.

    My thinking was, “well, it still works and it’s still powerful enough to do lots of stuff, so I can get more done by keeping it and splitting my activities between the MacBook Pro that I now use for work, and this.”  Except that doesn’t really translate into the bigger picture.  Sure, I could keep both machines and pretend I’m being more productive, but in reality I started spending more time wondering which machine to do what on, or moving data from one to another, or agonising that I was simply distracted by this entire thought process, or generally finding that the MacBook Pro was more portable and thus my preferred choice to take somewhere.

    I historically associated my perceived productivity benefits to my ThinkPad, its wonderful keyboard, and loved how I had complete control over the GNU/Linux operating system I used on it.  But in reality, two machines became a burden.  Yet, this wasn’t the only laptop I had “laying around” (although occasionally used).  Actually, I had four other laptops.  This was akin to hoarding, and served no benefit whatsoever.  There was basically no chance I would ever use them all until they broke, one by one.

    So before Christmas, each laptop – an HP Pavillion, a ThinkPad T420, another ThinkPad – a T420s, and a Samsung Chromebook, all found new homes.  They also found me richer – not only for the money I made on them, but also for the less clutter I had around the house.

    Finally, the agonising dissipated and with that, the stress went.  I had more space to think, fewer options to consider (as far as my computing went) and happier productivity.

    Moving forwards

    Once you get the bug for selling or giving away old stuff, it is hard to ignore.  As soon as I can find the time I will work on selling more computing kit I have laying around.  And there are other things too – all sorts, in fact.  Like old pieces of furniture (bin/tip), old garden tools (tip/sell), old clothes (donate to charity), one or two old TVs (!) … it goes on and on.  In fact, the speed at which one can acquire goods is absurd.

    Moving forwards, reducing this clutter alongside a renewed focus on personal development has already made a huge change in my self-perception.  I feel stronger, lighter and more focused.


    If this post has helped you, or if you have had similar experiences, please comment or link below!

    This is a confession of a new Mac user, seeking absolution.

    I have a Mac.  It’s for work.  Unfortunately, I finally came to realise that I cannot reasonably develop web apps to work on iOS and macOS without having access to those platforms for testing.  I feel I’ve done exceptionally well to avoid this reality for many years and plough on with the Linux desktop, but building a VM Hackintosh without a proper software license is against my morals and, indeed, the law.

    Would I have bought a Mac for personal use?  Of course not.  There’s no need; I have been a (more-or-less) happy GNU/Linux user for 15+ years.  The Linux desktop has provided me with everything I need from a computer, and I’ve enjoyed the reliability of open source software.  And I will continue to be a GNU/Linux user.

    I <3 Linux

    But … one thing about Linux that is, occasionally, frustrating is the complexity of software.  I don’t mean that its typical user software is difficult or overwhelming in Linux.  Instead, it’s that there is never the ‘best’ way to do things in Linux; there are multiple, ‘reasonable’ ways.  It’s this lack of ‘purity’ about the desktop experience which sometimes confounds newbies, and turns some people off.

    Tux, the cartoon penguin.
    Tux: the mascot of Linux. Does any other modern OS even have a mascot?

    From my admittedly limited experience, it seems that people prefer to learn one way to do things and to stick to that way.  With all the desktop environment options in Linux, there is no ‘one way’.  This is why each platform has its advocates and evangelists, whether it’s Windows, macOS or GNU/Linux.

    I feel like I have been spoilt with GNU/Linux, and especially with GNOME 3.  To me, there is no better desktop environment than GNOME 3, despite having moments of hair-pulling frustration at it, from time to time.  But GNOME 3 is a beautiful desktop: it’s clean and minimalist, its default file system application, Nautilus is more functional than the Mac’s Finder, its handling of multiple workspaces (where Linux is constantly superior) and navigation across those workspaces is much more fluid and natural, and so on.

    There are political, social and technical issues with GNOME development and the whole GNU/Linux system at large (let’s not mention systemd here), but if you were to ignore those factors and introduce somebody to ‘the Linux desktop’, I would argue that GNOME 3 (and Cinnamon too, for that matter) present a beautiful interface to enjoy and work in.  It’s not perfect, and can be problematic too at times, but it’s flexible and open.

    The Problems with a Mac

    That was a very long-winded introduction, but I felt it necessary to establish my position, before I talk about the Mac.

    Macbook Pro 2015
    Ladies and Gentlemen: The 2015 Macbook Pro. A really expensive laptop, considering the spec.

    The problem I have is this: I want to love the Mac, but I don’t.  Sometimes, especially in business, you feel you need a commercial product simply because it helps you fit into the world around you. And, when a computer costs you a significant amount of hard-earned cash, it’s got to be something you want.  Sadly, I didn’t want this.  It was simply a necessity for me to continue doing what I do to earn a living.  Therefore, it felt ‘forced’ rather than chosen, or desired.

    When you identify with a philosophy, such as I have with the guiding principles of free/libre open source software, you develop a mindset.  You become attached to the tools and methodology deriving from that philosophy.  It becomes incredibly frustrating when things that were easy on Linux become hard on anything else.  You wonder why people put up with all these obstructions to productivity…

    Obstructions to productivity

    Let’s look at a few of these.  As a software developer, sysadmin, business person and general user (who is used to the layout of a standard UK PC keyboard), I ran into several problems switching over to a Mac:

    '3' key on Mac keyboard.
    Having a less-accessible hash key on a keyboard is challenging, especially for coding.
    • The hash (pound) key. The hash symbol is used extensively in a UNIX environment to comment out sections of software code for reference purposes.  On a UK PC keyboard, this symbol is located on its own key to the right of the keyboard; on a Mac, this is located on the ‘3’ key; you have to use a modified key (the option / alt key) to access it.  This is a barrier to productivity, although perhaps due to muscle memory and old habits.  The position of the @ symbol (on the ‘2’ key) is also annoying.
    • Finder: no SFTP support! As someone who needs to upload files to web servers quite often, it’s stunned me that a well-established UNIX-based OS like macOS doesn’t support this transfer method ‘out of the box’.  One has to resort to a third-party program.
    • Finder: no Cut?! Apple have a strange approach to doing some things, especially considering their claimed print-based heritage (recall Steve Jobs telling a university that Apple focused so much on typography…?).  Take Cut and Paste.  Cut (not Copy) and Paste is a relic from the printing press age, where articles in layouts would literally be cut and pasted into position.Unlike all other decent file managers, Cut has no place in Finder on a Mac.  Only Copy does.  Except… Copy works like Cut when the source and destination locations of a file are on the same filesystem. In this situation, Copy moves the file (Cut-Paste).  But, if the source location is on one filesystem, and the destination on another, the file is Copied (Copy-Paste).  This is totally inconsistent and confusing, resulting in two copies of the same file – sometimes
    • Finder (again): no option to show hidden files.  Yup.  As a GNU/Linux user, you take this stuff for granted.  This preferences option (or hitting CTRL-H) in GNOME is a lesson to Apple:

      GNOME's Files application preferences
      How to hide or show hidden (dot-)files, e.g. .config.
    • Disk formatting: not enough filesystem support.  A typical vendor lock-in situation, where the OS vendor totally fails to provide sufficient flexibility with regard to mounting ‘foreign’ file systems.  It’s a complete joke that Tim Cook, CEO of Apple, would refer to Chromebooks as ‘test machines’, when in fact they are more flexible for mounting external devices than a Macbook ‘Pro’.
    • Disks – no S.M.A.R.T. support on external USB drives.  This is inexcusable.  Not being able to see an external drive’s S.M.A.R.T. status, especially when that drive might be used for your time machine backups, is akin to gross incompetence.  Other operating systems do this; Apple not doing this is a bad joke.
    • Time machine: scheduling not flexible enough.  I want daily backups, not hourly.  Where’s the option to change this?
    • Text editing and stupid modifier key behaviour.  On a PC, to select a word at a time you would hold down CTRL+Shift and then arrow left (or right) to select a word.  Press the arrow key again to select the second word.  Then, to Cut or Copy on the PC, you would keep CTRL held down, release Shift and press X or C, respectively.  Not on a Mac.  The process of keyboard-based word selection on a Mac is to hold down ‘Option / Alt’+Shift, arrow left or right to select a word at a time, then release all modifier keys, then press and hold Command and then press X or C respectively.
    • Workspace / Desktop management is less efficient than GNOME 3.  Linux desktops pioneered virtual desktops / workspaces, with Windows and Mac OS (X) following suit.  In GNOME 3, workspaces are created and destroyed dynamically, and can be navigated to efficiently using the keyboard (not like on the Mac, where you have to use a three-finger swipe on a trackpad, or the Mission Control key and a mouse).  macOS doesn’t destroy unused desktops automatically, leaving visual clutter.
      macOS mission control
      Why not just get rid of that unused desktop/workspace?!  Compare GNOME 3, below.

      https://www.youtube.com/watch?v=bRHAio98n-g

    • A pure split-window session is unnecessarily modal.  In macOS, you cannot easily create a left-right split of windows that take up all available screen real-estate, without forcing those windows into full-screen modality.  Forcing anything is bad, mmm’kay?  Again, compare GNOME 3.

    Migrating for good?

    So, the question remains, is there enough goodness left in macOS to entice me to migrate over for good?

    Are you kidding?!

    Less productivity, less freedom, some bizarre defaults, some frustrating impediments to productivity and all backed by a ‘can do no wrong’ philosophy mean that Apple’s products will stay strictly off my shopping list commercially and personally for the foreseeable future.

    I won’t be selling my ThinkPad T420.  No way, José!  But at least I can now do iOS and macOS testing for web apps and site layouts.  In that vein, Apple makes great test machines!

    And I think I have absolved myself 🙂