Skip to main content

Command Palette

Search for a command to run...

From Laptop to Lab: Building My Remote Coding Setup

Discover how I've set up my homelab as a personal data science and development hub, complete with Conda and cloud integration.

Updated
3 min read
From Laptop to Lab: Building My Remote Coding Setup

One of the main reasons I built my lab was to have a powerful, centralized environment for all my coding projects. My daily driver is a capable laptop, but running resource-intensive tasks on it can quickly drain the battery and slow things down. By moving my development environment to my homelab, I get a consistent, powerful, and accessible workspace from any device.

The Power of VS Code Server

My coding journey revolves around Visual Studio Code (except CMake). It's a fantastic editor, and the best part is that I don't need to run it on my laptop. Instead, I installed VS Code Server on my homelab server. Once it was installed, I could access it through a web browser on any of my devices—my laptop, my phone, or even the old desktop at home.

Although i am in trail phase , the experience is seamless. It feels exactly like the desktop version of VS Code, with all my familiar themes and extensions already there. I can open my code files, run terminal commands, and debug my programs from anywhere. All the heavy lifting, like compiling large projects or running tests, is done on my powerful Dell workstation, so my old laptop stays cool and quiet.

JupyterLab for Data Science and Learning

After working with cloud platforms like Google Cloud Platform's Vertex AI Workbench and Google Colab, I've grown incredibly comfortable with their interactive environments. They've become my go-to for all my coursework, especially for data science and machine learning projects. I love how these tools let me write and run code, visualize data, and create documentation all in one place.

The biggest challenge I faced early on was managing dependencies. Different projects require different versions of Python libraries, and I quickly ran into what people call "dependency hell." The solution? Conda. I created multiple Python environments, each with its own set of libraries for specific projects. For instance, I have one environment for a machine learning project using TensorFlow and another for a data analysis project using Pandas and NumPy. This simple setup has saved me from countless headaches.

Image 1. Locally Hosted JupterLab (example code)

The Ultimate Hybrid Workflow: Google Colab + Local Runtime

Here's a cool trick I discovered that has been a game-changer for me. I can connect Google Colab to my local JupyterLab runtime. This gives me the best of both worlds: the familiar and powerful Google Colab interface, but with all the processing power and storage of my homelab. It's perfect for when I want to use Google's features while keeping my data and computations on my own hardware.

Image 2. Local Runtime connected

My pro tips for a remote coding setup:

  • Always use virtual environments. Whether it's Conda or venv, isolating project dependencies will save you a world of pain.

  • Invest in a good internet connection. My 40 Mbps downstream is more than enough for a smooth remote coding experience.

  • Version control is your best friend. Get into the habit of using Git for all your projects, even the small ones.

Home-Lab

Part 2 of 5

I'll post updates on my current homelab here, focusing on significant changes to the network and other major projects ......

Up next

Homelab Devices: The Hardware That Powers Me

From a repurposed Dell workstation to a clean Proxmox stack—how this lab came together, piece by piece