Installing Linux Mint on an Acer Nitro 5 laptop

This journey isn’t over yet, but it’s been adventurous enough so far that I thought I’d better start documenting things. Otherwise, I’ll never be able to recreate what I’ve done.

My daughter bought herself a new Acer Nitro 5 (AND515-44-R99Q) because her old MacBook is getting very long in the tooth. The new system comes with 16GB RAM, a 256GB NVME SSD (with Windows 10) and a 1 TB Hard Drive.

Her brother had recently picked up an Acer Aspire 3, and apart from some silliness with the secure boot options, it was a piece of cake to throw Linux Mint 20.2 on there.

The Nitro, however, has a new hybrid graphics setup, using the AMD Renoir chip for low-powered stuff, and an Nvidia GTX 1650 as the high-powered graphics engine. That’s the same card I have in my desktop, so I didn’t have any questions about whether it would run.

Well, the live disk installer wouldn’t get to desktop using the “standard” setup. Using compatibility mode, however, I was able to get the desktop to appear. There was a little bit of wonkiness — the trackpad wasn’t recognized, apparently, but I threw an old Kensington trackball on there and was installing in no time.

I’ve learned from past experience that you sometimes have pain on first boot if you don’t install the extra media stuff right away, so I hooked up an ethernet cable and off we went.

Installation is a lot faster on this newer hardware than on a lot of machines I’ve worked with, but I still tend to walk away and let it churn after I’ve gotten it configured. (And hope I didn’t forget anything to come back to it patiently waiting for input to start.)

Installation finished, I rebooted the machine, and …

So, ctrl-alt-F2 to open a console, log in and sudo apt update

Now there are a bunch of upgrades, so sudo apt upgrade

To be honest, I’m about 50/50 at this point whether I want to just install ssh before I get any deeper in the weeds (because the laptop is mounted two feet above my desk, to the right, and I could just ssh in instead of reaching over there to type the commands). However, I want to follow a “normal” process before I get to that, though I’m sure it will come soon.

Well, the upgrade stalled, so it’s ctrl-alt-del and let it reboot. It’s nice at this stage, because while it’s frustrating to have to redo things, at least we’re not worried about losing any data.

So, on this reboot, after getting into the console to log in again (because of the same black screen / non-blinking cursor issue), I’m going to sudo install openssh-server. This will allow me to connect to a console from my own computer, which will allow me to interact with the Nitro without stretching or getting out of my chair, and also will allow me to do other things while it’s going.

So, ssh lets me connect to the laptop even when the display is funky, and even if the keyboard on the laptop starts misbehaving. I can install and uninstall stuff, and even reboot if I need to. One of the first tools I install on a computer, even if I intend to sit in front of it most of the time.

At this point, the Nitro is behaving very badly, and even with moderate edits to the grub file that controls the boot process, it’s not allowing me to log in (graphically). I’m going to switch over to Ubuntu. If I recall correctly, it worked in early tests with this machine. If it shows any sign of trouble, I’ll install ssh first 🙂

There are a couple of reasons that I use Mint instead of Ubuntu, even though Mint is based upon Ubuntu.

The first is Unity. Ubuntu’s default Desktop Environment is clunky, wastes space, and is needlessly obstructive. That’s okay, I know I can install Cinnamon[1]Mint’s default Desktop after I install Ubuntu, and they actually have an installer that uses the Mate environment (which is not bad).

The second is more complicated. Ubuntu has really been pushing the Snap install infrastructure. While it sounds great, the more I delve into it, the more I agree with Mint’s developers that it is the kind of oppressive centralization that caused many of us to leave Apple and Microsoft.

The good news is that Ubuntu starts right up without needing compatibility mode, and the trackpad works. (I actually still prefer using the trackball, since it’s right on the desk next to me.) I installed using Mate, installed ssh, updated drivers, and everything worked. With that in mind, I took careful note of the settings (using the inxi -Fxz command) so that I can try to replicate them in Mint.

So, back to the Mint installer. As before, it only boots in compatibility mode. Bummer. Oh, well, let’s wipe that partition and get it installed again.

So, install is done. We’re doing the first reboot… As expected, black screen. Well ctrl-alt-F2 still works, and after logging in I quickly install ssh.

One advantage of doing some of this work behind the screens is that I get to see the error messages dumped into the console. Wow, the nouveau driver is buggy on Mint Cinnamon with this hardware! A simple difference is the linux kernel being used, however. Ubuntu is using kernel 5.11.0-34, while Mint is using 5.4.0-74. This should be relatively easy to test.

So, from the ssh session: sudo apt update (I actually already did this before installing ssh) and then sudo apt upgrade to apply the upgrades available. This can be kind of important because some things might break with the new kernel otherwise (not that we would notice, since it looks pretty broken as it is).

