Coding on a Chromebook

Can you code on a Chromebook?

I have always been curious about Chromebooks. I am by no means a Google worshipper (especially with the recent onslaught of their search Algo updates) but I am a fan of some of their products in general.

Previously, I used a Google Pixel 4 XL for about three years until an unfortunate accident (my fault). Since then, I’ve remained a fan of their ecosystem. Now, I have the opportunity to try out a Chromebook with decent specifications thanks to colleagues from work!

Speaking of the specs:

Specs that Matter for Data Science

Processor: Intel® Core™ i5-1335U processor Deca-core 1.30 GHz

RAM: 16 GB, LPDDR4X

Storage: 256 GB SSD

Battery: 4683mAh

Installing my Usual Programs

My initial concern was whether I could run the programs I regularly use, such as Screaming Frog for technical audits and VS Code. While most standard office apps are available via the built-in Chrome browser, I wanted to transform this Chromebook into a portable data science workhorse. I succeeded.

After just a few minutes of reading through reddit and browsing a couple of Chromebook videos on YouTube, I discovered that this can actually run Linux even without the need to dual boot.

And it was really easy configuring this too, I just needed to enable the Linux VM in the settings. I could even set how much storage I can allocate to the VM.

After that, I tried to download and install Screaming Frog. Thankfully, they had an installer for Linux. It was as easy as downloading your usual .exe file on Windows. From there, I could run SF without any problems.

If I could run SF, then I could probably run VS Code. I downloaded it and it works! I set it up using a data science profile so all of the extensions were automatically enabled. I also downloaded Microsoft Edge on Linux since I would be able to sync my work browser data.

Everything worked well until I tried to create a virtual environment. Pip wasn't installed. Okay, I guess I just needed to install pip.

Installing PIP on a Chromebook

I was able to quickly search for a bash command for installing pip on the actual VM itself using the VS code terminal. From there, it was easy to install pip and virtualenv.

Bare visual studio code running the Linux VM's bash terminal

After that, I had no problems installing any other python libraries I needed. No additional configuration was needed.

Another challenge did appear eventually. I was trying to import a CSV file in VS Code but I couldn't do it directly. Since Linux was running on a VM, the storage was separated from the actual ChromeOS storage that the user could see. You could still check the Linux VM files using the default Files app but it wasn't really intuitive.

I asked Llama-3 for a quick workaround and it told me to just install nautilus and it worked. I could finally see my files using nautilus.

Downloading spaCy models

So I now have a way to move files. I then started to see if this Chromebook could work as a data science machine.

On battery, without multithreading
On battery with multithreading

Doing Some NLP

I started testing it by having it tokenize some text using spaCy and the performance isn't actually that bad for a small dataset. I'm not sure if it would be able to handle larger datasets though as the 16GB RAM seems to be easily consumed by other processes. There might also be additional overhead from just running the Linux VM.

For light coding tasks, the Acer Chromebook Spin 714 is more than sufficient. Despite nearly maxing out the RAM, I didn’t experience slowdowns or hangs typical of Windows or MacOS devices. ChromeOS efficiently manages RAM allocation and having only a few apps and tabs open likely contributes to the smooth experience. We'll see.

Running a quick FAISS index search didn't make the Chromebook sweat

It was also able to generate embeddings using sentence transformer's mini model but larger datasets will really have to make you wait. I'd say that this would be good for quickly building a proof of concept or maybe even just using the browser to code on the cloud.

Nevertheless, I feel like this can be a good daily driver for light to medium tasks as a data scientist. But the heavier workloads and datasets would require one to utilize the cloud or move on to another work machine.

Subscribe to I am Lord Marin

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe