<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    
    <title>Bit Cannon wesonlinux</title>
    
    <link>https:&#x2F;&#x2F;bitcannon.net</link>
    <description>Recent posts on Bit Cannon</description>
    <generator>Zola</generator>
    <language>en</language>
    <managingEditor>wes@wezm.net (Wesley Moore)</managingEditor>
    <webMaster>wes@wezm.net (Wesley Moore)</webMaster>
    <atom:link href="https:&#x2F;&#x2F;bitcannon.net&#x2F;tags&#x2F;wesonlinux&#x2F;index.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Sat, 15 Jul 2023 09:20:06 +1000</lastBuildDate>
    
    <item>
      <title>A Month on Chimera Linux</title>
      <pubDate>Sat, 15 Jul 2023 09:20:06 +1000</pubDate>
      <atom:published>2023-07-15T09:20:06+10:00</atom:published>
      <atom:updated>2024-07-26T10:01:20+10:00</atom:updated>
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;a-month-with-chimera-linux&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;a-month-with-chimera-linux&#x2F;</guid>
      <description>&lt;p&gt;I installed &lt;a href=&quot;https:&#x2F;&#x2F;chimera-linux.org&#x2F;&quot;&gt;Chimera Linux&lt;&#x2F;a&gt; on my laptop a month ago and have been using it daily
since then. This post details the experience so far.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;figure&gt;&lt;a href=&quot;chimera-linux-gnome-desktop.png&quot;&gt;
    &lt;img src=&quot;chimera-linux-gnome-desktop.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Chimera Linux on HP Aero 13 laptop&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;&lt;strong&gt;Note 07 Jul 2024:&lt;&#x2F;strong&gt; Keep in mind that this was written in July 2023 and the
