Can you program on a low-spec Chromebook?

Post #23

·

4 min read

I was planning a vacation overseas and thought about bringing my laptop along. I wanted to make some progress on personal projects on some possible down time or during the plane ride (surprise, surprise, no down time or progress).

My current laptop is a Lenovo ThinkPad T470 with a bulky expanded battery pack that I bought back in 2017. Great laptop that's built like a tank.

I decided against bringing it along during my vacation due to its weight and personal info-sensitive files it contained. Therefore, I thought about buying a budget laptop specifically for internet browsing and programming work -- a laptop that I wouldn't mind accidentally damaging or misplacing.

For this budget laptop, I had several criteria in mind.

  • low-budget of ~$300 or less

  • compact and lightweight, preferably a 14-inch screen

  • at least 4GB RAM

  • SSD

  • run Obsidian and VS Code, the two applications I would like to use

Fortunately, a back-to-school/college sale was in full-swing and there were many laptop deals. However, most laptops with a SSD were in the $400 or higher range. As I looked through my choices, another possibility emerged -- Chromebooks. They're limited in what they can do and cheap, but could a Chromebook be a viable low-budget workstation?

A quick search through YouTube shows it is possible to program on a Chromebook, although most of the reviewers used a mid-spec Chromebook ($400 to $600 laptops). The biggest complaint was the set-up. When you've become comfortable using a Windows or Mac machine, figuring out how to install and update programs in Linux can take some frustration, time, and research.

Below, I'll discuss which Chromebook I bought and references to links and websites I followed to properly set-up Linux, the latest Python version, and Visual Studio Code. If you don't care about how to setup a Chromebook, here's a quick TL;DR on my initial thoughts.

TL;DR - Although I was able to set up everything correctly, I ended up using the laptop to mainly watch downloaded episodes from Netflix on the plane flight. I would rather use my Windows desktop or my main ThinkPad laptop to program and navigate files than use Linux. I have a "get-used-to-using-Linux" problem. It may not have been worth it to buy and set-up this laptop.

A Cheap Chromebook

The Chromebook that caught my eye was the Lenovo IdeaPad Chromebook Slim 3. A review from Chrome Unboxed and the price point (deal at Best Buy) convinced me to try it out. Usually priced at $319, the Slim 3 was on sale at $170 (total was around $200 including tax) and apparently frequently on sale below $200 (Black Friday Sale would be another good time to purchase).

The specs sheet didn't look that bad. From the hardware wish list above, I gave up on a SSD. Using a eMMC may cause some slowness in running some applications. It's light-weight and has a great screen.

  • Screen: 14 inch, 1920 x 1080 (Full HD), LCD Touchscreen

  • Weight: 2.86 lbs

  • Dimensions: 12.83 x 8.73 x 0.73 inches

  • CPU: MediaTek Kompanio 520 (2.05GHz)

  • RAM: 4 GB

  • Storage: 64GB eMMC

Setting up the Chromebook for Coding

Enable Linux

After booting up the Chromebook and signing in to your Google account, further set-up is required to use Linux.

Turn on Linux by going to the advanced settings > Developers > Linux development environment. Follow the instructions and voilà, you have Debian 11 (Bullseye) environment up and running.

Update Debian 11

On the command line, update Debian using the following:

sudo apt update 
sudo apt upgrade

Download VS Code

VS Code has a excellent blogpost on how to set-up VS Code on a Chromebook. The only tricky part of is knowing which version to download depending on the CPU which can be found with the command dpkg --print-architecture.

Updating to Python 3.11.4

When the Linux environment is set up, Debian 11 automatically comes with Python 3.9.2 and I wanted to upgrade to the latest Python version.

I conveniently found a blog tutorial on installing Python 3.11.4 on Debian 11. Did I totally understand what I was doing? Absolutely not, but I was still able to make it work and made Python 3.11.4 the default version.

Missing SQLite?

After installing the latest Python, I cloned a FastAPI repo I've created before to check whether I could run it locally as a test. However, I ran into a 'ModuleNotFoundError' where the server couldn't locate it despite installing SQLite. It turns out, I needed to install SQLite first before installing Python 3.11.

Final Thoughts

After setting up the Chromebook and writing parts of this blogpost, I thought to myself "Couldn't I have just bought a refurbished Windows laptop?" I did have to look up a lot of things to get VS Code and Python to work on a Linux. This whole set-up was definitely not beginner friendly, but the Chromebook Slim 3 does have a great screen to watch Netflix.