And, as it happens, Linux Mint 20.2 with kernel 5.11.0-34 still breaks under Cinnamon or Mate when using the Nvidia drivers. Oh, well, I’ll try to figure that out some other time — right now my daughter wants to use her computer.

So, I wipe the partition again, reboot to the Ubuntu Mate installer, and quickly run the install. I’ll have to get to the drivers at another time, but she did use the laptop during our D&D game today, so at least there’s that.

References

References
1 Mint’s default Desktop

Computer Build

Well, I wanted to look something up regarding my computer today, so it’s a good day to share what I used to build my computer.

Motherboard: Gigabyte B365M DS3H

I like this motherboard a lot. It supports 8th and 9th gen processors, so was a good fit for my i5 processor. It has four slots for DDR4 RAM, a full-size PCI-E slot and two smaller PCI-E slots. (Not enough of a wirehead to be able to tell you the difference off the top of my head. The full-size slot is for the graphics card…)

The onboard audio is decent, it has USB 3 onboard, and it comes with an M2A connector for an M.2 Socket 3 NVME SSD drive. In addition, there is support for five other SATA3 drives on traditional SATA connectors. (You can attach six SATA3 drives if you don’t use the M2A connector.) The manual says you can use all six SATA connectors if you use an M.2 PCIe SSD, but I’m not sure if that means installing it in a PCIe slot… Again, perhaps a real wirehead could tell me.

The bios is pretty cool for an old guy like me: GUI with mouse driver. I was able to set it up fairly easily to allow me to dual-boot (although I only have Linux installed right now).

The integrated video is very nice. In fact, it would have been all I need except for a couple of games that refuse to run. For work, it is more than sufficient, and supports three screens.

There are power connectors for two fans (CPU and System), and there’s a front panel audio connector. I’ll have to finish this part later, as I’m currently diagnosing a problem with my front-panel audio: The channels are mixed to come in the same on both left and right, but many audio sources (particularly video) seem to drop one channel out. I don’t know if it’s the board, the cable, or the case, but I’ve now tried several headphones and headsets, including one that is the old headphone-with-no-mic variety, so I know it’s stereo only.

RAM: Corsair Vengeance LPX 16GB (2 x 8GB) DDR4 3000 (PC4-24000) C15 1.35v & Corsair Vengeance LPX 32GB (2 x 16GB) (PC4-21300)

With four RAM slots, I started off with 16GB of memory, and then upgraded to 48. If I have spare cash lying around, I may pull the 8s out and go to 64GB, but I haven’t seen a need for that yet.

Power Supply: Thermaltake SMART 600W ATX 12v v2.3/EPS 12v 80 Plus

Nice supply with braided cable covers. Lots of connectors for lots of stuff. 600W, so it handles the cpu and graphics card (and is probably overkill, to be honest).

Fans: Arctic F12 PWM PST Value Pack