distro has continued to improve. So the following does accurately represent the
current state of things.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-is-chimera-linux&quot;&gt;What Is Chimera Linux?&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;chimera-linux.org&#x2F;&quot;&gt;Chimera Linux&lt;&#x2F;a&gt; is a unique from-scratch Linux distribution created in 2021 by
&lt;a href=&quot;https:&#x2F;&#x2F;q66.moe&#x2F;&quot;&gt;q66&lt;&#x2F;a&gt; that combines the &lt;a href=&quot;https:&#x2F;&#x2F;www.kernel.org&#x2F;&quot;&gt;Linux kernel&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;musl.libc.org&#x2F;&quot;&gt;musl libc&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;www.freebsd.org&#x2F;&quot;&gt;FreeBSD&lt;&#x2F;a&gt; userland, &lt;a href=&quot;https:&#x2F;&#x2F;wiki.alpinelinux.org&#x2F;wiki&#x2F;Alpine_Package_Keeper&quot;&gt;apk package
manager&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;davmac.org&#x2F;projects&#x2F;dinit&#x2F;&quot;&gt;dinit binary init system&lt;&#x2F;a&gt;. The whole system is built with the &lt;a href=&quot;https:&#x2F;&#x2F;llvm.org&#x2F;&quot;&gt;LLVM&lt;&#x2F;a&gt;
toolchain. The homepage says:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;It aims to be clean and usable while addressing the various shortcomings of
an average Linux distribution.&lt;&#x2F;p&gt;
&lt;p&gt;It does so by liberating itself from the common baggage of most Linux-based
systems and doing its own thing. Software is sourced from different places
and sometimes written from scratch.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Notably this unholy combination yields a Linux system that is not GNU&#x2F;Linux.
From &lt;a href=&quot;https:&#x2F;&#x2F;chimera-linux.org&#x2F;about&#x2F;&quot;&gt;the about page&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;This means Chimera is not a GNU&#x2F;Linux system, as it utilizes neither GNU
utilities, nor GNU libc, nor GNU toolchain. The system is bootstrappable
almost entirely without any GNU components (other than &lt;code&gt;make&lt;&#x2F;code&gt;) and is capable
of booting without them (however, most people will have some).&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;To build Chimera q66 also implemented a package build tool called &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&#x2F;blob&#x2F;master&#x2F;Usage.md&quot;&gt;cbuild&lt;&#x2F;a&gt; and
ports tree, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&quot;&gt;cports&lt;&#x2F;a&gt;. &lt;strong&gt;cbuild&lt;&#x2F;strong&gt; and cports are implemented in Python (using only
the standard library). This allows the package building architecture to make
use of the niceties of a full-featured programming language instead of shell
scripts or Makefiles which are commonly used by other ports trees. Additionally
cbuild builds in a sandbox that isolates the build from the host system. This
avoids undiscovered dependencies and allows the system to bootstrap on a
non-Chimera Linux systems.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why&quot;&gt;Why?&lt;&#x2F;h3&gt;
&lt;p&gt;When picking any tool or software out of the ordinary a common question I see
is: Why would you subject yourself to additional hurdles, bugs etc. I think
this usually comes down to personal technology values and preferences. I&#x27;m not
going to get into the specifics there but Chimera feels very close the distro I
would build (and started building), so it&#x27;s like my ideal distro.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Update 4 Jul 2024:&lt;&#x2F;strong&gt; I expanded on this a bit more in: &lt;a href=&quot;https:&#x2F;&#x2F;www.wezm.net&#x2F;v2&#x2F;posts&#x2F;2024&#x2F;why-chimera-linux&#x2F;&quot;&gt;Why Chimera Linux&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;&#x2F;h2&gt;
&lt;p&gt;I have been closely following Chimera&#x27;s progress towards a release that is
deemed stable enough for daily use. With the announcement of &lt;a href=&quot;https:&#x2F;&#x2F;chimera-linux.org&#x2F;news&#x2F;2023&#x2F;06&#x2F;entering-alpha.html&quot;&gt;the alpha
phase&lt;&#x2F;a&gt; on June 11 that happened:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Simply put, having entered the alpha phase means that the project is somewhat
more ready to deal with users and potential repository expansion.&lt;&#x2F;p&gt;
&lt;p&gt;In summary, the current state of the project means it’s daily-driveable and
can be gradually updated without significant manual fixups, but there may
still be bugs, missing documentation, and some things may still change at
conceptual level.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;With the official go-ahead (despite travelling at the time) I wasted no time
installing it on my laptop. My laptop is not my primary computer, it&#x27;s more an
ancillary device that I use kinda like an iPad — if you could actually code on
an iPad too. I use it most days for web-browsing, email, chat, YouTube, but
also coding (in Rust mostly) or writing blog posts like this one!&lt;&#x2F;p&gt;
&lt;p&gt;I already had a spare partition to install into and while the
&lt;a href=&quot;https:&#x2F;&#x2F;chimera-linux.org&#x2F;docs&#x2F;&quot;&gt;docs&lt;&#x2F;a&gt; are adequate I do recommend reading them in their
entirety (including the non-installation sections) before starting an
installation. I deviated from the standard install by eschewing Grub as
bootloader and using systemd-boot, which was already installed for the Arch
Linux installation that Chimera boots alongside. My boot entry
(&lt;code&gt;&#x2F;boot&#x2F;loader&#x2F;entries&#x2F;chimera.conf&lt;&#x2F;code&gt;) looks like this:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;ini&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-ini &quot;&gt;&lt;code class=&quot;language-ini&quot; data-lang=&quot;ini&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;title   &lt;&#x2F;span&gt;&lt;span&gt;Chimera Linux
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;linux   &lt;&#x2F;span&gt;&lt;span&gt;&#x2F;vmlinuz-&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;6&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;35&lt;&#x2F;span&gt;&lt;span&gt;-&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;-generic
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;initrd  &lt;&#x2F;span&gt;&lt;span&gt;&#x2F;initrd.img-&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;6&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;35&lt;&#x2F;span&gt;&lt;span&gt;-&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;-generic
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;options &lt;&#x2F;span&gt;&lt;span&gt;root=PARTUUID=5ebb7ccb-&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;5349&lt;&#x2F;span&gt;&lt;span&gt;-&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d08770;&quot;&gt;414c&lt;&#x2F;span&gt;&lt;span&gt;-bf1a-7bc8fb07aefb rw
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;An unresolved issue with this is that unlike Arch, which uses filenames that
don&#x27;t include the kernel version the Chimera kernel and init RAM disk include a
version. This means I have to tweak the bootloader entry whenever the kernel
version changes.&lt;&#x2F;p&gt;
&lt;p&gt;The installation target was a &lt;a href=&quot;https:&#x2F;&#x2F;support.hp.com&#x2F;in-en&#x2F;document&#x2F;c08303941&quot;&gt;HP Pavilion Aero 13&lt;&#x2F;a&gt;, which I am using
to write this post (from Chimera). This is a surprisingly capable computer for
the price (AU$1079, approx $740 USD), mainly owing to the 8 core AMD Ryzen CPU.
It&#x27;s main drawback is 8Gb of non-upgradable RAM. The appeal of it for me was
that it weighs only 966g. That puts it well into iPad with keyboard territory
(iPad Air 461g + Logitech Cobo Touch keyboard 574g = 1035g) without the
arbitrary limitations on what I&#x27;m allowed to do with the computer that come
with iPadOS —  it even has multiple USB-A ports!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Basic specs are:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;CPU:&lt;&#x2F;strong&gt; AMD Ryzen™ 7 5800U (up to 4.4 GHz max boost clock, 8c&#x2F;16t)&lt;br &#x2F;&gt;
&lt;strong&gt;RAM:&lt;&#x2F;strong&gt; 8 GB DDR4-3200 MHz RAM&lt;br &#x2F;&gt;
&lt;strong&gt;Storage:&lt;&#x2F;strong&gt; 1Tb NVMe&lt;br &#x2F;&gt;
&lt;strong&gt;Display:&lt;&#x2F;strong&gt; 13.3&quot; diagonal, WQXGA (2560 x 1600), IPS&lt;br &#x2F;&gt;
&lt;strong&gt;Graphics:&lt;&#x2F;strong&gt; Integrated Radeon Graphics&lt;br &#x2F;&gt;
&lt;strong&gt;WiFi:&lt;&#x2F;strong&gt; Realtek Wi-Fi 6&lt;&#x2F;p&gt;
&lt;p&gt;My normal desktop environment is the &lt;a href=&quot;https:&#x2F;&#x2F;awesomewm.org&#x2F;&quot;&gt;Awesome window manager&lt;&#x2F;a&gt; but since that&#x27;s
not packaged yet (I have it working but need to clean it up) I went with the
default GNOME 44 desktop.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;what-works&quot;&gt;What Works&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;HiDPI (I run the display @2x)&lt;&#x2F;li&gt;
&lt;li&gt;Wi-Fi&lt;&#x2F;li&gt;
&lt;li&gt;Audio&lt;&#x2F;li&gt;
&lt;li&gt;Bluetooth headphones&lt;&#x2F;li&gt;
&lt;li&gt;Web cam&lt;&#x2F;li&gt;
&lt;li&gt;Brightness and volume controls on keyboard&lt;&#x2F;li&gt;
&lt;li&gt;Trackpad, including multi-touch gestures&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The whole system is smooth and responsive and has been totally reliable. I&#x27;ve
had no crashes or application instability. It sleeps and wakes perfectly.
Battery life seems to be about the same as I get in Arch: 4 or 5 hours
depending on what I&#x27;m doing (an iPad certainly wins here).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;what-doesn-t-work&quot;&gt;What Doesn&#x27;t Work&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Fingerprint scanner — doesn&#x27;t work in Arch either.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;experience-report&quot;&gt;Experience Report&lt;&#x2F;h2&gt;
&lt;p&gt;With the installation done I set about installing my usual collection of software.
The package manager is &lt;code&gt;apk&lt;&#x2F;code&gt; from &lt;a href=&quot;https:&#x2F;&#x2F;alpinelinux.org&#x2F;&quot;&gt;Alpine Linux&lt;&#x2F;a&gt;. &lt;a href=&quot;https:&#x2F;&#x2F;www.wezm.net&#x2F;v2&#x2F;posts&#x2F;2022&#x2F;alpine-linux-docker-infrastructure-three-years&#x2F;&quot;&gt;My server runs Alpine&lt;&#x2F;a&gt; so I was
already familiar with it.&lt;&#x2F;p&gt;
&lt;p&gt;Firefox is in the package repo and includes a sub-package that has a desktop
entry with the right arguments to make it run natively on Wayland. Firefox works
great, including using the webcam and mic.&lt;&#x2F;p&gt;
&lt;p&gt;I quickly missed &lt;a href=&quot;https:&#x2F;&#x2F;hluk.github.io&#x2F;CopyQ&#x2F;&quot;&gt;CopyQ&lt;&#x2F;a&gt; for clipboard history and it looked a bit challenging
to port so I opted for the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;SUPERCILEX&#x2F;gnome-clipboard-history&quot;&gt;gnome-clipboard-history&lt;&#x2F;a&gt; GNOME extension. None
of the browser integration things would work to install the extension so I did
it manually.&lt;&#x2F;p&gt;
&lt;p&gt;One thing that stumped me for a bit but isn&#x27;t really Chimera specific was how
to enable the &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Compose_key&quot;&gt;Compose key&lt;&#x2F;a&gt; in GNOME. Previously I&#x27;d done this in GNOME Tweaks
but that isn&#x27;t in the repos. After dealing with multiple pages of
&lt;a href=&quot;https:&#x2F;&#x2F;help.gnome.org&#x2F;admin&#x2F;system-admin-guide&#x2F;stable&#x2F;keyboard-compose-key.html.en&quot;&gt;outdated&lt;&#x2F;a&gt; &lt;a href=&quot;https:&#x2F;&#x2F;help.gnome.org&#x2F;users&#x2F;gnome-help&#x2F;stable&#x2F;tips-specialchars.html.en&quot;&gt;info&lt;&#x2F;a&gt; on the GNOME website I eventually
discovered that you can now just set it in the Keyboard pane of the Settings
app.&lt;&#x2F;p&gt;
&lt;figure&gt;&lt;a href=&quot;gnome-44-compose-key-settings.png&quot;&gt;
    &lt;img src=&quot;gnome-44-compose-key-settings.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Compose key settings in GNOME Settings&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Being proprietary apps &lt;a href=&quot;https:&#x2F;&#x2F;1password.com&#x2F;&quot;&gt;1Password&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;obsidian.md&#x2F;&quot;&gt;Obsidian&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;www.jetbrains.com&#x2F;clion&#x2F;&quot;&gt;CLion&lt;&#x2F;a&gt; all would not run
due to depending on glibc but fortunately they are all available as &lt;a href=&quot;https:&#x2F;&#x2F;www.flatpak.org&#x2F;&quot;&gt;Flatpaks&lt;&#x2F;a&gt; on
&lt;a href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;&quot;&gt;Flathub&lt;&#x2F;a&gt;. Installation was a simple &lt;code&gt;flatpak install&lt;&#x2F;code&gt;. Later Flatpak also saved
the day when it came to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;prusa3d&#x2F;PrusaSlicer&quot;&gt;Prusa Slicer&lt;&#x2F;a&gt;, which despite being open-source depends
on a specific patched development version of wxWidgets.&lt;&#x2F;p&gt;
&lt;p&gt;1Password isn&#x27;t quite as integrated as usual due to the browser extension and
application being separated by the Flatpak sandbox. This means that choosing
Edit on an item in the browser opens 1Password on the web instead of the
application. There&#x27;s also no synchronisation of the lock state of the extension
and application, meaning if you unlock with your password in one the other
remains locked.&lt;&#x2F;p&gt;
&lt;p&gt;I manage my dotfiles with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ubnt-intrepid&#x2F;dot&quot;&gt;dot&lt;&#x2F;a&gt;, which was easy enough to install with the
packaged Rust toolchain (see below for notes on rustup).&lt;&#x2F;p&gt;
&lt;p&gt;On the command line &lt;code&gt;zsh&lt;&#x2F;code&gt; &lt;code&gt;git&lt;&#x2F;code&gt;, and &lt;code&gt;Neovim&lt;&#x2F;code&gt; were in the repos but other tools
I commonly use were not: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;BurntSushi&#x2F;ripgrep&quot;&gt;ripgrep&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;sharkdp&#x2F;fd&quot;&gt;fd&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;jonas.github.io&#x2F;tig&#x2F;&quot;&gt;tig&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;sharkdp&#x2F;bat&quot;&gt;bat&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ajeetdsouza&#x2F;zoxide&quot;&gt;zoxide&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wezm&#x2F;git-grab&quot;&gt;git-grab&lt;&#x2F;a&gt;,
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;junegunn&#x2F;fzf&quot;&gt;fzf&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bvaisvil&#x2F;zenith&quot;&gt;zenith&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;the.exa.website&#x2F;&quot;&gt;exa&lt;&#x2F;a&gt;. &lt;code&gt;exa&lt;&#x2F;code&gt; seems unmaintained so I swapped it for &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lsd-rs&#x2F;lsd&quot;&gt;lsd&lt;&#x2F;a&gt;,
which had been recently added to the repos. A glace at the open PRs showed
there were ports for &lt;code&gt;zoxide&lt;&#x2F;code&gt; and &lt;code&gt;bat&lt;&#x2F;code&gt; in progress. I set about building ports
for &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&#x2F;pull&#x2F;195&quot;&gt;ripgrep&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&#x2F;pull&#x2F;197&quot;&gt;fd&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&#x2F;pull&#x2F;196&quot;&gt;tig&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&#x2F;pull&#x2F;198&quot;&gt;fzf&lt;&#x2F;a&gt;.
These were all easy enough although I had to tweak both &lt;strong&gt;ripgrep&lt;&#x2F;strong&gt; and &lt;strong&gt;fd&lt;&#x2F;strong&gt; to
prevent them switching the Rust global allocator to jemalloc, since the &lt;a href=&quot;https:&#x2F;&#x2F;lib.rs&#x2F;crates&#x2F;jemalloc-sys&quot;&gt;jemalloc crate&lt;&#x2F;a&gt;
fails to build on Chimera so far.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wezm&#x2F;git-grab&quot;&gt;git-grab&lt;&#x2F;a&gt; is a tool I wrote so wasn&#x27;t sure it was popular enough to package
right now. I settled for a simple &lt;code&gt;cargo install git-grab&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;zenith&lt;&#x2F;code&gt; failed to build for uninteresting reasons. I bumped a dependency to
fix that and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bvaisvil&#x2F;zenith&#x2F;pull&#x2F;135&quot;&gt;submitted a PR&lt;&#x2F;a&gt;. Once they publish a new release with
that fix I might create a Chimera port for it.&lt;&#x2F;p&gt;
&lt;p&gt;Some other notable tooling choices in the base system:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Wi-Fi is managed with &lt;a href=&quot;https:&#x2F;&#x2F;iwd.wiki.kernel.org&#x2F;&quot;&gt;iwd&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;pipewire.org&#x2F;&quot;&gt;Pipewire&lt;&#x2F;a&gt; is the audio server.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Duncaen&#x2F;OpenDoas&quot;&gt;doas&lt;&#x2F;a&gt; is the privilege escalation tool.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;davmac.org&#x2F;projects&#x2F;dinit&#x2F;&quot;&gt;dinit&lt;&#x2F;a&gt; init system. Nothing to really say here. It&#x27;s fast and has worked fine.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;what-s-missing&quot;&gt;What&#x27;s Missing&lt;&#x2F;h3&gt;
&lt;p&gt;Some things that I tried to install but hit roadblocks. Not necessarily insurmountable ones,
just ones I haven&#x27;t taken the time to tackle yet.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.docker.com&#x2F;&quot;&gt;Docker&lt;&#x2F;a&gt;&#x2F;&lt;a href=&quot;https:&#x2F;&#x2F;podman.io&#x2F;&quot;&gt;Podman&lt;&#x2F;a&gt; is not currently available but there is a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&#x2F;pull&#x2F;206&quot;&gt;work-in-progress PR for Podman&lt;&#x2F;a&gt;.
This means that I currently can&#x27;t use Chimera to build new images for &lt;a href=&quot;https:&#x2F;&#x2F;www.wezm.net&#x2F;v2&#x2F;posts&#x2F;2022&#x2F;alpine-linux-docker-infrastructure-three-years&#x2F;&quot;&gt;my server&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I didn&#x27;t dig too deeply but I&#x27;m not sure if there&#x27;s a story for running VMs on
Chimera at the moment. Normally I use &lt;a href=&quot;https:&#x2F;&#x2F;virt-manager.org&#x2F;&quot;&gt;virt-manager&lt;&#x2F;a&gt; but it&#x27;s not packaged yet.&lt;&#x2F;p&gt;
&lt;p&gt;Websites using Widevine DRM (like Netflix) don&#x27;t work. It&#x27;s likely that a
backup Flatpak browser will work around this.&lt;&#x2F;p&gt;
&lt;p&gt;I wanted to install &lt;a href=&quot;https:&#x2F;&#x2F;deno.land&#x2F;&quot;&gt;Deno&lt;&#x2F;a&gt; to deal with a broken dependency on my very
important website: &lt;a href=&quot;https:&#x2F;&#x2F;mistakes.computer&#x2F;&quot;&gt;mistakes.computer&lt;&#x2F;a&gt;. The pre-compiled binaries they publish use glibc so I
tried building from source with: &lt;code&gt;cargo install deno --locked&lt;&#x2F;code&gt;. That failed
because a dependency (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;denoland&#x2F;rusty_v8&quot;&gt;rusty_v8&lt;&#x2F;a&gt;) tries to avoid building V8 using a
pre-compiled library that it fails to find for Chimera.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;Downloading https:&#x2F;&#x2F;github.com&#x2F;denoland&#x2F;rusty_v8&#x2F;releases&#x2F;download&#x2F;v0.74.2&#x2F;librusty_v8_release_x86_64-chimera-linux-musl.a...
&lt;&#x2F;span&gt;&lt;span&gt;HTTP Error 404: Not Found
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;You can tell it to build V8 from source: &lt;code&gt;V8_FROM_SOURCE=1 cargo install deno --locked&lt;&#x2F;code&gt; but that also fails because building V8 depends on &lt;a href=&quot;https:&#x2F;&#x2F;gn.googlesource.com&#x2F;gn&quot;&gt;some Google
specific build tool&lt;&#x2F;a&gt; that I haven&#x27;t bothered
trying to build&#x2F;package so far.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;rustup.rs&#x2F;&quot;&gt;Rustup&lt;&#x2F;a&gt; installs and runs. It installs a &lt;code&gt;stable-x86_64-unknown-linux-musl&lt;&#x2F;code&gt;
toolchain but that is non-functional due to depending on &lt;code&gt;libgcc&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ ldd ~&#x2F;.rustup&#x2F;toolchains&#x2F;stable-x86_64-unknown-linux-musl&#x2F;bin&#x2F;rustc
&lt;&#x2F;span&gt;&lt;span&gt;	&#x2F;lib&#x2F;ld-musl-x86_64.so.1 (0x7f3903800000)
&lt;&#x2F;span&gt;&lt;span&gt;	librustc_driver-d2bfe141fc706ea1.so =&amp;gt; &#x2F;home&#x2F;wmoore&#x2F;.rustup&#x2F;toolchains&#x2F;stable-x86_64-unknown-linux-musl&#x2F;bin&#x2F;..&#x2F;lib&#x2F;librustc_driver-d2bfe141fc706ea1.so (0x7f38f9200000)
&lt;&#x2F;span&gt;&lt;span&gt;	libstd-fe6ad1580bc261a5.so =&amp;gt; &#x2F;home&#x2F;wmoore&#x2F;.rustup&#x2F;toolchains&#x2F;stable-x86_64-unknown-linux-musl&#x2F;bin&#x2F;..&#x2F;lib&#x2F;libstd-fe6ad1580bc261a5.so (0x7f38f8e00000)
&lt;&#x2F;span&gt;&lt;span&gt;	libc.so =&amp;gt; &#x2F;lib&#x2F;ld-musl-x86_64.so.1 (0x7f3903800000)
&lt;&#x2F;span&gt;&lt;span&gt;Error loading shared library libgcc_s.so.1: No such file or directory (needed by &#x2F;home&#x2F;wmoore&#x2F;.rustup&#x2F;toolchains&#x2F;stable-x86_64-unknown-linux-musl&#x2F;bin&#x2F;..&#x2F;lib&#x2F;librustc_driver-d2bfe141fc706ea1.so)
&lt;&#x2F;span&gt;&lt;span&gt;	⋮
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;That&#x27;s not a huge issue as the latest stable Rust compiler is in the repos
(&lt;del&gt;although &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;rust-lang&#x2F;rustfmt&quot;&gt;rustfmt&lt;&#x2F;a&gt; is notably absent&lt;&#x2F;del&gt; &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&#x2F;commit&#x2F;7d38a5c3&quot;&gt;rustfmt was added&lt;&#x2F;a&gt; the day I wrote this post). Also since &lt;a href=&quot;https:&#x2F;&#x2F;www.jetbrains.com&#x2F;clion&#x2F;&quot;&gt;CLion&lt;&#x2F;a&gt; is running in a
Flatpak sandbox it can&#x27;t see the system Rust compiler anyway. The CLion
sandbox is a glibc environment so installing rustup into it works fine.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;other-issues&quot;&gt;Other Issues&lt;&#x2F;h2&gt;
&lt;p&gt;It hasn&#x27;t been 100% smooth sailing. Some other small issues and bugs I&#x27;ve ran into:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;My screen brightness resets to max brightness each time I reboot.&lt;&#x2F;li&gt;
&lt;li&gt;I noticed that the ImageMagick tools were broken and was able to submit &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&#x2F;pull&#x2F;201&quot;&gt;a
fix&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;There was a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;cports&#x2F;pull&#x2F;192&quot;&gt;typo in one of the bluetoothd files&lt;&#x2F;a&gt; preventing
the daemon from starting, which I fixed.&lt;&#x2F;li&gt;
&lt;li&gt;As I was writing this post I noticed that &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;chimerautils&#x2F;issues&#x2F;9&quot;&gt;timezones were not being output in
some invocations of &lt;code&gt;date(1)&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;, which was &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chimera-linux&#x2F;chimerautils&#x2F;commit&#x2F;83b19a036c7c55dc978162c5db842f3421428f85&quot;&gt;fixed&lt;&#x2F;a&gt; 24
hours after reporting it.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;&#x2F;h2&gt;
&lt;p&gt;So far my experience has actually been better than I expected. Since I
installed it I have not rebooted back into Arch. This isn&#x27;t &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;huawei-matebook-x-pro-void-linux&#x2F;&quot;&gt;the
first time I&#x27;ve run a desktop musl system&lt;&#x2F;a&gt; and I was prepared to
encounter incompatible software more often than I did. Flatpak really helps
fill the gaps there.&lt;&#x2F;p&gt;
&lt;p&gt;As the alpha announcement suggested, I have run into the odd bug here and there
but for the most part the system is remarkably polished and stable. I plan to
keep using it as the primary OS on my laptop, including its &lt;a href=&quot;https:&#x2F;&#x2F;frame.work&#x2F;au&#x2F;en&#x2F;products&#x2F;laptop-diy-13-gen-amd&quot;&gt;Framework 13 AMD&lt;&#x2F;a&gt;
replacement that should arrive Q4 2023.&lt;&#x2F;p&gt;
&lt;p&gt;It is currently my aim to use Chimera on my desktop computer at some point in
future too. That probably won&#x27;t be until after the beta phase is reached
though.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;comments&quot;&gt;Comments&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;lobste.rs&#x2F;s&#x2F;uxi00j&#x2F;month_on_chimera_linux&quot;&gt;Lobsters&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=36742534&quot;&gt;Hacker News&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
    </item>
    
    <item>
      <title>Void Linux (musl) on the Huawei MateBook X Pro</title>
      <pubDate>Sun, 06 Oct 2019 10:06:01 +1100</pubDate>
      <atom:published>2019-10-06T10:06:01+11:00</atom:published>
      <atom:updated>2024-07-09T13:20:18+10:00</atom:updated>
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;huawei-matebook-x-pro-void-linux&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;huawei-matebook-x-pro-void-linux&#x2F;</guid>
      <description>&lt;p&gt;I recently returned from a 3-week trip to Broome to escape the awful Melbourne
weather. The first week I worked remotely and the latter two were holiday. A
week before leaving I acquired a new laptop: a Huawei MateBook X Pro (2018). In
the days before heading off I worked to set up the new machine into a state
that would allow me to perform all my work duties. I wanted to take the new
laptop as it is considerably lighter and smaller than the XPS 15 it&#x27;s
replacing.&lt;&#x2F;p&gt;
&lt;p&gt;To make things even more interesting instead of going for my tried
and true Arch Linux setup I wanted to try out Void Linux. Specifically the musl
libc variant. This post describes the trial by fire that the laptop and Void
Linux received on this trip.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;figure&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;hauwei-matebook-x-pro-running-void-linux-musl.jpg&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;hauwei-matebook-x-pro-running-void-linux-musl_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Huawei MateBook X Pro (2018) running Void Linux (musl)&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;My &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;replacing-a-macbook-pro&#x2F;&quot;&gt;XPS 15&lt;&#x2F;a&gt; is two years old
now. I was using it for work until recently but replaced it with a &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;page&#x2F;ryzen9-pc&#x2F;&quot;&gt;Ryzen 9
small form factor desktop PC&lt;&#x2F;a&gt;. Given my
laptop use was now more casual and for when travelling I wanted something
smaller and lighter. I did a bit of research and found the Huawei MateBook X
Pro, specifically the 2018 model. There is a 2019 model but it has not been
released in Australia. Seeing as it was last years model I was able to get it
on sale for AU$2219, which compares quite favourably to the AU$3144 I paid for
the XPS 15.&lt;&#x2F;p&gt;
&lt;p&gt;The MateBook X Pro has a unibody all aluminium construction, 3K 3000×2000 HiDPI
touchscreen display, Intel Core i7-8550U CPU (4 core, 8 thread), 16Gb RAM,
512Gb NVMe SSD, NVIDIA GeForce MX150 graphics, 4 speaker Dolby Atmos audio, and
weighs around 1.33 kg (compared to the 2.06 kg XPS 15). It has 2 USB-C ports,
1 supporting Thunderbolt 3, 1 USB-A port (Apple take note) and a headphone
jack.&lt;&#x2F;p&gt;
&lt;p&gt;The laptop was delivered a week before heading off on the trip and it presented
an opportunity to try out a new Linux distribution. I installed &lt;a href=&quot;https:&#x2F;&#x2F;voidlinux.org&#x2F;&quot;&gt;Void Linux&lt;&#x2F;a&gt;
(&lt;a href=&quot;https:&#x2F;&#x2F;www.musl-libc.org&#x2F;&quot;&gt;musl libc&lt;&#x2F;a&gt; version) instead of my usual &lt;a href=&quot;https:&#x2F;&#x2F;www.archlinux.org&#x2F;&quot;&gt;Arch Linux&lt;&#x2F;a&gt;. musl appeals to
me because &lt;del&gt;I&#x27;m &lt;a href=&quot;https:&#x2F;&#x2F;books.google.com.au&#x2F;books?id=p1q2AgAAQBAJ&amp;amp;pg=PA8&amp;amp;lpg=PA8&amp;amp;dq=mateship+nicknames&amp;amp;source=bl&amp;amp;ots=Qg4b2_741J&amp;amp;sig=LMFX2MiiRt_ZnWuU6g3HG9_jKSw&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=Q6RJVMy4GMSrmAWPhYL4Aw&amp;amp;redir_esc=y#v=onepage&amp;amp;q=%22supporting%20the%20underdog%22&amp;amp;f=false&quot;&gt;Australian and a sucker for an underdog&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; it has a
clean code base, permissive licensing, and is not a GNU project.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;hardware-impressions&quot;&gt;Hardware Impressions&lt;&#x2F;h2&gt;
&lt;p&gt;The laptop comes packaged very nicely and includes a USB-C charger with detachable
cable, and USB-C dongle with: USB-C, VGA (😳), HDMI, and USB-A ports. Some quick
impressions:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Build quality is excellent.
&lt;ul&gt;
&lt;li&gt;Approaching if not matching Apple fit and finish.&lt;&#x2F;li&gt;
&lt;li&gt;Definitely superior to the XPS.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Display is excellent. 3:2 aspect ratio is nice for reading and coding.&lt;&#x2F;li&gt;
&lt;li&gt;Trackpad is large, precise, and has an adequate button. I&#x27;d rate it 8&#x2F;10
where I&#x27;d give the MacBook one 10&#x2F;10 and the XPS 7&#x2F;10.&lt;&#x2F;li&gt;
&lt;li&gt;The keyboard is great.
&lt;ul&gt;
&lt;li&gt;Better feel than my old 2013 MacBook and XPS keyboards.&lt;&#x2F;li&gt;
&lt;li&gt;It&#x27;s firm and fairly quiet but with a good amount of travel still.&lt;&#x2F;li&gt;
&lt;li&gt;Nothing like the newer MacBook butterfly keyboards.&lt;&#x2F;li&gt;
&lt;li&gt;It copies the dumb Apple arrow key layout, which is a shame.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Dongle included in box with a good port selection is a nice touch.&lt;&#x2F;li&gt;
&lt;li&gt;The charger and cables feel well-made.&lt;&#x2F;li&gt;
&lt;li&gt;When charging there&#x27;s a tiny white led on the side of the laptop that blinks
while charging and goes constant when charged.&lt;&#x2F;li&gt;
&lt;li&gt;Audio is noticeably better than the XPS 15. It is very clear and precise,
especially in the treble range. Having top and bottom speakers is a good
feature.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;figure&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;broome-office.jpg&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;broome-office_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;My Broome office&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Battery life was excellent even when working on Rust code and repeatedly
recompiling. I estimate about 5 or 6 hours of battery life doing this. My
typical workflow was to work on battery all morning, charge over lunch and
then work all afternoon on battery, which worked fine.&lt;&#x2F;p&gt;
&lt;p&gt;Even working in the warm ambient temperatures of Broome (~30℃) with
computationally expensive workloads the fan, whilst active, remained fairly
subdued. For whatever reason the fan is much more active when booted into
Windows.&lt;&#x2F;p&gt;
&lt;p&gt;Performance wise the XPS is definitely faster, especially when compiling code
with multiple cores. This is mostly due to the base clock speed being about
1Ghz lower in the MateBook. &lt;a href=&quot;https:&#x2F;&#x2F;cpu.userbenchmark.com&#x2F;Compare&#x2F;Intel-Core-i7-7700HQ-vs-Intel-Core-i7-8550U&#x2F;m211019vsm320742&quot;&gt;UserBenchmark comparison of the two
CPUs&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Incidentally I also discovered that &lt;a href=&quot;https:&#x2F;&#x2F;bugzilla.mozilla.org&#x2F;show_bug.cgi?id=1210726&quot;&gt;video playback in Firefox is not GPU
accelerated on Linux&lt;&#x2F;a&gt;. This results in over 100% (more than 1
core) CPU utilisation when watching HD videos on YouTube. Watching the same
video in VLC with GPU accelerated video playback uses only about 20% CPU and
the laptop runs a lot cooler.&lt;&#x2F;p&gt;
&lt;p&gt;Linux support is great. Hardware that worked out of box:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Wi-Fi&lt;&#x2F;li&gt;
&lt;li&gt;Audio&lt;&#x2F;li&gt;
&lt;li&gt;Graphics (integrated)&lt;&#x2F;li&gt;
&lt;li&gt;Trackpad&lt;&#x2F;li&gt;
&lt;li&gt;Battery level&lt;&#x2F;li&gt;
&lt;li&gt;Touch screen&lt;&#x2F;li&gt;
&lt;li&gt;Volume controls&lt;&#x2F;li&gt;
&lt;li&gt;Keyboard backlight&lt;&#x2F;li&gt;
&lt;li&gt;Brightness&#x2F;backlight controls&lt;&#x2F;li&gt;
&lt;li&gt;Web cam&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;As other reviews noted the angle of the web cam is not great. Hiding the camera
in a keyboard button is nice for ensuring it can&#x27;t surreptitiously be used
though.&lt;&#x2F;p&gt;
&lt;p&gt;After I bought the laptop it was reported that &lt;a href=&quot;https:&#x2F;&#x2F;www.theinquirer.net&#x2F;inquirer&#x2F;news&#x2F;3081537&#x2F;huawei-matebook-linux-china&quot;&gt;Huawei would start shipping some
MateBook models with Linux&lt;&#x2F;a&gt; in China. It&#x27;s no real surprise
then that the hardware is very well supported.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;life-in-the-void&quot;&gt;Life in the Void&lt;&#x2F;h2&gt;
&lt;p&gt;My Void Linux musl experience has so far been quite smooth but is not without
its compromises. Installation was quite hands on like Arch but there is at
least an installer to help you with some tasks. I was able to set up my
usual &lt;a href=&quot;https:&#x2F;&#x2F;awesomewm.org&#x2F;&quot;&gt;Awesome&lt;&#x2F;a&gt; desktop environment easily.  Binary packages were available for
most of my usual software.&lt;&#x2F;p&gt;
&lt;p&gt;The main thing I did not manage to get working was properly was
&lt;code&gt;gnome-keyring&lt;&#x2F;code&gt;. On my other systems this acts as ssh and GPG agent and is
automatically unlocked when I log in so I don&#x27;t need to enter ssh or GPG
key passwords all the time.&lt;&#x2F;p&gt;
&lt;p&gt;When setting the machine up for work I also run into a &lt;a href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=91430&quot;&gt;GCC 9 bug&lt;&#x2F;a&gt;
that another Void using coworker had hit. The bug prevents the &lt;a href=&quot;http:&#x2F;&#x2F;www.mercurylang.org&#x2F;&quot;&gt;Mercury
compiler&lt;&#x2F;a&gt; from being able to be built. My coworker was able to
downgrade to an older gcc. I had no such package on hand I resorted to using
&lt;a href=&quot;https:&#x2F;&#x2F;podman.io&#x2F;&quot;&gt;Podman&lt;&#x2F;a&gt; to do builds in a container. This worked fine for the duration of my
remote work.&lt;&#x2F;p&gt;
&lt;p&gt;The primary place where using a musl based distro becomes apparent is with
pre-compiled binaries, often linked against glibc. In my case these were all
proprietary software:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.jetbrains.com&#x2F;clion&#x2F;&quot;&gt;CLion&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;scootersoftware.com&#x2F;&quot;&gt;BeyondCompare&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Netflix&lt;&#x2F;li&gt;
&lt;li&gt;NVIDIA drivers, &lt;a href=&quot;https:&#x2F;&#x2F;www.bumblebee-project.org&#x2F;&quot;&gt;Bumblebee&lt;&#x2F;a&gt;, NVIDIA OpenCL&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;For Netflix I was able to reboot into Windows at the end of the day. Instead of
CLion I just went back to using Neovim. For BeyondCompare, there isn&#x27;t a great
replacement, which is why I paid for a licence in the first place. For the odd
merge conflict I needed to deal with I used &lt;a href=&quot;http:&#x2F;&#x2F;meldmerge.org&#x2F;&quot;&gt;Meld&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The lack of NVIDIA drivers
is not much of an issue, in fact I used &lt;code&gt;bbswitch&lt;&#x2F;code&gt; on the XPS to disable the
discrete graphics. However, I thought I might start processing some photos from
the trip in &lt;a href=&quot;https:&#x2F;&#x2F;www.darktable.org&#x2F;&quot;&gt;darktable&lt;&#x2F;a&gt; and it benefits greatly from OpenCL. In the end I
deferred doing the photos until I got home and could use my Arch desktop.&lt;&#x2F;p&gt;
&lt;p&gt;Over the course of the three weeks I ran into a handful of packages missing
from the Void repos that are available in the Arch repos:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;neXromancers&#x2F;shotgun&quot;&gt;shotgun&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;atanunq&#x2F;viu&#x2F;&quot;&gt;viu&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;hluk.github.io&#x2F;CopyQ&#x2F;&quot;&gt;CopyQ&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;ctags.io&#x2F;&quot;&gt;Universal Ctags&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;www.purescript.org&#x2F;&quot;&gt;PureScript&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;watchexec&#x2F;watchexec&quot;&gt;watchexec&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;crystal-lang.org&#x2F;&quot;&gt;Crystal&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Being Rust tools I was readily able to &lt;code&gt;cargo install&lt;&#x2F;code&gt; &lt;code&gt;shotgun&lt;&#x2F;code&gt;, &lt;code&gt;viu&lt;&#x2F;code&gt;, and
&lt;code&gt;watchexec&lt;&#x2F;code&gt; myself. I created &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wezm&#x2F;void-packages&#x2F;commit&#x2F;48e210a0b40956ca950db9b38876dbd818f17fb3&quot;&gt;a package for PureScript&lt;&#x2F;a&gt;,
and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wezm&#x2F;void-packages&#x2F;commit&#x2F;5ca47647cc63523a3d0f5dac32ad4d9d856f0734&quot;&gt;Crystal&lt;&#x2F;a&gt;. I did not tackle CopyQ or Universal ctags.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;closing-thoughts&quot;&gt;Closing Thoughts&lt;&#x2F;h3&gt;
&lt;p&gt;I like XBPS and the &lt;code&gt;void-packages&lt;&#x2F;code&gt;&#x2F;&lt;code&gt;xbps-src&lt;&#x2F;code&gt; repo. Feels much like the FreeBSD ports tree
except with bash instead of make and a familiar git based workflow.&lt;&#x2F;p&gt;
&lt;p&gt;Void splits packages into the main package and &lt;code&gt;-devel&lt;&#x2F;code&gt; ones like Debian.
Having spent more than 2 years with Arch and FreeBSD that don&#x27;t do this I find
it quite annoying. I know there are some minor space savings to be had but I
prefer to have the complete upstream package installed, so I don&#x27;t have to
remember to go install the &lt;code&gt;-devel&lt;&#x2F;code&gt; version as well.&lt;&#x2F;p&gt;
&lt;p&gt;So far I&#x27;ve enjoyed my time with the MateBook and Void Linux and plan to keep using
it as the primary OS on this laptop. I can also highly recommend the MateBook as
beautiful, well-built, Linux hardware.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Update 09 Jul 2024:&lt;&#x2F;strong&gt; I sold this laptop in 2023. It ran Void for a while but
in the end I ran Arch on it most of the time.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;comments&quot;&gt;Comments&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;lobste.rs&#x2F;s&#x2F;nojrd8&#x2F;void_linux_musl_on_huawei_matebook_x_pro&quot;&gt;Lobsters&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linux&#x2F;comments&#x2F;de0uzq&#x2F;void_linux_musl_on_the_huawei_matebook_x_pro&#x2F;&quot;&gt;Reddit&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21170765&quot;&gt;Hacker News&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
    </item>
    
    <item>
      <title>Announcing Desktop Institute</title>
      <pubDate>Sun, 23 Jun 2019 15:42:07 +1000</pubDate>
      <atom:published>2019-06-23T15:42:07+10:00</atom:published>
      
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;announcing-desktop-institute&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;announcing-desktop-institute&#x2F;</guid>
      <description>&lt;p&gt;Since publishing, &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;pro-desktop&#x2F;&quot;&gt;A Tiling Desktop Environment&lt;&#x2F;a&gt;,
I&#x27;ve continued to think about the topic, absorb the comments I received, try
out some of the suggestions, and poke around the code bases of some existing
window managers and Wayland compositors.&lt;&#x2F;p&gt;
&lt;p&gt;This weekend I set up a new website to document the thinking and research I&#x27;ve
been doing. It&#x27;s called Desktop Institute, and has a fun domain:
&lt;a href=&quot;https:&#x2F;&#x2F;desktop.institute&#x2F;&quot;&gt;desktop.institute&lt;&#x2F;a&gt;. Check it out for a more info on what I
have planned as well as a roadmap for future posts.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;desktop.institute&amp;#x2F;&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;desktop-institute.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;figure&gt;
</description>
    </item>
    
    <item>
      <title>A Tiling Desktop Environment</title>
      <pubDate>Sun, 02 Jun 2019 09:48:31 +1000</pubDate>
      <atom:published>2019-06-02T09:48:31+10:00</atom:published>
      <atom:updated>2024-04-09T19:24:44+10:00</atom:updated>
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;pro-desktop&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;pro-desktop&#x2F;</guid>
      <description>&lt;p&gt;I&#x27;ve been thinking about graphical shells recently. One of the great things
about open source desktops&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#1&quot;&gt;1&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt; is there is a plethora of choice when it comes
to graphical shells. However they seem to fall into two camps:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Full featured desktop environments that stick to the conventional stacking
window metaphor.&lt;&#x2F;li&gt;
&lt;li&gt;Narrowly featured window manager based environments that include tools like
tiling window managers often optimised for efficient keyboard use.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;I am currently using the second of these through the &lt;a href=&quot;https:&#x2F;&#x2F;awesomewm.org&#x2F;&quot;&gt;Awesome window
manager&lt;&#x2F;a&gt;. I&#x27;m really enjoying the keyboard centric operation, and
almost never needing to manually position newly spawned windows. Each workspace
(desktop) gets its own layout&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#2&quot;&gt;2&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;, which describes how windows are laid out. For
example, my most commonly used layout has one master window that takes up half
the screen then additional windows are stacked on the right half. The split
between the two halves of the screen is easily adjusted with
&lt;kbd&gt;Super&lt;&#x2F;kbd&gt;﹢&lt;kbd&gt;h&lt;&#x2F;kbd&gt; and &lt;kbd&gt;Super&lt;&#x2F;kbd&gt;﹢&lt;kbd&gt;l&lt;&#x2F;kbd&gt;. Layouts can
be changed on the fly with &lt;kbd&gt;Super&lt;&#x2F;kbd&gt;﹢&lt;kbd&gt;space&lt;&#x2F;kbd&gt; to suit your work.&lt;&#x2F;p&gt;
&lt;p&gt;Another aspect I enjoy about Awesome is its snappiness. This is largely due to
the lack of animation. Switching workspaces is instant, without any unnecessary
flourishes. It seems that the animations used in many graphical shells these
days tend to reduce the perceived performance of the system. &lt;a href=&quot;https:&#x2F;&#x2F;9to5mac.com&#x2F;2016&#x2F;03&#x2F;08&#x2F;how-to-disable-ios-springboard-animations-faster-glitch&#x2F;&quot;&gt;Look how fast
this iPhone is when animations are disabled&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The drawback to window manager based environments is that you give up the
cohesive, full featured nature of a desktop environment. For example, these
are features of GNOME that I had to research, install, and configure after
moving to Awesome (items in &lt;em&gt;italic&lt;&#x2F;em&gt; are ones I haven&#x27;t actually taken the
time to implement yet):&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Compositor&lt;&#x2F;li&gt;
&lt;li&gt;Volume and brightness status and control&lt;&#x2F;li&gt;
&lt;li&gt;Network status and control&lt;&#x2F;li&gt;
&lt;li&gt;SSH agent, GPG agent, polkit agent&lt;&#x2F;li&gt;
&lt;li&gt;Screenshot tools&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Media controls&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Notifications&lt;&#x2F;li&gt;
&lt;li&gt;HiDPI support
&lt;ul&gt;
&lt;li&gt;Cursor sizing&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Automounting of external drives&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Automatic multi-monitor support&lt;&#x2F;em&gt;
&lt;ul&gt;
&lt;li&gt;Desktop gracefully adapting to monitors being added and removed&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Screen locking&lt;&#x2F;li&gt;
&lt;li&gt;Power management
&lt;ul&gt;
&lt;li&gt;Battery status&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Low power warnings&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Clipboard preservation&lt;&#x2F;em&gt;
&lt;ul&gt;
&lt;li&gt;I.e. clipboard source can exit and you can still paste&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Color management&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Even with many of these implemented the components don&#x27;t always work as nicely
as in GNOME. For example, my XPS 15 has a built-in 4K display and I connect it
to an external 4K display at work. When &lt;a href=&quot;https:&#x2F;&#x2F;dunst-project.org&#x2F;&quot;&gt;dunst&lt;&#x2F;a&gt; shows a notification on the
built-in display the text is sized wrong, when it shows on the external display
it is correct, even though the displays are identical resolution.&lt;&#x2F;p&gt;
&lt;p&gt;On the flip side Awesome has these things in its favour:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Lower resource usage (mostly RAM)&lt;&#x2F;li&gt;
&lt;li&gt;Alternate window management layouts:
&lt;ul&gt;
&lt;li&gt;Stacking&lt;&#x2F;li&gt;
&lt;li&gt;Tiling&lt;&#x2F;li&gt;
&lt;li&gt;Floating&lt;&#x2F;li&gt;
&lt;li&gt;Maximised&lt;&#x2F;li&gt;
&lt;li&gt;Full screen&lt;&#x2F;li&gt;
&lt;li&gt;And more&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Keyboard oriented&lt;&#x2F;li&gt;
&lt;li&gt;Keyboard bindings completely customisable&lt;&#x2F;li&gt;
&lt;li&gt;Better use of screen space
&lt;ul&gt;
&lt;li&gt;I have no title bars on windows&lt;&#x2F;li&gt;
&lt;li&gt;Top bar is very short and can be instantly toggled with
&lt;kbd&gt;Super&lt;&#x2F;kbd&gt;﹢&lt;kbd&gt;b&lt;&#x2F;kbd&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;So all this makes me wonder, where is the middle ground? Where is the desktop
environment for professionals?&lt;&#x2F;p&gt;
&lt;h2 id=&quot;pro-desktop&quot;&gt;Pro Desktop&lt;&#x2F;h2&gt;
&lt;p&gt;Mac OS is a popular choice for developers in some circles and has the cohesive
full-featured experience that I mentioned above. I conducted an &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;wezm&#x2F;status&#x2F;1134685117971030016&quot;&gt;informal
survey on Twitter&lt;&#x2F;a&gt; to try to see what things Mac users are adding to
the system to make it work better for them:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hey Mac power users! I&#x27;m doing some research: What tools do you install to
make the UI&#x2F;graphical shell work better for you? Things that come to mind
are: &lt;a href=&quot;https:&#x2F;&#x2F;www.alfredapp.com&#x2F;&quot;&gt;Alfred&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;mizage.com&#x2F;divvy&#x2F;&quot;&gt;Divvy&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;www.spectacleapp.com&#x2F;&quot;&gt;Spectacle&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;red-sweater.com&#x2F;fastscripts&#x2F;&quot;&gt;FastScripts&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;obdev.at&#x2F;products&#x2F;launchbar&#x2F;index.html&quot;&gt;LaunchBar&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;koekeishiya.github.io&#x2F;chunkwm&#x2F;&quot;&gt;chunkwm&lt;&#x2F;a&gt;,
that kind of thing.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The responses almost all included one or more of these elements:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Window management (often via the keyboard)&lt;&#x2F;li&gt;
&lt;li&gt;Keyboard remapping&lt;&#x2F;li&gt;
&lt;li&gt;Automation&lt;&#x2F;li&gt;
&lt;li&gt;Application launching&lt;&#x2F;li&gt;
&lt;li&gt;System stats&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Some open source desktops have all these features but the ones that have them
all seem to lack the polish and consistency of Mac OS, GNOME, or KDE and
require a large investment in researching, installing, and configuring each
desired feature. The ones that have the polish and consistency lack the
customisation and keyboard control.&lt;&#x2F;p&gt;
&lt;p&gt;So where does that leave me? I want a desktop environment like GNOME but with
more control over window management and more keyboard control.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Update 7 Apr 2024:&lt;&#x2F;strong&gt; System76 is building &lt;a href=&quot;https:&#x2F;&#x2F;blog.system76.com&#x2F;tags&#x2F;COSMIC%20DE&quot;&gt;a new desktop environment for
Linux called COSMIC&lt;&#x2F;a&gt;. It aims to replace their current GNOME based
desktop and I think it is exactly what I am looking for: a complete desktop
environment with tiling and keyboard control built-in.&lt;&#x2F;p&gt;
&lt;p&gt;Perhaps there is room for something that takes the place of &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;gnome-shell&#x2F;&quot;&gt;gnome-shell&lt;&#x2F;a&gt; in
the typical GNOME desktop but built for this use case. &lt;code&gt;gnome-shell&lt;&#x2F;code&gt; is
built on &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;mutter&quot;&gt;mutter&lt;&#x2F;a&gt; and there are other desktop shells built on this too such as
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;elementary&#x2F;gala&quot;&gt;gala&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;solus-project&#x2F;budgie-desktop&quot;&gt;Budgie&lt;&#x2F;a&gt;, so perhaps it would be possible to use mutter as the base
window manager and compositor and build upon it.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve been considering starting such a project but before diving in decided to
write this post and do some more research to help clarify my thoughts.
Something for me to ponder. 🤔&lt;&#x2F;p&gt;
&lt;h2 id=&quot;comments&quot;&gt;Comments&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;lobste.rs&#x2F;s&#x2F;hy7zgr&#x2F;tiling_desktop_environment&quot;&gt;Lobsters&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linux&#x2F;comments&#x2F;bvrd11&#x2F;a_tiling_desktop_environment&#x2F;&quot;&gt;Reddit&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20072577&quot;&gt;Hacker News&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;why-don-t-you-just&quot;&gt;Why don&#x27;t you just…&lt;&#x2F;h2&gt;
&lt;p&gt;Inevitably some folks will be thinking, &quot;why don&#x27;t you just…&quot;. Below are a few of
these that I&#x27;ve thought of already. I may add more as time goes on.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;use-kde&quot;&gt;Use KDE&lt;&#x2F;h3&gt;
&lt;p&gt;One possible option is using &lt;a href=&quot;https:&#x2F;&#x2F;kde.org&#x2F;&quot;&gt;KDE&lt;&#x2F;a&gt; with an &lt;a href=&quot;https:&#x2F;&#x2F;userbase.kde.org&#x2F;Tutorials&#x2F;Using_Other_Window_Managers_with_Plasma&quot;&gt;alternate window manager&lt;&#x2F;a&gt;.
Although this does prevent you from using Wayland. I am fan of Wayland but not
yet a user. I believe it is the future of the graphics stack on open source
desktops and I think its architecture makes sense give the way computers are
used today.&lt;&#x2F;p&gt;
&lt;p&gt;My problem with KDE is the aesthetic. KDE and Qt really don&#x27;t seem to align
with me. That&#x27;s not to say they&#x27;re bad or even ugly, it&#x27;s just not to my
liking. I suppose as an ex-Mac user I feel more at home with GNOME&#x2F;GTK. On the
other hand it seems like someone familiar with Windows would feel more at home
with KDE&#x2F;Qt.&lt;&#x2F;p&gt;
&lt;p&gt;Things like menus attached to windows, icons on buttons, icons on menu items,
Application launcher menu (&quot;Start&quot; button), bottom task bar, and apply buttons in
configuration dialogs all feel very foreign to my Mac using past. Sure some of
these may be configurable but I&#x27;m not sure I&#x27;d ever feel at home.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;figure class=&quot;screenshot&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;Screenshot_kde-neon_2019-06-01_18%3A21%3A42.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;KDE neon: Icons on buttons, Apply button for configuration, task bar, Start-esque menu.&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;

&lt;figure class=&quot;screenshot&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;Screenshot_kde-neon_2019-06-01_18%3A21%3A50.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;KDE neon: Icons in menus.&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;&#x2F;p&gt;
&lt;p&gt;For comparison here is GNOME showing the the same things. I prefer that it is
less busy and to be honest more like Mac OS in some ways.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;figure class=&quot;screenshot&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;Screenshot_fedora30_2019-06-02_08%3A26%3A42.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;GNOME: No icons in menus, no task bar.&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;

&lt;figure class=&quot;screenshot&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;Screenshot_fedora30_2019-06-02_08%3A27%3A30.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;GNOME: No Apply button in settings.&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;&#x2F;p&gt;
&lt;h3 id=&quot;use-xfce&quot;&gt;Use Xfce&lt;&#x2F;h3&gt;
&lt;p&gt;It is possible to use an &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;Xfce#Use_a_different_window_manager&quot;&gt;alternate window manager with Xfce&lt;&#x2F;a&gt;.
However, while Xfce has made recent progress on HiDPI support it&#x27;s still a
mishmash of blurry icons, and tiny controls in places.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;Screenshot_xubuntu19.04_2019-06-02_08%3A42%3A35.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Xubuntu 19.10 with 2x scaling: Blurry icons, tiny controls.&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h3 id=&quot;use-the-gtile-gnome-extension&quot;&gt;Use the gTile GNOME extension&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;gTile&#x2F;gTile&quot;&gt;gTile&lt;&#x2F;a&gt; is more of a manual window resizer. It allows you to position windows
on a grid but it doesn&#x27;t appear to have anything approaching Awesome&#x27;s layouts.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;stick-with-awesome&quot;&gt;Stick with Awesome&lt;&#x2F;h3&gt;
&lt;p&gt;It&#x27;s true that Awesome is working for me but it does feel a bit like I&#x27;m back
in the dark ages needing to find and configure things that I&#x27;ve previously
taken for granted. It is nice to build your own environment like this but
the little imperfections like the dunst notifications mentioned above, or
handling of external displays have me wanting more.&lt;&#x2F;p&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;1&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;1&lt;&#x2F;sup&gt;
&lt;p&gt;I&#x27;m referring to these as open source desktops and not Linux desktops since they work on other systems too, like &lt;a href=&quot;https:&#x2F;&#x2F;runbsd.info&#x2F;&quot;&gt;BSDs&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;www.openindiana.org&#x2F;&quot;&gt;OpenIndiana&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;2&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;2&lt;&#x2F;sup&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;awesomewm.org&#x2F;doc&#x2F;api&#x2F;documentation&#x2F;07-my-first-awesome.md.html&quot;&gt;My first Awesome&lt;&#x2F;a&gt; includes a litte information in the layouts.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
</description>
    </item>
    
    <item>
      <title>Two Years on Linux</title>
      <pubDate>Sun, 21 Apr 2019 08:00:00 +1000</pubDate>
      <atom:published>2019-04-21T08:00:00+10:00</atom:published>
      <atom:updated>2019-04-21T14:40:00+10:00</atom:updated>
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;two-years-on-linux&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;two-years-on-linux&#x2F;</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the sixth post in my series on
&lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x&#x2F;&quot;&gt;finding an alternative to Mac OS X&lt;&#x2F;a&gt;.
The &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;a-year-away-from-mac-os&#x2F;&quot;&gt;previous post in the series&lt;&#x2F;a&gt; recapped my
first year away from Mac OS and my move to FreeBSD on my desktop computer.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The search for the ideal desktop continues and my preferences evolve as I gain
more experience. In this post I summarise where I&#x27;m at two years after
switching away from Mac OS. This includes leaving FreeBSD on the desktop and
switching from GNOME to Awesome. I&#x27;ll cover the motivation, benefits, and
drawbacks to giving up a complete desktop environment for a, &quot;build your own&quot;,
desktop.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;embracing-awesome&quot;&gt;Embracing Awesome&lt;&#x2F;h2&gt;
&lt;p&gt;If I were to identify a general trend in my time away from Mac OS it would be
one of gradual migration. Initially I was looking to replicate my Mac OS
experience. I landed on &lt;a href=&quot;https:&#x2F;&#x2F;elementary.io&#x2F;&quot;&gt;elementary OS&lt;&#x2F;a&gt; as it shared many of the same values of
Mac OS. Over time, I moved to vanilla GNOME and gradually dropped some of the
tools I initially felt were essential, like &lt;a href=&quot;https:&#x2F;&#x2F;albertlauncher.github.io&#x2F;&quot;&gt;Albert&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;www.enpass.io&#x2F;&quot;&gt;Enpass&lt;&#x2F;a&gt;. Instead,
I opted for built in functionality or command line tools.&lt;&#x2F;p&gt;
&lt;p&gt;These gateway tools allowed me remain not too far outside my computing comfort
zone. As time goes on though, I&#x27;m adopting more platform native options, like
using the built in GNOME search instead of having a dedicated app for that like
Albert.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.gnome.org&#x2F;&quot;&gt;GNOME&lt;&#x2F;a&gt; was working pretty well for me and even got updated from 3.18 to 3.28 on
FreeBSD (although it&#x27;s remained there and the current version is now 3.32).
Despite this, high resource usage, some conversations, blog posts and shift in
workflow led me to reevaluate tiling window managers.&lt;&#x2F;p&gt;
&lt;p&gt;I was using the terminal more than ever before. I&#x27;ve been comfortable in the
terminal for a long time but I realised that I was using the tiling features of
&lt;a href=&quot;https:&#x2F;&#x2F;gnunn1.github.io&#x2F;tilix-web&#x2F;&quot;&gt;Tilix&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;neovim.io&#x2F;&quot;&gt;Neovim&lt;&#x2F;a&gt; a lot. I was also using the tiling feature of GNOME to show
two apps side-by-side.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;twitter-tweet&quot; data-dnt=&quot;true&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;😢 Assuming this is &lt;a href=&quot;https:&#x2F;&#x2F;t.co&#x2F;DvCKWlHc2L&quot;&gt;https:&#x2F;&#x2F;t.co&#x2F;DvCKWlHc2L&lt;&#x2F;a&gt; Is there a way to manually trigger&#x2F;cause GC in gnome-shell (aside from Alt-F2 &amp;gt; restart)? &lt;a href=&quot;https:&#x2F;&#x2F;t.co&#x2F;xUA0fubcp0&quot;&gt;pic.twitter.com&#x2F;xUA0fubcp0&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;&amp;mdash; Wesley Moore (@wezm) &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;wezm&#x2F;status&#x2F;1066295005910773760?ref_src=twsrc%5Etfw&quot;&gt;November 24, 2018&lt;&#x2F;a&gt;&lt;&#x2F;blockquote&gt; &lt;script async src=&quot;https:&#x2F;&#x2F;platform.twitter.com&#x2F;widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;The memory usage and &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.gnome.org&#x2F;GNOME&#x2F;gnome-shell&#x2F;merge_requests&#x2F;4&quot;&gt;log spamming&lt;&#x2F;a&gt; of &lt;code&gt;gnome-shell&lt;&#x2F;code&gt; was bothering me too. The
former overflowed into a snarky tweet that led to a conversation that more or
less convinced me that the use of JavaScript in &lt;code&gt;gnome-shell&lt;&#x2F;code&gt; was not the
ultimate cause of &lt;a href=&quot;https:&#x2F;&#x2F;feaneron.com&#x2F;2018&#x2F;04&#x2F;20&#x2F;the-infamous-gnome-shell-memory-leak&#x2F;&quot;&gt;the memory issues&lt;&#x2F;a&gt; but the fact that such an
issue went unfixed for years made me evaluate other options. &lt;strong&gt;Note:&lt;&#x2F;strong&gt; As of
GNOME 3.30 the leak should be largely fixed.&lt;&#x2F;p&gt;
&lt;p&gt;I had a good conversation with a friend and long time Linux proponent about
his use of &lt;a href=&quot;https:&#x2F;&#x2F;i3wm.org&#x2F;&quot;&gt;i3&lt;&#x2F;a&gt;, and he commented that he felt I&#x27;d probably like a tiling window
manager. I&#x27;ve tried i3 before but didn&#x27;t really like it&#x27;s semi-manual
management of layouts. This did prompt me to start looking around though.&lt;&#x2F;p&gt;
&lt;p&gt;I read some interesting blog posts:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;medium.com&#x2F;@leftcrane&#x2F;unity-headers-concept-using-server-side-hearderbars-to-create-a-consistent-customizable-and-fbdb0d9696c&quot;&gt;Unity-Headers Concept&lt;&#x2F;a&gt;. This
made me observe how much vertical space the title bar and top bar were
wasting.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;blog.ajkavanagh.me&#x2F;2017&#x2F;05&#x2F;20&#x2F;perfecting-tiling-wm&#x2F;&quot;&gt;The perfect Tiling Window Manager (for
me)?&lt;&#x2F;a&gt;. This
really resonated with me, it seems the author and I were basically after
the same thing.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;It was &lt;a href=&quot;http:&#x2F;&#x2F;blog.ajkavanagh.me&#x2F;2017&#x2F;05&#x2F;20&#x2F;perfecting-tiling-wm&#x2F;#comment-3482867814&quot;&gt;a comment&lt;&#x2F;a&gt; on the post above, the really piqued my
curiosity. It mentioned &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;conformal&#x2F;spectrwm&quot;&gt;spectrwm&lt;&#x2F;a&gt; (previously known as scrotwm) as a possible
candidate. I installed it and was really taken by its primary&#x2F;secondary tiling
model and the sensible defaults approach. I tweaked and ran spectrwm on my XPS
15 for a while but eventually ran into some limitations of its configuration
and integrated bar. At this point I was mostly enjoying a tiling window manager
for the first time. I spent some time poring over the Arch Linux Wiki,
&lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;Comparison_of_tiling_window_managers&quot;&gt;Comparison of tiling window managers&lt;&#x2F;a&gt; page. I reviewed most
of the options on that page. Looking for ones that supported the
primary&#x2F;secondary model from spectrwm, were well maintained, configurable, came
with a usable base configuration, and did not have many dependencies.&lt;&#x2F;p&gt;
&lt;p&gt;Eventually I landed on &lt;a href=&quot;https:&#x2F;&#x2F;awesomewm.org&#x2F;&quot;&gt;Awesome&lt;&#x2F;a&gt;. It&#x27;s a well established project and uses Lua
for configuration, which is a simple, easy to learn language that allows almost
any configuration to be created. I&#x27;ve been happily using it on all my systems
for about four months now.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;awesome-window-manager-4k.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2019&amp;#x2F;awesome-window-manager-4k_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Awesome Window Manger - Using the &amp;#x27;centerwork&amp;#x27; layout while working on my linux.conf.au badge&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;It&#x27;s not all roses though, the thing with switching from a desktop environment
to just a window manager is that it makes you really realise all the things
that you get for free from the desktop environment. After settling into Awesome
I needed to build&#x2F;find replacements for the following features that I took for
granted in GNOME:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Brightness control with keyboard buttons&lt;&#x2F;li&gt;
&lt;li&gt;Volume control with keyboard buttons&lt;&#x2F;li&gt;
&lt;li&gt;Setting the DPI correctly for a HiDPI display&lt;&#x2F;li&gt;
&lt;li&gt;Display adjustment when adding&#x2F;removing an external display&lt;&#x2F;li&gt;
&lt;li&gt;Automatically unlocking the keyring upon login so that I didn&#x27;t need to enter
the password for SSH and GPG keys.&lt;&#x2F;li&gt;
&lt;li&gt;Displaying the battery and volume level in the top bar&lt;&#x2F;li&gt;
&lt;li&gt;Trackpad&#x2F;mouse configuration:
&lt;ul&gt;
&lt;li&gt;Trackpad acceleration&lt;&#x2F;li&gt;
&lt;li&gt;Natural scrolling&lt;&#x2F;li&gt;
&lt;li&gt;Enable &lt;a href=&quot;https:&#x2F;&#x2F;wayland.freedesktop.org&#x2F;libinput&#x2F;doc&#x2F;1.11.3&#x2F;clickpad_softbuttons.html#clickfinger&quot;&gt;Clickfingers&lt;&#x2F;a&gt; behaviour&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Double buffering of windows to prevent tearing, black fills where shadows
should be present.&lt;&#x2F;li&gt;
&lt;li&gt;Notifications&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I did solve all these challenges. Check out my &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wezm&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;xprofile&quot;&gt;xprofile&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wezm&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;config&#x2F;awesome&#x2F;rc.lua&quot;&gt;rc.lua&lt;&#x2F;a&gt; if
you&#x27;re curious.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;moving-on-from-freebsd&quot;&gt;Moving on From FreeBSD&lt;&#x2F;h2&gt;
&lt;p&gt;From Oct 2017 to Jan 2019 I ran FreeBSD as the primary OS on my &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;page&#x2F;work-pc&#x2F;&quot;&gt;desktop
computer&lt;&#x2F;a&gt;. Similarly, I hosted this website and
others on a FreeBSD server for more than two years. &lt;a href=&quot;https:&#x2F;&#x2F;www.wezm.net&#x2F;technical&#x2F;2019&#x2F;02&#x2F;alpine-linux-docker-infrastructure&#x2F;&quot;&gt;I recently rebuilt my
personal server infrastructure on Docker, hosted by Alpine
Linux&lt;&#x2F;a&gt; and went back to Arch Linux on my desktop computer.&lt;&#x2F;p&gt;
&lt;p&gt;It wasn&#x27;t any one thing in isolation that led to this switch. It was lots of
little things that culminated in a broken system one day that pushed me over
the edge. I will just list some issues that come to mind in no particular.
This post would be very long if I went into detail for each item. I&#x27;m aware
that there are solutions and workarounds to some of these, like running Linux
in &lt;a href=&quot;http:&#x2F;&#x2F;bhyve.org&#x2F;&quot;&gt;bhyve&lt;&#x2F;a&gt; but it was the sum of the whole, not any individual items that made
me switch:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;ZFS on Linux being ported to FreeBSD:
&lt;ul&gt;
&lt;li&gt;One of the reasons I used FreeBSD was for ZFS. I did so on the assumption
that the FreeBSD implementation was more stable and &quot;more canonical&quot; than
ZFS on Linux (ZoL). However, the &lt;a href=&quot;https:&#x2F;&#x2F;lists.freebsd.org&#x2F;pipermail&#x2F;freebsd-current&#x2F;2018-December&#x2F;072422.html&quot;&gt;announcement that ZoL is being
ported to
FreeBSD&lt;&#x2F;a&gt;
to get its bug fixes, improvements, and wider developer base suggested
that was wrong.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;I wanted&#x2F;needed to use Docker more.&lt;&#x2F;li&gt;
&lt;li&gt;The portion of the community that likes to point out jails existed
before Docker and are somehow better.
&lt;ul&gt;
&lt;li&gt;In my experience the jails user
experience is terrible compared to Docker and lacks a lot of the features
that Docker automatically takes care of, such as networking, file system
layers&#x2F;caching, distribution of images.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Attending &lt;a href=&quot;https:&#x2F;&#x2F;2019.linux.conf.au&#x2F;&quot;&gt;linux.conf.au&lt;&#x2F;a&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=o_AIw9bGogo&quot;&gt;Benno’s systemd talk at linux.conf.au&lt;&#x2F;a&gt;, highlighted how handy
having a system layer can be.&lt;&#x2F;li&gt;
&lt;li&gt;I met and was exposed to a large community doing all kinds of interesting
things with Linux.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;The general fear and loathing of all change that some of the community
exhibit.
&lt;ul&gt;
&lt;li&gt;They decry everything that doesn&#x27;t keep things that way it was in 1970
as a violation of the &quot;UNIX philosophy&quot;, as though everything done by the
UNIX grandfathers was perfect and unchangeable.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Working on &lt;a href=&quot;https:&#x2F;&#x2F;www.wezm.net&#x2F;technical&#x2F;2019&#x2F;01&#x2F;linux-conf-au-rust-epaper-badge&#x2F;&quot;&gt;my Rust powered linux.conf.au e-Paper badge&lt;&#x2F;a&gt;, a
project that targeted &lt;a href=&quot;https:&#x2F;&#x2F;raspbian.org&#x2F;&quot;&gt;Raspbian&lt;&#x2F;a&gt;, which was easier to test with a Linux host.&lt;&#x2F;li&gt;
&lt;li&gt;More advanced virtualisation:
&lt;ul&gt;
&lt;li&gt;Such as built in graphics support, no need for VNC workarounds.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Losing hours to
&lt;a href=&quot;https:&#x2F;&#x2F;mastodon.social&#x2F;@wezm&#x2F;100767567711516972&quot;&gt;slow networking in virtualised environments&lt;&#x2F;a&gt;,
something that just works on Linux.&lt;&#x2F;li&gt;
&lt;li&gt;The reaction to the improved FreeBSD Code of Conduct last year by some of the
community deeply troubled me.&lt;&#x2F;li&gt;
&lt;li&gt;Graphics support:
&lt;ul&gt;
&lt;li&gt;The recent &lt;code&gt;drm-kmod&lt;&#x2F;code&gt; work that brings modern graphics support to FreeBSD
is a great improvement but it&#x27;s a port of Linux code. If I&#x27;m running a
bunch of Linux code anyway maybe it&#x27;s better to just go to the source.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;The onerous process required to contribute patches to update a port and find
someone to review and merge them.
&lt;ul&gt;
&lt;li&gt;Especially tiresome for a project like &lt;a href=&quot;https:&#x2F;&#x2F;mattermost.com&#x2F;&quot;&gt;Mattermost&lt;&#x2F;a&gt; that releases every six
weeks. E.g. &lt;a href=&quot;https:&#x2F;&#x2F;bugs.freebsd.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=234375&quot;&gt;https:&#x2F;&#x2F;bugs.freebsd.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=234375&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Bugs with patches supplied that sit unmerged for months unless you know the
right people to nudge.
&lt;ul&gt;
&lt;li&gt;E.g. &lt;a href=&quot;https:&#x2F;&#x2F;bugs.freebsd.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=221676&quot;&gt;https:&#x2F;&#x2F;bugs.freebsd.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=221676&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Continued use of tools that are unfamiliar to the vast majority of developers
these days (Subversion, patch based workflow).
&lt;ul&gt;
&lt;li&gt;I can and did deal with this but I think it&#x27;s a huge barrier to entry for
new contributors.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;electron&#x2F;electron&#x2F;issues&#x2F;3797&quot;&gt;A Electron port&lt;&#x2F;a&gt; that no one seems to be able to get over the
line.
&lt;ul&gt;
&lt;li&gt;I&#x27;m no electron fan but if the choice is no app or an electron app I&#x27;d at
least like the option to run it.&lt;&#x2F;li&gt;
&lt;li&gt;There&#x27;s a &lt;a href=&quot;https:&#x2F;&#x2F;www.bountysource.com&#x2F;issues&#x2F;29075473-add-freebsd-support-to-electron&quot;&gt;US$850 bounty on this issue&lt;&#x2F;a&gt;, $50 I added myself.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Apologies, I know the above list is a bit ranty. For something a bit less ranty
read this &lt;a href=&quot;http:&#x2F;&#x2F;www.leidinger.net&#x2F;blog&#x2F;2019&#x2F;01&#x2F;27&#x2F;strategic-thinking-or-what-i-think-what-we-need-to-do-to-keep-freebsd-relevant&#x2F;&quot;&gt;a great post&lt;&#x2F;a&gt; by Alexander Leidinger that outlines some
things he thinks the project needs to do to stay relevant.&lt;&#x2F;p&gt;
&lt;p&gt;I called out some community behaviour, and reactions above but want to point
out that these folks don&#x27;t represent the whole community. Lots of the BSD
community are lovely and are doing the best they can with the comparatively
small resources they have available. I thank them for their efforts.&lt;&#x2F;p&gt;
&lt;iframe src=&quot;https:&#x2F;&#x2F;mastodon.social&#x2F;@wezm&#x2F;101400417585578643&#x2F;embed&quot; class=&quot;mastodon-embed&quot; style=&quot;max-width: 100%; border: 0&quot; width=&quot;600&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;&#x2F;iframe&gt;&lt;script src=&quot;https:&#x2F;&#x2F;mastodon.social&#x2F;embed.js&quot; async=&quot;async&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;The clincher was a failed upgrade in January 2019. I think I followed the
handbook but something happened to the ZFS pool that prevented the system from
booting from it. I was able to boot off an install flash drive and mount the
pool fine but it refused to boot by itself. I spent several hours trying to fix
it but in the end it was the final straw. I carefully backed everything up and
then did a clean Arch Linux + ZFS install.&lt;&#x2F;p&gt;
&lt;p&gt;With the knowledge that ZoL was a lot more mature than I had originally thought
I decided to install Arch onto the NVMe drive and then have &lt;code&gt;&#x2F;home&lt;&#x2F;code&gt; live on a
zpool comprised of the 3 SSDs.&lt;&#x2F;p&gt;
&lt;p&gt;One drawback to using ZFS for &#x2F;home is that Dropbox stops working due to their
&lt;a href=&quot;https:&#x2F;&#x2F;itsfoss.com&#x2F;dropbox-linux-ext4-only&#x2F;&quot;&gt;brain-dead requirement that you must use ext4&lt;&#x2F;a&gt;. There are &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;dimaryaz&#x2F;dropbox_ext4&quot;&gt;hacks to
work around it&lt;&#x2F;a&gt; but I didn&#x27;t have proper Dropbox support on
FreeBSD so not having it on this install was no different. My use of Dropbox is
in maintenance mode anyway so it&#x27;s only rarely that I actually need it.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I may not be using FreeBSD day-to-day anymore but that doesn&#x27;t mean
I&#x27;ve completely left. I continue to make monthly donations to the FreeBSD and
OpenBSD projects and will continue to ensure that BSD systems are well-supported
by any software I build. I&#x27;ll also advocate for &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;immunant&#x2F;c2rust&#x2F;pull&#x2F;77&quot;&gt;avoiding
unnecessarily Linux specific code&lt;&#x2F;a&gt; where possible.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;the-journey-continues&quot;&gt;The Journey Continues&lt;&#x2F;h2&gt;
&lt;p&gt;After more two years my journey continues and I expect it to keep doing so. I
enjoy exploring what&#x27;s out there and my preferences shift over time. In the
future I expect to periodically try out Wayland based systems, like I &lt;a href=&quot;https:&#x2F;&#x2F;mastodon.social&#x2F;@wezm&#x2F;101401693951934069&quot;&gt;did on
the new desktop Arch install&lt;&#x2F;a&gt; (issues with copy and paste between
Firefox and Alacrity led me to put that on hold).&lt;&#x2F;p&gt;
&lt;p&gt;On the operating system front &lt;a href=&quot;https:&#x2F;&#x2F;nixos.org&#x2F;&quot;&gt;NixOS&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;guix&#x2F;&quot;&gt;Guix&lt;&#x2F;a&gt; are pioneering new ways of
constructing reliable systems. As a &lt;a href=&quot;https:&#x2F;&#x2F;www.rust-lang.org&#x2F;&quot;&gt;Rust&lt;&#x2F;a&gt; developer I&#x27;m also watching &lt;a href=&quot;https:&#x2F;&#x2F;www.redox-os.org&#x2F;&quot;&gt;Redox
OS&lt;&#x2F;a&gt;, an OS written from scratch in Rust. What comes of Google&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;fuchsia.googlesource.com&#x2F;fuchsia&#x2F;&quot;&gt;Fuschia&lt;&#x2F;a&gt; project
will also be interesting to see unfold. The world of operating systems may not
be as diverse as it once was but there&#x27;s still lots to come.&lt;&#x2F;p&gt;
&lt;!-- This is part 6 in a series. [Read Part 7](@&#x2F;post&#x2F;two-years-on-linux.md) --&gt;
&lt;h2 id=&quot;comments&quot;&gt;Comments&lt;&#x2F;h2&gt;
&lt;!-- * [Hacker News](https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16524269) --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;lobste.rs&#x2F;s&#x2F;agkxen&#x2F;two_years_on_linux&quot;&gt;Lobsters&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linux&#x2F;comments&#x2F;bg19ho&#x2F;two_years_on_linux&#x2F;&quot;&gt;Reddit&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;!-- http:&#x2F;&#x2F;archive.is&#x2F;5FOHV --&gt;
</description>
    </item>
    
    <item>
      <title>A Year Away From Mac OS</title>
      <pubDate>Tue, 06 Mar 2018 07:30:00 +1100</pubDate>
      <atom:published>2018-03-06T07:30:00+11:00</atom:published>
      <atom:updated>2019-01-27T09:13:30+11:00</atom:updated>
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;a-year-away-from-mac-os&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;a-year-away-from-mac-os&#x2F;</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the fifth post in my series on &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x&#x2F;&quot;&gt;finding an alternative to Mac OS X&lt;&#x2F;a&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A bit over a year ago I wrote about my search for an alternative to Mac OS and
switch to Linux. In this post I reflect on how that year went and detail some
further adventures into Mac OS alternatives.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;january-2017-linux-all-the-things&quot;&gt;January 2017 — Linux All The Things&lt;&#x2F;h2&gt;
&lt;p&gt;After originally choosing to use &lt;a href=&quot;https:&#x2F;&#x2F;elementary.io&#x2F;&quot;&gt;elementary OS&lt;&#x2F;a&gt; full time I grew frustrated
with some aspects of the system and switched to &lt;a href=&quot;https:&#x2F;&#x2F;www.archlinux.org&#x2F;&quot;&gt;Arch Linux&lt;&#x2F;a&gt;. After a bit of
time on &lt;a href=&quot;https:&#x2F;&#x2F;solus-project.com&#x2F;budgie&#x2F;&quot;&gt;Budgie&lt;&#x2F;a&gt; I eventually settled on the &lt;a href=&quot;https:&#x2F;&#x2F;www.gnome.org&quot;&gt;GNOME desktop environment&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The experiment was going well so I also installed Arch on my Mac mini and
MacBook Pro in addition to my &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;page&#x2F;work-pc&#x2F;&quot;&gt;work PC&lt;&#x2F;a&gt;. I used
this as the primary OS on them.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;february-2017-settling-into-gnome&quot;&gt;February 2017 — Settling Into GNOME&lt;&#x2F;h2&gt;
&lt;p&gt;I installed tools like &lt;a href=&quot;https:&#x2F;&#x2F;albertlauncher.github.io&#x2F;&quot;&gt;Albert&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;launchpad.net&#x2F;plank&quot;&gt;Plank&lt;&#x2F;a&gt;, GNOME extensions, and a custom
theme to feel at home in GNOME. Over the following months I gave these up as I
got more comfortable with the environment. I now run a vanilla GNOME desktop.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;twitter-tweet&quot; data-dnt=&quot;true&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;Yay JavaScript? &lt;a href=&quot;https:&#x2F;&#x2F;t.co&#x2F;9WzI1BXmaR&quot;&gt;pic.twitter.com&#x2F;9WzI1BXmaR&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;&amp;mdash; Wesley Moore (@wezm) &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;wezm&#x2F;status&#x2F;829161483149795328?ref_src=twsrc%5Etfw&quot;&gt;February 8, 2017&lt;&#x2F;a&gt;&lt;&#x2F;blockquote&gt; &lt;script async src=&quot;https:&#x2F;&#x2F;platform.twitter.com&#x2F;widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;My experience with GNOME extensions was mostly bad. Many I tried suffered one
of these issues: memory leaks, flakiness that broke &lt;code&gt;gnome-shell&lt;&#x2F;code&gt;, or
generally low quality. I question the choice of building significant parts of
the shell in JavaScript.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;april-2017-new-job&quot;&gt;April 2017 — New Job&lt;&#x2F;h2&gt;
&lt;p&gt;In April I started a new job and was given a choice between a ThinkPad T470s
and a MacBook Pro 13&quot;. I chose the ThinkPad. It too runs Arch and GNOME.
&lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;replacing-a-macbook-pro&#x2F;&quot;&gt;I found the ThinkPad to be pretty lacklustre&lt;&#x2F;a&gt;
but it does run Linux well.&lt;&#x2F;p&gt;
&lt;p&gt;There are 3 other devs at work running Linux. All the other devs have MacBooks,
mostly the 13” MacBook “Escape”. That&#x27;s the one without a touch bar and only
two USB-C ports. My feelings about modern MacBooks were only reinforced by
seeing these machine in use on a daily basis.&lt;&#x2F;p&gt;
&lt;p&gt;Each MacBook is issued with a &lt;a href=&quot;https:&#x2F;&#x2F;www.apple.com&#x2F;au&#x2F;shop&#x2F;product&#x2F;MJ1K2AM&#x2F;A&#x2F;usb-c-digital-av-multiport-adapter?fnode=8b&quot;&gt;gross $100 dongle&lt;&#x2F;a&gt; to connect it to the
external displays we use, and to provide at least one USB-A port. The USB port
is juggled between external keyboard, mouse dongle, phone charger, and
occasionally a USB hard drive. For a time there was a shortage of these dongles
in Melbourne. Some people tried non-Apple ones which proved flakey and caused
system instability. Apple&#x27;s choice to fully embrace USB-C has completely
ignored what people actually need from their computers.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;d estimate we have 20–30 of these MacBooks in the office. Many people choose
to use a crappy company supplied Logitech keyboard with their MacBook or a
personally purchased &lt;a href=&quot;https:&#x2F;&#x2F;www.diatec.co.jp&#x2F;en&#x2F;det.php?prod_c=775&quot;&gt;Filco TKL&lt;&#x2F;a&gt;. I haven&#x27;t seen the same sort of
failure rates mentioned elsewhere but I&#x27;ve still seen a couple
of the MacBook keyboards fail in their short life. One had a key become sticky
and unreliable, the other had its space fall off.&lt;&#x2F;p&gt;
&lt;p&gt;Starting a new job also meant that my chunky work PC came home, replacing
the Mac mini. I later sold the mini for 60% of the price I paid for it 5
years ago! It was one of the quad core ones they don&#x27;t make any more. Goes to
show people want these machines. For whatever reason Apple is happy selling
&lt;a href=&quot;https:&#x2F;&#x2F;www.apple.com&#x2F;au&#x2F;mac-mini&#x2F;&quot;&gt;three year old hardware&lt;&#x2F;a&gt; at brand new prices.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;august-2017-new-laptop&quot;&gt;August 2017 — New Laptop&lt;&#x2F;h2&gt;
&lt;p&gt;In August as I gained more confidence that the switch was going to stick I
&lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;replacing-a-macbook-pro&#x2F;&quot;&gt;bought my first non-Apple personal laptop&lt;&#x2F;a&gt;: a Dell XPS 15. The XPS has proven to be
reliable, well-built, fast, and has a 4K screen that continues to impress me.
On top of this it still manages ~8 hours battery life.&lt;&#x2F;p&gt;
&lt;p&gt;The XPS is a beast: Quad core i7, 32Gb RAM, 1Tb SSD, 4K display, and discrete
graphics. It&#x27;s a fairly heavy laptop, but I love that I have the choice of a
thicker, heavier machine if I want better battery life, a larger screen,
or more ports. I&#x27;m not forced to compromise for thinness and lightness. I
regularly work with &lt;a href=&quot;https:&#x2F;&#x2F;www.rust-lang.org&#x2F;&quot;&gt;Rust&lt;&#x2F;a&gt; and having a powerful machine for compiling is
really helpful.&lt;&#x2F;p&gt;
&lt;p&gt;The thing I dislike about the XPS the most is probably the power connector. I
miss the ease of attachment and feedback of &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;MagSafe&quot;&gt;MagSafe&lt;&#x2F;a&gt;. The Dell power connector
is a barrel style connector with an LED embedded in it. The LED appears to
serve no useful purpose. It&#x27;s always on, whether connected or not and doesn&#x27;t
change colour or turn off when charged.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2018&amp;#x2F;dell-xps-15-power-connector.jpg&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2018&amp;#x2F;dell-xps-15-power-connector_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Dell XPS 15 power connector with embedded white LED&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;october-2017-freebsd-desktop&quot;&gt;October 2017 — FreeBSD Desktop&lt;&#x2F;h2&gt;
&lt;p&gt;I continued to be lured by a BSD desktop. The stable base + rolling packages
model of the system is appealing to me. I prefer BSD style licensing, and the
flexibility and guarantees that &lt;a href=&quot;https:&#x2F;&#x2F;www.freebsd.org&#x2F;doc&#x2F;en_US.ISO8859-1&#x2F;books&#x2F;handbook&#x2F;zfs.html&quot;&gt;ZFS&lt;&#x2F;a&gt; provides.&lt;&#x2F;p&gt;
&lt;p&gt;I installed FreeBSD alongside Arch on the XPS but its laptop support (Wi-Fi,
graphics, power efficiency) seems to be quite a bit behind Linux.&lt;&#x2F;p&gt;
&lt;p&gt;Eventually I realised I could try running it on my desktop PC. All the
components were well-supported, including the Nvidia graphics card. Nvidia
actually release &lt;a href=&quot;http:&#x2F;&#x2F;www.nvidia.com&#x2F;download&#x2F;driverResults.aspx&#x2F;130649&#x2F;en-us&quot;&gt;official drivers for FreeBSD&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;ZFS likes to use whole disks and one of the benefits of generic desktop
hardware is that it&#x27;s upgradable. I invested in a trio of 250Gb Samsung 850
SSDs and added them to the system. Then installed FreeBSD 11.1 on them.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;twitter-tweet&quot; data-dnt=&quot;true&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;Let’s build a zpool &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;hashtag&#x2F;zfs?src=hash&amp;amp;ref_src=twsrc%5Etfw&quot;&gt;#zfs&lt;&#x2F;a&gt; &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;hashtag&#x2F;FreeBSD?src=hash&amp;amp;ref_src=twsrc%5Etfw&quot;&gt;#FreeBSD&lt;&#x2F;a&gt; &lt;a href=&quot;https:&#x2F;&#x2F;t.co&#x2F;XMfMNELZbK&quot;&gt;pic.twitter.com&#x2F;XMfMNELZbK&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;&amp;mdash; Wesley Moore (@wezm) &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;wezm&#x2F;status&#x2F;923114109591207936?ref_src=twsrc%5Etfw&quot;&gt;October 25, 2017&lt;&#x2F;a&gt;&lt;&#x2F;blockquote&gt; &lt;script async src=&quot;https:&#x2F;&#x2F;platform.twitter.com&#x2F;widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;&#x2F;script&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;$ zpool status
&lt;&#x2F;span&gt;&lt;span&gt;  pool: zroot
&lt;&#x2F;span&gt;&lt;span&gt; state: ONLINE
&lt;&#x2F;span&gt;&lt;span&gt;  scan: none requested
&lt;&#x2F;span&gt;&lt;span&gt;config:
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        NAME        STATE     READ WRITE CKSUM
&lt;&#x2F;span&gt;&lt;span&gt;        zroot       ONLINE       0     0     0
&lt;&#x2F;span&gt;&lt;span&gt;          raidz1-0  ONLINE       0     0     0
&lt;&#x2F;span&gt;&lt;span&gt;            ada0p3  ONLINE       0     0     0
&lt;&#x2F;span&gt;&lt;span&gt;            ada1p3  ONLINE       0     0     0
&lt;&#x2F;span&gt;&lt;span&gt;            ada2p3  ONLINE       0     0     0
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;errors: No known data errors
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;$ df -h &#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;Filesystem            Size    Used   Avail Capacity  Mounted on
&lt;&#x2F;span&gt;&lt;span&gt;zroot&#x2F;ROOT&#x2F;default    417G     13G    404G     3%    &#x2F;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;cooltrainer.org&#x2F;a-freebsd-desktop-howto&#x2F;&quot;&gt;A FreeBSD 11 Desktop How-to&lt;&#x2F;a&gt; by Allison Nicole Reid
proved especially helpful in configuring the system for desktop use. As usual,
I went with a GNOME desktop. Unfortunately the FreeBSD version of GNOME is
stuck on a more than two year old version (3.18). For the most part this isn&#x27;t
an issue, although I do miss some improvements from subsequent releases.
Fortunately this version does have good HiDPI support as I&#x27;m using it with a 4K
display.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;&#x2F;strong&gt; In October 2018 the GNOME FreeBSD port was updated to 3.28, bringing
in more then two year of development. The upgrade was seamless and has been
working perfectly.&lt;&#x2F;p&gt;
&lt;iframe src=&quot;https:&#x2F;&#x2F;mastodon.social&#x2F;@wezm&#x2F;98909161210185479&#x2F;embed&quot; class=&quot;mastodon-embed&quot; style=&quot;max-width: 100%; border: 0&quot; width=&quot;600&quot;&gt;&lt;&#x2F;iframe&gt;&lt;script src=&quot;https:&#x2F;&#x2F;mastodon.social&#x2F;embed.js&quot; async=&quot;async&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;The one hurdle to using FreeBSD was password management. The password manager I
was using, &lt;a href=&quot;http:&#x2F;&#x2F;enpass.io&#x2F;&quot;&gt;Enpass&lt;&#x2F;a&gt;, did not support FreeBSD. I did some research and settled
on &lt;a href=&quot;https:&#x2F;&#x2F;www.passwordstore.org&#x2F;&quot;&gt;pass&lt;&#x2F;a&gt; as a replacement. It&#x27;s an elegant solution to password management. A
tree of files encrypted with &lt;a href=&quot;https:&#x2F;&#x2F;gnupg.org&#x2F;&quot;&gt;GPG&lt;&#x2F;a&gt; and a shell script to manage them. There are
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;passff&#x2F;passff&quot;&gt;browser extensions&lt;&#x2F;a&gt; and an &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;mssun&#x2F;passforios&quot;&gt;iOS client&lt;&#x2F;a&gt; so actual use is surprisingly
user-friendly.&lt;&#x2F;p&gt;
&lt;p&gt;I &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;roddhjav&#x2F;pass-import&quot;&gt;imported&lt;&#x2F;a&gt; my 1200+ passwords into &lt;code&gt;pass&lt;&#x2F;code&gt; and was then able to
access them all on FreeBSD too. As a bonus, my password manager is now open
source and the data is self-hosted and tracked in &lt;code&gt;git&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Even with various settings tweaked the desktop FreeBSD experience is not as
seamless as it is on Linux. For example, when starting the GNOME session
&lt;code&gt;gnome-keyring-daemon --start&lt;&#x2F;code&gt; doesn&#x27;t appear to be called. Or, if it is called
it&#x27;s not having the desired effect. So I have to run it manually and set the
agent environment variables myself. I&#x27;ve also been unable to eliminate screen
tearing in Firefox when scrolling. I&#x27;ve poked at various settings but it
remains.&lt;&#x2F;p&gt;
&lt;p&gt;I initially missed playing the game &lt;a href=&quot;http:&#x2F;&#x2F;stardewvalley.net&#x2F;&quot;&gt;Stardew Valley&lt;&#x2F;a&gt; on
FreeBSD. It was consuming a few hours of my time each week prior to the FreeBSD
install. The extra friction of rebooting into Arch to run the game basically
stopped me playing, which wasn&#x27;t entirely a bad thing. There was some &lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;openbsd_gaming&#x2F;comments&#x2F;7ntsp3&#x2F;monogame_2016_game_stardew_valley_running_on&#x2F;&quot;&gt;recent
progress running Stardew Valley on OpenBSD&lt;&#x2F;a&gt; so I could
look into porting that work... I have enough side projects as it is though.&lt;&#x2F;p&gt;
&lt;p&gt;To a lesser degree I&#x27;ve also missed Dropbox on FreeBSD. I&#x27;m not a heavy Dropbox
user and can get by with the Dropbox website but its absence is a minor annoyance.
It would be nice if there was a FreeBSD version available.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;march-2018-windows&quot;&gt;March 2018 — Windows?&lt;&#x2F;h2&gt;
&lt;p&gt;In January 2017 I wrote:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Regarding Windows, I should say that I am strongly biased towards *nix style
operating systems and find it unlikely that I&#x27;d be happy using Windows full
time. However, in the interests of keeping an open mind I will give it a try in
the next few months. I have backed the Eve V campaign. The &lt;a href=&quot;https:&#x2F;&#x2F;eve-tech.com&#x2F;pages&#x2F;eve-v&#x2F;&quot;&gt;Eve V&lt;&#x2F;a&gt; is a
2-in-1 laptop tablet that will come with Windows 10. For now Windows is off the
table.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;It took a &lt;em&gt;lot&lt;&#x2F;em&gt; longer than expected, but the V finally arrived in February
2018.  I backed the campaign in December 2016. I&#x27;ve been getting a feel for
what a 2-in-1 Windows machine with a pen has to offer. I still can&#x27;t see myself
making Windows my primary OS but I will keep exploring. I&#x27;ve been tweeting my
adventures with the &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;search?f=tweets&amp;amp;vertical=default&amp;amp;q=%23wesonwindows&amp;amp;src=typd&quot;&gt;#wesonwindows&lt;&#x2F;a&gt; hash tag. At some point I&#x27;ll attempt
installing Linux on it too.&lt;&#x2F;p&gt;
&lt;p&gt;My initial goal is to be able to replicate my workflow for updating &lt;a href=&quot;https:&#x2F;&#x2F;readrust.net&#x2F;&quot;&gt;Read
Rust&lt;&#x2F;a&gt; on Windows. This feels like a reasonable sample to determine if I can use
Windows to get real work done. It uses the following tools:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;SSH&lt;&#x2F;li&gt;
&lt;li&gt;Git&lt;&#x2F;li&gt;
&lt;li&gt;Rust&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;cobalt-org.github.io&#x2F;&quot;&gt;Cobalt&lt;&#x2F;a&gt; static site compiler&lt;&#x2F;li&gt;
&lt;li&gt;A Makefile&lt;&#x2F;li&gt;
&lt;li&gt;Ruby (for a little date script)&lt;&#x2F;li&gt;
&lt;li&gt;AWS command line tools&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I haven&#x27;t yet tried installing the AWS tools but I have all the rest working in
Powershell, without the Windows Subsystem for Linux (WSL). Most tools were
installed with &lt;a href=&quot;http:&#x2F;&#x2F;scoop.sh&#x2F;&quot;&gt;Scoop&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll post more about the V and Windows in the future.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;general-observations&quot;&gt;General Observations&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;missing-apps&quot;&gt;Missing Apps&lt;&#x2F;h3&gt;
&lt;p&gt;In October I wrote:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;My migration away from Mac OS X is still going well. I rarely use Mac OS
any more. The one remaining application I&#x27;m yet to find a suitable replacement
for is &lt;a href=&quot;https:&#x2F;&#x2F;moneywellapp.com&#x2F;&quot;&gt;MoneyWell&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;This is still the case. About once a month I open up the MacBook to balance
finances and track my budget. I&#x27;ve looked into many alternatives and none
of the non-web based options I could find do:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Envelope budgeting&lt;&#x2F;li&gt;
&lt;li&gt;Automatic distribution of funds to envelopes based on a spending plan&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Update 30 March 2019:&lt;&#x2F;strong&gt; I have discovered &lt;a href=&quot;https:&#x2F;&#x2F;www.budgetwithbuckets.com&#x2F;&quot;&gt;Buckets&lt;&#x2F;a&gt; and will be trialling
it as a MoneyWell replacement.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;gnome&quot;&gt;GNOME&lt;&#x2F;h3&gt;
&lt;p&gt;In my opinion the GNOME desktop environment is very good, it&#x27;s not Mac OS
levels of polished but for most part it works well. It is consistent and
cohesive, uncluttered, and unobtrusive. Releases are made every 6 months so
it&#x27;s always improving. However, in the vein of, &quot;&lt;em&gt;yyyy&lt;&#x2F;em&gt; is the year of Linux on
the desktop&quot;, I have a bit of a perpetual feeling that the next GNOME release
will solve all my gripes.&lt;&#x2F;p&gt;
&lt;p&gt;For part of the year I was eagerly awaiting the 3.26 release. It brought per
display resolution settings (allowing 2× and 1× displays to be used together)
and the ability to adjust the split position when two windows are tiled next to
each other. These features arrived and I suppose my attention was then drawn to
other things. What I&#x27;m getting at is it never quite feels feature complete and
there&#x27;s always this feeling of waiting&#x2F;looking forward to the next release.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;notifications&quot;&gt;Notifications&lt;&#x2F;h4&gt;
&lt;p&gt;I don&#x27;t like the notification handling in GNOME. Notifications appear centred
at the top of the screen, which is super annoying. I assume because of this
they don&#x27;t slide down to make room for subsequent notifications (because they&#x27;d
be filling the middle of your screen). Instead they just replace the current
notification.&lt;&#x2F;p&gt;
&lt;p&gt;Almost all the notifications seem to be transient and don&#x27;t show in the
notifications panel. If several show in quick succession you only see the most
recent one. Mac OS handles notifications a lot better.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;wrap-up&quot;&gt;Wrap Up&lt;&#x2F;h2&gt;
&lt;p&gt;At this point I can&#x27;t see myself switching back to Mac OS. There is only one
task (MoneyWell) that I haven&#x27;t been able to achieve with my new Linux or
FreeBSD systems. I&#x27;m hopeful that I will eventually be able to move that one
too. In all other areas I&#x27;m using the same tools or have found suitable
replacements.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;wezm&#x2F;status&#x2F;970410513992568832&quot;&gt;Me on Twitter&lt;&#x2F;a&gt; 8:27 AM - 5
Mar 2018:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;@wezm OMG what’s happening to me‽ My immediate reaction to this was, “that’s
interesting but if it was open source we wouldn’t have this problem”.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;@b0rk: super cool post about how to get the abandoned mac Twitter client to
support 280 character tweets by modifying its assembly
https:&#x2F;&#x2F;alva.link&#x2F;post&#x2F;reclaim-your-abandonware&#x2F;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Over the year I think what I value in an operating system has shifted. I went
in valuing design, consistency, and attention to detail. I definitely still
value those things but I think I&#x27;ve softened on them. I&#x27;m willing to settle for
a few rough edges. In return I get:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Systems that are always up to date&lt;&#x2F;li&gt;
&lt;li&gt;More hardware options&lt;&#x2F;li&gt;
&lt;li&gt;Upgradeable hardware&lt;&#x2F;li&gt;
&lt;li&gt;The ability to build an environment that works for me&lt;&#x2F;li&gt;
&lt;li&gt;&quot;The freedom to study how the program works, and change it so it
does your computing as you wish&quot;.&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#1&quot;&gt;1&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;That last one has come as a bit of a surprise. I&#x27;ve always been a fan of open
source but was happy to use well-made proprietary software. It turns out that
when a huge portion of your system is open source your perspective changes.
Jumping through hoops to install proprietary software (that&#x27;s not in the
system package repos) is kind of a drag, and feels sort of wrong for the
system.&lt;&#x2F;p&gt;
&lt;p&gt;There&#x27;s also something wonderful about public bug trackers. You can
search and track the progress of an issue instead of just submitting it into
&lt;a href=&quot;https:&#x2F;&#x2F;developer.apple.com&#x2F;bug-reporting&#x2F;&quot;&gt;the void&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;To say thanks for all this wonderful software I&#x27;m using for free I&#x27;ve tried to
&lt;a href=&quot;http:&#x2F;&#x2F;www.wezm.net&#x2F;technical&#x2F;2018&#x2F;01&#x2F;software-contributions-2017&#x2F;&quot;&gt;give back a little&lt;&#x2F;a&gt;. Financially and through code and documentation
contributions. I also maintain &lt;a href=&quot;https:&#x2F;&#x2F;aur.archlinux.org&#x2F;packages&#x2F;?SeB=m&amp;amp;K=wezm&quot;&gt;a number of packages in the Arch User
Repository&lt;&#x2F;a&gt; and hope to submit my first FreeBSD port in the not too distant
future.&lt;&#x2F;p&gt;
&lt;p&gt;That&#x27;s all for now, thanks for following this journey. Happy computing!
&lt;a href=&quot;http:&#x2F;&#x2F;bitcannon.net&#x2F;index.xml&quot;&gt;Subscribe to the feed&lt;&#x2F;a&gt; or follow me on &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;wezm&quot;&gt;Twitter&lt;&#x2F;a&gt; or &lt;a href=&quot;https:&#x2F;&#x2F;mastodon.decentralised.social&#x2F;@wezm&quot;&gt;Mastodon&lt;&#x2F;a&gt; for
updates. If you enjoyed this post consider &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;sponsors&#x2F;wezm&quot;&gt;supporting me on GitHub Sponsors&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;This is part 5 in a series. &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;two-years-on-linux&#x2F;&quot;&gt;Read Part 6&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;comments&quot;&gt;Comments&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16524269&quot;&gt;Hacker News&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;lobste.rs&#x2F;s&#x2F;pe5hwl&#x2F;year_away_from_mac_os&quot;&gt;Lobsters&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;!-- * [Reddit](https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linux&#x2F;comments&#x2F;5qxj2n&#x2F;finding_an_alternative_to_mac_os_x_part_2&#x2F;) --&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;1&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;1&lt;&#x2F;sup&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.gnu.org&#x2F;philosophy&#x2F;free-sw.html.en&quot;&gt;The four essential freedoms of free software&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
</description>
    </item>
    
    <item>
      <title>Replacing a MacBook Pro</title>
      <pubDate>Wed, 06 Sep 2017 07:36:24 +1000</pubDate>
      <atom:published>2017-09-06T07:36:24+10:00</atom:published>
      
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;replacing-a-macbook-pro&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;replacing-a-macbook-pro&#x2F;</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the fourth post in my series on &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x&#x2F;&quot;&gt;finding an alternative to Mac OS X&lt;&#x2F;a&gt;. &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;being-productive-on-linux&#x2F;&quot;&gt;Part 3&lt;&#x2F;a&gt; was about finding replacements for
some of my favourite Mac productivity apps.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;My migration away from Mac OS X is still going well. I rarely use Mac OS
anymore. The one remaining application I&#x27;m yet to find a suitable replacement
for is &lt;a href=&quot;https:&#x2F;&#x2F;moneywellapp.com&#x2F;&quot;&gt;MoneyWell&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Update 30 March 2019:&lt;&#x2F;strong&gt; I have discovered &lt;a href=&quot;https:&#x2F;&#x2F;www.budgetwithbuckets.com&#x2F;&quot;&gt;Buckets&lt;&#x2F;a&gt; and will be trialling
it as a MoneyWell replacement.&lt;&#x2F;p&gt;
&lt;p&gt;In April I started a new job and was given the choice between a Mac or PC
laptop. I took the PC option and was supplied with a &lt;a href=&quot;http:&#x2F;&#x2F;www3.lenovo.com&#x2F;au&#x2F;en&#x2F;deals&#x2F;current-offers&#x2F;deals-of-the-week&#x2F;T470s-AU-C3&#x2F;p&#x2F;20HFCTO1WWENAU1&quot;&gt;Lenovo ThinkPad T470s&lt;&#x2F;a&gt;,
which I run &lt;a href=&quot;https:&#x2F;&#x2F;www.archlinux.org&#x2F;&quot;&gt;Arch Linux&lt;&#x2F;a&gt; on.&lt;&#x2F;p&gt;
&lt;p&gt;ThinkPads are very well regarded by folks that run, and build open source
operating systems.  They are often recommended when people ask what laptop they
should get for running Linux or BSD. Their hardware is typically well supported
particularly the keyboards. Personally I use a mechanical keyboard whenever
possible so consider most laptop keyboards to be of a similar level of
mediocrity.&lt;&#x2F;p&gt;
&lt;p&gt;Using my three year old 2013 13&quot; MacBook Pro as my benchmark I have not formed
a positive opinion of my ThinkPad. The hardware support has been mostly good
but overall it&#x27;s quite a lacklustre laptop. Granted it is a, &quot;business&quot;, model
and is about AU$600 cheaper than a current model 13&quot; MacBook Pro.&lt;&#x2F;p&gt;
&lt;p&gt;My gripes with the ThinkPad are:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The screen is low resolution (~153 dpi vs. MacBook&#x27;s 227 dpi) and has poor
colour reproduction — colours lack vibrancy and look washed out.&lt;&#x2F;li&gt;
&lt;li&gt;The trackpad is imprecise, slow to respond and has a grippy surface.&lt;&#x2F;li&gt;
&lt;li&gt;About once a day the fan stays on full after resuming from suspend. Closing
and opening it again will often restore normal behaviour, but not always. In
the latter case shutting down and restarting is needed. Note that the fan is
controlled by the embedded controller (part of the firmware), not the OS.
Several BIOS updates have still not resolved the issue.&lt;&#x2F;li&gt;
&lt;li&gt;The general construction lacks rigidity. Using the laptop on my bus commute
often results in the screen wobbling or changing position.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;These gripes eventually led me to start leaving the ThinkPad at work and using
my (slower) 2013 13&quot; MacBook Pro (running Arch Linux) on the commute. The
MacBook has a far superior display that doesn&#x27;t wobble or change position on
the bus, the trackpad is vastly more accurate and pleasant to use, and the fan
behaves sensibly.&lt;&#x2F;p&gt;
&lt;p&gt;Whilst the MacBook works well as a Linux machine I recently started to
entertain the idea of replacing it with a more powerful quad core laptop. I
spent a lot of time researching PC laptops and discovered that there are a
minuscule number that are all of the following:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Quad core&lt;&#x2F;li&gt;
&lt;li&gt;Well constructed, rigid, ideally made from metal&lt;&#x2F;li&gt;
&lt;li&gt;13–15&quot; HiDPI screen&lt;&#x2F;li&gt;
&lt;li&gt;Runs Linux (and maybe BSD) well&lt;&#x2F;li&gt;
&lt;li&gt;Aren&#x27;t ridiculously styled gaming laptops&lt;&#x2F;li&gt;
&lt;li&gt;Equal or less than the cost of a 15&quot; MacBook Pro&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I even ended up &lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;SuggestALaptop&#x2F;comments&#x2F;6swf4f&#x2F;suggestions_for_quality_quad_core_laptop_for&#x2F;&quot;&gt;asking for help on Reddit&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;After receiving three recommendations for the &lt;a href=&quot;http:&#x2F;&#x2F;www.dell.com&#x2F;au&#x2F;p&#x2F;xps-15-9560-laptop&#x2F;pd?ref=PD_OC&quot;&gt;Dell XPS 15 (9560)&lt;&#x2F;a&gt; from
friends (two using Linux on it, one Windows), I sucked up the extra cost over my
AU$2500 budget and ordered one. I won&#x27;t go into detail about the Dell ordering
and delivery experience but I will say it&#x27;s complex, ugly, and slow.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;xps-15.jpg&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;xps-15_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;My laptop&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;The specifications of my unit are:&lt;&#x2F;p&gt;
&lt;table class=&quot;standard_list&quot; width=&quot;100%&quot; cellspacing=&quot;0&quot;&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th width=&quot;20%&quot;&gt;Component&lt;&#x2F;th&gt;
      &lt;th width=&quot;80%&quot;&gt;Description&lt;&#x2F;th&gt;
    &lt;&#x2F;tr&gt;
    &lt;tr&gt;
      &lt;th&gt;CPU&lt;&#x2F;th&gt;
      &lt;td&gt;Quad Intel Core i7-7700HQ CPU (Base: 2.80GHz, Turbo: 3.80GHz)&lt;&#x2F;td&gt;
    &lt;&#x2F;tr&gt;
    &lt;tr&gt;
      &lt;th&gt;Memory&lt;&#x2F;th&gt;
      &lt;td&gt;32Gb DDR4-2400MHz&lt;&#x2F;td&gt;
    &lt;&#x2F;tr&gt;
    &lt;tr&gt;
      &lt;th&gt;SSD&lt;&#x2F;th&gt;
      &lt;td&gt;1Tb Toshiba NVMe&lt;&#x2F;td&gt;
    &lt;&#x2F;tr&gt;
    &lt;tr&gt;
      &lt;th&gt;Graphics&lt;&#x2F;th&gt;
      &lt;td&gt;Intel graphics + Nvidia GeForce GTX 1050 4GB GDDR5 Mobile GPU&lt;&#x2F;td&gt;
    &lt;&#x2F;tr&gt;
    &lt;tr&gt;
      &lt;th&gt;Display&lt;&#x2F;th&gt;
      &lt;td&gt;15.6&quot; 4K (3840 x 2160) IGZO IPS display with touchscreen  &lt;&#x2F;td&gt;
    &lt;&#x2F;tr&gt;
    &lt;tr&gt;
      &lt;th&gt;WiFi&lt;&#x2F;th&gt;
      &lt;td&gt;Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter  &lt;&#x2F;td&gt;
    &lt;&#x2F;tr&gt;
  &lt;&#x2F;tbody&gt;
&lt;&#x2F;table&gt;
&lt;h2 id=&quot;is-it-any-good&quot;&gt;Is It Any Good?&lt;&#x2F;h2&gt;
&lt;p&gt;I&#x27;ve been using the XPS for about 3 weeks now and am very happy with it. It&#x27;s
well constructed, the screen is glorious, the trackpad is accurate and has a
nice surface, the battery life is good, and it&#x27;s stable and well supported by
Linux. &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;vermaden&#x2F;status&#x2F;900115098999689217&quot;&gt;Some people don&#x27;t like the keyboard&lt;&#x2F;a&gt;, but I think
it&#x27;s perfectly usable. The layout is nearly identical to the MacBook it&#x27;s
replacing so it&#x27;s familiar to me and the action is light and without wobble.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;xps-15-macbook-size-comparison.jpg&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;xps-15-macbook-size-comparison_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;13-inch MacBook Pro Compared to XPS 15&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;xps-15-vs-macbook-pro-height-comparison.jpg&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;xps-15-vs-macbook-pro-height-comparison_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;13-inch MacBook Pro Height Compared to XPS 15&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;installing-arch-linux&quot;&gt;Installing Arch Linux&lt;&#x2F;h2&gt;
&lt;p&gt;My first step upon receiving the laptop was to resize the Windows partition to
make room for other operating systems. I don&#x27;t expect to use Windows outside of the
occasional game or BIOS update, but figured it was worth keeping around just in
case.&lt;&#x2F;p&gt;
&lt;p&gt;By this point I&#x27;m pretty comfortable with installing Arch, but there are a few
gotchas when installing on this laptop. The main ones are disabling Secure Boot
to boot the Arch install ISO and changing the SATA mode from RAID to AHCI to
make the drive visible to Linux.&lt;&#x2F;p&gt;
&lt;p&gt;I found &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;rcasero&#x2F;doc&#x2F;wiki&#x2F;Ubuntu-linux-on-Dell-XPS-15-(9560)&quot;&gt;Ramón Casero&#x27;s guide for Ubuntu&lt;&#x2F;a&gt; and the &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;Dell_XPS_15_9560&quot;&gt;XPS 15 page
on the ArchWiki&lt;&#x2F;a&gt; super helpful. In particular Ramón describes
the steps needed to not break the Windows installation when changing the SATA
mode.&lt;&#x2F;p&gt;
&lt;p&gt;Once Arch was installed I &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;Dell_XPS_15_9560#Disable_discrete_GPU&quot;&gt;disabled the discrete GPU&lt;&#x2F;a&gt; to help save
power. Whilst I&#x27;ve not tested it in detail the battery life seems to be around
6–8 hours.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;what-works&quot;&gt;What works&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Graphics (accelerated)&lt;&#x2F;li&gt;
&lt;li&gt;Headphone jack&lt;&#x2F;li&gt;
&lt;li&gt;SD card reader&lt;&#x2F;li&gt;
&lt;li&gt;Speakers&lt;&#x2F;li&gt;
&lt;li&gt;Suspend&#x2F;resume&lt;&#x2F;li&gt;
&lt;li&gt;Touchscreen&lt;&#x2F;li&gt;
&lt;li&gt;Trackpad (multi-touch)&lt;&#x2F;li&gt;
&lt;li&gt;Webcam&lt;&#x2F;li&gt;
&lt;li&gt;WiFi&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The ArchWiki page on the XPS 15 states resuming from suspend is buggy but in my
use it&#x27;s been totally stable (4.12.8-2-ARCH kernel).&lt;&#x2F;p&gt;
&lt;h4 id=&quot;what-doesn-t-work&quot;&gt;What doesn&#x27;t work&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Fingerprint scanner&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;what-i-haven-t-tried&quot;&gt;What I haven&#x27;t tried&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Bluetooth&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This is part 4 in a series. &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;a-year-away-from-mac-os&#x2F;&quot;&gt;Read Part 5&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</description>
    </item>
    
    <item>
      <title>Being Productive on Linux</title>
      <pubDate>Mon, 20 Feb 2017 16:09:38 +1100</pubDate>
      <atom:published>2017-02-20T16:09:38+11:00</atom:published>
      
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;being-productive-on-linux&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;being-productive-on-linux&#x2F;</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the third post in my series on &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x&#x2F;&quot;&gt;finding an alternative to Mac OS X&lt;&#x2F;a&gt;. &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x-part-2&#x2F;&quot;&gt;Part 2&lt;&#x2F;a&gt; was about
my experience with &lt;a href=&quot;https:&#x2F;&#x2F;elementary.io&#x2F;&quot;&gt;elementary OS&lt;&#x2F;a&gt; and the switch back to &lt;a href=&quot;https:&#x2F;&#x2F;www.archlinux.org&#x2F;&quot;&gt;Arch Linux&lt;&#x2F;a&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I received a lot of great responses to the &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x-part-2&#x2F;&quot;&gt;last post&lt;&#x2F;a&gt;, thanks to all
that commented, emailed and shared the post. I&#x27;d like to particularly call out
the &lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linux&#x2F;comments&#x2F;5qxj2n&#x2F;finding_an_alternative_to_mac_os_x_part_2&#x2F;dd35dog&#x2F;&quot;&gt;comment that Daniel Foré, the founder of elementary OS left on Reddit&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;blockquote&gt;
&lt;p&gt;Hey &#x2F;u&#x2F;wezm Sorry to hear that you decided to leave us. We committed HiDPI fixes to screenshot very recently but overall HiDPI support is something we still consider a work in progress. We recently backported the dbus fix and I believe the patched package is currently in staging for testing. The copy paste issue in Mail was also resolved recently. We try to push out updates pretty regularly so this fixes should go out to stable soon.&lt;&#x2F;p&gt;
&lt;p&gt;I hadn&#x27;t heard about a couple of the other issues you raised but I&#x27;ll follow up on those and see what we can do. We&#x27;re a very small team, but I can allocate a bit of our bounty budget to some of these long outstanding problems.&lt;&#x2F;p&gt;
&lt;p&gt;We agree that getting the latest apps is less than ideal right now and we&#x27;re working on a solution to address that issue in elementary OS. For now, if you need to install a deb, using &lt;code&gt;apt install .&#x2F;app.deb&lt;&#x2F;code&gt; will automatically resolve package dependencies unlike &lt;code&gt;dpkg -i&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We really appreciate your feedback and support and hope you&#x27;ll decide to come back soon. Either way, I&#x27;m glad to see you trying more open source software instead of just going back to MacOS :)&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;His response was helpful, gracious, and positive, so thank you, Daniel.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;desktop-environment-update&quot;&gt;Desktop Environment Update&lt;&#x2F;h2&gt;
&lt;p&gt;In part 2 I settled on &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;solus-project&#x2F;budgie-desktop&quot;&gt;Budgie&lt;&#x2F;a&gt; for my desktop environment. I&#x27;ve since switched
back to &lt;a href=&quot;https:&#x2F;&#x2F;www.gnome.org&#x2F;&quot;&gt;GNOME&lt;&#x2F;a&gt; with the &lt;a href=&quot;https:&#x2F;&#x2F;extensions.gnome.org&#x2F;extension&#x2F;1160&#x2F;dash-to-panel&#x2F;&quot;&gt;Dash to panel&lt;&#x2F;a&gt; extension, which gives a very
Budgie-esque result:&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;arch-gnome-dash-to-panel.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;arch-gnome-dash-to-panel_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;GNOME with Dash to panel extension&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;The following issues led me to switch back to GNOME:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;budgie-desktop&#x2F;budgie-desktop&#x2F;issues&#x2F;793&quot;&gt;No HiDPI icons in the icon bar&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;budgie-desktop&#x2F;budgie-desktop&#x2F;issues&#x2F;685&quot;&gt;System tray icons inconsistently sized and spaced in HiDPI&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Limited, &lt;code&gt;Alt+Tab&lt;&#x2F;code&gt; implementation.&lt;&#x2F;li&gt;
&lt;li&gt;No grouping of running applications in icon bar:
&lt;ul&gt;
&lt;li&gt;Each window shows as an identical icon so it&#x27;s difficult to know which
one to click.&lt;&#x2F;li&gt;
&lt;li&gt;You&#x27;re driven to clicking on them because there is no overlay when
Alt-Tabbing, making the whole process quite hit-and-miss.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;No keyboard shortcuts for screenshots.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The Budgie developers are aware of many of these issues and are working on a
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;budgie-desktop&#x2F;budgie-desktop&#x2F;issues&#x2F;800&quot;&gt;10.3 release to address them&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;on-being-productive&quot;&gt;On Being Productive&lt;&#x2F;h2&gt;
&lt;figure class=&quot;no-border&quot;&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;xkcd.com&amp;#x2F;1205&amp;#x2F;&quot;&gt;
    &lt;img src=&quot;https:&amp;#x2F;&amp;#x2F;imgs.xkcd.com&amp;#x2F;comics&amp;#x2F;is_it_worth_the_time.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;xkcd: Is It Worth the Time?&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;I received some comments regarding my desire to replicate parts of my macOS
environment on Linux and the amount of time I&#x27;ve taken to make it work for me:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linux&#x2F;comments&#x2F;5qxj2n&#x2F;finding_an_alternative_to_mac_os_x_part_2&#x2F;dd3pyt5&#x2F;&quot;&gt;maxm commented&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Amazing amount of work to make the environment fit the person. I have long since resigned, and just use the defaults of whatever distro i use. I dont spend much time in the os anyway. Mainly in the apps.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13305751&quot;&gt;bostand commented&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;I really don&#x27;t get why someone would want to change platform while doing his damnest to keep things exactly as before.[...]&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;I believe it&#x27;s worth the time to optimise my environment. I use a computer
every day for work plus a lot of my hobbies&#x2F;leisure time. As the comic above
shows, little wins add up. Even if I spend a bit more time than will be paid
back directly, these tweaks can still help you stay in the zone and bring a
bit of happiness each time I use them. :-)&lt;&#x2F;p&gt;
&lt;p&gt;I gradually incorporated the tools that I use on macOS over many years.
There&#x27;s no denying attempting to replicate that gradual work all at once is
time-consuming but I think it&#x27;s worth it if only to give Linux a fair chance
as a macOS replacement. If there are better options on Linux I&#x27;m open to them.
However, given I know these already, the best approach seems to be
replicating the functionality I know first. Over time I&#x27;m sure I&#x27;ll gradually
incorporate more Linux specific tools into my work flow.&lt;&#x2F;p&gt;
&lt;p&gt;So here&#x27;s how I&#x27;ve gone about replacing my most important productivity tools:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.alfredapp.com&#x2F;&quot;&gt;Alfred&lt;&#x2F;a&gt;
&lt;ol&gt;
&lt;li&gt;Launcher&lt;&#x2F;li&gt;
&lt;li&gt;Clipboard history&lt;&#x2F;li&gt;
&lt;li&gt;Snippets&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;pqrs.org&#x2F;osx&#x2F;karabiner&#x2F;index.html.en&quot;&gt;Karabiner&lt;&#x2F;a&gt; -- Keyboard customisation and enhancement&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;launcher&quot;&gt;Launcher&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;albert&quot;&gt;Albert&lt;&#x2F;h3&gt;
&lt;p&gt;Many people pointed me at &lt;a href=&quot;https:&#x2F;&#x2F;albertlauncher.github.io&#x2F;&quot;&gt;Albert&lt;&#x2F;a&gt;. I was aware of it but was holding off on
installing it because I wanted to give the built-in launchers a fair go before
replacing them. elementary, GNOME and Budgie all have a way to summon a search
field, enter a search term and launch an app. In the end, I did install Albert
as it shows up faster and has extra features like custom web searches (E.g AUR
and Arch packages) and a calculator that I was missing from Alfred.&lt;&#x2F;p&gt;
&lt;p&gt;I did have to disable file indexing though. Albert&#x27;s memory consumption would climb
to over 2Gb with it enabled (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;albertlauncher&#x2F;albert&#x2F;issues&#x2F;1&quot;&gt;bug&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;albert.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Albert&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;clipboard-history&quot;&gt;Clipboard History&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;copyq&quot;&gt;CopyQ&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;http:&#x2F;&#x2F;thecrumb.com&#x2F;&quot;&gt;Jim Priest&lt;&#x2F;a&gt; suggested I check out &lt;a href=&quot;https:&#x2F;&#x2F;hluk.github.io&#x2F;CopyQ&#x2F;&quot;&gt;CopyQ&lt;&#x2F;a&gt; for clipboard history.  It&#x27;s been a
great clipboard history replacement. It&#x27;s packed with features and I&#x27;ve barely
scratched the surface on what it can do. I look forward to making more use
of it in the future.&lt;&#x2F;p&gt;
&lt;p&gt;The one minor annoyance is that it&#x27;s a &lt;a href=&quot;https:&#x2F;&#x2F;www.qt.io&#x2F;&quot;&gt;Qt&lt;&#x2F;a&gt; app so it feels a bit out of place
on my predominantly &lt;a href=&quot;https:&#x2F;&#x2F;www.gtk.org&#x2F;&quot;&gt;GTK+&lt;&#x2F;a&gt; desktop. Its window is hidden most of the time
anyway so this isn&#x27;t a huge issue.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;copyq.png&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;CopyQ&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;snippets-text-expansion&quot;&gt;Snippets (Text Expansion)&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;xpander&quot;&gt;Xpander&lt;&#x2F;h3&gt;
&lt;p&gt;After not having much luck with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;autokey-py3&#x2F;autokey&quot;&gt;AutoKey-Py3&lt;&#x2F;a&gt; I did some more searching and
came up with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;OzymandiasTheGreat&#x2F;Xpander&quot;&gt;Xpander&lt;&#x2F;a&gt;. I &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wezm&#x2F;aur&#x2F;tree&#x2F;master&#x2F;xpander&quot;&gt;created a PKGBUILD&lt;&#x2F;a&gt; for it since
it wasn&#x27;t already in the AUR. I then made &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wezm&#x2F;dash2alfred&quot;&gt;a conversion script&lt;&#x2F;a&gt; to
convert my Alfred snippets into Xpander phrases.&lt;&#x2F;p&gt;
&lt;p&gt;Xpander is pretty reliable at triggering and expanding phrases when it should,
which was not my experience with AutoKey. However, it does weird things to the
&lt;code&gt;Tab&lt;&#x2F;code&gt; key. It appears to send the Tab keypress to all apps and also makes
it necessary to press &lt;code&gt;Tab&lt;&#x2F;code&gt; twice to invoke completion in the shell and &lt;code&gt;vim&lt;&#x2F;code&gt;.
Needless to say, this is quite frustrating. As a result, I&#x27;ve stopped using it
for the moment in favour of my custom keyboard firmware described in the next
section.&lt;&#x2F;p&gt;
&lt;p&gt;I haven&#x27;t given up entirely on Xpander though. It mostly works so I&#x27;ve been
working on cleaning up the code with a view to adding tests, fixing the &lt;code&gt;Tab&lt;&#x2F;code&gt;
issue and ultimately start shifting the implementation from Python to Rust.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;keyboard-customisation&quot;&gt;Keyboard Customisation&lt;&#x2F;h3&gt;
&lt;p&gt;In Part 2 I said the following regarding Karabiner:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;The main thing that I&#x27;m missing from Karabiner is simultaneous keys. These
allow holding &lt;code&gt;s&lt;&#x2F;code&gt; and &lt;code&gt;d&lt;&#x2F;code&gt; to access the arrow keys on the &lt;code&gt;hjkl&lt;&#x2F;code&gt; keys (I.e.
access arrow keys without leaving the home row). I haven&#x27;t looked into whether
this is possible to replicate because I&#x27;ve ordered a programmable &lt;a href=&quot;http:&#x2F;&#x2F;bathroomepiphanies.com&#x2F;controllers&#x2F;&quot;&gt;replacement
controller&lt;&#x2F;a&gt; for my &lt;a href=&quot;https:&#x2F;&#x2F;www.diatec.co.jp&#x2F;en&#x2F;det.php?prod_c=775&quot;&gt;Filco mechanical keyboard&lt;&#x2F;a&gt;. I plan to
build home row arrows into it so they work on any computer. This will also
allow me to move the Caps Lock, Super and Alt config from earlier into the
keyboard.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The replacement controller has arrived and I&#x27;ve programmed a custom keymap into it that
does the following:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Caps Lock&lt;&#x2F;code&gt; as &lt;code&gt;Control&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Swap &lt;code&gt;Alt&lt;&#x2F;code&gt; and &lt;code&gt;Super&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;Tab&lt;&#x2F;code&gt; operates as a modifier to switch to a function layer when held and
normal &lt;code&gt;Tab&lt;&#x2F;code&gt; key when pressed and released normally.&lt;&#x2F;li&gt;
&lt;li&gt;The function layer has arrow keys mapped to &lt;code&gt;hjkl&lt;&#x2F;code&gt;, so holding &lt;code&gt;Tab&lt;&#x2F;code&gt; allows
me to arrow around without leaving the home row.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;Home&lt;&#x2F;code&gt;, &lt;code&gt;Page Down&lt;&#x2F;code&gt;, &lt;code&gt;Page Up&lt;&#x2F;code&gt;, &lt;code&gt;End&lt;&#x2F;code&gt; are bound to keys above &lt;code&gt;hjkl&lt;&#x2F;code&gt; on the
function layer.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This has largely replicated my use of Karabiner. As a bonus, the new keyboard
firmware also has macro support so I&#x27;ve been able to put some of my most used
Alfred snippets directly in the keyboard. I have macros for my name, personal
and work email address, phone number, and more. For example, &lt;code&gt;Tab+2&lt;&#x2F;code&gt; types my
email address into any application on any computer the keyboard is plugged
into.  I have &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;wezm&#x2F;tmk_firmware&#x2F;blob&#x2F;master&#x2F;controllers&#x2F;keymap_wezm.h&quot;&gt;published the firmware on GitHub&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;http:&#x2F;&#x2F;bitcannon.net&#x2F;index.xml&quot;&gt;Subscribe to the feed&lt;&#x2F;a&gt; or &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;wezm&quot;&gt;follow me on Twitter&lt;&#x2F;a&gt; for updates. If
you enjoyed this post consider &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;sponsors&#x2F;wezm&quot;&gt;supporting me on GitHub Sponsors&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;This is part 3 in a series. &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;replacing-a-macbook-pro&#x2F;&quot;&gt;Read Part 4&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</description>
    </item>
    
    <item>
      <title>Finding an Alternative to Mac OS X — Part 2 Video</title>
      <pubDate>Sun, 29 Jan 2017 11:46:52 +1100</pubDate>
      <atom:published>2017-01-29T11:46:52+11:00</atom:published>
      <atom:updated>2020-08-30T12:00:49+10:00</atom:updated>
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x-part-2-video&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x-part-2-video&#x2F;</guid>
      <description>&lt;p&gt;I gave a short (10 min) talk at work on my adventures with Linux. It covers the
same core content as the post, &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x-part-2&#x2F;&quot;&gt;Finding an Alternative to Mac OS X — Part 2&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;Topics covered include:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Motivation for the experiment&lt;&#x2F;li&gt;
&lt;li&gt;Experience with elementary OS&lt;&#x2F;li&gt;
&lt;li&gt;Linux alternatives to macOS apps&lt;&#x2F;li&gt;
&lt;li&gt;Some recommendations&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;video src=&quot;&#x2F;videos&#x2F;adventures-with-linux.mp4&quot; poster=&quot;&#x2F;videos&#x2F;adventures-with-linux.png&quot; width=&quot;480&quot; height=&quot;358&quot; preload=&quot;metadata&quot; class=&quot;center-media&quot; controls&gt;
  &lt;p&gt;Looks like your browser can&#x27;t play this video. Perhaps try &lt;a href=&quot;&#x2F;videos&#x2F;adventures-with-linux.mp4&quot;&gt;downloading it&lt;&#x2F;a&gt; instead.&lt;&#x2F;p&gt;
&lt;&#x2F;video&gt;
&lt;p&gt;The Alfred like app that I couldn&#x27;t think of the name of during the talk is
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;albertlauncher&#x2F;albert&quot;&gt;Albert&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The video was edited lightly (trimmed) on Linux, I was curious how this would
go, it turned out ok. There are a number of video editors available. I settled on
&lt;a href=&quot;http:&#x2F;&#x2F;avidemux.sourceforge.net&#x2F;&quot;&gt;Avidemux&lt;&#x2F;a&gt; because it was targeted at the
simple edits I wanted to make.&lt;&#x2F;p&gt;
</description>
    </item>
    
    <item>
      <title>Finding an Alternative to Mac OS X — Part 2</title>
      <pubDate>Sun, 29 Jan 2017 10:14:01 +1100</pubDate>
      <atom:published>2017-01-29T10:14:01+11:00</atom:published>
      
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x-part-2&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x-part-2&#x2F;</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the second in my series on &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x&#x2F;&quot;&gt;finding an alternative to Mac OS X&lt;&#x2F;a&gt;. Part 1 was about
evaluating 13 alternative operating systems and then choosing one to use full
time. The selected OS was &lt;a href=&quot;https:&#x2F;&#x2F;elementary.io&#x2F;&quot;&gt;elementary OS&lt;&#x2F;a&gt;. The motivation for this change is to
get access to better hardware since Apple is &lt;a href=&quot;http:&#x2F;&#x2F;buyersguide.macrumors.com&#x2F;#Mac&quot;&gt;neglecting the Mac
lineup&lt;&#x2F;a&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;&lt;em&gt;If video is more your style I gave a &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x-part-2-video&#x2F;&quot;&gt;short (10 min) talk&lt;&#x2F;a&gt;
at work on my adventures with Linux that covers the core content of this
post.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s been nearly a month since the first post, which garnered a lot more
attention than I expected. There&#x27;s quite a lot of unrest amongst Apple users
at the moment about the current state of the Mac. A lot of the responses were
along these lines:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I&#x27;ve been considering the same thing, interested to see how it goes.&lt;&#x2F;li&gt;
&lt;li&gt;What about &lt;a href=&quot;http:&#x2F;&#x2F;www.microsoft.com&#x2F;en-us&#x2F;windows&#x2F;Default.aspx&quot;&gt;Windows&lt;&#x2F;a&gt;? Or, Windows 10 is better than previous versions and has
the &lt;a href=&quot;https:&#x2F;&#x2F;msdn.microsoft.com&#x2F;en-us&#x2F;commandline&#x2F;wsl&#x2F;about&quot;&gt;Windows Subsystem for Linux&lt;&#x2F;a&gt; (WSL) now.&lt;&#x2F;li&gt;
&lt;li&gt;You should try Linux distribution &lt;em&gt;X&lt;&#x2F;em&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Did you try &lt;a href=&quot;http:&#x2F;&#x2F;kde.org&#x2F;&quot;&gt;KDE&lt;&#x2F;a&gt;?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Based on this feedback I did go back and reevaluate &lt;a href=&quot;https:&#x2F;&#x2F;solus-project.com&#x2F;&quot;&gt;Solus OS&lt;&#x2F;a&gt; as well as try
out a KDE based distribution, &lt;a href=&quot;https:&#x2F;&#x2F;kaosx.us&#x2F;&quot;&gt;KaOS&lt;&#x2F;a&gt;, and install &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;KDE_Plasma_5&quot;&gt;Plasma&lt;&#x2F;a&gt; on my Arch install.
This didn&#x27;t change my mind on the best candidate for me to try: elementary OS.&lt;&#x2F;p&gt;
&lt;p&gt;Regarding Windows, I should say that I am strongly biased towards *nix style
operating systems and find it unlikely that I&#x27;d be happy using Windows full
time. However, in the interests of keeping an open mind I will give it a try in
the next few months. I have backed the &lt;a href=&quot;https:&#x2F;&#x2F;igg.me&#x2F;at&#x2F;EveV&#x2F;x&#x2F;5363060&quot;&gt;Eve V campaign&lt;&#x2F;a&gt;. The Eve V is a
2-in-1 laptop tablet that will come with Windows 10. For now Windows is off the
table.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;installing-elementary&quot;&gt;Installing elementary&lt;&#x2F;h2&gt;
&lt;p&gt;I closed the first post with:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;I plan to resize the Arch partition on my work PC and install
elementary alongside. I&#x27;ll aim to do all my work duties on just that machine.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;That&#x27;s exactly what I did. That machine is a &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;page&#x2F;work-pc&#x2F;&quot;&gt;custom built PC&lt;&#x2F;a&gt; running &lt;a href=&quot;https:&#x2F;&#x2F;www.archlinux.org&#x2F;&quot;&gt;Arch Linux&lt;&#x2F;a&gt; that I was previously &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Secure_Shell&quot;&gt;sshing&lt;&#x2F;a&gt; into
from my Mac.&lt;&#x2F;p&gt;
&lt;p&gt;I installed elementary 0.4, &quot;Loki&quot;, which is derived from &lt;a href=&quot;https:&#x2F;&#x2F;wiki.ubuntu.com&#x2F;XenialXerus&#x2F;ReleaseNotes&#x2F;&quot;&gt;Ubuntu 16.04 LTS&lt;&#x2F;a&gt;.
Installation was straightforward. I was pleased that the live environment
included tools like &lt;a href=&quot;http:&#x2F;&#x2F;gparted.org&#x2F;&quot;&gt;GParted&lt;&#x2F;a&gt; that let me resize and add partitions to allow dual
booting with the existing Arch installation. A secondary benefit of dual booting
was that I could mount the Arch partition in elementary and copy over code and
config to get set up quickly.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;elementary-installed.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;elementary-installed_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;elementary OS on my PC&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;My priority after installation was getting my development environment set up:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Password manager&lt;&#x2F;li&gt;
&lt;li&gt;Browser&lt;&#x2F;li&gt;
&lt;li&gt;Email&lt;&#x2F;li&gt;
&lt;li&gt;Slack&lt;&#x2F;li&gt;
&lt;li&gt;Text editor&lt;&#x2F;li&gt;
&lt;li&gt;ruby environment&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;password-manager&quot;&gt;Password Manager&lt;&#x2F;h3&gt;
&lt;p&gt;In preparation for this move I set up &lt;a href=&quot;http:&#x2F;&#x2F;enpass.io&#x2F;&quot;&gt;Enpass&lt;&#x2F;a&gt; on my Mac and iPhone with
syncing via Dropbox. I imported all my passwords from &lt;a href=&quot;https:&#x2F;&#x2F;1password.com&#x2F;&quot;&gt;1Password&lt;&#x2F;a&gt;. Enpass lacks
some of the finesse of 1Password but overall it works well and includes reliable
browser integration.&lt;&#x2F;p&gt;
&lt;p&gt;It was pointed out to me that I &lt;em&gt;should&lt;&#x2F;em&gt; be using an open source password
manager, which is a valid point. However I didn&#x27;t have a problem with
1Password being closed source and I&#x27;m not aware of any open source options
that are: cross platform (at least Linux, and iOS), have browser integration,
and can remain synced across devices. Unless I&#x27;ve missed such a product,
it&#x27;s closed source for now.&lt;&#x2F;p&gt;
&lt;p&gt;Downloading Enpass for Linux yields a &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Deb_(file_format)&quot;&gt;Debian package&lt;&#x2F;a&gt; (&lt;code&gt;.deb&lt;&#x2F;code&gt; file).
Installing this required using &lt;code&gt;dpkg -i&lt;&#x2F;code&gt; on the command line. I think
installing third-party software is something the system needs to handle
gracefully. The elementary folks could make installing it a lot simpler.&lt;&#x2F;p&gt;
&lt;p&gt;Setting up Enpass syncing was easy since it uses the Dropbox API so
I didn&#x27;t even need to install Dropbox.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;browser&quot;&gt;Browser&lt;&#x2F;h3&gt;
&lt;p&gt;The default elementary browser is a tweaked version of &lt;a href=&quot;https:&#x2F;&#x2F;wiki.gnome.org&#x2F;Apps&#x2F;Web&#x2F;&quot;&gt;Epiphany&lt;&#x2F;a&gt;. It feels
quite similar to my Mac browser of choice, Safari (and is also WebKit based).
However in my brief usage I found it to be unstable. I encountered WebKit
crashes and stalls loading pages for no particular reason. The deal breaker
though is that it does not support extensions (for Enpass password filling).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;mozilla.org&#x2F;firefox&quot;&gt;Firefox&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;www.chromium.org&#x2F;Home&quot;&gt;Chromium&lt;&#x2F;a&gt;, the open source version of &lt;a href=&quot;https:&#x2F;&#x2F;www.google.com&#x2F;intl&#x2F;en&#x2F;chrome&#x2F;browser&#x2F;&quot;&gt;Chrome&lt;&#x2F;a&gt; are available in App
Center, elementary&#x27;s app store. I personally avoid Google products where
possible so chose Firefox.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;email&quot;&gt;Email&lt;&#x2F;h3&gt;
&lt;p&gt;Setting up my work Google Apps email in the default Email app was simple,
not much to say here.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;slack&quot;&gt;Slack&lt;&#x2F;h3&gt;
&lt;p&gt;Things did not go as smoothly with &lt;a href=&quot;https:&#x2F;&#x2F;slack.com&#x2F;&quot;&gt;Slack&lt;&#x2F;a&gt;. Again they supply a &lt;code&gt;.deb&lt;&#x2F;code&gt; package
on their download page so I resorted to &lt;code&gt;dpkg -i&lt;&#x2F;code&gt; again to install it. However
it complained about missing dependencies. Attempting to add said dependencies
with Slack in it&#x27;s half installed state resulted in more errors about missing
dependencies. In the end the solution turned out to be remove Slack, install
the dependencies, then install Slack.&lt;&#x2F;p&gt;
&lt;p&gt;Clearly there is some user error at fault here and there must be a better way
to install downloaded packages like this. One option looks to be &lt;a href=&quot;https:&#x2F;&#x2F;simple.wikipedia.org&#x2F;wiki&#x2F;Gdebi&quot;&gt;Gdebi&lt;&#x2F;a&gt;. This
feels like something that is harder than it needs to be in elementary.
Especially since it is a simple double click on a stock Ubuntu installation.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;text-editor&quot;&gt;Text Editor&lt;&#x2F;h3&gt;
&lt;p&gt;Installing my text editor of choice, &lt;a href=&quot;https:&#x2F;&#x2F;neovim.io&#x2F;&quot;&gt;Neovim&lt;&#x2F;a&gt;, also proved annoying. The
installation instructions suggest using either &lt;a href=&quot;http:&#x2F;&#x2F;linuxbrew.sh&#x2F;&quot;&gt;Linuxbrew&lt;&#x2F;a&gt; (a port of
&lt;a href=&quot;http:&#x2F;&#x2F;brew.sh&#x2F;&quot;&gt;Homebrew&lt;&#x2F;a&gt; to Linux) or &lt;a href=&quot;https:&#x2F;&#x2F;help.launchpad.net&#x2F;Packaging&#x2F;PPA&quot;&gt;Personal Package Archive&lt;&#x2F;a&gt; (PPA). Having had good
experiences with Homebrew on my Mac I decided to give Linuxbrew a try. However
it turns out Linuxbrew manages it&#x27;s own version of all the packages it tracks
(makes sense I guess). This end up duplicating many of the packages available
or already installed by the system package manager. This works on macOS since
there is no system package repository but did not sit well with me on a Linux
system.&lt;&#x2F;p&gt;
&lt;p&gt;The other other listed option, the ppa, was a daily, &quot;unstable&quot;, build. My text
editor is one of the most important tools for getting my job done. I&#x27;m not
about to install an unstable version of it, so that left building from source.
I&#x27;m not averse to this but it means the onus is now on me to keep track of, and
build new releases.  It also means that you lose the easy uninstallation and
clean upgrades of system packages. To address these drawbacks this I resorted to
a handy tool I&#x27;ve used before: &lt;a href=&quot;https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;stow&#x2F;stow.html&quot;&gt;GNU stow&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;&#x2F;strong&gt; As I was writing this post &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;Neovim&#x2F;status&#x2F;825082775871037440&quot;&gt;Neovim announced a stable ppa&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-diversion&quot;&gt;A Diversion&lt;&#x2F;h2&gt;
&lt;p&gt;The experience up to this point had soured my feelings towards elementary
somewhat and I wondered if I&#x27;d just be better off sticking with Arch. After
all, most parts of the elementary desktop environment (pantheon) are in
the &lt;a href=&quot;https:&#x2F;&#x2F;aur.archlinux.org&#x2F;&quot;&gt;Arch User Repository&lt;&#x2F;a&gt; (AUR).&lt;&#x2F;p&gt;
&lt;p&gt;I set about building and installing &lt;a href=&quot;https:&#x2F;&#x2F;aur.archlinux.org&#x2F;packages&#x2F;?O=0&amp;amp;K=pantheon+bzr&quot;&gt;all of the AUR packages&lt;&#x2F;a&gt; for
a full pantheon environment. The end result was a pale imitation of the real
thing.  &lt;a href=&quot;https:&#x2F;&#x2F;www.freedesktop.org&#x2F;wiki&#x2F;Software&#x2F;LightDM&#x2F;&quot;&gt;Light DM&lt;&#x2F;a&gt;, the display manager elementary uses was crashing so I had
to swap it for &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;GNOME_Display_Manager&quot;&gt;gdm&lt;&#x2F;a&gt; just to be able to log in. Once logged in, it did not look
right since it was running on &lt;a href=&quot;https:&#x2F;&#x2F;www.gtk.org&#x2F;&quot;&gt;GTK+&lt;&#x2F;a&gt; 3.22 and the elementary theme only
works properly on GTK+ up to 3.18.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;pantheon-on-arch.jpg&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;pantheon-on-arch_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Pantheon on Arch — Not quite right. For example the gray lines in the sidebar of Files aren&amp;#x27;t supposed to be be there.&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;I&#x27;ll omit all the details, but at this point I tried both &lt;a href=&quot;https:&#x2F;&#x2F;www.gnome.org&#x2F;&quot;&gt;GNOME 3&lt;&#x2F;a&gt; and &lt;a href=&quot;http:&#x2F;&#x2F;kde.org&#x2F;&quot;&gt;KDE&lt;&#x2F;a&gt;
Plasma 5 on Arch but both left me wanting the well designed, uncluttered, and
integrated elementary environment. I rebooted back into elementary and just
accepted I&#x27;d have to work around the limitations of its Ubuntu base.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;making-myself-at-home&quot;&gt;Making Myself at Home&lt;&#x2F;h2&gt;
&lt;p&gt;Over the course of the next few days I brought more of my tools and
customisations over. Some like &lt;code&gt;tig&lt;&#x2F;code&gt; were easy, others like &lt;code&gt;ripgrep&lt;&#x2F;code&gt; and &lt;code&gt;fzf&lt;&#x2F;code&gt;
required building and installing from source. I expected installing my
preferred monospace font, &lt;a href=&quot;http:&#x2F;&#x2F;www.fsd.it&#x2F;shop&#x2F;fonts&#x2F;pragmatapro&#x2F;&quot;&gt;Pragmata Pro&lt;&#x2F;a&gt;, to be a real chore but it was super
easy: Just download, click the font file, then click &quot;Install&quot; in the font
viewer.&lt;&#x2F;p&gt;
&lt;p&gt;Getting the terminal to use Pragmata Pro required installing &lt;a href=&quot;https:&#x2F;&#x2F;wiki.gnome.org&#x2F;Apps&#x2F;GnomeTweakTool&quot;&gt;GNOME Tweak Tool&lt;&#x2F;a&gt;,
which let me change the system monospace font. This had a side effect that brings
me joy anytime it happens: Any application that renders monospace text using the
system default font, does so in Pragmata Pro. I especially like seeing it in email.&lt;&#x2F;p&gt;
&lt;p&gt;The elementary desktop environment is pleasant to use. It has a familiar dock,
(Plank) and generally does what you expect. There are customisable keyboard
shortcuts for many common actions.&lt;&#x2F;p&gt;
&lt;p&gt;Interestingly elementary almost completely removes menus. As a heavy keyboard
shortcut user this makes discovering shortcuts difficult. I ended up resorting
to searching the &lt;a href=&quot;http:&#x2F;&#x2F;elementaryos.stackexchange.com&#x2F;&quot;&gt;elementary Stack Exchange&lt;&#x2F;a&gt; and reading the, &quot;&lt;a href=&quot;https:&#x2F;&#x2F;elementary.io&#x2F;docs&#x2F;learning-the-basics#multitasking&quot;&gt;Learning The
Basics&lt;&#x2F;a&gt;&quot;, guide to discover some of them. This removal of menus is
something largely inherited from GNOME. In GNOME 3.20 (the version after
elementary is built upon) &lt;a href=&quot;https:&#x2F;&#x2F;help.gnome.org&#x2F;misc&#x2F;release-notes&#x2F;3.20&#x2F;#shortcut-windows&quot;&gt;GNOME introduced shortcut windows&lt;&#x2F;a&gt;
to address the discoverability problem. It would be great to see elementary
support these too.&lt;&#x2F;p&gt;
&lt;p&gt;One of the things I was concerned I would miss from macOS was the consistency
of the UI. I think my fears in this area were unfounded. So far I have found
the built-in applications as well as most others built using GTK+ 3 to be well
designed, consistent and pleasant to use.&lt;&#x2F;p&gt;
&lt;p&gt;The first few days went well enough that I also installed elementary on a Mac
mini at home (more on that in another post). In the subsequent weeks I&#x27;ve
hardly used macOS.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;hidpi&quot;&gt;HiDPI&lt;&#x2F;h2&gt;
&lt;p&gt;One of the benefits of desktop hardware is the ability to upgrade. This is an
aspect of computing that is sadly missing in the Apple lineup these days. I&#x27;ve
been wanting to get a high-resolution display for a while now but my MacBook
Pro was incapable of driving one at 60Hz. Now that I&#x27;m using Linux on my PC
this is no longer a problem — just install a better graphics card! I bought
the following:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;www.gigabyte.com&#x2F;products&#x2F;product-page.aspx?pid=6147#kf&quot;&gt;Gigabyte GeForce GTX 1050 Windforce OC&lt;&#x2F;a&gt;, 2GB graphics card — AU$199&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;www.dell.com&#x2F;en-us&#x2F;shop&#x2F;accessories&#x2F;apd&#x2F;210-agnk?c=us&amp;amp;l=en&amp;amp;s=dhs&amp;amp;cs=19&amp;amp;sku=210-AGNK&quot;&gt;Dell P2415Q&lt;&#x2F;a&gt; 23.8inch 4K (3840 × 2160) display — AU$665&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Keep in mind these are Australia dollars which are worth less than those fancy
American dollars and are no doubt also inflated by the, &quot;&lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Australia_Tax&quot;&gt;Australia Tax&lt;&#x2F;a&gt;&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;I chose an NVIDIA GPU because they publish (proprietary) drivers for Linux
and FreeBSD, making their hardware well supported. At first I installed
the drivers in the Ubuntu apt repos but the graphical environment failed
to start — the drivers were too old and did not support the GTX 1050 chipset.
So off I went to NVIDIA and installed the latest version manually.&lt;&#x2F;p&gt;
&lt;p&gt;With the right drivers installed I was back in action and was able to use the
full resolution of the display @ 60Hz. Retina aka HiDPI is reasonably well
supported on Linux but requires some &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;HiDPI&quot;&gt;manual steps to enable it&lt;&#x2F;a&gt;. In the GTK+
based elementary OS this boils down to:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;gsettings set org.gnome.desktop.interface scaling-factor 2
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The end result is stunning. Pragmata Pro looks especially great. So good that I
splurged on buying the whole font family (bold + italic). Previously I&#x27;d only
purchased the regular variant.&lt;&#x2F;p&gt;
&lt;p&gt;Most things work but I did run into some rough edges:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;screenshot-tool&#x2F;+bug&#x2F;1616530&quot;&gt;&quot;Whole Screen&quot; shots have an extra black area in HiDPI&lt;&#x2F;a&gt;
&lt;ul&gt;
&lt;li&gt;The screen is placed in the upper quadrant, the rest of the image is black.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;gala&#x2F;+bug&#x2F;1657560&quot;&gt;Notifications are half the width they should be&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;plank&#x2F;+bug&#x2F;1657616&quot;&gt;When switching apps Plank shrinks more than it should&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;4k-elementary.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;4k-elementary_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;4K elementary (Click for Full Size)&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;cracks-start-to-show&quot;&gt;Cracks Start to Show&lt;&#x2F;h2&gt;
&lt;p&gt;My point of comparison for software installation is: the Mac App Store,
Homebrew and Arch Linux. With each of these it&#x27;s a simple matter to install
the latest version of a tool or application. On elementary I ran into a
number of cases where software I wished to install did not exist in the
Ubuntu repos or were outdated enough to be a problem:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;neovim.io&#x2F;&quot;&gt;Neovim&lt;&#x2F;a&gt; (Homebrew and main Arch repos)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;junegunn&#x2F;fzf&quot;&gt;fzf&lt;&#x2F;a&gt; (Homebrew and main Arch repos)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;BurntSushi&#x2F;ripgrep&quot;&gt;ripgrep&lt;&#x2F;a&gt; (Homebrew and main Arch repos)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;www.geforce.com&#x2F;drivers&quot;&gt;Nvidia graphics drivers&lt;&#x2F;a&gt; (version 367 in Ubuntu, 375 in Arch)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This is obviously something that can be worked around but it adds friction that
I did not have on macOS.&lt;&#x2F;p&gt;
&lt;p&gt;Furthermore, whilst I was generally enjoying the elementary desktop and apps,
as time went on I started running into more bugs. Bugs are bound to happen and
it was excellent to be able to search a public bug tracker to see the status of
an issue or create a ticket if it was new. However this didn&#x27;t change the fact
that they were affecting me on a daily basis. Here are some of the more
frustrating ones I ran into:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;elementaryos&#x2F;+bug&#x2F;1596377&#x2F;comments&#x2F;27&quot;&gt;dbus bug&lt;&#x2F;a&gt; that prevents the desktop from appearing after log in.
&lt;ul&gt;
&lt;li&gt;Fixed upstream in Jul 2016.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;pantheon-mail&#x2F;+bug&#x2F;1600312&quot;&gt;Ctrl-C doesn&#x27;t work in Mail&lt;&#x2F;a&gt;.
&lt;ul&gt;
&lt;li&gt;Fix committed Dec 2016 but yet not released. Milestone is set to next
elementary release, Juno.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;plank&#x2F;+bug&#x2F;1657494&quot;&gt;Plank uses high CPU while idle&lt;&#x2F;a&gt; after running for more than a day or so.
&lt;ul&gt;
&lt;li&gt;Unfixed but basically means you have to kill the &lt;code&gt;plank&lt;&#x2F;code&gt; process every
day you remain logged in.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Unable to open new applications because the X server has reached the maximum
number of connections. See &lt;a href=&quot;http:&#x2F;&#x2F;askubuntu.com&#x2F;questions&#x2F;4499&#x2F;how-can-i-diagnose-debug-maximum-number-of-clients-reached-x-errors&quot;&gt;Ask Ubuntu question&lt;&#x2F;a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; As I was writing this post I encountered this issue on Arch as
well. It appears that Enpass is the cause.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;maya&#x2F;+bug&#x2F;1443056&quot;&gt;Events shown in the calendar are off by a day&lt;&#x2F;a&gt;.
&lt;ul&gt;
&lt;li&gt;Bug has been open for over a year and remains unfixed. Seems kind of
important for a calendar app to show stuff on the right day.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;bugzilla.gnome.org&#x2F;738205&quot;&gt;gnome-keyring bug&lt;&#x2F;a&gt; that prevents the ssh agent functionality working,
resulting in prompts for ssh key passphrases when interracting with remote
servers and git repos, which I do a lot for work.
&lt;ul&gt;
&lt;li&gt;Fixed upstream in v3.20, Nov 2015 (Note: Despite the bug title, it wasn&#x27;t
limited to just Wayland sessions)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The accumulation of this friction finally came to a head with the last bug
above. I tried to start writing this very follow up post (on the Mac mini at
home) by cloning the git repo that stores this blog and I was prompted for the
password to my ssh key. This is not supposed to happen. Previously the system
had shown a nice graphical dialog prompting for this password and an offer to
store it for future use. Some more digging revealed I&#x27;d run into a
gnome-keyring bug that was fixed in Nov 2015 :-(&lt;&#x2F;p&gt;
&lt;p&gt;At this point the system was actively harming my productivity so I did what any
rational person would do: blew it away and installed Arch Linux. I then
compounded my lost productivity by constructing a GNOME environment I was happy
with:&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;
  &lt;a href=&quot;&#x2F;images&#x2F;2017&#x2F;arch-gnome-desktop.png&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;2017&#x2F;arch-gnome-desktop_thumb.jpg&quot;&gt;
  &lt;&#x2F;a&gt;
  &lt;figcaption&gt;
    &lt;h4&gt;Tweaked GNOME Desktop — &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lassekongo83&#x2F;zuki-themes&quot;&gt;Zukitwo theme&lt;&#x2F;a&gt; with &lt;a href=&quot;https:&#x2F;&#x2F;extensions.gnome.org&#x2F;extension&#x2F;307&#x2F;dash-to-dock&#x2F;&quot;&gt;Dash to Dock extension&lt;&#x2F;a&gt;&lt;&#x2F;h4&gt;
  &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;It still didn&#x27;t feel quite right so I burnt more time and swapped out the GNOME
Shell for the Budgie Desktop from &lt;a href=&quot;https:&#x2F;&#x2F;solus-project.com&#x2F;&quot;&gt;Solus OS&lt;&#x2F;a&gt;, which I&#x27;ve been using since:&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;
   &lt;a href=&quot;&#x2F;images&#x2F;2017&#x2F;budgie-desktop.png&quot;&gt;
      &lt;img src=&quot;&#x2F;images&#x2F;2017&#x2F;budgie-desktop_thumb.jpg&quot;&gt;
   &lt;&#x2F;a&gt;
   &lt;figcaption&gt;
     &lt;h4&gt;My Budgie Desktop — &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;horst3180&#x2F;arc-theme&quot;&gt;Arc theme&lt;&#x2F;a&gt; with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;horst3180&#x2F;arc-icon-theme&quot;&gt;Arc icons&lt;&#x2F;a&gt;&lt;&#x2F;h4&gt;
   &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;After I was happy with the set up at home I rebooted into Arch on the work PC
and replicated the environment there, which fortunately was much quicker.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;text-input-and-keyboard-customisation&quot;&gt;Text Input and Keyboard Customisation&lt;&#x2F;h2&gt;
&lt;p&gt;As the days rolled on I addressed a few more of the things I was missing from
macOS: Using GNOME Tweak Tool I remapped Caps Lock to Control and swapped Super
(⌘) and Alt so the keyboard layout was more familar.&lt;&#x2F;p&gt;
&lt;p&gt;At some point I had occasion to type an em dash (—). A Linux using colleague
suggested typing &lt;code&gt;Ctrl-Shift-u&lt;&#x2F;code&gt; then the hexidecimal &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Unicode#Origin_and_development&quot;&gt;Unicode code
point&lt;&#x2F;a&gt; as one way to do this. Whilst this does work, there was no
way I was going to attempt to remember the code points for all the symbols I
wanted to type — especially since this is simply &lt;code&gt;Option-Shift-dash&lt;&#x2F;code&gt; on a Mac.&lt;&#x2F;p&gt;
&lt;p&gt;My search for a better method yielded the &lt;a href=&quot;https:&#x2F;&#x2F;help.ubuntu.com&#x2F;community&#x2F;ComposeKey&quot;&gt;Compose Key&lt;&#x2F;a&gt;. When enabled via GNOME
Tweak Tool this allows many non-ASCII characters to be typed by tapping the
compose key then &lt;a href=&quot;https:&#x2F;&#x2F;help.ubuntu.com&#x2F;community&#x2F;GtkComposeTable&quot;&gt;typing two or more other keys&lt;&#x2F;a&gt;. I assigned it
to &lt;code&gt;Right Super&lt;&#x2F;code&gt;. Often the keys are obvious, such as: &lt;code&gt;!&lt;&#x2F;code&gt;-&lt;code&gt;?&lt;&#x2F;code&gt; for ‽, &lt;code&gt;|&lt;&#x2F;code&gt;-&lt;code&gt;c&lt;&#x2F;code&gt;
for ¢, &lt;code&gt;t&lt;&#x2F;code&gt;-&lt;code&gt;m&lt;&#x2F;code&gt; for ™, or &lt;code&gt;O&lt;&#x2F;code&gt;-&lt;code&gt;c&lt;&#x2F;code&gt; for ©. I think these are actually better than
macOS&#x27;s &lt;code&gt;Option&lt;&#x2F;code&gt; combinations as they&#x27;re more guessable.  Incidentally em dash
is &lt;code&gt;Compose&lt;&#x2F;code&gt; then three dashes.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;replacements-for-macos-apps&quot;&gt;Replacements For macOS Apps&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;terminal&quot;&gt;Terminal&lt;&#x2F;h3&gt;
&lt;p&gt;I&#x27;ve been using &lt;a href=&quot;https:&#x2F;&#x2F;gnunn1.github.io&#x2F;tilix-web&#x2F;&quot;&gt;Tilix&lt;&#x2F;a&gt; as my terminal, which has proved to be a great replacement
for &lt;a href=&quot;https:&#x2F;&#x2F;iterm2.com&#x2F;&quot;&gt;iTerm&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;terminix.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;terminix_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Reading the mysqldump man Page in Tilix&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h3 id=&quot;email-1&quot;&gt;Email&lt;&#x2F;h3&gt;
&lt;p&gt;I prefer a native mail client to web mail. After switching to Arch I&#x27;ve been
using &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Geary_(software)&quot;&gt;Geary&lt;&#x2F;a&gt;, which elementary Mail is based on. It&#x27;s quite good for reading
mail, rendering all messages I&#x27;ve encountered correctly, even &lt;a href=&quot;http:&#x2F;&#x2F;didoesdigital.com&#x2F;&quot;&gt;rich HTML
newsletters&lt;&#x2F;a&gt;. It has a three pane UI that groups related emails together into
conversations like Mail.app on mac OS.&lt;&#x2F;p&gt;
&lt;p&gt;It is less competent for composing email as the editor is quite limited:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;There is no way to insert images inline (they can only be attached).&lt;&#x2F;li&gt;
&lt;li&gt;Dragging and dropping an image or file onto the editor just pastes
the path into the text instead of attaching the file.&lt;&#x2F;li&gt;
&lt;li&gt;There is no way to insert a bulleted or numbered list.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I might need to explore other options such as &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Evolution_(software)&quot;&gt;Evolution&lt;&#x2F;a&gt; or &lt;a href=&quot;https:&#x2F;&#x2F;www.mozilla.org&#x2F;en-US&#x2F;thunderbird&#x2F;&quot;&gt;Thunderbird&lt;&#x2F;a&gt; if these
limitations become annoying.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;geary.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;geary_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Geary Email Client&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h3 id=&quot;firefox&quot;&gt;Firefox&lt;&#x2F;h3&gt;
&lt;p&gt;On macOS Firefox has always felt a little off to me. There&#x27;s leaky abstractions
that reveal it&#x27;s doing its own thing, and that it isn&#x27;t a Mac first app like
Safari. Some have been fixed like the scrolling physics not quite matching
system scrolling. Others remain, like not using the system spelling service or
missing standard contextual menu items on text fields such as Services and
Transformations.&lt;&#x2F;p&gt;
&lt;p&gt;On Linux Firefox feels at home. It adapts to the GTK+ theme in use and
generally feels like a Linux app should. I&#x27;ve been liking &lt;a href=&quot;https:&#x2F;&#x2F;www.mozilla.org&#x2F;en-US&#x2F;firefox&#x2F;sync&#x2F;&quot;&gt;Firefox Sync&lt;&#x2F;a&gt;, which
syncs my history, open tabs etc. between home, work and Firefox Mobile on my
iPhone.  The iPhone app also provides a neat share action accessible from the
share sheet of any application, &quot;Send Tab&quot;, that allows you to open the page on
any other synced Firefox.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;file-management&quot;&gt;File Management&lt;&#x2F;h3&gt;
&lt;p&gt;&quot;Files&quot; aka &lt;a href=&quot;https:&#x2F;&#x2F;wiki.gnome.org&#x2F;Apps&#x2F;Nautilus&quot;&gt;Nautilus&lt;&#x2F;a&gt; has handled all my file management needs well so far.
These include:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Double clinking a file to open it in an application.&lt;&#x2F;li&gt;
&lt;li&gt;Moving and copying files with drag and drop.&lt;&#x2F;li&gt;
&lt;li&gt;Double clicking an archive to have it extract automatically, without prompts or
other noise.
&lt;ul&gt;
&lt;li&gt;Files on elementary used &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Archive_Manager&quot;&gt;File Roller&lt;&#x2F;a&gt; to extract files. This added
unnecessary dialogs and decisions when what I want 99% of the time is
extract everything, into a directory inside the the same directory as the
archive.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Pressing Space with a file selected to show a preview, like Quick Look in
Finder.&lt;&#x2F;li&gt;
&lt;li&gt;&quot;Mounting&quot; my MacBook over ssh to browse, view and copy files from it.&lt;&#x2F;li&gt;
&lt;li&gt;Opening the current directory in the terminal with &lt;code&gt;xdg-open .&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Dragging and dropping a file onto a terminal to paste the path.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;There is something nice about being about to completely close Files
unlike Finder, which is always running and present in your Dock.&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;copying-files-from-macbook.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;copying-files-from-macbook_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Copying Files From My MacBook Over SSH&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;videos&quot;&gt;Videos&lt;&#x2F;h2&gt;
&lt;p&gt;All the videos I&#x27;ve encountered so far online and offline have played fine.
Unlike &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;File:Quicktime_Player_X.png#&#x2F;media&#x2F;File:Quicktime_Player_X.png&quot;&gt;QuickTime X player&lt;&#x2F;a&gt; on macOS the &lt;a href=&quot;https:&#x2F;&#x2F;wiki.gnome.org&#x2F;Apps&#x2F;Videos&#x2F;&quot;&gt;GNOME video player&lt;&#x2F;a&gt; has speed controls!&lt;&#x2F;p&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;gnome-video-player.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;gnome-video-player_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;GNOME Videos with Speed Controls&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;still-to-do&quot;&gt;Still To Do&lt;&#x2F;h2&gt;
&lt;p&gt;I mentioned in the first post that I was unsure how I would replace tools like
&lt;a href=&quot;https:&#x2F;&#x2F;pqrs.org&#x2F;osx&#x2F;karabiner&#x2F;&quot;&gt;Karabiner&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;www.alfredapp.com&#x2F;&quot;&gt;Alfred&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The main thing that I&#x27;m missing from Karabiner is simultaneous keys. These
allow holding &lt;code&gt;s&lt;&#x2F;code&gt; and &lt;code&gt;d&lt;&#x2F;code&gt; to access the arrow keys on the &lt;code&gt;hjkl&lt;&#x2F;code&gt; keys (I.e.
access arrow keys without leaving the home row). I haven&#x27;t looked into whether
this is possible to replicate because I&#x27;ve ordered a programmable &lt;a href=&quot;http:&#x2F;&#x2F;bathroomepiphanies.com&#x2F;controllers&#x2F;&quot;&gt;replacement
controller&lt;&#x2F;a&gt; for my &lt;a href=&quot;https:&#x2F;&#x2F;www.diatec.co.jp&#x2F;en&#x2F;det.php?prod_c=775&quot;&gt;Filco mechanical keyboard&lt;&#x2F;a&gt;. I plan to
build home row arrows into it so they work on any computer. This will also
allow me to move the Caps Lock, Super and Alt config from earlier into the
keyboard.&lt;&#x2F;p&gt;
&lt;p&gt;My three most common uses for Alfred are:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;App launching&lt;&#x2F;li&gt;
&lt;li&gt;Clipboard history&lt;&#x2F;li&gt;
&lt;li&gt;Snippets&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For app launching I used slingshot, built into elementary and later the
launcher (&lt;code&gt;Alt-F2&lt;&#x2F;code&gt;) built into Budgie. I&#x27;ve remapped that to &lt;code&gt;⌘-Space&lt;&#x2F;code&gt; for
convenience. I&#x27;ve not looked into a replacement for clipboard history yet but I
am aware of some options. For snippets the only comparable tool appears to be
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;autokey-py3&#x2F;autokey&quot;&gt;AutoKey-Py3&lt;&#x2F;a&gt;. I tried it but it was unreliable. It doesn&#x27;t appear to work at
all in Firefox, was unreliable in the terminal and worked ok in &lt;a href=&quot;https:&#x2F;&#x2F;wiki.gnome.org&#x2F;Apps&#x2F;Gedit&quot;&gt;gEdit&lt;&#x2F;a&gt;. I&#x27;m
kicking around the idea of building my own (in &lt;a href=&quot;https:&#x2F;&#x2F;www.rust-lang.org&#x2F;&quot;&gt;Rust&lt;&#x2F;a&gt; of course).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;closing-thoughts&quot;&gt;Closing Thoughts&lt;&#x2F;h2&gt;
&lt;p&gt;I&#x27;m going to continue using Arch at work and home. I&#x27;ll also keep an eye on, and
continue to &lt;a href=&quot;https:&#x2F;&#x2F;www.patreon.com&#x2F;user&#x2F;creators?u=4747967&quot;&gt;support elementary&lt;&#x2F;a&gt;. I think the elementary team is
definitely on the right track but they probably need to give some thought to
the base it&#x27;s built upon. A Long Term Support (LTS) release makes sense for
servers but for a desktop I think it&#x27;s the wrong choice.&lt;&#x2F;p&gt;
&lt;p&gt;The next frontier is Linux on my MacBook. I think that will be more of a test,
particularly with hardware support (especially WiFi and trackpad).&lt;&#x2F;p&gt;
&lt;p&gt;This experiment has consumed days of my time at this point and the result is
not in any way as polished as macOS. For the type of work I do and how I like
to do it, it is still a productive environment though. Plus there is the added
benefit of access to much more up-to-date, varied hardware than Apple is
offering at the moment.&lt;&#x2F;p&gt;
&lt;p&gt;I may still have the shine of novelty attached to my experience so far. Time
will tell if that fades and it becomes frustrating or remains a productive
environment. I&#x27;ll continue to attempt to shift my computing needs to Arch. As
always I&#x27;ll be posting as I go. &lt;a href=&quot;http:&#x2F;&#x2F;bitcannon.net&#x2F;index.xml&quot;&gt;Subscribe to the feed&lt;&#x2F;a&gt; or &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;wezm&quot;&gt;follow me on
Twitter&lt;&#x2F;a&gt; for updates. If you enjoyed this post consider &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;sponsors&#x2F;wezm&quot;&gt;supporting me
on GitHub Sponsors&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;This is part 2 in a series. &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;being-productive-on-linux&#x2F;&quot;&gt;Read Part 3&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;comments&quot;&gt;Comments&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13515962&quot;&gt;Hacker News&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linux&#x2F;comments&#x2F;5qxj2n&#x2F;finding_an_alternative_to_mac_os_x_part_2&#x2F;&quot;&gt;Reddit&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
    </item>
    
    <item>
      <title>Finding an Alternative to Mac OS X</title>
      <pubDate>Tue, 03 Jan 2017 10:38:59 +1100</pubDate>
      <atom:published>2017-01-03T10:38:59+11:00</atom:published>
      
      <author>wes@wezm.net (Wesley Moore)</author>
      <link>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x&#x2F;</link>
      <guid>https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x&#x2F;</guid>
      <description>&lt;p&gt;This is the first in a series on finding a replacement for Mac OS X.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;background&quot;&gt;Background&lt;&#x2F;h2&gt;
&lt;p&gt;I have used Mac OS X since the public beta and use it at both home and work.
I&#x27;ve also run various Linux distributions and BSDs since around 2000, so am
quite familiar with them.&lt;&#x2F;p&gt;
&lt;p&gt;In April 2016, dissatisfied by the lack of MacBook Pro updates (and performance
of &lt;a href=&quot;https:&#x2F;&#x2F;www.ruby-lang.org&quot;&gt;Ruby&lt;&#x2F;a&gt;) I had a custom PC built for work. It has a fast Intel CPU (4Ghz
i7-6700K), plenty of RAM and fast SSD storage. It runs Arch Linux and I have
been doing all my development at work on this machine over &lt;code&gt;ssh&lt;&#x2F;code&gt; via &lt;a href=&quot;https:&#x2F;&#x2F;iterm2.com&quot;&gt;iTerm&lt;&#x2F;a&gt;
using its amazing &lt;code&gt;tmux&lt;&#x2F;code&gt; integration since.&lt;&#x2F;p&gt;
&lt;p&gt;I tried a couple of times to use this machine as my sole work computer but
kept coming back to the Mac + &lt;code&gt;tmux&lt;&#x2F;code&gt; option. The first option I tried was an
&lt;a href=&quot;https:&#x2F;&#x2F;i3wm.org&quot;&gt;i3&lt;&#x2F;a&gt; based desktop. However whilst I liked the idea of tiling window managers I
decided they weren&#x27;t for me. Next I built an &lt;a href=&quot;http:&#x2F;&#x2F;openbox.org&#x2F;wiki&#x2F;Main_Page&quot;&gt;OpenBox&lt;&#x2F;a&gt; desktop but the lack of a
complete, integrated desktop where all the parts work together frustrated me.&lt;&#x2F;p&gt;
&lt;p&gt;I deeply value the consistency, versatility, reliability and integration of Mac
OS X and the excellent quality hardware it runs on. However the
&lt;a href=&quot;http:&#x2F;&#x2F;mjtsai.com&#x2F;blog&#x2F;2016&#x2F;10&#x2F;27&#x2F;new-macbook-pros-and-the-state-of-the-mac&#x2F;&quot;&gt;current state of the Mac&lt;&#x2F;a&gt; has me considering whether it&#x27;s
still the right platform for me.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;appeal-of-switching&quot;&gt;Appeal of Switching&lt;&#x2F;h2&gt;
&lt;p&gt;I&#x27;ve spent a fair bit of time pondering the appeal of switching. These are some
of benefits I see:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Access to regularly updated, pro hardware.&lt;&#x2F;li&gt;
&lt;li&gt;Not restricted to Apple hardware that makes choices that I don&#x27;t value, such as:
&lt;ul&gt;
&lt;li&gt;Removing the Esc key.&lt;&#x2F;li&gt;
&lt;li&gt;Removing all legacy ports necessitating the use of dongles for everything.&lt;&#x2F;li&gt;
&lt;li&gt;Prioritising thinness and weight over everything else.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Access to hardware that Apple doesn&#x27;t make, such as 2-in-1 laptops.&lt;&#x2F;li&gt;
&lt;li&gt;Getting comfortable with an alternative before I&#x27;m forced to.&lt;&#x2F;li&gt;
&lt;li&gt;The ability to inspect and contribute to the OS I use.&lt;&#x2F;li&gt;
&lt;li&gt;Using an OS where developers are first-class citizens.
&lt;ul&gt;
&lt;li&gt;See &lt;a href=&quot;http:&#x2F;&#x2F;mjtsai.com&#x2F;blog&#x2F;tag&#x2F;macappstore&#x2F;&quot;&gt;stagnation of the Mac App Store&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;drawbacks-of-switching&quot;&gt;Drawbacks of Switching&lt;&#x2F;h2&gt;
&lt;p&gt;Of course even if I make the switch there are a number of possible drawbacks,
including but not limited to:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The time required to find replacements for all the software I use.&lt;&#x2F;li&gt;
&lt;li&gt;The lack of equally high standard replacements for software such as:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.alfredapp.com&quot;&gt;Alfred&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;1password.com&quot;&gt;1Password&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;pqrs.org&#x2F;osx&#x2F;karabiner&#x2F;index.html.en&quot;&gt;Karabiner&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.sketchapp.com&quot;&gt;Sketch&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;The lack of access to the iOS SDK (I maintain &lt;a href=&quot;https:&#x2F;&#x2F;appsto.re&#x2F;au&#x2F;wLSqab.i&quot;&gt;an app&lt;&#x2F;a&gt;).&lt;&#x2F;li&gt;
&lt;li&gt;Scriptability of applications (AppleScript) to solve problems the developers haven&#x27;t
considered.
&lt;ul&gt;
&lt;li&gt;Although I suppose there&#x27;s a counter argument to this that I have access to the
source code so I can just change it.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Sunk cost of software I&#x27;ve bought.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;evaluating-alternatives&quot;&gt;Evaluating Alternatives&lt;&#x2F;h2&gt;
&lt;p&gt;At the end of November motivated by the lacklustre MacBook Pro updates I
installed a bunch of different OSes to see if I could find one that met my
requirements. These are what I tried:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;antergos.com&#x2F;&quot;&gt;Antergos&lt;&#x2F;a&gt; 2016.10.23&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.archlinux.org&quot;&gt;Arch&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;www.bodhilinux.com&#x2F;&quot;&gt;Bodhi Linux&lt;&#x2F;a&gt; 4.0.0&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;elementary.io&quot;&gt;elementary OS&lt;&#x2F;a&gt; 0.4&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;getfedora.org&#x2F;en&#x2F;workstation&#x2F;&quot;&gt;Fedora&lt;&#x2F;a&gt; Workstation 25&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.freebsd.org&quot;&gt;FreeBSD&lt;&#x2F;a&gt; 11.0&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;www.netbsd.org&quot;&gt;NetBSD&lt;&#x2F;a&gt; 7.0.2&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;getsol.us&#x2F;home&#x2F;&quot;&gt;Solus&lt;&#x2F;a&gt; 1.2.1&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.trueos.org&quot;&gt;TrueOS&lt;&#x2F;a&gt; Desktop 2016-10-28&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.ubuntu.com&#x2F;desktop&quot;&gt;Ubuntu&lt;&#x2F;a&gt; 16.04.1 desktop&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;velt.io&quot;&gt;VeltOS&lt;&#x2F;a&gt; 0.2.0&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;ferenos.weebly.com&quot;&gt;feren OS&lt;&#x2F;a&gt; 2016.2&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;manjaro.org&quot;&gt;manjaro&lt;&#x2F;a&gt; 16.10&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Honorary mentions:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.deepin.org&#x2F;&quot;&gt;deepin&lt;&#x2F;a&gt; -- Kind of felt out of the target market so skipped it.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.haiku-os.org&quot;&gt;Haiku&lt;&#x2F;a&gt; -- So much promise but just can&#x27;t quite seem to get the momentum to
be a viable option.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.redox-os.org&quot;&gt;Redox&lt;&#x2F;a&gt; -- Still far too new but certainly one to keep an eye on.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Note that I don&#x27;t currently consider Windows a viable alternative. For the work
that I do (&lt;a href=&quot;http:&#x2F;&#x2F;rubyonrails.org&quot;&gt;Rails&lt;&#x2F;a&gt;) and tools I use something *nix based is the best choice for
me.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-i-m-looking-for&quot;&gt;What I&#x27;m Looking For&lt;&#x2F;h2&gt;
&lt;p&gt;Running each one I was looking for these attributes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;An integrated, consistent experience.&lt;&#x2F;li&gt;
&lt;li&gt;Opinions and thoughtfulness:
&lt;ul&gt;
&lt;li&gt;One tool for each job.&lt;&#x2F;li&gt;
&lt;li&gt;A sensible&#x2F;minimal selection of pre-installed applications.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Design:
&lt;ul&gt;
&lt;li&gt;Simple, easy to use&#x2F;understand interface&lt;&#x2F;li&gt;
&lt;li&gt;Visually appealing and consistent&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;HiDPI&quot;&gt;HiDPI&lt;&#x2F;a&gt; (2x) support&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Timely updates&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;top-picks&quot;&gt;Top Picks&lt;&#x2F;h2&gt;
&lt;p&gt;After evaluating each I was left with a top 3. Interestingly all are using, or
are based on &lt;a href=&quot;https:&#x2F;&#x2F;www.gnome.org&quot;&gt;GNOME&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fedora&quot;&gt;Fedora&lt;&#x2F;h3&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;fedora-desktop.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;fedora-desktop_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Fedora desktop&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Fedora provided an excellent experience. I installed Fedora 25 just after its
release. It&#x27;s built on the latest tech like Wayland and GNOME 3.22. It would
be an excellent choice if it weren&#x27;t for a couple niggling, admittedly mostly
unfounded reservations:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;It &lt;em&gt;feels&lt;&#x2F;em&gt; less community oriented with the Red Hat association.&lt;&#x2F;li&gt;
&lt;li&gt;I&#x27;ve never been a huge fan of &lt;code&gt;yum&lt;&#x2F;code&gt; (now &lt;code&gt;dnf&lt;&#x2F;code&gt;). Years ago when I last used
an RPM based distribution it was slow. A trait I put down to being written in
Python compared to the C&#x2F;C++ of dpkg&#x2F;apt. I tend to prefer tools built in
native languages over scripting languages.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;arch&quot;&gt;Arch&lt;&#x2F;h3&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;arch-desktop.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;arch-desktop_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;Arch Linux running GNOME&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Arch was a sneaky addition after I liked Fedora. I figured the experience
provided by Fedora was mostly GNOME and I already use and like Arch so why not
try installing GNOME on it. Guided by the excellent as always &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;GNOME&quot;&gt;Arch
wiki&lt;&#x2F;a&gt; I installed the
&lt;a href=&quot;https:&#x2F;&#x2F;www.archlinux.org&#x2F;groups&#x2F;x86_64&#x2F;gnome&#x2F;&quot;&gt;gnome&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;www.archlinux.org&#x2F;groups&#x2F;x86_64&#x2F;gnome-extra&#x2F;&quot;&gt;gnome-extra&lt;&#x2F;a&gt; groups, which produced an equally
pleasant experience as Fedora.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;elementary-os&quot;&gt;elementary OS&lt;&#x2F;h3&gt;
&lt;figure class=&quot;screenshot&quot;&gt;&lt;a href=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;elementary-desktop.png&quot;&gt;
    &lt;img src=&quot;&amp;#x2F;images&amp;#x2F;2017&amp;#x2F;elementary-desktop_thumb.jpg&quot;&#x2F;&gt; &lt;!-- Closing img tag --&gt;&lt;&#x2F;a&gt;&lt;figcaption&gt;
            
                &lt;h4&gt;elementary desktop&lt;&#x2F;h4&gt;
        &lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;elementary OS is stunning and definitely my favourite. It won&#x27;t appeal to everyone
but their philosophies and direction really resonate with me. Specifically they
have:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;elementary.io&#x2F;docs&#x2F;human-interface-guidelines&quot;&gt;Human Interface Guidelines&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;A primary, &lt;a href=&quot;https:&#x2F;&#x2F;developer.elementary.io&quot;&gt;native programming language&lt;&#x2F;a&gt;
(Vala, no Python and JS \o&#x2F;).&lt;&#x2F;li&gt;
&lt;li&gt;A model for funding ongoing development
(&lt;a href=&quot;https:&#x2F;&#x2F;www.bountysource.com&#x2F;teams&#x2F;elementary&quot;&gt;Bug bounties&lt;&#x2F;a&gt;,
&lt;a href=&quot;https:&#x2F;&#x2F;www.patreon.com&#x2F;elementary&quot;&gt;Patreon&lt;&#x2F;a&gt;, asking for payment when
downloading).&lt;&#x2F;li&gt;
&lt;li&gt;Designers as well as developers on &lt;a href=&quot;https:&#x2F;&#x2F;elementary.io&#x2F;team&quot;&gt;the team&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I particularly like this from a recent &lt;a href=&quot;https:&#x2F;&#x2F;medium.com&#x2F;elementaryos&#x2F;busting-major-myths-around-elementary-os-bd966402a9c2#59da&quot;&gt;blog post on myths about elementary&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;“elementary OS is for noobs or dumbs down their apps”&lt;&#x2F;p&gt;
&lt;p&gt;I think this stems from the idea that features require complexity. It’s a
cultural belief in poor design. But we think that clear, easy-to-use apps are
good for both new users and pros. Usability is for everyone and truly usable
apps help, not hinder. Keyboard navigation is an example of something that is a
priority both for pro users and users with special accessibility needs. An
interface works best when it is transparent and empowers users to get things
done.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;This is a team that values the same things I do. The interface is clean and
refined. The pre-installed application selection is minimal and each one feels
like a perfect piece of the system.&lt;&#x2F;p&gt;
&lt;p&gt;The main drawback of elementary to me is that it&#x27;s built on top of Ubuntu LTS.
As time goes on all the packages get further from the current versions
published upstream. I&#x27;d much rather a regular release like Fedora (6 months) or
a rolling release like Arch.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;closing-thoughts&quot;&gt;Closing Thoughts&lt;&#x2F;h3&gt;
&lt;p&gt;My ideal would be elementary built on top of FreeBSD. I feel like we need the
diversity of having viable options besides Windows, Linux and OS X. Maybe I
should work out what it would take to bring that to life…&lt;&#x2F;p&gt;
&lt;p&gt;Anyway, next I plan to resize the Arch partition on my work PC and install
elementary alongside. I&#x27;ll aim to do all my work duties on just that machine.
I&#x27;ll be posting on how that goes. &lt;a href=&quot;http:&#x2F;&#x2F;bitcannon.net&#x2F;index.xml&quot;&gt;Subscribe to the feed&lt;&#x2F;a&gt; or &lt;a href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;wezm&quot;&gt;follow me
on Twitter&lt;&#x2F;a&gt; for updates. If you enjoyed this post consider &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;sponsors&#x2F;wezm&quot;&gt;supporting me
on GitHub Sponsors&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;This is part 1 in a series. &lt;a href=&quot;https:&#x2F;&#x2F;bitcannon.net&#x2F;post&#x2F;finding-an-alternative-to-mac-os-x-part-2&#x2F;&quot;&gt;Read Part 2&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;comments&quot;&gt;Comments&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13305751&quot;&gt;Hacker News&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;search?q=url%3Ahttp%3A%2F%2Fbitcannon.net%2Fpost%2Ffinding-an-alternative-to-mac-os-x%2F&quot;&gt;Reddit&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
    </item>
    
  </channel>
</rss>
