Chromebook Storage Upgrade

I have been using my Lenovo N22 Chromebook, running linux, for a couple of months now. It is an extremely convenient laptop for travel, school, and even personal projects. I have even been able to use the recently released Vulkan graphics API, just to show how capable these little laptops are. Unfortunately, there is one small problem that has been bothering me. The N22 model, similar to almost all Chromebooks, only has 16GB of storage.

In this post I will explore my solution to expand the devices storage capacity.

Transforming a Lenovo N22 Chromebook Into a Full Linux Laptop

In this post I will be going over the steps required to turn a stock Lenovo N22 Chromebook into a full linux Laptop. Unlike the majority of Chromebook Linux tutorials, this will not be along side the existing operating system. This will completely remove the existing OS from the device.

This post will cover how to disable the existing software security and hardware security that is present on the device. Then cover how to replace the existing BIOS, making it possible to boot and install alternative operating systems on the device.

Disclaimer

If something goes wrong during this process it can and likely will brick your device These instructions are for the Lenovo N22 Chromebook, attempting them on a different computer may have undesired side effects. Continue at your own risk.

Racket Handin Protocol

I will be documenting the Racket handin client protocol. By going over all of the functionality included in the protocol, I hope that it will be useful to others. The handin application is used to submit racket applications to a professor for marking. It is normally downloaded as a *.plt file that is a plugin for the DrRacket editor. This information should be useful for people who wish to port the application to other development environments than DrRacket.

The original handin client and server code can be found here:
Handin Source

Disclaimer

Since this information was obtained mostly by reading the racket source and
looking at packet captures, this protocol documentation is my best guess and by no means official. I was simply unable to find information on the protocol in any other form and have decided to provide my own documentation for others. I am providing this information under the following disclaimer:

THE INFORMATION IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. THERE ARE NO GUARANTEES THAT ANY OF IT IS CORRECT OR WILL REMAIN CORRECT.

Why Not TypeScript

Recently I looked into TypeScript. I had been working on a project that was growing rapidly. The downside was that the project was breaking continuously. We needed a way to fix it. TypeScript seemed like a good idea but we had our reservations.

Turns out TypeScript was the perfect solution for us. It strengthened our code base and reduced the number of bugs we introduced.

Installing .NET core on Arch Linux

As both a .NET developer and a Linux enthusiast, I jumped when I learned that Microsoft was releasing the coreclr tool chain. However it turns out that using it with Arch Linux is not as simple as one would hope. I made this guide to help people setup the basic tools in order to develop using the latest .NET framework on Arch Linux.

This post is now outdated. You can just install .NET core directly from the AUR and it will work fine. I am keeping this post up in case it will help someone troubleshoot problems.