…And why I don’t think I’m ever going back.

There is something that’s been on my mind for the better part of the last ten years. Ever since I’ve become a programmer, I’ve been restless. I have switched from PC, to Mac OS; only to switch to linux later on.

I have moved back and forth from desktop to laptop, back to desktop, before settling on a massive laptop for computing needs. I have done everything I could to get a perfect system for development, only to fall short time and time again. What is this restlessness I was feeling? Why was I so alone, floating in time and space wondering what was to become of my future?

It was all very confusing until I saw something. A tidal wave off in the distance…

The growing wave I glimpsed

There’s a huge tidal wave building in the world of computing. It’s massive and I feel its growing bigger every day. Some day, this tidal wave is going to come crashing down, and nothing will be left behind.

This thing isn’t invisible, by the way. We’ve seen some glimpses of its destruction already, far off in the distance. It has submerged personal photos and videos under it’s enormous weight. Business files and presentations stood no chance. Our monetary system is starting to get choked out by its murky waters. Even our homes are beginning to fall over from it’s power. And pretty soon, I believe that all of personal computing will be forever changed by it’s sweeping, and massive force.

What is this amazing powerful wave I’m writing about? Well, dear reader, it’s literally the thing enabling you to read this blog. It’s all around you, yet invisible. It’s every bit of knowledge you could ever want, yet all the horrors you never want to see. The tidal wave I’m speaking of, my dear friend, is…

The Internet 😱

And that’s what naturally brought me to the pixel slate!

I believe we’re headed in a direction that we’re not coming back from. This is the age where entire computing platforms are living on the cloud, and I want to be a part of that. And for me personally, the pixel slate gets me one step closer to that future.

I wanted a development environment that isn’t much more than a thin client connecting to a more powerful system elsewhere.

The Slate. One quirky little rascal

The Pixel Slate was released in October of 2018 to… less than stellar reviews. Most reviewers tend to enjoy the chrome os experience, as well as the amazing hardware this machine offers. However, everyone appears to feel underwhelmed by pretty much every tablet feature of this device.

Running android apps on the slate feels weird to say the least. Android apps aren’t ready for tablets the way iOS apps are. And the chrome os ecosystem is also very strange. Take spotify for example. You could potentially have 3 different ways to install Spotify: as a shortcut on chrome (chrome os makes this look like its own app, pretty neat), as a PWA you download on the spotify website, AND as an android app you run within chrome OS. Which of these 3 spotify apps are better? It’s tough to say.

All of this makes for a generally confusing experience for end users. But I think nobody is really understanding what the Pixel Slate actually is. The Slate is not a tablet, per-se. It’s also not strictly a laptop. And it’s not a well tested, cultivated, walled off garden of excellence. The Pixel Slate is nothing more than An Experiement. An experiment to what the world of computing may look like in the future.

Take for instance the most amazing thing Chrome OS is offering to users, Crostini. Crostini is a piece of software that allows users to install linux apps on their chromeos device. The apps live in a container that runs, for the moment, debian.

Now take a moment and let this sink in. On a single operating system supported by one of the biggest companies in the world, you can run:

Native Linux apps through debian (one of the most well recognized linux distros) PWAs, extensions, and other Chrome goodies constantly updated and secured. Built in google software like google assist (not my cup of tea, but hey, its neat) Applications that run on over 85% of smartphones used in the world.

I think there is a bit of potential here.

Why I’m using the Slate

The Slate delivers on almost anything I’d personally want as a programmer. Granted, I am a programmer and I don’t need many frills. I just want a stable environment that is easy to program on.

1. A secure and always updated system

Google has made it a priority to keep the pixel slate very secure with its Titan-C chip that encrypts and authenticates all pieces of hardware through Google.

Also, Chrome OS is always up to date, and is very quiet about doing so. I can’t tell you how many times I’ve upgraded an Arch install, only to lose WiFi because a certain driver broke my network card. And for my Mac OS friends, how many times have you had to re-install and re-sign X-Code agreements after upgrading to a new version of OSX?

2. Something that is very easy to travel with and has great battery life

The Slate is a tablet, so you know, it kind of checks this box pretty easily.

I’ve been more than happy with the battery life of the slate, considering my last laptop was a linux box that had about 2-3 hours of batterly life without even stressing out the system.

3. A standardized way of programming

The Slate (and other Chrome OS devices now) allows you to install linux apps on their machines. So you can run

Any terminal you want (Gnome Terminal, Terminator, URXVT)

Any IDE you want (Webstorm, Android Studio, Vim, VSCode, Sublime)

4. A lightweight operating system that stays out of the way

Chromebooks are generally very low price products. Therefore, ChromeOS is designed to work well on less than ideal hardware. The result is an operating system that is very lightweight, and doesn’t bog you down with cusomization, over-engineering of certain features, etc… In general, ChromeOS works great without having to worry about it.

How I’m using the Slate

I love the idea of using a tablet as an all around workstation. We are getting closer and closer to the singularity of having one device for pretty much everything. And since I’m something of a minimalist, I was really looking forward to ditching my bulky laptop and massive desktop for one simple tablet.

To accomplish this feat, I like to practice a certain philosophy about computers: Computers should be treated like cattle, not like pets. In other words, when a computer starts underperforming we should not mourn it and do all we can to make it better. We should take it out back, shoot it, and replace it with a new thing that will do the job just as well.

This all ties into my ridiculously over-dramatic intro to this post. Everything is on the internet now, so my programming environment should be as well. Technically, I run my Slate as a thin client to a VPS that actually serves as my development environment. Here’s what that looks like:

1. I use a dedicated Digital Ocean droplet for programming

My droplet is the $40/mo 8GB 2VCPU system that runs the latest Ubuntu LTS release.

2. I connect to this droplet through gnome-terminal and mosh

I don’t know how I missed this, but mosh is one of the more amazing ways to develop remotely. It uses SSH to connect to a remote server, and then switches this connection to UDP. This gives you great tooling like buffering (so you don’t feel any lag), persistent connection (imagine closing the lid on your machine, starting it back up, and being right where you left off), and more!

3. I program in VIM through tmux

VIM and Tmux are an excellent combination. I essentially have a whole IDE in a terminal.

To accompany this, I run slack in my browser. I run the excellent android app for Gmail. I check my fantasy football scores on the Adroid Yahoo app, and I use spotify’s PWA installed locally on my machine (of course, that is the version of spotify I most prefer on Chrome OS 😀).

For fun, a quick pic of me writing this blog post

Wrapping things up

So far I’ve been pleasantly surprised at how little I miss from other operating systems. Chrome OS does more than enough for me, and with Crostini, it’s extremely versatile. I can do just about anything I could on my old XPS15, minus the headache of upgrading Arch/Ubuntu. And like I said, this gets me a bit closer to what I feel the future has in store for us. Thin clients that can do just about anything, that use the cloud for more powerful tasks.