LXC vs Docker vs Native vs VMs - what's better?

This is reasonable, but this is an argument for using containers, not docker. You can use podman and have exact same (or better – with rootless) experience, minus resource hog (which is the docker engine).

Right, but that’s precisely what I am talking about. Instead of optimizing this further – they gave up. WSL2 is no different than any linux in any vm hypervisor. Oh wait. With wsl2 you do get fancy bugs that stay unfixed for (checks time) 6+ years. Jolly.

BTW – the opposite exists and prospers, and even runs games. (I’m talking about Wine/Crossover/Proton/whathaveyou). Microsoft just gave up on a good idea and jumped on a bandwagon taking shortcuts.

It used to be much better than the alternatives, including Borland, who started the whole “it is not necessary to suffer to be a software developer” UI thing.. I used it with C++ between versions 2 and 6, I think.

I realize that VSCode is a different product for different audience – but it’s made buy the same vendor and is shit nevertheless.. Many of my coworkers use it – and I made many attempts to adopt it too, giving it benefit of the doubt, perhaps I"m not seeing what they are seeing – but I rage deleted it every time. Longest I lasted was 1 day. It’s enraging and infuriating.

Everyone now wants to do similar jack of all trades platform, including IntelliJ (Fleet), and Panic (Nova) and all of them as universally shit.

Yeah. Excel is awesome. It’s very very fast and smart to optimized weird stuff.

One con of using enterprise gear at home is that it is it optimized for parallel workloads and many customers – for example, desktop CPU are somewhere around 3GHz base and 5GHz idle clock, while my xeon is 2.5 boost clock and I"m running it a 1.2. And guess what – NFS and SMB saturate at about 190MBps…

Same is true for storagenode – you want low tdp, efficient, high clock, low core count processors. But that’s not what you can buy on the cheap, unfortunately. (I’m putting together another small power efficient home server with new-ish parts, I’ll share later with what do I end up)

3 Likes

Hmmm, will have to experiment then. Not anytime soon, though, time limits.

If I understand the problem correctly, these were inherent limitations of storing Linux files on a Windows API-managed file system. Windows API requires more I/O calls, e.g., to implement a stat() syscall, Windows API needs to first open the file to get a handle, while POSIX can stat() on random file paths directly. They actually implemented a hack to avoid this when possible by storing stat() response as extended NTFS attributes, which apparently can be read without opening the file… only to learn that many Windows-side tools do not preserve those attributes :rofl: WSL2 sidesteps this by just using Linux-native file system in a disk image, so that at this point you no longer interface with, let say, NTFS. Could they do this in WSL1? Probably, but they’d have to basically implement a full new POSIX-compatible file system and new syscalls in the Windows kernel. That’s a lot of work, especially as file system interfaces in the Windows kernel are much more painful to work with than in Linux—I recall reading a blog post by some NTFS developers complaining about this.

LOL! Though, this does look like typical Microsoft behavior then: propose a new solution from scratch without making sure it’s a proper replacement for the old one.

Yep, because it’s easier to emulate Windows API on POSIX than vice versa. Again, if Wine first opens a file, then stat()s, you do not lose performance compared to Windows, because Windows would do the same.

I have a similar story with Intel vs. ARM emulation. Intel architecture has stronger memory model, which is difficult to emulate on ARM. So Apple has added the support of Intel’s memory model directly to their chips so that Rosetta2 doesn’t have to do it in software. But it’s easy to emulate ARM on Intel, it’s just that software would not be aware of the fact Intel guarantees stricter behavior.

Yeah, I never even tried VSCode exactly because I’ve actually took the time to read how it is built. I do see it being used by around half of my colleagues (with the other half usually using Jetbrains tools or some combination of Vim and Emacs), curiously those are mostly the younger junior folks…

2 Likes

Finally found this blog post: "I Contribute to the Windows Kernel. We Are Slower Than Other Operating Systems. Here Is Why."

These junior developers also have a tendency to make improvements to the system by implementing brand-new features instead of improving old ones. Look at recent Microsoft releases: we don’t fix old features, but accrete new ones. New features help much more at review time than improvements to old ones.

