Can you program on a low-spec Chromebook?
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.
Subscribe to my newsletter
Read articles from Chris Sato directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by