On Tweakability

Screenshot: Linux Mint 19.2.
Linux Mint 19.2 Tina Cinnamon Edition. (See: https://www.linuxmint.com/rel_tina_cinnamon_whatsnew.php.)

Two years ago, in August 2017, I installed a new operating system into my trusty old home server (HP Proliant ML110 Gen5). That was a rather new Linux distro called ElementaryOS, which looked nice, but the 0.4 Loki that was available at the time was not an optimal choice for a server, as it soon turned out afterwards. It was optimized for a laptop use, and while I could also set it up as a file & printer server, many things required patching and tweaking to start working. But since I install and maintain multiple operating systems in my device environment partly out of curiosity, keeping my brain alert, and for this particular kind of fun – of tweaking – I persisted, and lived with Elementary OS for two years.

Recently, there had been some interesting new versions that had come out from multiple other operating system versions. While I do most of my daily stuff in Windows 10 and in iOS (or ipadOS, as the iPad variant is now called), it is interesting to also try out e.g. different Linux versions, and I am also fan of ChomeOS, which usually does not provide surprises, but rather steadily improves, while staying very clear, simple and reliable in that it does.

In terms of the particular characteristic that I am here talking about – let’s call it “tweakability”– an iPad or Chromebook are pretty much from the opposite ends of spectrum, as compared to a personal computer or server system running some version of Linux. While the other OSs excel in presenting the user with an extremely fine-tuned, clear and simple working environment that is simultaneously rather limited in terms of personalisation and modification, the bare-bones, expert oriented Linux distributions in particular hardly ever are “ready” straight after the initial setup. The basic installation is in these cases rather just the starting point for the user to start building their own vision of an ideal system, complete with the tools, graphical shells, and/or command-line interpreters etc. that suit their ways of working. Some strongly prefer the other, some the opposite style of OS with their associated user experiences. I feel it is optimal to be able to move from one kind of system to another, on basis of what one is trying to do, and also how one wants to do it.

Tweakability is, in this sense, a measure of customisability and modifiability of the system that is particularly important for so-called “power users”, who have a very definite needs, high IT skill levels, and also clear (sometimes idiosyncratic) ideas of how computing should be done. I am personally not entirely comfortable in that style of operation, and often rather feel happy that someone else has set up an easy-to-use system for me, which is good enough for most things. Particularly in those days when it is email, some text editing, browser-based research in databases and publications (with some social media thrown in), a Chromebook, iPad Pro or a Windows machine with a nice keyboard and good enough screen & battery life are all that I need.

But, coming back to that home server and new operating system installation: as my current printer has network sharing, scanning, email and all kinds of apps built-in, and I do not want to run a web server from my home any more either, it is just the basic backup and file server needs that this server box needs to handle. And a modern NAS box with some decent-sized disks could very well do that job. Thus, the setup of this Proliant server is more of less a hobby project that is very much oriented towards optimal tweakability these days (though not quite as much as my experiments with various Raspberry Pi hobby computers, and their operating systems).

So, I finally ended up considering three options as the new OS for this machine: Ubuntu Server 18.04.3 LTS (which would have been a solid choice, but since I was already running Ubuntu in my Lenovo Yoga laptop, I wanted something a bit different). The second option would have been the new Debian 10 (Buster) Minimal Server (probably optimal for my old and small home server use – but I wanted to also experiment with the desktop side of operating system in this installation). So, finally I ended up with Linux Mint 19.2 Tina Cinnamon Edition. It seemed to have the optimal balance between reliable Debian elements, Ubuntu application ecosystem, combined with some nice tweaks that enhance ease of use and also aesthetic side of the OS.

I did a wipe-clean-style installation of Mint into my 120 GB SSD drive, but decided to try and keep all data in the WD Red 4 TB disk. I knew in principle that this could lead into some issues, as in most new operating system installations, the new OS will come with a new user account, and the file systems will keep the files registered into the original User, Group and Other specifications, from the old OS installation. It would have been better to have a separate archive media available with all the folder structures and files, and then format the data disk, copy all data under the new user account, and thereby have all file properties, ownership details etc. exactly right. But I had already accumulated something like 2,7 terabytes of data into this particular disk and there was no exact backup of it all – since this was the backup server itself, for several devices in our house. So, I just read a quick reminder on how chmod and chown commands work again, and proceeded to mount the old data disks within the new Mint installation, take ownership of all directories and data, and tweak the user, group and other permissions into some kind of working order.

Samba, the cross-platform file sharing system that I need for the mixed Windows-Linux local network to operate was the first really difficult part this time. It was just plain confusing to get the right disks, shares and folders to appear in our LAN for the Windows users, so that the backup and file sharing could work. Again, I ended up reading dozens of hobbyist discussions and info pages from different decades and from different forums, making tweak after tweak in users, groups, permissions and settings in the /etc/smb.conf settings file (followed every time to stop and restart the Samba service daemon, to see the effects of changes). After a few hours I got that running, but then the actual fun started, when I tried to install Dropbox, my main cloud archive, backup and sharing system on top of the (terabyte-size) data that I had in my old Dropbox folder. In principle you can achieve this transition by first renaming the old folder e.g. as “Dropbox-OLD”, then starting the new instance of service and letting it create a new folder named “Dropbox”, then killing the software, deleting the new folder and renaming the old folder back to its own default name. After which restarting the Dropbox software should find the old data directory where it expects one to be, and start re-indexing all that data, but not re-downloading all of that from the cloud – which could take several days over a slow home network.

This time, however, something went wrong (I think there was an error in how the “Selective sync” was switched on at certain point), leading into a situation where all the existing folders were renamed by the system as server’s “Conflicting Copy”, then copied into the Dropbox cloud (including c. 330 000 files), while exactly same files and folders were also downloaded back from the cloud into exact same folders, without the “Conflicting Copy” marking. And of course I was away from the machine at this point, so when I realised what was going on, I had to kill Dropbox, and start manually bringing back the Dropbox to the state it was before this mess. It should be noted that there was also a “Rewind Dropbox” feature in this Dropbox Plus account (which is exactly designed for rolling back in this kind of large situations). But I was no longer sure into which point in time I should rewind back to, so I ended up going through about 100 different cases of conflicting copies, and also trying to manually recover various shared project folders that had become dis-joined in this same process. (Btw, apologies to any of my colleagues who got some weird notifications from these project shares during this weekend.)

After spending most of one night doing this, I tried to set up my other old services into the new Mint server installation in the following day. I started from Plex, which is a media server and client software/service system that I use e.g. to stream our family video clips from the server into our smart television. There is an entire, 2600 word essay on Linux file and folder permissions at the Plex site (see: https://support.plex.tv/articles/200288596-linux-permissions-guide/). But in the end I just had to lift my hands up. There is something in the way system sees (or: doesn’t see) the data that is in the old 4 TB disk, and all my tricks with different users and permission settings that I tried, do not allow Plex to see any of that data from that disk. I tested that if I copy the files into that small system disk (the 120 GB SSD), then the server can see and stream them normally. Maybe I will at some point get another large hard drive, try setting up that one under the current OS and user, copy all data there, and then try to reinstall and run Plex again. Meanwhile, I just have to say that I have got my share of tweakability for some time now. I think that Linux Mint in itself is indeed perfectly nice and capable operating system. It is just that software such as Dropbox or Plex do not play so nicely and reliably together with it. Not at least with the tweaking skills that I possess. (While I am writing this, there are currently still over 283 500 files that Dropbox client should restore from the cloud into that problematic data drive. And the program keeps on crashing every few hours…)

Recommended laptops, March 2018

Every now and then I am asked to recommend what PC to buy. The great variety in individual needs and preferences make this ungrateful task – it is dangerous to follow someone else’s advice, and not to do your own homework, and hands-on testing yourself. But, said that, here are some of my current favourites, based on my individual and highly idiosyncratic preferences:

My key criterion is to start from a laptop, rather than a desktop PC: laptops are powerful enough for almost anything, and they provide more versatility. When used in office, or home desk, one can plug in external keyboard, mouse/trackball and display, and use the local network resources such as printers and file servers. The Thunderbolt interface has made it easy to have all those things plugged in via a single connector, so I’d recommend checking that the laptop comes with Thunderbolt (it uses USB-C type connector, but not all USB-C ports are Thunderbolt ports).

When we talk about laptops, my key criteria would be to first look at the weight and get as light device as possible, considering two other key criteria: excellent keyboard and good touch display.

The reasons for those priorities are that I personally carry the laptop with me pretty much always, and weight is then a really important factor. If thing is heavy, the temptation is just to leave it where it sits, rather than pick it up while rushing into a quick meeting. And when in the meeting one needs to make notes, or check some information, one is at the mercy of a smartphone picked from the pocket, and the ergonomics are much worse in that situation. Ergonomics relate to the point about excellent keyboard and display, alike. Keyboard is to me the main interface, since I write a lot. Bad or even average keyboard will make things painful in the long run, if you write hours and hours daily. Prioritising the keyboard is something that your hands, health and general life satisfaction will thank, in the long run.

Touch display is something that will probably divide the opinions of many technology experts, even. In the Apple Macintosh ecosystem of computers there is no touch screen computer available: that modality is reserved to iPad and iPhone mobile devices. I think that having a touch screen on a laptop is something that once learned, one cannot go away from. I find myself trying to scroll and swipe my non-touchscreen devices nowadays all the time. Windows 10 as an operating system has currently the best support for touch screen gestures, but there are devices in the Linux and Chromebook ecosystems that also support touch. Touch screen display makes handling applications, files easier, and zooming in and out of text and images a snap. Moving hands away from keyboard and touchpad every now and then to the edges of the screen is probably also good for ergonomics. However, trying to keep one’s hands on the laptop screen for extended times is not a good idea, as it is straining. Touch screen is not absolutely needed, but it is an excellent extra. However, it is important that the screen is bright, sharp, and has wide viewing angles; it is really frustrating to work on dim washed-out displays, particularly in brightly lit conditions. You have to squint, and end up with a terrible headache at the end of the day. In LCD screens look for IPS (in-plane switching) technology, or for OLED screens. The latter, however, are still rather rare and expensive in laptops. But OLED has the best contrast, and it is the technology that smartphone manufacturers like Samsung and Apple use in their flagship mobile devices.

All other technical specifications in a laptop PC are, for me, secondary for those three. It is good to have a lot of memory, a large and fast SSD disk, and a powerful processor (CPU), for example, but according to my experience, if you have a modern laptop that is light-weight, and has excellent keyboard and display, it will also come with other specs that are more than enough for all everyday computing tasks. Things are a bit different if we are talking about a PC that will have gaming as its primary use, for example. Then it would be important to have a discrete graphics card (GPU) rather than only the built-in, integrated graphics in the laptop. That feature, with related added requirements to other technology means that such laptops are usually more pricey, and a desktop PC is in most cases better choice for heavy duty gaming than a laptop. But dedicated gaming laptops (with discrete graphics currently in the Nvidia Pascal architecture level – including GTX 1050, 1060 and even 1080 types) are evolving, and becoming all the time more popular choices. Even while many of such laptops are thick and heavy, for many gamers it is nice to be able to carry the “hulking monster” into a LAN party, eSports event, or such. But gaming laptops are not your daily, thin and light work devices for basic tasks. They are too overpowered for such uses (and consume their battery too fast), and – on the other hand – if a manufacturer tries fitting in a powerful discrete graphics card into a slim, lightweight frame, there will be generally overheating problems, if one really starts to put the system under heavy gaming loads. The overheated system will then start “throttling”, which means that it will automatically decrease the speed it is operating with, in order to cool down. These limitations will perhaps be eased with the next, “Volta” generation of GPU microarchitecture, making thin, light and very powerful laptop computers more viable. They will probably come with a high price, though.

Said all that, I can then highlight few systems that I think are worthy of consideration at this timepoint – late March, 2018.

To start from the basics, I think that most general users would profit from having a close look at Chromebook type of laptop computers. They are a bit different from Windows/Mac type personal computers that many people are mostly familiar with, and have their own limitations, but also clear benefits. The ChromeOS (operating system by Google) is a stripped down version of Linux, and provides fast and reliable user experience, as the web-based, “thin-client” system does not slow down in same way as a more complex operating system that needs to cope with all kinds of applications that are installed locally into it over the years. Chromebooks are fast and simple, and also secure in the sense that the operating system features auto-updating, running code in secure “sandbox”, and verified boot, where the initial boot code checks for any system compromises. The default file location in Chomebooks is a cloud service, which might turn away some, but for a regular user it is mostly a good idea to have cloud storage: a disk crash or lost computer does not lead into losing one’s files, as the cloud operates as an automatic backup.

ASUS Chromebook Flip (C302CA)
ASUS Chromebook Flip (C302CA; photo © ASUS).

ASUS Chromebook Flip (C302CA model) [see link] has been getting good reviews. I have not used this one personally, and it is on the expensive side of Chromebooks, but it has nice design, it is rather light (1,18 kg / 2,6 pounds), and keyboard and display are reportedly decent or even good. It has a touch screen, and can run Android apps, which is becoming one of the key future directions where the ChromeOS is heading. As an alternative, consider Samsung Chromebook Pro [see link], which apparently has worse keyboard, but features an active stylus, which makes it strong when used as a tablet device.

For premium business use, I’d recommend having a look at the classic Thinkpad line of laptop computers. Thin and light Thinkpad X1 Carbon (2018) [see link] comes now also with a touch screen option (only in FHD/1080p resolution, though), and has a very good keyboard. It has been recently updated into 8th generation Intel processors, which as quad-core systems provide a performance boost. For a more touch screen oriented users, I recommend considering Thinkpad X1 Yoga [see link] model. Both of these Lenovo offerings are quite expensive, but come with important business use features, like (optional) 4G/LTE-A data card connectivity. Wi-Fi is often unreliable, and going through the tethering process via a smartphone mobile hotspot is not optimal, if you are running fast from meeting to meeting, or working while on the road. The Yoga model also used to have a striking OLED display, but that is being discontinued in the X1 Yoga 3rd generation (2018) models; that is replaced by a 14-inch “Dolby Vision HDR touchscreen” (max brightness of 500 nits, 2,560 x 1,440 resolution). HDR is still an emerging technology in laptop displays (and elsewhere as well), but it promises a wider colour gamut – a set of available colours. Though, I am personally happy with the OLED in the 2017 model X1 Yoga I am mostly using for daily work these days. X1 Carbon is lighter (1,13 kg), but X1 Yoga is not too heavy either (1,27 kg). Note though, that the keyboard in Yoga is not as good as in the Carbon.

Thinkpad X1 Yoga
Thinkpad X1 Yoga (image © Lenovo).

There are several interesting alternatives, all with their distinctive strengths (and weaknesses). I mention here just shortly these:

  • Dell XPS 13 (2018) [see link] line of ultraportable laptops with their excellent “InfinityEdge” displays has also been updated to 8th gen quad core processors, and is marketed as the “world’s smallest 13-inch laptop”, due to the very thin bezels. With the weight of 1,21 kg (2,67 pounds), XPS 13 is very compact, and some might even miss having a bit wider bezels, for easier screen handling. XPS does not offer 4G/LTE module option, to my knowledge.
  • ASUS Zenbook Pro (UX550) [see link] is a 15-inch laptop, which is a bit heavier (with 1,8 kg), but it scales up to 4k displays, and can come with discrete GTX 1050 Ti graphics option. For being a bit thicker and heavier, Zenbook Pro is reported to have a long battery life, and rather capable graphics performance, with relatively minor throttling issues. It has still 7th gen processors (as quad core versions, though).
  • Nice, pretty lightweight 15-inch laptops come from Dell (XPS 15) [see link] and LG, for example – particularly with LG gram 15 [see link], which is apparently a very impressive device, and weighs only 1,1 kg while being a 15-inch laptop; it is shame we cannot get it here in Finland, though.
  • Huawei Matebook X Pro
    Huawei Matebook X Pro (photo © Huawei).
  • As Apple has (for my eyes) ruined their excellent Macbook Pro line, with too shallow keyboard, and by not proving any touch screen options, people are free to hunt for Macbook-like experiences elsewhere. Chinese manufacturers are always fast to copy things, and Huawei Matebook X Pro [see link] is an interesting example: it has a touch screen (3K LTPS display, 3000 x 2000 resolution with 260 PPI, 100 % colour space, 450 nits brightness), 8th gen processors, GTX MX 150 discrete graphics, 57,4 Wh battery, Dolby Atmos sound system, etc, etc. This package weighs 1,33 kg. It is particularly nice to see them not copying Apple in their highly limited ports and connectivity – Matebook X Pro has both Thunderbolt/USB-C, but also the older USB-A, and a regular 3,5 mm headphone port. I am dubious about the quality of the keyboard, though, until I have tested it personally. And, one can always be a bit paranoid about the underlying security of Chinese-made information technology; but then again, the Western companies have not proved necessarily any better in that area. It is good to have more competition in the high end of laptops, as well.
  • Finally, one must mention also Microsoft, which sells its own Surface line of products, which have very good integration with the touch features of Windows 10, of course, and also generally come with displays, keyboards and touchpads that are among the very best. Surface Book 2 [see link] is their most versatile and powerful device: there are both 15-inch and 13,5-inch models, both having quad-core processors, discrete graphics (up to GTX 1060), and good battery life (advertised up to 17 hours, but one can trust that the real-life use times will be much less). Book 2 is a two-in-one device with a detachable screen that can work independently as a tablet. However, this setup is heavier (1,6 kg for 13,5-inch, 1,9 kg for the 15-inch model) than the Surface Laptop [see link], which does not work as a tablet, but has a great touch-screen, and weighs less (c. 1,5 kg). The “surface” of this Surface laptop is pleasurable alcantara, a cloth material.

MS Surface Laptop with Alcantara
MS Surface Laptop with alcantara (image © Microsoft).

To sum up, there are many really good options these days in personal computers, and laptops in general have evolved in many important areas. Still it is important to have hands-on experience before committing – particularly if one is using the new workhorse intensely, this is a crucial tool decision, after all. And personal preference (and, of course, available budget) really matters.

Server Update: Elementary Error?

I have been running a Windows server in our basement pretty much nonstop since 2008. Originally a personal Web server, this HP Proliant machine has in recent years mostly worked as a LAN file server for backups, media archives and for home-internal sharing. Even with a new 1.5 terabyte disk installed some years ago, it was running out of disk space. The old Windows 2008 Server was also getting painfully slow.

New server components (August 2017)
New server components (August 2017)

I decided to do bit of an update, and got a “small” 120 GB SSD for the new system, and a WD Red 4.0 terabyte NAT disk for data. (I also considered their 8 TB “Archive” disk, but I do not need quite that much space, yet, and the “Red” model was a bit faster for my general purpose use. It was also cheaper.)

This time I decided to go Linux way – my aging dual-core Xeon based system is more suitable for a bit lighter OS than a full Windows Server installation. On the other hand I was curious to try newer Linux distributions, so I picked up the “elementary OS”, which has attracted some positive press recently.

HP Proliant ML110 G5, opened
HP Proliant ML110 G5, opened.

The hardware installation took it’s time, but I must say that I respect the build quality of this budget-class Proliant ML110 Gen5 machine. It has been running soon ten years without a single issue (hardware-related, I mean), and it is very solid, and pleasure to open and maintain (something that cannot be said of several consumer oriented computers that I have used).

Installing elementary OS ("loki")
Installing elementary OS (“loki”)

Also the Linux installation, with my Samba and Dropbox components is now finally up and running. But I have to say that I am a bit disappointed with the elementary OS (0.41 “loki”) at the moment. It might have been wrong distribution for my needs, to start with. It surely looks pretty, but it is also very restricted – many essential administrative tools or features are disabled or not available, by design. Apparently it is made so easy and safe for beginners that it is hard to use this “eOS” for most things that Linux normally is used for: development, programming, systems administration.

It is possible to tweak Linux installations, of course, and I have now patched or hacked the new system to be more allowing and capable, but some new issues have emerged in the process. I wonder if it is possible just to overwrite the “elementary” into a regular Ubuntu Server version, for example, or do I need to reinstall everything and lose the work that I have already done? I need to study the wonderful world of Linux distros a bit more, obviously.

Linux on Vivobook X202E

Ubuntu on Vivobook X202E
Ubuntu on Vivobook X202E

In January 2013 I bought a Asus Vivobook X202E, a small, budget class, touch screen laptop. It has now served me almost four and a half years – an eternity in ICT terms. For some time it has been upgraded from Windows 8 into Windows 10, which in principle operates rather well. It is just that the operating system eats almost all resources, and it is painfully slow to do anything useful, with contemporary web apps and browsers particularly. Even a Chromebook serves better in that regard.

Last night I tried installing Linux – Ubuntu 17.04 version – into multiboot configuration to X202E. There were certain hurdles in the setup: it was necessary to disable Secure Boot, get into the UEFI/BIOS (fast F2 pressing in boot sequence), disable Fast Boot, enable Lauch CSM (disable Launch PXE OpROM), and enable USB options, in order to make the system bootable from an USB installation stick. (Also, my first attempts were all failures, and it was only when I tried to use another USB stick when the boot from USB disk option came available in UEFI/BIOS.)

Currently, all seems to be ok in Ubuntu, and laptp works much faster than in the Windows side. The battery of this laptop has never been strong, and in its current condition I would say that 2-3 hours is probably maximum it can go, unplugged. Thermal cooling is also weak, but if run ‘indicator-cpufreq’ tool and drop the CPU into slower speeds, the system stays manageable. The reality is, however, that the realistic life cycle of this little machine is coming towards its final rounds. But it is nice to see how Linux can be used to breath some new life into the aging system. Also, the touch controls and gestures are better today in Ubuntu, than they were only few years ago. Linux is not a touch-focused operating system by design, and gestures work rather badly in e.g. Firefox – Chrome is better in that regard. Windows 10 is much more modern in that area, and pen-based computing is something that one can really integrate in one’s daily work flow only in Windows 10. But writing, coding, and various editing tasks for example can be achieved in a small Ubuntu laptop quite nicely. Chromebooks, however, are also making promising steps by opening the vast repositories of Android apps that is good news for hybrid devices and touch-oriented users. Linux remains strong as a geek environment, but when user cultures and mainstream users needs are considered, other software and service ecosystems are currently evolving faster.