For the past two weeks, I've been using an [EeePC 1000H](https://en.wikipedia.org/wiki/Asus_Eee_PC#Eee_PC_1000_series), a [netbook](https://en.wikipedia.org/wiki/Netbook) with a 10" screen, an Intel Atom N270 CPU, 2GB of RAM, and an 80GB internal hard drive. Released in 2008, it was designed with portability as its primary goal, with performance taking a back seat. this is especially true of the EeePC 701, a tiny netbook with a 7" screen and a rather restrictive 4GB internal SSD.
While it hasn't replaced my regular laptop, I've enjoyed using it for lighter tasks, like making quick code edits, working on my server over SSH, and finding lightweight alternatives to the apps I use on a daily basis. Working with such an old and compact laptop is just *fun* to me!
Over a decade later, EeePCs are still sought out by some, especally the sub-10" models, as there are almost no other laptops available in such small sizes. However, performance is a major concern, as these laptops were low-powered even for 2008, let alone now - over a decade later.
Many of these tips apply to lightweight netbooks and and notebooks in general, of course, but they're written from the perspective and goal of EeePC usage.
Choosing an operating system
----------------------------
On release, most EeePC models were shipped with either Windows XP or a modified version of [Xandros](https://en.wikipedia.org/wiki/Xandros#ASUS_Eee_PC), a discontinued Debian-based Linux distribution. Neither of these operating systems are really viable choices in the modern day and age, but there are still options available for the EeePC.
If your EeePC has less than 32GB of internal storage, you'll probably want to use an SD card for more space. You can use the SD card for `/home`, and the internal storage for the root partition, although you should be careful if your internal drive has a capacity in the single digits of gigabytes - you might want to move directories like `/usr` and `/etc` to the SD card too. Bear in mind that this will render your system unbootable without having the SD card inserted, but if you're already using it for `/home`, you almost certainly want to have it always inserted anyway. Also, make sure you mount the internal SSD (if you have one) and the SD card with the `noatime` flag to extend their life!
One major issue you'll quickly run into is that all EeePC models use 32-bit x86 CPUs. This means that many distros can't be installed on an EeePC, with major options such as Arch Linux being unavailable. There are sometimes community-maintained 32-bit ports of major distros available (such as [Arch Linux 32](https://archlinux32.org/)), but these will have reduced support, package count, etc.
Debian (and distros based on it, such as Ubuntu) is one of the few major Linux distros that still support 32-bit x86 CPUs. The Debian community once ran [a project](https://wiki.debian.org/DebianEeePC) with the goal of getting EeePC hardware natively supported by Debian without needing specific installers or packages, a goal that they have mostlly achieved. This means that you can install Debian (stable or otherwise) from debian.org without having to worry about missing firmware, broken installers, and so on. For these reasons and others, I decided to choose Debian as the operating system for my EeePC, and I highly recommend it. This isn't to say it's the only choice, but I found it to work very well, with only a few issues. Specifically, I couldn't get the function keys to work on my 1000H.
If you need Windows rather than a Linux distribution, I'd first advise you to make sure that you really *do* need Windows to run on this machine. Even if you use Windows everywhere else, this might be a good opportunity to try out Linux. If you really do need Windows, though, I would recommend Windows XP, as anything newer than that will almost certainly be too much for the EeePC to handle. The rest of this post will focus on Linux, although some of the information may apply to Windows too.
After installing your Linux distro of choice, the next step is to choose a window manager. If you only need to use the shell, then you won't need a window manager, but most people will need one, and even if you're only doing command line work, a lightweight manager like [i3-gaps](https://github.com/Airblader/i3/blob/gaps-next/README.md) or [awesome](https://en.wikipedia.org/wiki/Awesome_(window_manager)) might still be worth looking into.
I used to use [LXDE](https://lxde.org/) on my EeePC 701, which struggled somewhat with it, but was mostly capable. After swapping my 701 for my wife's 1000H, I thought that I might be able to get away with running Cinnamon on the more powerful netbook. I was very wrong.
I decided to try going for a window manager I'd never used before. I wanted to find something new and lightweight, even lighter than LXDE. The EeePC 1000H is almost certainly capable of running LXDE, but I wanted to get the most performance I possiblly could out of my EeePC, so I decided to go with icewm. [This](https://l3net.wordpress.com/2013/03/17/a-memory-comparison-of-light-linux-desktops/) wonderful blog post goes into detail about the idle memory footprint of various window managers, and ends with a graph comparing the results from around 30 WMs.
While this graph only displays idle memory usage and doesn't take into account load times, CPU load, memory usage with more windows open, etc., it can be used as a rough estimate of how "heavy" a given window manager is. icewm idles at 4.5MB of RAM compared to LXDE's 36MB, while Cinnamon sits at 79MB. I'm happy with icewm's feature set and customisability, but it's not as user friendly as LXDE. LXDE, LXQt, and Mate are good choices for an easy to use and configurable desktop environment.
EeePCs are rather underpowered devices. You'll want to seek out lightweight alternatives to most of the apps you use. Electron apps like Discord and Visual Studio Code are just barely usable on the 1000H, but if you have a model with a slower CPU or less RAM, I'd say to avoid Electron where possible.
### Browser
I haven't really been able to find a lightweight that does what I want. Midori is lacking many simple features (like being able to add a new search engine) and has a GTK3 "header" bar, making it take up much more screen space than it needs to, QuteBrowser only works with vim-style keybinds, Falkon pulls in hundreds of megabytes of KDE dependencies... In the end, I decided to stick with Firefox, and try to keep as few tabs open as possible. This worked okay, but occasionally froze my entire computer. I fixed this by adding two gigabytes of swap space.
If you can deal with the limitations of browsers like Midori or QuteBrowser (if you're an avid vim user, QuteBrowser is an ideal choice), you should choose one of those instead. I find that I can't really make that sacrifice, so I stick with Firefox.
### Code editor
If you use vim or emacs, then you already know what to do here! :toot:
If you're like me, and you use something heavier like VSCode or Brackets, you'll want to have a look at some alternatives. I decided that Geany had the feature set I was looking for. I've got it set up to behaving similarly to how my VSCode environment works, with a file tree, git annotations, and a dark theme. Nobody's ported [Dracula](https://draculatheme.com/) to Geany yet, but I plan on doing so some time.
To get Geany to look like this, I installed the Darcula theme from here, and enabled the Tree Browser and Git Change Bar addons from the `geany-plugins` package, which can be installed with apt. I also installed [this plugin](https://github.com/b4n/geany-plugin-dark-theme), which tells geany to request a dark GTK theme. I also set indentation to tabs with a width of 2 characters, but let's not get into that debate. :mlem:
Sublime Text would also work well, but I despise that donation nag and really can't afford the price of admission. Also, it's not open source!!
### Image viewer
This one was an easy choice for me, since the image viewer I use on a daily basis is already very lightweight. [Nomacs](https://nomacs.org/) is a simple image viewer that does everything I need it to and more.
### File manager
I use [PCManFM](https://wiki.lxde.org/en/PCManFM), the default image viewer for LXDE installations. It's relatively lightweight and provides everything I expect from a file manager, and also supports a "desktop" mode, allowing you to use it with a lightweight window manager like icewm, which doesn't provide a desktop. This allows you to put icons on your desktop if you're so inclined, and also to more easily set a wallpaper image.
The rest
--------
I use Syncthing and the Nextcloud Sync Client to keep my files synchonised to both my other laptop and my Nextcloud instance. I also use QOwnNotes to take notes that are automatically synced to Nextcloud, and therefore accessible from my phone. I find that QOwnNotes with Nextcloud makes for a great replacement for something like Google Keep, a webapp which would almost certainly bring any EeePC to its knees.
EeePCs aren't exactly great for multimedia, with their tiny screens and weak GPUs, but I found that [SMPlayer](https://www.smplayer.info/) ran about as well as you can really expect from such a machine. Just bear in mind that you should aim for sub-720p resolutions for optimal playback.
If you're using a Debian-based distro, you'll want to install and configure [localepurge](https://packages.debian.org/stable/admin/localepurge) to save a few hundred megabytes of space on your root partition. If you're running something else, see if there's an alternative available. The Debian wiki has [two](https://wiki.debian.org/FreeSpace) [pages](https://wiki.debian.org/ReduceDebian) on reducing your installation footprint.
Have fun with your EeePC, and keep its limitations in mind! :mlem: