Hacker News new | past | comments | ask | show | jobs | submit login
Building a Linux Desktop for Cloud Native Development (alexellis.io)
108 points by alexellisuk on Feb 3, 2020 | hide | past | favorite | 50 comments

> chrome - [...] A faster browser than Firefox, sorry, not sorry.

What about fighting the Chromium monoculture? Is the difference in browser speed so great that you can't tolerate the extra lag in Firefox in order to fight Google's dominance?

In my experience chrome isn’t even faster on Linux.

Maybe I just don't use cool SPA, but I just never noticed the speed of chrome or firefox's lag that is mentioned every now and then.

I recently gave chrome a try since since it was already installed on my work laptop, but I didn't noticed any difference aside that I was missing my addons, which actually is not that great for chrome as my work laptop is fancier with more potent hardware than my personal one (t490 vs x230).

There is no problem with a monoculture based around a common browser kernel.

Proof: Every cloud company uses Linux and this has created nothing but opportunity for ~~Linux users~~ everyone!

Also nothing but opportunity for those looking for kernel flaws, of which their many. The Linux kernel monoculture is a devastating weakness.

No it’s not. It’s an opportunity to fix things once for everyone instead of having to fix things a hundred times for a hundred different operating systems.

Of course it would create opportunity for Linux users, because Linux became the monopoly. All the BeOS people are now out of luck. Your analogy doesn't make sense.

BeOS users can still use that if they want. Nothing stopping them at all.

So it's an article about hardware, screens, and typical linux command line tools? What is the whole point he is trying to make that is not covered in 1000s other articleS?

I don't know that he needs to make a point, can't he just publish a guide about his own setup like 1000s of others do?

As for why it's notable and on the front page, if you don't know who Alex Ellis is, I strongly suggest you take a closer look at the OpenFaaS org on GitHub, if you're at all into K8s or want to do serverless stuff on K8s. Last week I had heard of this guy and thought I mostly knew why he was notable, but this weekend I started to try working with OpenFaaS, and found no less than 5 or more important projects under his name while traveling down the rabbit hole of "what's the best way for me to run this as a developer" – if my experience is not unique, then that answers it for me, why HN apparently cares what his setup is like in particular.

Check out K3sup and inlets-operator, for example. The most surprising problem I solved on his dime this weekend was "how do I use cert-manager to get certificates for my Kubernetes ingresses, when the K8s cluster is private and LetsEncrypt can't reach it?" – I wasn't even hoping to solve this, but it just works out of the box, with a handful of apps provided through "k3sup app install" (including cert-manager, of course), your ingresses can get a public IP for long enough to perform the HTTP challenge, and your private cluster can get TLS certs handled automatically for a couple pennies, without any awkward certificate secrets hand-off process (where an admin carries the TLS certs from an internet-facing cluster over to the private cluster, for example, as I've heard of others doing to bootstrap their private clusters.)

Yep pretty much.... I didn't have any takeaways from it. Years ago I had a Gentoo desktop which was fun but hard to maintain. But, these days having VMware or Virtual box with Centos or Ubuntu is easier to deal and develop with.

Yea, to be specific, using Ubuntu 18.04 on one SSD for his cloud tools development, Kubernetes Go controllers? Because MacOS doesn't cut it.

And his Windows 10 Pro on another SSD.

I read the headline quickly and thought this was building a Linux Desktop on the Cloud and thought it would discuss hosting a performant desktop dev environment on AWS/DO/Azure. Anyone have great success with that?

I do! It's my default way of working.

Thinclient: ~$200 Monthly Computing cost: ~$5

I'm broke so I bought a $200 chromebook, threw linux on it, that's my thinclient.

I issue credentials and spin up VMs from my thinclient with terraform or bash scripts using awscli/

When I have to, I use VSCode remotely with tools from https://github.com/cdr.

I also use the awscli to make Cloud9 instances for disposable dev environments, playing with a new language for example.

If you want to do native Linux over web and you have decent latency/bandwidth, you can spin up a vm and use Apache Guacamole, basically RDP/VNC through the browser over https.

Then I use my browser (Firefox ftw)

I also use twilio exclusively for phone/sms ($<10 per month)

Tried that with a fully specced out machine. It doesn't matter if VNC, X11 XDMCP, Teamviewer, Anydesk or some of the more obscure things I tried out. The latency kills all the fun.

> The latency kills all the fun.

I've found that while it changes the constraints on what is fun, some fun is still possible, and the ability to preserve state across devices/locations sometimes offsets the 'loss of fun'

e.g. coding / light 'ops' stuff that is just 'graphical text' is fairly bearable to me in the ~100ms range with good compression/low bandwidth settings, since often you can blindly type some code/commands and take a breath while the UI updates. Video/Graphics/Etc or heavy GUI interactivity starts to get a bit painful.

one clear benefit to cloud is faster in-cloud bandwidth/latency which could make up for the less responsive UI depending on your use case

Obviously you can get work done with it, I also can imagine that getting accustomed to a type and think about it approach while taking a breath might be worth the ability to preserve states. For me preserving states across devices/locations has been solved 10 years ago, though nowadays in extreme situations I just don't do any work if it's not my device. I won't enter any credentials on a device that's not mine or hasn't been in my physical control since being setup. I'd rather fly home. Nothing we do is that important.

For me a low latency is the single most important thing when using a computer. Having 1000hz input device rate on the mice, proper NVMe SSD and 144hz/240hz Display rate makes all the difference of a decent computer experience.

Several years ago I had pretty good luck with the NXMachine server/client for a training system. I don't know if they still offer a free version or not :(