2 Likes

Haha, love that everyone agreed at the end to just abandon windows at that moment. I did it too last year and don’t regret it.
If Linux would get more user friendly then I would even recommend it to not tech savvy people. Windows has the big advantage of being that easy at the moment. (And being pre installed on every machine)

3 Likes

Could not agree more. Even if they have something great or even outstanding at their hands they kill it instead of sticking to it and developing it further into a success story. They start with great ambitions but then drop the projects too fast if they don’t earn enough money with it or aren’t market leader immediately.

Another example is their ReFS. The idea was great. The way they build it and shipped it was the typical Microsoft way. And of course terrible. I even tried it.

But at least killing Windows Phone they are regretting it now:
https://www.nasdaq.com/articles/windows-phone-haunts-microsoft-ceo-satya-nadella-6-years-after-he-gave-up-on-it:-one-of

That was truly a big mistake. It had features back then others had not and which they are just implementing them today, like 15 years later. I mean iOS and Androids are having Live Tiles today? Who invented them? But did not have the balls to stick to them?

A major third browser and smartphone option would be so needed.

Today I see it as a real management problem at Microsoft. Somebody who used to work there told me once that company culture is terrible as everything is only about numbers ($).

3 Likes

The last comment is gold :joy:

I cant play flight simulator in ubuntu but congrats for the choice

Off-topic reply to an off-topic post but I just wanted to let you know that you may be able to play Microsoft Flight Simulator in Ubuntu (although there are problems reported with the latest version):

https://www.protondb.com/app/1250410

Since topic is untouched for 6y, i think there’s nothing more offtopic than the topic

I think Ubuntu is already there: most modern users need not much more than a browser, a password manager, annd WiFi drivers anyway. Many vendors (including Lenovo) already offer consumer laptops with Linux as an option. For more serious users Rocky Linux as a home computer is even better deal.

For my parents I just

bought MacBooks and iPads. They don’t work in tech and yet switched immediately and have been happy since; and our conversations now are not wasted on me helping them unscrew their windows installations]. I noticed there is some weird aversion to Apple in some tech circles but from the end user perspective — why settle for less? And for professional users — why not get the best hardware and os, that come from the same vendor? But I digress.

Yeah. That’s the problem. It’s a default. And most people don’t change defaults. That why Google pays buttloads of money to everyone to keep Google default search engine. Most of Firefox funding comes from that.

1 Like

Yes! I was going to start with that and could not remember by the time of writing, then gave up and posted as is! :slight_smile:

lol! Every Apple keynote when they’d bring a bunch of more features like windows phone used to have I literary

looked like this!

I worked at Qualcomm at the time, and spent 4 years of my life helping make windows phone possible. I still have the t-shirt “windows phone 7 launch team”. I loved the platform and loved my job there.

There was an article comparing iPhone 6 flagship to a windows phone noting that in some cases it’s slower, in some faster and smoother. They neglected to mention that they used Nokia’s $50 base model and yet it was competitive with $600 iPhone.

I still think it’s a vastly superior os, and it could be competitive today if they did not muck up the whole execution bit of it. Heck, it even had nfc payments, always-on display (we worked with Nokia very hard on making it happen) and all that jazz that became mainstream decade later.

I’m very salty at Microsoft for killing WP, and I actually quit that my job after it became painfully obvious that windows phone is no more and my team was going full speed into Android. I works with Android before — never again.

1 Like

Windows 11 on a tablet is not easy it is a nightmare. From my personal experience I have seen older people not tech savvy getting easy with (new) iOS device but having a hard time with Windows 11 on a Surface Pro. Same people had it easy with Windows Phone and easier with Windows 10 on the Surface.

Linux is another story. The problem is that it feels like every Linux developer wants to achieve 2 things: Make it their own way and make it totally different than Windows. It seems they prefer to not to pick up potential users where they are (Windows) under any circumstances which would be a great advantage for adoption.

3 Likes

