A Look into CBL-Mariner, Microsoft’s Internal Linux Distribution
blog.jreypo.io
blog.jreypo.io
Now Project Reunion, sorry Windows 11, is trying to fix the path started with Windows 8.
.NET was supposed to be the great reunification of VB, C++ and COM runtimes, then also got a Java touch into the mix and .NET happenend (initially was known as Ext-VOS).
https://docs.microsoft.com/en-gb/archive/blogs/dsyme/more-c-...
Hence why CLR is just like WASM + GC if you prefer a modern comparisasion.
If you go back into web archives, when Visual Studio.NET was released, it was going to be .NET everywhere, across the whole stack.
However a big management mistake happened, .NET was part of DevTools business unit, while C++ was kept under WinDev, up until Satya started to change the culture, it has been pretty much WinDev vs DevTools.
So Managed DirectX comes, eventually gets killed, XNA and Silverlight take over Windows Phone 7, get killed by WinRT and DirectXTK and so on.
Going back to the originally statement, if you Google for why Longhorn did not work out, you will find many .NET blaming.
https://hackernoon.com/what-really-happened-with-vista-4ca7f...
Yet Android, ChromeOS, Midori are examples of what happens when actually everyone works into the same direction bringing an OS into production.
Joe Duffy does some remarks on his two talks, where he hints at why it was a failure to fight Windows culture
"Systems Programming in C# " - https://www.infoq.com/presentations/csharp-systems-programmi...
"Safe Systems Software and the Future of Computing" - https://www.youtube.com/watch?v=CuD7SCqHB7k
Note that for some time the Asian Bing nodes were actually running on top of Midori as production test.
A big decision of Vista, was to replicate the .NET design using COM instead (hello WinDev), hence why all major modern Windows APIs are now COM based.
Windows 8 doubled down on that by introducing WinRT, with AOT compiled .NET and C++/CX using COM as the future Windows runtime, this was a point of friction, as .NET Native isn't 100% compatible with regular .NET, and many C++ devs desliked C++/CX extensions (later C++/WinRT replaced C++/CX, but that is another story).
So to sort out all the adoption chaos, Project Reunion was born, which is basically merging the COM improvments brought by WinRT and app sandbox into Win32, and forgeting the split ever happened.
Even Reunion has had a couple of hicups, it started as XAML islands, it became eventually clear that that alone wouldn't do it, thus Project Reunion.
https://blogs.windows.com/windowsdeveloper/2020/05/19/develo...
And now a year later, it was renamed as Windows App SDK.
https://blogs.windows.com/windowsdeveloper/2021/06/24/what-w...
Note that many System C# features now live in C# 7 and later versions, and were also in the basis of C++ Core Guidelines.
Also note an example of the internal competition with the pleothora of GUIs being done now, Forms, WPF, WinUI, MAUI, Blazor, React Native for Windows.
Maybe if all divisions worked more together in Longhorn, the project would actually happened and Vista wouldn't have been needed, nor the strong emphasis on COM that it started.
https://github.com/microsoft/WindowsAppSDK/issues/14#issueco...
Joe Duffy has similar remarks on his posts and post morten sessions done about the project.
Moreover, gaming is great on Windows, and always has been, and WSL2 is extremely slick.
What does that mean? I've never needed Apple's permission to run any software on macOS.
If you can't even figure out how to bypass it, then you probably shouldn't.
Except for FB, everyone actually seems to hate them.
Does Apple completely deny your use of your own hardware like this until you submit? Asking because I have been used to Linux as a daily driver for over 20 years and haven't used Apple since Jobs banned clones.
2. I've never entered an email for using Windows 10, they do try to hide it but you can set up an offline account.
This is not something that Windows does. Ever.
What do you mean by "obtained direct permission from Microsoft giving them my email address"? You're clearly not talking about logging into a Microsoft account so I'm struggling to understand what you're referring to.
That's not needing Apple's permission; that's me giving my permission.
https://9to5mac.com/2020/11/15/apple-explains-addresses-mac-...
During the past three years I went from being my workplace's Windows hater to ditching Linux in my personal machines in favor of Win + WSL2.
And generally if you work at Apple you actually like/prefer/love Apple products?
I won't be sad if I'm wrong there.
If you're ok with that, you can officially replace windows with Linux.
No such hold exists on MacOS. You're confusing it with iOS.
Windows is better for gaming, but that doesn't matter to everybody.
The external keyboards were never so bad.
This dev sure is not only looking at their in-house toolset. I'd say that that is a good thing.
Not to mention throwing chairs.
IMO he, even moreso than BillG, was the animus behind the insanely cultish POV that MSFT had for a long, long time. As recently as 2009, working there led otherwise smart people to say really dumb things for, I guess, political reasons.
I'm in the project management space. We have a product that compliments Project Server, and early on we did lots of joint deals with MSFT's Proj Server unit. Even well after the introduction of the iPhone -- which, for most phone makers, was a serious wakeup call about what you could do with a phone -- they acted like it was a personal insult every time they saw a professional associate using something other than Windows Mobile. "Get one of these! It's just as good!"
Keep in mind that, in 2009, WinMo was a complete dumpster fire. App availability was awkward (no built-in stores yet), but there were MONSTROUS gaps in capability in the devices out of the box. For example, the native mail client couldn't do IMAP. But sure, it's "just as good".
iPods -- which were really ubiquitous -- set them off, too. And if you mentioned having a PlayStation, they'd want to know why you didn't have an XBox instead. They had "amnesty barrels" you could throw away your non-MSFT tech in. It was really, really, really goofy and rah-rah and honestly creepy.
You notice how, today, MSFT actually understands they're part of a diverse computing landscape? Sharepoint actually works on non-MSFT browsers, for example. Office 365 runs like a champ in pretty much ANY decent browser, on any platform. I can run a real iOS build of Office on my iPad, and the Mac version is really great.
ALL OF THIS is post-Ballmer.
All of this is post losing the top position. It not possible to infer that the behavior won't be the same if the get to the top again.
he's probably fine with everything.
I was hoping GirHub wasn't actually a typo, but a funny internal name.
[1] https://github.com/microsoft/CBL-Mariner/blob/1.0/toolkit/do...
The bulk of this repo are spec files which define dependencies and how to build/incoporate, and call out dependency licenses.
The actual output of this build would still have all the proper GPL goodness intact.
E.g. you can develop closed source code that runs on top of the Linux kernel.
With separate files, the ability to download and replace them individually is a big win. Also, I can use terminal tools on them which is great for automation.
Dconf complements it: https://wiki.gnome.org/Projects/dconf and dconf-editor is even similar to regedit.
For system settings... that is a bit more complicated.
There is a standard and it's minimal:
- config files are text files - # indicates a comment
Why standardize further when the types of programs that require config files run an extremely wide gamut? Types of programs can be as diverse as web servers, graphic editors, kernel modules, networking programs, etc. Each are vastly different. I don't need to wait for, worry about, or try to install an updated registry processor that knows about new object types. Better to build it into the program or rely on a library. Why change the entire system of configuration storage just for one new type of program?
And text files are awesome for another reason: With the ability to comment config files you can understand any format - as well as include notes and conveniently have documentation where you need it.
Also: You can't use git or other versioning to backup your registry keys and rollback to previous versions.
It’s technically the fault of the program, not the registry. But culture and ecosystems matter, and by-and-large, Config in files is usually much more concentrated.
2. Related to (1), it is very hard to just move settings from one machine to another. How do you export your settings related to program X in order to use it on another machine? I keep my Linux config files in a git repository - I can easily track history and clone it to new machines. What’s the registry equivalent?
3. It is incredibly slow. When I still used windows, if I needed to do some registry editing, I would dump it to a text file, edit and then import the edited keys. That took about 1/10 of the time doing the same took in ResEdit.
Meanwhile OS X or Linux don't suffer from this and working with applications is a lot more "streamlined". As I said, this is just a slightly above average skilled end-user perspective.
I should research what key-value database libraries I can use as a cross-platform registry-like storage format that's more resilient to app or system crashes.
The place where programs put their config in Windows Registry is as if not more idiosyncratic.
Fairly horrific to use, but I always appreciate unorthodox designs in operating systems. They’re exceedingly rare these days.
Also, it allows the use of git to track changes on config files and even replicate them across hosts.
etckeeper for /etc is wonderful.
On my rockpi4, I simply plugged it and instantly I've got a terminal on my wall. It is an ARM machine. That's the HUGE advantage of having a driver in the kernel: it will work on every architecture the code can compile. That was just the same experience with my usb wifi dongle, with my wacom tablet, with an epson multifunctional (I had to apt-get install escpr, but it is a single command), samsung printers... Some of these drivers are in user-space and not in the kernel, but it worked flawlessly in more than a single arch. That is impressive.
But I do admit I envy the number of drivers for desktop gadgets that are compatible with windows. Of course, binary drivers are only interesting you use a single arch.
On the contrary I wish Windows shipped with busybox, so that it would be easier to run scripts with some bashisms portably.
If you're looking for arrays, you will be sorely disappointed AFAIK.
That’s not to say powershell is perfect but on the whole it’s a lot easier to find the thing you’re looking for, and you don’t usually have to wade through SO snark to do it.
Disable/remove the file system filter drivers and the performance issues largely disappear.
In general NTFS doesn’t do well with lots of small files because opening files is expensive compared to ext4 (dramatic oversimplification). This shows up in random places where very little actual file reading/writing is happening for each file, like yarn, docker, installing video games, etc.
I'm aware of their claim about using Group Policy to remove the limit but I've never used GP in order to know its sharp edges for my gaming computer
0: https://docs.microsoft.com/en-us/windows/win32/fileio/naming...
Office does its own thing and doesn't leverage MAX_PATH. No idea why.
Stable features that are visible from user space? That would be extremely surprising.
> it's buggy, it's insecure as hell
It's really not. It has bugs, even security bugs, but no more than any other modern kernel.
> there no test framework.
https://www.kernel.org/doc/html/latest/dev-tools/testing-ove... plus assorted fuzzing and integration testing
If Microsoft feels competition from Linux, it makes more sense for them to allow hosting of Linux as a user-space application on their platform, rather than have a user migrate away.
Why put money into the kernel beside that of a Linux Foundation member?