Yeah, NoMachine NX, used the free version ~2010, it was lightyears ahead of any other remoting solution for Linux. Presumably, the commercial product still is but there is no free version anymore. There was a freenx project but it seems not much alive now. A different open-source project called x2go continues. The implementation seems less complete and stable but nevertheless, still a decent option for accessing a Linux desktop remotely over a lower-bandwidth (e.g. 3G mobile) connection.

What about a machine with an Nvidia GPU? The game streaming latency is surprisingly good assuming you're in the same region.

Yeah I think this only works for edge computing (eg <5ms from you). Very interesting space for the future though!

We (https://www.paperspace.com) have full Linux and Windows desktops with web-based streaming and web-based terminal access. Might be what you are looking for :)

That's what I was thinking as well.

Linux is a tougher nut to crack. I've done Windows VM on a dedicated I leased for 60$ a month, with other VMs on the same box. That was over an ssh tunnel, and I found it pretty performant. I mean notable latency, but remote desktop supports multiple monitors.

Lib virt with spice supports open gl acceleration for local host connections. That works almost as well as RDP, expect it can only be run locally. I still need to check into xRDP. But Linux as a remote desktop, developer environment is pretty far behind windows from what I've seen.

For Linux central dev environments I go back to ssh + vim

I build tooling for a team in a Fintech company that does exactly this, but on an Enterprise level. Right now, there's too many issues, I'd say, to make this a viable alternative to just developing on a local client or self-hosted desktop. There's tons of cost-saving potential though, and I definitely think it'll be the norm in the future.

This is also what I thought :(

Affiliate link masquerading "article”. What does mouse buying suggestions have to do with any of that....?

> Note: if you are having issues with any of the images, this may be because they are coming from an Amazon server. Reload the page without your add-blocker, or view it from another browser.

So are these affiliate links or something? Why would I want to invest work to turn on ads?

it was actually nice reading the article without the images

I got a nuc8i5 (not i7 like his and not 10 as well) as I would to try Hackintosh as my last purchase of mbpro15 really break the bank.

but I never reached there. It now runs windows and linux very smoothly. Just swap the nvme 512g.

His experience seems useful as I still have a 512g for Hackintosh. May be I should try the min ubuntu 18 like his and then try the external ip access.

Good article I say. But not sure about he said ok with the noise. May get the noiseless case and do win/linux with it like this : ignore the Hackintosh part:


Just to clarify one of the points in the article, in the U.S. I believe we can't deduct business costs like Zoom anymore unless you're 100% self-employed. BYOD-type deductions were unfortunately removed by the current administration.

> BYOD-type deductions were unfortunately removed by the current administration.

Did you mean specifically the executive branch, or also the Congress?

It's a sincere question: I'm not really clear on what the IRS can do on its own vs. what requires legislative changes to the tax code.

I believe he means by congress, specifically the 2017 tax bill.

Interesting that the author had fan nose / heat issues with the Lenovo Ryzen mini PC.

I really hope AMD and OEMs get it together and make sure thermal design for their PCs allows for stability and noise reduction. Older HP workstations are a good choice for noise, price and power.

I have my noisy 2U machines under a bed in my downstairs room - but that requires a hard wired home and a spare room.

I built a 3400g in an A300 mini chassis. It's very quiet and very small. I don't know what Lenovo's issues were - maybe not enough vertical space?

Could also be thermal management issues on the software/ driver side of Linux. I remember reading about Linux kernel patches in that area very recently.

Why do you need a special machine for cloud native development? I have created a GitGub repo with cloud native dev tools which is more than what I usually need.


I have a similar post on my blog about setting up a Linux workstation for software development. I think one important aspect that is not covered in OP's very nice article, is command-line setup.

Switching from bash to zsh and starting to use plugins for improved history search, autocompletion, syntax highlighting and more was a huge productivity boost for me:


Especially relevant when dealing with lots of different tools, as is very common with cloude native development.

This is some pretty serious affiliate content marketing :-/ Do we really need a guide on why you should install Ubuntu on a NUC?

I liked the build, but I'll stick to my system76 laptop and using chromium and vim.

I'll probably replace the laptop when the one they, system76, are reportedly building themselves is released.

I was hoping for something like ChromiumOS. I'm not sure what's the point the author is trying to make here.

Yeah, I guess the gist was to buy a computer, install linux, and the packages you need? I wasn't sure either.

I am still waiting for a Ubuntu Spin that attempts to do this. It would make for a nice change.

> I am still waiting for a Ubuntu Spin that attempts to do this.

You made me curious: what does mean _this_ in your comment? What do you like in ChromiumOS and would like to see in Ubuntu? What is in Ubuntu that you would like to have replaced with a ChromiumOS-like alternative?

Possibly some lightweight custom DE based on Gnome's SDK, like tiling manager possibly, to give it a ChromiumOS vibe, but you can still use other utils from Ubuntu. But one that's not too focused on shortcuts only.

Could you expand what do you mean by "ChromiumOS vibe" (ELI5)? Do you look for a i3 inside GNOME Shell?

PaperWM[0] is an example of a tiled scrolling (window) manager based on GNOME SDK (Mutter) that runs in GNOME session.

[0]: https://github.com/paperwm/PaperWM

Fedora Silverblue and Endless OS do this, they're both based off of OSTree for treating filesystem-as-image and expect software to be run in Flatpak or OCI (Docker) containers.

There's some rough edges in Silverblue at least, but its a neat way to work.

Why did he stack those 3 alexas on the loudspeaker?

Which keyboard is he using? Looks very cool!

He mentioned it near the end of the article. Durgod Taurus K320 TKL


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact