I use a desktop as my daily driver, at work I used to use a laptop with an external monitor and keyboard.
My reason for picking a desktop is to have a cheap computer, mine is a secondhand one so it was even cheaper.
The greatness of laptops is to take your work with you and have a working device in places where a desktop is unfeasible, like an airport for example.
After an accident where I had to stay at home and my work wasn't accessible and had to go to my office (a whole hour of commute 🥲) just to send it to myself and go back home right after, I started to look for a way to fix the issue.
This is when I thought about what I really needed to take with me. It wasn't the computer itself but what I did in it, so I started experimenting with remote development environments (I'm a web developer) and eventually moved my entire workflow to a VPS, now it doesn't matter where I am or what I use, I can work everywhere.
Now my desktop became a thin client for connecting to the VPS, my laptop is gathering dust as a lightweight Chromebook replaced it and occasionally I also use my phone as an on-the-go device.
As I'm upgrading my desk (thanks Santa! 🎅) I'm planning to save some more space by buying an even cheaper computer, probably a mini PC or a raspberry pi 4 (or something similar) as the computing power is not required locally, all I need is a terminal and a browser after all.
Also, no worries of downtimes or losing data, even if everything is on fire. 🔥😎🔥
This is when I thought about what I really needed to take with me. It wasn't the computer itself but what I did in it, so I started experimenting with remote development environments (I'm a web developer) and eventually moved my entire workflow to a VPS, now it doesn't matter where I am or what I use, I can work everywhere.
Now my desktop became a thin client for connecting to the VPS, my laptop is gathering dust as a lightweight Chromebook replaced it and occasionally I also use my phone as an on-the-go device.
This. I didn't move my workflow to a VPS though. I use a VPS as a (WireGuard) VPN gateway. This means I can connect to any device from any other device and from anywhere. I only need to have a internet connection. The best part is that I can start/stop/restart some services or check why something isn't working from my phone. If it's a simple fix, I can even fix it from my phone using mobile data. It feels like this is how the internet was meant to be used, haha
However, I am still missing the last piece to fully make use of this setup: to actually have a remote development environment. I intend to setup neovim to match my existing VSCode workflow. When I got comfortable with developing in neovim, I should be able to simply SSH into my machine at home and have a native development experience.
I know that VSCode supports remote development using SSH, but I think it would need a better internet connection than just running neovim on the machine I SSH'd into. I didn't test this though, so maybe this is a wrong assumption.
Maybe I just want to learn neovim as a even better version of vim since I really like vim.
As I'm upgrading my desk (thanks Santa! 🎅) I'm planning to save some more space by buying an even cheaper computer, probably a mini PC or a raspberry pi 4 (or something similar) as the computing power is not required locally, all I need is a terminal and a browser after all.
Mhh, that sounds interesting! You would have an extremely portable computer then. The peripherals would take up more space than the actual computer, haha
reply
I didn't move my workflow to a VPS though. I use a VPS as a (WireGuard) VPN gateway.
At first I used my personal PC as a server over Tailscale, but it was too noisy so I just keep some services I don't want/need to host on a remote server.
If it's a simple fix, I can even fix it from my phone using mobile data. It feels like this is how the internet was meant to be used, haha
I said occasionally, but I actually did quite some work from my phone, since I found writing with the phone's keyboard surprisingly ergonomic with good key bindings through the GBoard on US layout.
When I got comfortable with developing in neovim.
My setup use SSH exclusively, I connect to the server and run a tmux session with just my dev server and editor.
I used neovim daily without much issue even before switching, I never actually used VS Code except for showing an intern how to set things up easily.
Neovim is an amazing editor and you can actually embed in VS Code through a plugin, (not an emulator, the actual neovim core) and I learned to use it in just a week, I simply forced myself to use it exclusively and without having a "backup" I could only learn it.
Nowadays, I use helix, to some it might feel like a downgrade, but the only plugins I used are what helix offers built-in so it's much better to me, I decided to switch because my neovim setup wasn't working on my raspberry pi and phone (locally) without taking too much resources or freezing.
neovim is an amazing editor but it's hard to use due to it's modal nature, helix is the same but it reverse the actions, that means you can "see" what you act on before doing so.
For example, in vim/neovim you change a word like this: ciw, but in helix you first w and on the active selection do the c so it's much more visual.
I recommend helix to beginners to modal editing, you can then switch to neovim later or simply stay with helix, an editor is a personal choice.
I tend to still use both of them without any issues.
The peripherals would take up more space than the actual computer, haha
Yeah. 😅 Luckily, I can mount the mini PC or the raspberry pi directly on the back of the main monitor (on a dual monitor setup) saving even more space, I switched everything possible peripheral to a wireless type and now I just have the power plugs and monitors cables in the way. ✌️
reply