Perhaps this directly stems from what a linux is: it’s just a kernel. Everything around it is a haphazardly put together collectioin of packages, organized in a somewhat curated train, called “distro”. There is no unity, no cohesion, fifteen bicyles reinvented at every corner, unless it’s strongarmed by someone like RedHat or, to lesser degree, Canonical.

This contrasts with FreeBSD, Windows (with services) and, (to much strongeer degree, that extends to hardware and even tighter integratioin with services) – macOS. The product there is is the whole thing: kernel, userspace, apps, environment, and UX. (And in case of macOS – even hardware).

If people start from scratch I noticed they prefereed windows phone style/tablet (and now iOS/iPadOS) to Android or desktop windows. But windows has an advantage of having poisoned minds of generations for decades – especailly in the realm of what is acceptable user experience; setting expectation and assigning blame when something does not work, etc. Recoverign from this abusive relationship, and trying to see the world not through the windows lens is not easy.

1 Like

Same. It was great (still is). It was different and it was innovative.

I remeber when I handed my WP over to one IPhone enthusiast. He was shocked how smooth everything was going. He literally regretted being locked in the Apple world back then.

Not to mention wireless charging. Yes relatively cheap phones came with great features not available on IPhone or Android back then. Still Android is terrible compared to 11 years old Windows Phone 8.1.
What Microsoft did with that is a complete management failure. A disaster. In any way.
I never understood why they were so bad at linking Windows with Windows Phone. They made so many terrible decisions back then.

They decided to drop it and now their fate is dependent on Google and Apple when it comes to browsers and Smartphones. Well done Microsoft. Only 2 words: Surface Duo. :joy:

3 Likes

Looks like it’s universal experience. This is a clearly a huge market opportunity for someone to step in and create a tool that will serve the needs of these folks.

I use daily: BBEdit, vim, sublime text, pycharm, Xcode — and I’d love to have one tool to do to all… but evidently I can’t.

Lack of a proper note taking app is another gripe. Once OneNote turned into bloated shit (thank you again Microsoft) there has been no alternatives. I converged to using stock Apple Notes and Ulysses — but Apple Notes gets slow, and Ulysses isn’t really designed for my way of note taking, its great for writing books, not serving as extension of my memory.

I’m open to suggestions on both fronts :).

vim, pluma, obsidian/cherrytree, and intelliJ here. And I don’t think I would like to have a single tool, they have UX optimized for different use cases. That’s a good thing. Well, maybe I would like to replace pluma with something slightly more advanced, but didn’t care that much so far.

Using Obsidian and CherryTree, depending on the environment limitations, and I don’t complain too much. But they are also a bit different from the tools you consider.

1 Like

Thank you. CherryTree does not have a stable Mac version, and neither does plum.

Obsidian I rage quit a month ago, I’ve lasted two weeks. It’s very powerful but usability is atrocious. I thought maybe it takes getting used to – so I gave it two weeks. Nope, did not help.

The fact that it uses title as a filename as is, and it’s not only in the separate field, but also censors what symbols I can and cannot use – it was the straw that broke the camel’s back. (And imagine that, I was ready to accept Electron… foolish me)

I find myself liking IntelliJ tools when they work. But often they don’t. CLIon for example never once finished indexing my codebase without chomping all ram and crashing in the end. So it’s a no go. PyCharm is good both for markdown, docs, shell scripts, but of course, focused on Python – and not everything is python.

So far I find BBEdit least annoying… and for code navigation/discovery (I don’t need much - “go to definition”, “show callers” and “go back”. Bafflingly, Bbedit cannot do “go back”. it’s not a thing there. it can do text transforms with regexes, does LSP, projects, all that – but it drew a line at “go back”. So Sublime text covers my code exploration needs…)

It doesn’t use Hyper-V, it uses a lightweight hypervisor with the generic kernel, it’s started when you start any distro. The differences are:

  • it dynamically uses resources (yes, you can configure Hyper-V to do so too, however, under this engine it uses significantly less resources and do not have a static CPU assignment too)
  • it’s starting very quick
  • it’s integrated more seamlessly than any Hyper-V VM, it’s more act as a Virtual App
  • it can be used even on Windows Home (Hyper-V is available only in PRO or Windows Server)