Okay, I felt a bit indulgent getting these, but they are very nice fans. They came in a five pack, so I put one on the back and one on the side, and still had three left over (to easily replace a fan whose bearings went out on my NAS). Very quiet, very efficient. (As I write this, my computer reports that system temp is 42° C (~108° F). With a high-temp threshold of 84° C, I’m pretty comfortable.

CPU: Intel i5-9600K 6 Core up to 4.6GHz unlocked LGA1151 socket 300 series 95W

While I do occasionally see a process thrashing this CPU (usually only on a couple of the cores) it’s been a real pleasure to use. It installed nicely, and with the cooling I’ve installed runs cool enough for me. I went with Intel instead of a Ryzen because I’m planning to do some streaming with OBS Studio, and UserBenchmark has some interesting stuff regarding a memory bottleneck on the Ryzens.

CPU Fan: Cooler Master Hyper 212 Evo CPU Cooler

I’m too old to be ready to try liquid cooling on my system, but this guy is enormous! It barely fits in the case, but with two fans attached, I feel like it’s really doing its best to keep the CPU cool.

Optical Drive: ASUS DRW-24F1ST DVD SUPERMULTI Burner – SATA

Yes, I still want an optical drive. Part of the reason is that we buy DVDs of movies that we want to watch again, and I rip them using MakeMKV and put them on our media server, to save wear and tear on the discs. I got this one because it was SATA, and because it supports the M-type discs that supposedly last for 1K years. True, I don’t currently own any of this media, and my backup strategy does not currently include optical disc backup, but better to be prepared, right?

Graphics Card: ASUS TUF Gaming GeForce GTX 1650 4GB GDDR6 PCI-E 3.0

One of the most expensive parts of the system. I finally got one of these from NewEgg, because the prices on Amazon were ridiculous. In fact, after I ordered, I was told they were out of stock, and would I like to cancel my order? I said, no, I’d rather wait and have them ship it when they got it. It was a little delayed this way, but finally arrived. Then, I just about had a heart attack after I installed it and the system wouldn’t start. It turns out that in inserting the card (which required a fair effort) I had pressed down on one of the latches of a RAM card. The card was partially popped, and the system refused to start. After I checked everything, got the DIMM reseated, etc., everything worked fine.

I have had a couple of times when the proprietary Nvidia drivers don’t want to play nice on my system, but it has taken care of itself and I currently have no complaints.

Drives: Well…

I ordered a HGST Ultrastar 8 TB drive for this build, but when it came it had a SAS connector instead of SATA, so I had to return it.

It’s hard to shop for storage these days. Amazon has blown searching on their site to smithereens, and NewEgg isn’t much better. You can specify the type of drive you want as carefully as you like and you’ll still get lists spammed with all sorts of things that are mis-tagged by the Chinese merchants competing for your dollars.

I ended up putting in a WD 1TB Blue SN550 NVMe drive in the M.2 slot on the motherboard. I also had a couple of 128GB SSDs (Crucial 128GB 2.5″ SATA CT128M4SSD2) lying around from a previous project, and a 2TB drive(WD20EARS – apparently a Caviar Green) from another system. I slapped them all together with LVM2 to make one big volume. I’m backing up to a WD My Book 8TB desktop drive connected by USB 3.

I will eventually get something like the Ultrastar to go inside, and the My Book will get shucked and installed in my NAS, and the Caviar Green will get retired to a system that I don’t care about so much (as they have a reputation for failing). I will also likely upgrade to some 3.5″ SATA SSDs and pull the Crucials out to go in something more suited to them.

Case: Antec Mid-Tower Case with 2X USB 3.0 Ports VSK4000E-U3

I don’t need anything fancy in a case. I want something that’s big enough for my motherboard and drives [1]and cpu fan — oh my!. I like steel, although I’ll work with a certain amount of lucite.

This one also sports two USB 3 ports on the front panel, as well as headphone and mic ports. It has three exposable 5¼ in bays for my optical drive (and I could put in a tape drive, floppy with adapter, 5 ¼ in floppy, hot-pluggable hard drive sled, etc.)

In addition to the normal case fan on the back, there’s a place to mount a fan on the side grill, for better air flow.

Everything fit, and although it doesn’t have tool-free drive mounts, it works.

I subsequently found another case that met my needs even better for a bit less, but no regrets.

Keyboard: Cooler Master CK550 V2

I had ordered a Cooler Master SK650, with low-profile Red switches, but the keyboard was defective, and I ordered the CK550 to use while waiting for the SK650 to be RMAed. I like the feel and accuracy of the CK550 a lot. It’s noisier than the SK650, but that’s a trade-off I’m willing to make for a keyboard that types what I want it to type.

The backlighting is a lot more useful than the backlighting on my dinosaur Saitek Eclipse II keyboard, where the lighting was more like mood lighting. It didn’t actually help me to discern letter shapes on the keycaps. In addition, the inclusion of a key puller allowed me to physically move the Control, Alt, and Super keycaps to the places where I actually have them mapped.

I’m keeping the SK650 for now, and it will likely be my travel keyboard, as it has a nice velour bag to travel in, has a detachable USB-C cable (for better packing and less travel stress on the cable) and is lower profile, but even after it came back from the RMA it’s a bit too soft and I tend to repeat bottom-row keys.

Pointing Device: Kensington Expert Mouse

For several years, I have preferred trackballs to mice. I find they bother my broken right wrist less, and they work better than mice on the cluttered desk that always manages to be my work surface. The Expert Mouse has a large ball, which is great for control over large or small distances. The ring around the ball is also nice, as it makes scrolling easier (especially in this new era where software designers hate scroll bars).

Back in the day, there were several companies that made replacement balls for these trackballs (55mm ball, if you’re looking) that were either novelty (8-ball is what I remember, specifically) or of differing weights. I have found someone who still sells replacement balls, but although I have a tendency to drop mine, and have it roll who knows where, I haven’t needed to replace it.

The trackball is optical, so rather than having oil accumulate on the rollers, it tends to have lint accumulate on the sensor. This is easily dealt with, as the ball lifts out easily, and you can blow out the lint in a moment.

I use the USB version, FWIW. Wireless means either constant recharging or replacing batteries when it’s least convenient. Wired means it’s always the fluff when my “mouse” starts behaving erratically.

Also, while the trackball has four buttons, I only use three (currently). When I played WOW I had all four buttons mapped to various things, but I never generally used even the third button until I switched to Linux. Now, I’m addicted to inserting selected text without using the clipboard buffer…

It appears that Logitech has a trackball that also uses a 55mm ball, although it’s not centered (it’s placed under the thumb in a more mouse-like enclosure). That might be better for accessing the buttons. Certainly one reason I haven’t explored the use of the fourth button is that it’s awkward to access.

I like the idea of a multi-touch trackpad, but I haven’t seen a solution that wows me for a price I’m willing to experiment at, so… This is also why I use keyboards with numeric keypads — I would be happy to use a tenkeyless with an external pad, but I haven’t seen a pad that encourages me to spend money on it.

Some people may note that in certain cases I’ve bought something where there’s a comparable product for less money. A lot of the time, that’s because the comparable product is made by a Chinese company. I can’t always control if something is made in China (sourcing is not always straightforward) and I sometimes get tired and just buy what I’ve been able to find. However, I’ve made a decision to avoid the products of Chinese companies when I can[2]which is not the same as “when they’re no more expensive” given the slave labor and predatory practices of that government. When they violated Hong Kong’s autonomy and the big companies like Apple and Google just shrugged is when I decided that I needed to be more proactive. While I do currently have a Motorola phone, and while I like its features, it will be my last. AT&T kindly sent me a Samsung Galaxy S9 to replace it (although the S9 doesn’t have dual SIM slots), and I may end up transitioning to the S9. In any case, that’s the reasoning behind some of the product choices.

I would be happy to put in links to the products, if that’s desired, although you can search as easily as I can. The way technology companies move, a lot of it is already discontinued, though it’s not very old. Also, if I do put in links, I’ll probably try to figure out how to make them affiliate links, so that I can maybe get some money out of this thing. Anyway, it’s worth dropping a comment, maybe.

Next time, I may talk about my monitors and usb hubs, network hardware, VESA mounts, etc.

References

References
1 and cpu fan — oh my!
2 which is not the same as “when they’re no more expensive”

More Tools

2MHost – Web Hosting

For many years now, I’ve maintained my own domain for a variety of reasons. One of the biggest is that I find it very unprofessional for a business to use gmail.com or outlook.com or some other domain for their emails, and a website that is basically a personal site (domain.com/~mybusiness) feels shoddy. It’s also nice to be able to create email accounts and email forwarders — more on that later.

For my hosting, I’ve been using 2MHost.com. Although they advertise rates as low as $2.75/month, they actually have an even cheaper option. They do free SSL certificates (to get the coveted “lock” icon in the address bar, and end-to-end encryption of traffic) and have a number of other perks. Monthly bandwidth is “unlimited”[1]Unreasonable traffic will be flagged and they have a nice webapp installer (including WordPress).

I have found their customer service to be responsive and helpful.

I believe their datacenters are in the US. I have been very pleased with their policy of always renewing at the same price. If it’s a good deal today, it’s likely to remain so.

NameSilo – Domain Name Services

While 2MHost provides Domain Name Registration, I use NameSilo for my registrations. Part of the reason is that I was using them before 2MHost offered the service. Part of the reason is compartmentalization. I prefer not to put all of my eggs in one basket in order to make changes easier. I’ve changed hosts a number of times before settling on 2MHost. Having control of the domain registration separately from the hosting makes that easier.

OwnCloud – Self-Hosted Cloud Services

I previously used NextCloud for my self-hosted cloud services, but something in my server setup changed, and it wasn’t working. OwnCloud is a separate fork of NextCloud [2]technically the other way around, and both are offered in the software installation section of 2MHost. OwnCloud allows me to host my password database on a server that I control, and it also gives me address book and calendar options that are mine. There are other things it can do, some of which are limited by my host (which has graciously grandfathered my “unlimited” account, so limits it to “typical” webhost traffic and use).

Enpass – Password Management

If you’re not using a password management tool, you should be. Enpass is nearly perfect for what I want. It keeps the passwords in an encrypted vault, it has browser plugins, and it even has an Android app with integration to fill passwords in other apps.

The Desktop app is free, and as I noted above, you can easily sync passwords among desktop computers using a service like OwnCloud. (It also works with corporate cloud options, if that’s your thing.) However, if you want to use their cloud, it will cost you from $2-$4/month, depending upon whether you want the individual or the family plan. If you think you’d use it for longer than a few years, it might be worth paying the $80 lifetime license. The one thing you wouldn’t get with that is the easy sharing of passwords with other users, but since you can make multiple vaults, that can be worked around.

I got the license during the beta period, so it didn’t cost me $80. To be honest, I don’t know if I’d pay for it now[3]although I did pay for 1Password on Mac for years. In any case, it’s very flexible, allows me to import my software licenses from 1Password, and generates strong passwords.

Because you can create templates, you can also manage other sensitive information. I will admit that, at least using Brave as my browser, Enpass isn’t good at filling in credit card information. However, it keeps it handy, and I can easily copy and paste from the Enpass window.

Quite frankly, if it weren’t for the license fee, I would recommend Enpass without any hesitation as the Password Manager you should be using.[4]I’ve tried to use and like KeePass and Bitwarden, but the latter is hard (for me) to self-host, and KeePass is difficult to sync. Neither of them is as nice for non-password data as Enpass (or … Continue reading

Brave – Web Browser

Since I mentioned Brave, I’ll say I think everyone should use Brave as their browser. It uses Chromium as its engine, so it’s compatible with most of the sites you want to use, but it comes installed with ad and tracker blocking. In addition, it uses a Basic Attention Token (BAT) crypto-currency — paying you to opt-in to non-tracking ads, and then using that currency to pay tips to sites that you choose. You won’t “get rich from surfing the web”, but it’s a better model than the standard one, which too often tries to install malware on your computer.

Brave supports Chrome plugins, so Enpass (and KeePass and Bitwarden) all work, and it supports Chromium’s multiple profile structure, so you can work even harder to keep certain companies from tracking all of your activity. It’s also helpful for, for example, staying logged in to github on two different accounts at the same time, or using a business Youtube account in one profile and a personal one in another.

Brave also has its own secure sync, so you can sync bookmarks[5]Separate lists for separate profiles and even load pages that are being viewed on a different synced device (including mobile).

Brave supports private windows, multiple search engines (I use both Brave’s own search and DuckDuckGo, for the most part), built-in Tor and Torrent support, etc. The built-in tracking and add protection is claimed to save bandwidth and time: my browser tells me it’s saved me 2.02GB of bandwidth and 1.2 hours of time by blocking 88,783 trackers and ads.

While you can “lower the shields” to use Brave without protection if needed (you can always do it in a private window, if you like), it’s been fascinating to see that, for example, AT&T wants to load 20-some trackers and ads in my browser before it will let me pay my bill.

Well, this update was kind of wordy, so I’ll leave it at that for now. Next time, maybe I’ll talk about my fitness tracker.

References

References
1 Unreasonable traffic will be flagged
2 technically the other way around
3 although I did pay for 1Password on Mac for years
4 I’ve tried to use and like KeePass and Bitwarden, but the latter is hard (for me) to self-host, and KeePass is difficult to sync. Neither of them is as nice for non-password data as Enpass (or 1Password) is.
5 Separate lists for separate profiles

Tools to Use

I’m not really sure how to start this blog. Over time, there are certain tools that just become more and more useful or essential, and I think it’s helpful to share. I may eventually try to organize this more, but I’ll start by just jotting down things I’m using.

Covid Information

It seems that there’s more and more disinformation about Covid-19 these days, and it comes from both sides. Rumors and anecdotes abound, but getting at any real numbers is hard. My wife works in healthcare, and was telling me about stories she hears at work, about out-of-state hospitals calling with bed requests, because there are so many covid cases.

Here’s a tool to look at the actual bed utilization numbers in the US: https://protect-public.hhs.gov/pages/hospital-utilization

If you don’t believe the government about anything, it won’t help, but if you’re willing to get some data from health and human services, check out the link.

Programmer’s Editor

Atom.io programming text editor. I find myself more and more pleased with what I can do with it. Really, the one glaring hole in its tool set so far is that it has no way to jump to the nth character in a file. Since this is how javascript reports errors, that’s inconvenient. However, that aside, Atom does syntax highlighting, programming suggestions, etc., and it’s very expandable. It can use a lot of tools from Sublime Text, which I also love, but which is way too expensive for what I do.

Python Development Environment

If you’re doing Python development, I use Anaconda. Not only does it greatly simplify the creating of python virtual environments, it also comes with a bunch of other tools. One of them, Spyder, is a great IDE [1]Integrated Development Environment for python that has a console, code completion, etc. Switch between python versions and dependencies for various projects easily, and it reports your current environment at your shell prompt.

Shell Environment

Speaking of shells, I’ve begun using fish, the Friendly Interactive SHell. Not only do the developers have a great sense of humor [2]Finally, a command line shell for the 90s, but the shell itself has features that are easy to get used to. Any reasonable shell has command history, where you can use the cursor-control keys to recall previous commands. Fish takes this to the next level by recalling recent commands as you type. In this way, it is easy to quickly repeat something you did in the recent past without having to remember all of the details. Fish also searches man pages for possible command switches, searches the local directory for possible arguments, and just makes things a lot easier. Since there are still some things that are more intuitive for me in bash, it’s easy to drop a bash command by prefixing it with bash.

Programmer’s Font

Both Atom and fish are made better by the use of the Fira Code font. This font uses ligatures to make code more readable, and it’s just a good-looking font in the first place.
As an example, check out this hot-linked image table: Table of Fira Code Ligatures

Markdown Knowledge Base

All of these semi-graphical textual elements remind me of another tool I’m loving: Obsidian. This is a sort of flat-file database using markdown to style and link information. It provides link previews if you hover over a link, live markdown rendering, is available on just about every platform, and can be synced [3]A word of caution: since the underlying engine is not about sync, you should be cautious about the tool you use. Obsidian has a subscription sync service. I haven’t configured sync yet, but … Continue reading

Folder Synchronization Tool

I mentioned Syncthing. This is an amazing tool. Syncronize folders on you computer or mobile device. Syncronize in one direction or both. Syncronize with as many devices as you wish. Key factors: Private, Encrypted, Authenticated. It works on a local network, or over the Internet. On mobile devices, you can disable syncing while using metered data. Conflicts are handled reasonably well, keeping multiple copies to avoid data loss. It’s amazingly fast at copying. The Syncthing server works simply on every platform, and it runs an internal webserver, so you can configure it without any other tools. That said, there are many useful tools to give you feedback in your desktop environment.

For Linux, I use Syncthing Tray, currently at version 1.1.9. It’s Qt-based, runs on macOS and Windows as well, and gives good access to see the status of Syncthing. On macOS, I’ve been using syncthing-macos. It lives in the menu bar and does what I need. Particularly, it makes it easy to update the syncthing server in a GUI. For Windows, I typically install Synctrayzor. Now that Syncthing Tray works well under Windows, I may change that.

I use Syncthing to synchronize my photos on my phone with my home computer. In this way, my photos stay mine — they aren’t stored on someone else’s cloud. This might be a good time to mention that I use Syncthing-Fork on Android. The other Syncthing for Android is limited by security changes in the more recent versions of Android (9 and up?). It is available in the Google Play Store, or you can install the APK directly from the Github releases. It’s also available from F-Droid.

Remote Terminal Server

As you can see, I work on a number of different computer platforms. While most of my work is on Linux, and while I look for open source/free solutions to most software needs, I also support people who use Windows and macOS, so I keep a couple of those machines running, too. I find it’s most useful and efficient to use my large screens and nice keyboard for everything, so I use remote connection and control software to access the Windows and Mac laptops.

The software I use for this is NoMachine. It’s fast. It’s cross-platform. It can pipe sound as well as the screen. For my use, it’s free. It uses discovery on a local network, which makes a lot of things easier. It works on everything from macOS, Windows, and Linux, to Raspberry Pi and Android.

Well, that’s a start. The accordion plugin I used for this list is Accordion Blocks by Phil Buchanan. It’s just straightforward Gutenberg blocks, and I find it much nicer to use than Accordion FAQ. The latter is filled with graphic elements that make it distracting and more difficult to use, and it also requires you to create and edit your accordion away from the post text you’ll use it in. Accordion Blocks, on the other hand, works like any other element, and while it has fewer options, wins out in my usability eval.

References

References
1 Integrated Development Environment
2 Finally, a command line shell for the 90s
3 A word of caution: since the underlying engine is not about sync, you should be cautious about the tool you use. Obsidian has a subscription sync service. I haven’t configured sync yet, but intend to use Syncthing. Sync conflicts are a thing, and I will let you know if I run into a lot of them.

NaNoWriMo, Linux, and Scrivener

Well, it’s that time of year again. My son is the most excited about National Novel Writing Month, but Kimia and I are also participating in the competition to write 50,000 words in a month.

I opted out last year, and the year before that I was mostly working in Mac OS, so I did all of my writing in Scrivener. There are lots of apps out there to help you write: most of them seem to focus on helping you focus (by covering up your screen except for where you’re typing), while a few also work on helping you to organize your writing project.

While Kimia (and Jack) continue to use StoryMill on the Mac, I switched over to Scrivener a few years back, and I believe it’s the king of this software category. Available on Mac and Windows, they even have a synced iPad app, which was nice at the time. NaNo without Scrivener was a daunting prospect.

I realized that there might be some similar software, so I started looking. The early favorite was Manuskript. The interface was a little kludgy in comparison to Scrivener (perhaps a tablet inspired look?) but the main pieces seemed to be there. Alas, using it was somewhat painful, and I couldn’t find the most important feature of a NaNo writing tool — the word count target bell!

I moved on to oStorybook, CherryTree notes, Joplin, Draftman, etc. I even tried just using SimpleNote (which is somewhat compatible with the back end of Scrivener). I couldn’t even find a non-organizing text editor with a word count target bell.

Finally, I returned to an old project. I had dug up an old Scrivener for Linux beta, several years ago. You can download it, yourself, from Literature and Latte’s site. Unfortunately, it depends upon some old libraries that are not in the “software store” for Linux Mint 19.2. What to do? What to do?

Well, one of the nice things about Linux is the error messages. Trying to run Scrivener (installation was without error) it told me precisely which libraries were missing. Thus, the first time I tried to run it, I was told that I was missing libpng12.so.01. A little bit of searching allowed me to download it from the repos for an earlier version of Ubuntu: http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

(Note that the above is the 64-bit version — if you need the 32-bit version, you’ll have to do your own searching.)

curl -O http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
sudo dpkg -i libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

The first line above (which wraps to two lines on my blog) downloads the file to your computer. If you just click the link to download, you don’t need to do that part. The second line (that starts with sudo) tells the package manager (dpkg) to install (-i) the file you downloaded. Now, we try to start Scrivener again.

This time we’re told we’re missing libgstapp-0.10.so.0. (It should go without saying that you probably already have both of these libraries installed, but in later versions.) I found http://fr.archive.ubuntu.com/ubuntu/pool/main/g/gst-plugins-base0.10/libgstreamer-plugins-base0.10-0_0.10.36-1_amd64.deb and http://fr.archive.ubuntu.com/ubuntu/pool/universe/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1.5ubuntu1_amd64.deb resolved that dependency, and Scrivener fired up as intended.

There are a couple of interesting lessons from this long pilgrimage. One, never let your old versions of software disappear. If I hadn’t been able to find the older versions of those libraries, I wouldn’t have been able to twist Scrivener’s arm into running on my system.

A larger lesson might be this: if you wait long enough, someone is likely to do the work for you. Yes, not only are you, dear reader, able to learn from my work and easily download the needed libraries (as well as the 1.9.01 beta itself), since you have read to the bottom of this post, you will now learn that there is another, easier way. The Way of Linux has a post about this same issue, with the good news that someone who calls himself Erkus the Damned has made an AppImage version of Scrivener that includes the needed libraries. Download, double-click, and voilà!

A final lesson is this: you found this page, and you might just have been looking for a solution to this problem. I looked for and solved it in my way, and The Way of Linux and their friend Erkus solved it in theirs. Linux is a bigger pie than it was in 2015 (when the last beta was released), and there just might be a market for a Scrivener competitor in Linux. Ideally, it would be compatible with Scrivener’s data structures so as to be a complete drop-in replacement, but even a version of Manuskript that was a little less clunky and implemented some of the missing features found in Scrivener might fit the bill.

One can always hope.

Web Development and Password Management

I keep intending to write a blog post about password management, but I haven’t gotten around to it. Nevertheless, I’ll mention that I use Enpass for cross-platform, secure password management.

Because I rely on this program so heavily (1Password isn’t available for Linux, and some of their development direction is concerning to me) I was nonplussed to see that I was asked to uninstall Enpass in order to try the highly-acclaimed Web Development program Brackets. In fact, I remembered that I had wanted to try Brackets some time back, but had held off for this very reason.

Well, I decided to try harder this time, and I tracked down a bug report (or Issue in the github vocabulary) that pointed to curllib3 being the culprit. This older library has been replaced with curl4, and Enpass (and several other apps on my computer) depend on the newer version. For whatever reason, Brackets was unwilling to try the newer version, and the package manager was not willing to let the two libraries coexist on my system.

Fortunately, the bug report had a solution. Unpack the .deb installation package, edit the manifest to allow curllib4 to be used, repack the package and install.

Computer work was a lot harder back before there was such a large collaborative community online.

So long, Apple. It’s been nice.

In 1983 or 1984, I was a senior in high school. The year I had started there, they had received a bunch of new Apple ][ computers, and there was no one on staff who knew how to use them. (Previously the computer class had used terminals hooked to a computer in a semi trailer parked outside the school building.)

I was hooked as soon as I sat down at one of the new machines, and it wasn’t long before I was able to offer instruction to my computer teacher, who had duties beyond spending every free hour on the computers.

It was because of this that I was invited by the faculty to attend a special meeting offered by Apple, to show off a new computer they were introducing. I don’t know if it had already been released (hence my uncertainty about the date) but the computer was the brand-new Macintosh.

I was mesmerized. I had never seen anything so perfect. The black-on-white display, the fine resolution (72 dpi), the mouse, and the motorized 3.5″ floppy drive… I told the faculty that they were looking at the future, right there.

It would be several years before I was able to purchase a computer of my own, but when I did, it was a Macintosh SE/30, upgraded to 5MB of RAM and a 40MB hard disk drive. My wife still reminds me of my assurance that we would never need to buy more storage than that. When people asked me what kind of computer to get, I would always point them to the Mac, and I seldom had anyone be disappointed with my advice.

In the mid-1990s, when the press was beating the drum of Apple’s demise I was confident that their deep cash reserves and superior engineering (both software and hardware) would see them through. I never had a problem with Apple until Steve Jobs came back to the company and cancelled the cloning program.

Now, I had purchased a computer while the clone program was still going on. I had really wanted to buy a UMAX clone, partly because I really liked their scanners, but when it came down to it, the Apple Macintosh 7500 was a better computer for the money, and that’s what I had got. However, it bugged me that Steve had shut down the competition, and I remember stomping up and down the service floor expressing my indignation. I don’t know if someone else asked me, or if I asked myself, “So, what are you going to do?”

The question settled me instantly. Most of my work at that time was building and fixing Windows-based computers. Windows 95 was the shipping OS, and I knew quite a bit about how to get it working under various conditions. I also knew that I never wanted to rely on Windows 95 for anything. I might have started playing with Linux, but it was a really raw operating system, and wasn’t really a player. I realized that I wasn’t going to not use a Mac just to spite Steve Jobs — that would be cutting off my nose to spite my face.

Later, in 2000, Mac OS X came out and revolutionized everything all over again. With the Unix underpinnings and bundled developer tools, OS X not only reinvigorated Apple, it also breathed new life into that other Unix derivative, Linux. Being able to do things in the Bash shell on both Linux and Mac, and being able to recompile lots of software to work on either helped both platforms to grow. I experimented with Linux from time to time, but the Mac was so stable, and had such good software, that I didn’t need to switch, and didn’t really want to.

When the iPhone came out, I was disappointed that the openness we had seen on OS X was not carried on with the mobile platform. Although iOS is built on the same technology as OS X, Apple chose to lock it down, and they locked it down rather tight. This didn’t stop me from jailbreaking my phone a couple of times (‘rooting’ in Android parlance) and I loved the smooth performance of the computer in my pocket. The integration with my Mac was nice, too, and although I was skeptical of iCloud (or .Mac, or the other incarnations) I was able to do most of what I wanted without handing Apple all of my keys.

This began to change when Apple began to push iOS updates harder and harder. Suddenly my friendly Apple phone was behaving like malware, using misdirection and social engineering to try to trick me into installing an update I didn’t want. It downloaded the update to my limited phone memory using equally limited foreign cell minutes while I was traveling overseas. I set the iPhone on my bedside table and left it there, getting an Android phone instead.

While I had spent years working to keep Google from invading my life, I was surprised to find that it was actually pretty easy to block them from tracking my Android phone. Turning off the voice assistant, blocking various permissions, I was struck at how easy it was to protect my privacy on the Android, where with the iPhone I had been faced with the binary choice: install or don’t install the software, but don’t ask what it accesses.

Meanwhile, Apple was also beginning to make life difficult on the desktop. Starting with Mac OS X Yosemite, they wanted to prevent me from having root access to my own computer. Suddenly the little tricks and hacks that had been coming over from the Linux world were stymied — my friendly Mac wanted to keep me, its owner, at arms’ length. I disabled SIP (System Integrity Protection, the Orwellian name for giving Apple more control over my own computer than I had) and soldiered on, ignoring the Sierra and High Sierra updates that broke so much of the large software collection I had accumulated in decades of using the Mac. I also didn’t like the interface changes that had crept in, removing so much of what made the Mac interface intuitive after using it since 1984.

In short, I began to feel towards Apple the way I had once felt towards Microsoft. They weren’t interested in how I wanted to use a computer — they wanted to tell me what to do, and how to do it. Facing challenges with syncing my Android phone to the Mac, looking at more and more of my software breaking as they pushed out updates, being nagged by my other Apple software (Pages, and the rest of the iWork suite, iPhoto and its replacement) to upgrade my system, I finally decided that it was time to try something different.

I downloaded and installed Peppermint Linux 9 on one of the spare drives in my computer. (Only possible because I am using an older Mac with lots of room for drives. Newer Mac models are restrictive in that way.) I rebooted into Linux and found that I could now go days and weeks without needing my Mac. My Android phone mounted seamlessly on the desktop. My calendar and contacts were syncing nicely with my NextCloud server. Although some software, like 1Password, and Scrivener, were no longer options for my computer, I found many new programs that had no peer on the Mac. And while I could run Linux in a virtual machine on the Mac, and have not yet figured the intricacies out of running Mac OS in a virtual machine under Linux on the Mac, Linux was so much faster, using the multiple processor cores where Safari on the Mac (and just booting) had chugged slowly along, draining time from my day.

I miss the Mac. I truly miss what it was. Peaking somewhere around Lion, Mac OS was a beautiful thing, and a real tribute to the engineers who put it all together. Somewhere along the way (and I must admit it began before Steve Jobs died) Apple lost their way, and began to push novelty for its own sake, and to wrap their customers into a tighter and tighter cocoon of Apple-only software. Where previously I had been able to plug something in and confidently expect it to “just work”, they had opted for a system where if it wasn’t from Apple, it probably wouldn’t.

I’m typing this update in Chromium on Linux, on my Mac Pro tower. Mac OS El Capitan is still installed on another partition, and I reboot to it once every week or two to try to salvage some remnant of my former life, like Crusoe returning to the ship wreck. Like him, I wonder if one of these times I’ll find that the sea has reclaimed the last thing I wanted — if it will be my last visit to those familiar boards. I wonder what software I’ll use for my writing, as NaNoWriMo approaches in November. Mostly, I feel a deep sadness for the friend I trusted — for their tech, even when I questioned their business decisions — who finally drove me away.