At the start of 2019, I was working from a co-working space and it was great but a co-working space requires commute and it doesn’t allow the flexibility of working at night which I usually prefer. So in mid-2019, we decided to go remote full-time. I moved to a place I own and designated a room as home-office.
The office is unimpressive as of yet — a work in progress. There are a couple of desks, a camera stand, and a wi-fi router. 24 square feet is all I occupy in the room but those 24 square feet are where I spend most of my day. And I feel so grateful that I get to live in a time when I can do so much from such a tiny space.
People who owned castles would be jealous of the power of these 24 square feet. I genuinely believe it.
I mostly write code and occassionaly blog about stuff but I’m determined to make the most of this time we live in during 2020. I intend to record some videos and if internet-speed permits, a few live-streams as well. I’ve tried it unsuccessfully in the past. I’ve learnt that the skills required to do so are non-trivial and it takes a lot of boring work to make interesting content but the good news is, it can all be done from these 24 square feet. Here is a list of everything on my desk:
- Lenovo G50-80 laptop with a 2-core i3 (Upgraded with two internal SSDs)
- Blue Snowball iCE Microphone
- HP 19ka 18.5-inch monitor for dual-screen setup
- Logitech M105 Mouse
- Redgear Blaze 3 External Keyboard
The entire setup costs around USD 600 and the laptop isn’t even maxxed out. I can add upto 16 GB of RAM; 8 GB is not so bad though considering I largely use google chrome and the node ecosystem for development which are notorious for being hungry when it comes to memory and CPU utilization. Add a USD 120 worth of Logitech C920 webcam and you have a pretty much complete setup. It works well for coding and video recording, I can vouch for that. However it is not recommended for sophisticated video editing, graphics design, or live-streaming.
The reason why I have 2 SSDs is because it is a dual-boot system. I use both Windows 10 and Ubuntu 18.04. I used to have only Windows 10 and it was enough but I recently worked on a project that used flow and it was an absolute nightmare for me to work with in Windows. So I dual-booted it with Linux in which flow runs like butter when compared to Windows. Getting used to working with a dual-boot system can become painful if you’ve become accustomed to a single OS. So I wanted to replicate the whole Windows behavior in Ubuntu. Luckily, it is highly customizable and now I can pretty much switch between them without having to context-switch my brain. Here is what I used to make Ubuntu 18.04 Windows-like.
Ubuntu’s custom key-bindings are so good that you can go crazy with them. Mirroring them to Windows’ shortcuts is the first thing I did.
I use launchy on Windows as a launcher à la Alfred on MacOS. Launchy is available for Ubuntu as well but I liked Albert better. For me binding some kind of a launcher with Alt+Space is what was important.
If you’re coming from Windows, Ubuntu’s desktop experience can seem alien. But you can use GNOME Shell Extensions to customize the look and feel. The one that I used to make it Windows-like is Dash to Panel. You can find my settings here. They can be imported via the extension and you’ll immediately have a Windows-like dual-screen setup.
For working with node ecosystem, most of the popular apps like Sublime Text, Hyper, VS Code that you may want to use are usually available for all three platforms. Although the reason why I have the dual-boot setup is because some of the software just works better on one or is only available for one. For example, Windows is what you’d want if you want to live-stream. Even a barebones OBS has issues in Ubuntu. Additionally, having multiple operating systems can only help testing software while development.
So that’s what I’m doing in my 24 square feet. I’ll keep updating this as I make better use of the space.