OpenBSD 7.3
openbsd.org
openbsd.org
I've been able to find and fix way more app bugs, than when I ran my software on other OS'es
Somewhat related, for Minecraft (Bedrock, C++) we compile with a ton of different tool chains and I really appreciate Clang versus MSVC for how strict the compiler can be (even with /-permissive).
Personally, a different userland and directory structure usually also beats out Linux-isms.
> Fixed ed(1) to print bytes read/written and the ? prompt to stdout, not stderr.
You can expect it to be there.
Most linux distros (and most BSDs afaik) are not unix certified.
MacOS is, for that matter.
It is true that all certified Unix systems follows POSIX, but it doesn't mean that non-certified systems are forbidden to follow POSIX. Most Linux distributions have ways to turn to 98% compliant, and BSDs have always strive to follow POSIX.
Weird fact: POSIX was actually named by RMS.
They are making their operating system to the design they like best. Some of it happens to coincide with what POSIX asks for, but it is merely coincidental.
I don't know much about the process behind POSIX/SUS, but I can understand how OpenBSD developers wouldn't be super enthusiastic about POSIX compliance if they felt their input was falling on deaf ears.
FWIW, I did use the SUS as my main reference when writing a few hobby projects, and OpenBSD gave me no problems whatsoever. macOS, on the other hand, which is a certified Unix, did not support barriers at the time (that was ~10 years ago, I have no idea if Apple added support since). (I know barriers are optional, but come on.)
setting TERM=vt100 (with a “reset” for good measure afterwards) usually works for most if not all terminals nowadays
Kids these days and their 'everything is a vt100'. Perhaps true nowadays, but certainly not always (looks at his HP700/96).
And even vi gets fixes these days (Fixed handling of escaped backslashes in vi(1) ex_range).
6.8 was released Oct 18, 2020. (OpenBSD's 25th anniversary)
> Personally, a different userland and directory structure usually also beats out Linux-isms.
I just upgraded from 7.2 with sysupgrade then pkg_add -u and it worked perfectly without any intervention from me. In the past I remember it needing a bit of tweaking and finger-crossing. Bravo OpenBSD!
[1]: https://research.exoticsilicon.com/series/pinephone_openbsd
There's no suggestion being made here, directly or implied. I'm asking because I have no experience with .NET and am for the most part unfamiliar with both it and Mono, but my colleagues recently spent a fair bit of time to "de-dotNETify" a large chunk of our platform and move it towards running entirely on Mono, and I figured they knew what they were doing.
Anyways, as dvzk has mentioned, Mono is a completely separate project and is not a replacement for current dotnet. Last time I checked, an experimental FreeBSD port was available, but MS doesn't seem to care very much about any of the BSDs.
msbuild, the toolchain still used by Mono, has also been widely replaced by dotnet (CLI).
It's still (decreasingly) common to use Mono for cross-platform development, especially for Unity, which hasn't yet transitioned to .NET >= 7.0.
The original .NET platform is now called .NET Framework.
.NET Framework was ( and is ) only available for Windows. Mono is an Open Souce project to implement a cross-platform implementation of .NET Framework. In addition to MacOS, Windows, and Linux, Mono targets iOS, Android, and WASM.
Microsoft released a second .NET platform alongside Framework and called it .NET Core. Unlike Framework, Core is cross-platform, and targets Windows, Linux and MacOS.
After .NET Core 3.1, the “Core” was dropped from the name. There has been .NET 5, .NET 6, and now .NET 7 but these are all just newer versions of .NET Core.
.NET Framework is still supported but there has not been a real release in several years. Framework is stuck at version 4.x and, since .NET 5, there is really one version of .NET again ( the descendent of Core ).
As Mono implements, .NET Framework ( not core ), it still implements .NET 4.x, like the “real” .NET Framework does. Mono “only supports C# versions <= 9.0 (via Roslyn), also 2-3 years old” because those are true of the “real” .NET Framework as well.
.NET Core ( dotnet at the CLI ) has replaced .NET Framework and ( by implication ) has replaced Mono as well. That is what I think the post above is trying to say.
Except, while it is true that the “real” .NET Framework has been replaced by .NET 5+ ( by .NET Core ), Mono has not been fully replaced.
Above, I said that .NET Core targeted Windows, MacOS, and Linux. It did not target iOS, Android, or WASM ( Blazor ). Well, .NET 7 targets all those platforms. How? Well, for Windows, MacOS and Linux it uses the original .NET Core runtime. For iOS, Android, and WASM it uses the runtime for Mono!
So, Mono is alive and well inside every version of .NET since 5. It will still be there in .NET 8 as well.
That said, when people say Mono, they mean the implementation of Framework released by the Mono Project. That version, as the post above implies, is pretty dated at this point.
dotnet build (from the modern .NET CLI) can compile .NET SDK projects that target legacy Framework versions. A csproj with a .NET.Sdk reference can use a TargetFramework of net48 or lower.
dotnet build times are an order of magnitude faster than Mono’s msbuild command, and migrated projects also receive the recent dotnet toolchain improvements (like automatic nuget restore, among many others).
Unity projects sometimes use dotnet's csc, even when the compiled libraries are executed with the Mono .NET (Framework!) 4.x runtime.
The official mono project is no longer under active development since the acquisition of Xamarin and the reassignment of core Mono team members to .NET Core.
Microsoft’s zombification of Mono by lifting code into .NET doesn’t suddenly make it alive. We’re not going to someday get a .NET 8 reimplementation inside Mono.
https://github.com/dotnet/runtime/issues/14537 700 comments
https://github.com/dotnet/runtime/blob/main/docs/workflow/re...
https://github.com/dotnet/runtime/issues/71338
https://github.com/dotnet/runtime/blob/main/docs/workflow/bu...
Virtual machines for non-openbsd guests? That's the only thing blocking me to fully move to openbsd.
It kind of makes sense to expect 32 GB to fit every process on a desktop. But is that the main use case of OpenBSD? It would seem that the main use case would lean towards servers instead?
https://man.openbsd.org/release#2._Build_and_install_a_new_k...
(Monasteries are beautiful – still won't choose to live in one!)
Some newer wifi (iwx at least) work at higher speeds, but I believe this is mostly due to hardware functionality being moved to firmware. 802.11ac should be supported, but I haven't followed closely enough to know how well and in what drivers.
Sorry for my lack of proofreading, this was not written correctly. Functions that were formerly handled in software drivers are now being handled in firmware by many wireless NICs.
I already upgraded my very old i386 (R51e), no issues and very easy. I am getting some mystery core dumps, will look at that later. I suspect the new "Permissions (RWX, MAP_STACK, etc.) on address space regions". but only guessing :) On the i386 I am planning on using a new "old" disk since the old disk is getting tight. Then I will worry about the dumps after an install.
edit: Fully updated to 7.3 on amd64, no issues all working perfect. Again easy no no manual configs for me.
see OpenBSD
I remember looking for info on FreeBSD versions and wondering what the heck RELENG was.
[0] https://www.openbsd.org/papers/asiabsdcon2009-release_engine...