See What is Windows Subsystem for Linux | Microsoft Learn

WSL2 for me is preferred if I also need Windows, because it allows to start regular Linux services, which depends on systemd or dbus. And it’s much less resource hungry than a Linux VM in Hyper-V

compatibility, the key feature, which allowed Windows to be almost everywhere.

yes, I understand a difference. I used many OSes. There are some software, which doesn’t work under Linux without issues, some doesn’t work at all and cannot work in the VM (hardware-related). So, to use it you need to reboot to Windows, then reboot back to continue use other software which doesn’t work normally under Windows, and also most of needed tools should be in Linux. Of course you may use a Hyper-V Linux VM, but it will statically occupy resources.
Thus Windows + WSL2 is a best from two worlds for my case. And if something doesn’t work normally in WSL2, I can use Multipass (it uses the Hyper-V VM) or directly Hyper-V (for example - TrueNAS to be able to help to troubleshoot issues).

exactly. Currently Mac is not for me.

they are needed to do my work :person_shrugging: I have tried on Mac and ended with Docker and Linux + Windows VMs to be able to do only part of my work and it was always painful. So no Mac for me :smiley:
Only as a second device, where I do not need to use anything GNU or Windows. Doesn’t make sense for me, only if it would be required too.

1 Like

So, another half baked bicycle, mush mash of featured from Hyperv and Linux… this explains bugs like I referred above with memory consumption — because hyper-v was pretty stable in my experience.

And the fact that nothing gets fixed — indicates it’s probably also an abandonware.

Perhaps using actual Linux would be less painful —you would avoid all that half baked Microsoft nonsense and potential compatibility issues, and have a choice of which Linux to use.

Obviously, this discussion only makes sense if your tools work. If your tools don’t work — it’s not really a choice but a necessity.

Yes, you are right.

Yes, my colleague on another contract uses it as a default OS, but I also have a legacy incompatible proprietary software which cannot work even in the Windows VM. So the only choice will be to use a dual boot. The waste of time and resources.
Like you, I try to use what works best for work and life, so as not to use several separate devices. This is especially important, since I travel constantly, so the weight of the backpack should not break my back :slight_smile:

unfortunately :person_shrugging:

1 Like

Perhaps (and we are way offtopic) the solution here is to do what entire google workforce does: everythign in the cloud, and you walk around with a chromebook, or a macbook air. Something thin, light, and power efficient. Then you can have a dozern of virtual machines with any oses you want, any hardware specs, on demand, scalable immediately. No readon to carry all that compute power around, (even if it was possible to). You back will thank you too :slight_smile:

I know a few colleagues that moved to the cloud entirely – they used to remote to their office desk machines but replaced them with a vm in a cloud. Because why not?.

This also solves hardware loss/failure. Just login on any other machine.

You woudl need to have internet – but it’s available everywhere across the globe annyway; and without internet you can’t do much anyway these days (my search history is mostly “how do I do X in git” and stuff like that).

I have VMs on my own server, which also run nodes :slight_smile: , so I use this case for a long time already.
The problem only in the incompatible legacy software. It’s expected that it will be eventually deprecated and I would be able to choose.

Right now I use my Xiaomi Tab 5 and the cover with a keyboard, it covers almost all what I need. Of course, for Linux, Windows, TrueNAS, etc. I use VMs. But for work in the browser, with emails or Teams the tablet is fully enough. It also can work three full days without a charge. But to use that legacy software I use the Chrome Remote desktop (because I also do not have a fixed IP). So.. but this software is actually run on my laptop, which I leave powered ON when I would work outside and will need this software and do not want to take it with me.

1 Like

I like this behavior, it makes interfacing with other tools easy. For example, I have a custom LLM-based tool that helps me create/edit documents, and the fact that I can just point Obsidian at its directory is a great help.

And as for IntelliJ, yeah, not perfect. Still, so far the best I found. :person_shrugging: