Traveling salesman and other discussions.

You'll be surprised at how much computing power it takes to solve the Traveling Salesman problem... in places like Atlanta, GA or Shanghai or Rio de Janeiro...
As a computer scientist I can ensure you to be able to solve a middle class TSP-Problem faster with an Amiga 500 by using optimized version of Kuhn-Munkres-Algorithm than by using other methods on a HPC-Cluster.

Say, 'middle class TSP-Problem' consists of a matrix of size of little less than 138 Megabytes to fit into max of Amiga RAM without using swap. 138MB of node edges is a lot ... believe me! That would be a nice 'proof of concept' research project, wouldn't it be? :-/;)

Once upon a time, there was Windows NT 4 - best Windows ever: It was stable and contained no home calling spyware. Ok, there was a lack of security. Hey, but it is Windows. But it was better than DOS 6.22, right? :-/ Right?! :what:

Then Steve "Monkeyboy" Balmer and Bill "Butthead" Gates had spamed that much crap propaganda about how good their new Windows-💩 is: 1, 2, 3 ... (n-1)-times. Micro$oft products' quality is equivalent to the joke about standards:
"How many Micro$oft enployees do you need to change a broken bulb? - None, because darkness is declared to be new standard by Micro$oft."

Personally I think Micro$oft is a lie and greed driven company with one focus: to force dependency to earn more profit, but delivering nothing more than 💩. Stealing ideas, selling as own. And so on .... and so on ...

Today, Micro$oft makes business with software others wrote ... hmm ... how was that ... with DOS again? Today ... Azure ... Linux ... Github...?

Once, Micro$oft advertised Linux as cancer. Today, Linux really turned into sort of cancer. At least, since amazon started to fall in love with Ubuntu. Yes, Mr. Richard Stallman, bye Linux. For me: SuSE is dead, Debian is dead (as it's initiator), Ubuntu is dead. But Micro$oft, tell me: "Today, is it love?"

Apple seems to have victim symptoms - driven by greed, of course. In the begining, Apple was (really) different regarding product quality. It was "sort of better" than Micro$oft.

But Apple's 'OSes' - even it's base is BSD - turned into optically orgasmic over-engineered security-Swiss-chees-💩 by time.

And there we are: We started with Unix (mainly thanks to those guys: Ken Thompson, Dennis Ritchie), we end-up with Unix.

Sorry, Linus. Linux was good, but since every script kiddie, who installed Linux and generated code for it to call himself hacker, turned Linux into SPAM - well, in my eyes, Linux is cancer-spam with Micro$oft-DNA.

I don't support greed and lies, I love stability and reliability. Here I am, FreeBSD!
 
Sorry, for offtopic, but ....
[..]
  • No one runs production workloads on FreeBSD anymore.
[..]
There are companies, who would run vanilla FreeBSD, but there seem to be too less companies offering payed support for FreeBSD. :-/ :what:
Most companies demand support by vendor, another (limited) company. No support, no deal. Establish "FreeBSD Inc.", and offer support. But you will need the OK of the foundation, I guess :-/

In general, I think there are companies, who run FreeBSD in production.
On the other hand, i.e. Isilon is FreeBSD based and is offered by Dell who sells it to companies running production workloads on it.
 
In general, I think there are companies, who run FreeBSD in production.
lloyd was referring to the FUD surrounding FreeBSD that can be found on the internet. Of course there are companies that use FreeBSD, even a couple of really big ones (Netflix is a prime example). It's just not that visible to the "untrained" eye.
 
Yes, you can read a lot 💩 on the internet... Yeah, I know about netflix. I read it last year. As far as I know lots of ISPs also use FreeBSD. FreeBSD rules some embedded hardware, some devices for science labs, and so on ... But as I said: Some companies do not go FreeBSD, because they are scared without professional support. I know one of that companies ... ;) No more comments...
 
Yes, you can read a lot 💩 on the internet... Yeah, I know about netflix. I read it last year. As far as I know lots of ISPs also use FreeBSD. FreeBSD rules some embedded hardware, some devices for science labs, and so on ... But as I said: Some companies do not go FreeBSD, because they are scared without professional support. I know one of that companies ... ;) No more comments...
It may come as uncomfortable news, but one area where Microsoft and Apple has Linux and BSD's completely beat is frankly upgradeability of software. Right now, I'm in the process of figuring out how to use Poudriere (ports-mgmt/poudriere) to be able to ugrade just KDE, as in download just the up-to-date tarballs, compile them with settings I like, and not break anything in the process. It takes a LOT of reading, trial-and-error, and I'm nowhere close to replicating the upgradeability and convenience provided by Windows (And I never bothered to learn how it's done on Apple). So far, I discovered that on FreeBSD, it takes having your own build environment, a LOT of fiddling around with config files, and even recovering from mistakes takes having a handle on ZFS and boot environments. For me, it's a fun process (that I do on my machines at home), but at some point you do need a way to apply a security patch without having to know how to recompile the kernel (which can be a very long process, as we all know). Sure, any sysadmin worth his/her salt should have a good handle on all that, and be able to apply industry's best practices, but they shouldn't be tying up the users' machines for hours on end just to do stuff in line with their personal philosophies. Users have their own stuff to do, too.
 
one area where Microsoft and Apple has Linux and BSD's completely beat is frankly upgradeability of software [...] Right now, I'm in the process of figuring out how to use Poudriere (ports-mgmt/poudriere) to be able to ugrade just KDE
Possibly but if you do a like for like comparison I can guarantee it will be even harder to upgrade Microsoft's UI shell between Windows releases. Or if you wanted to downgrade / upgrade Win32 API, MFC and other native inbuilt Windows frameworks you won't be able to (mostly because they are closed-source). The fact that on FreeBSD we can upgrade such a large component is impressive in its own right.

but they shouldn't be tying up the users' machines for hours on end just to do stuff in line with their personal philosophies. Users have their own stuff to do, too.
You could pay someone else to do this. For example on Windows, you would be paying Microsoft or other proprietary vendor. Unfortunately you will need to pay more on FreeBSD because due to popularity of Windows, many people will be paying so due to "bulk buying" the vendor can do it cheaper than a single company can.

So in short; I absolutely do agree with you that it is more difficult in general to maintain a non-windows install (certainly not click and play). However once put into context, not only is it really not FreeBSD's fault but it is also a pretty decent compromise.
 
Sorry, Linus. Linux was good, but since every script kiddie, who installed Linux and generated code for it to call himself hacker, turned Linux into SPAM - well, in my eyes, Linux is cancer-spam with Micro$oft-DNA.
My personal experience was that Linux was never good. As I have written here before, I started using FreeBSD back in 1995. Just one week before starting using FreeBSD, I had installed Linux on this machine (server) to find out it was a complete crap. There is a saying here that you cannot make a bread out of s***.

Then I turned to FreeBSD to find it is a rich and complete OS. Since that, never found any reason to move away from FreeBSD.
 
Possibly but if you do a like for like comparison I can guarantee it will be even harder to upgrade Microsoft's UI shell between Windows releases. Or if you wanted to downgrade / upgrade Win32 API, MFC and other native inbuilt Windows frameworks you won't be able to (mostly because they are closed-source). The fact that on FreeBSD we can upgrade such a large component is impressive in its own right.
Windows Vista was so bad that there was truckloads of freeware on SourceForge that offered UI enhancements for it, and yes, that stuff was upgradeable. Every component offered a way to check for updates. FWIW, Java and Firefox do that. That's impossible to to do properly on Linux/BSD. As for downgrading Windows frameworks, all you need is an older version of .NET to be available. It's possible on Windows.
You could pay someone else to do this. For example on Windows, you would be paying Microsoft or other proprietary vendor. Unfortunately you will need to pay more on FreeBSD because due to popularity of Windows, many people will be paying so due to "bulk buying" the vendor can do it cheaper than a single company can.
I think that's kind of missing the point. If you want to do stuff 'Just Right' on your personal machines, that's your call. But it's a different matter at work. At work, a user should have access to working equipment in short order. Doing professional quality work on that is a priority. If FreeBSD is the standard stuff to use, do FreeBSD, and have a handle on it. If Windows is the standard stuff to use, do Windows, and have a handle on it. Automotive industry equivalent would be this: FreeBSD is the motorcycle that you tinker with at home, and ride to work. At work, you apply the same skills to make sure the car fleet works reliably, and is quick to fix. Nobody at work wants to switch to motorcycles that you customize - they'd rather use cars, and get the job done. When cars are not enough to do the job, that's when your motorcycle modding skills (FreeBSD admin skills) are called on.
 
My personal experience was that Linux was never good. As I have written here before, I started using FreeBSD back in 1995. Just one week before starting using FreeBSD, I had installed Linux on this machine (server) to find out it was a complete crap. There is a saying here that you cannot make a bread out of s***.

Then I turned to FreeBSD to find it is a rich and complete OS. Since that, never found any reason to move away from FreeBSD.
As desktop OS Linux was fine between 1998 and approx. 2016. yast1 was ok, yast2 was big pain. apt is okay, gentoo (with merge?) was pain: download source an compile everything ... good night. yum is same as apt.
Linux as server OS ... well, maybe webserver ... CIFS ... I mean Linux+Apache/nginx is better than M$ IIS ;) Samba is semi broken on FreeBSD, but working well on Linux.

Linux has been changing FS very often. Default was ext{1?,2,3,4}, indeed. But redhat went btrfs for a short time. I tried btrfs, but only w/r ops, no volume or raid options, because they were instable. btrfs with softwareraid was ok.
Linux+softwareraid+data integrity is pain in the b###. But, linux software raid on SMR disks is okay (even slow). It is not that much pain as people say about zfs+smr. Maybe zfs+smr is good in mirror only :-/

Once upon a time, someone told me about zfs on solaris. It was the time as sun existed. Sun did a great job on solaris, zfs and nfs.

Today I would use Linux only as desktop OS, for Kubernetes (i.e. openshift), hadoop.
Databases, Fileserver/NAS, Router -> FreeBSD (data integrity, stability, security, optimized stacks)

What I miss on FreeBSD is sort of distributed zfs, like maprfs. I know you can use is gluster somehow on FreeBSD. But are there other distributed/cluster FS for FreeBSD?

I want to try nomadBSD for desktop-pc and dragonfly bsd with hammer1+2-fs for server :-/.
 
Windows Vista was so bad that there was truckloads of freeware on SourceForge that offered UI enhancements for it, and yes, that stuff was upgradeable
Arguably FreeBSD has way more UI enhancements (Window Managers). They are also much easier to install. If I recall, the guys behind these Windows themes (Stardock?) had to reverse engineer and hack at (patch) the theme engine to allow third party customizations.
As for downgrading Windows frameworks, all you need is an older version of .NET to be available. It's possible on Windows.
I did explicitly mention "native" frameworks (Things that the OS and Microsoft actually use internally) to discount Microsoft's Java clone. For example on FreeBSD it is very easy to install different versions of Java / Python / Mono, etc. Likewise the .NET framework isn't actually a core OS framework (It isn't even really a framework any more than Python is).

MFC, Winsock, Shell32, User32, Advapi32 are examples of things that you certainly won't be able to downgrade/upgrade at will. Where Microsoft does win is that these APIs rarely change so it gives great stability. Obviously Linux is crippled with constant mutations like systemd and Wayland. Whether it is better or not is really not important. What is important is that the API it is not stable unfortunately.
If FreeBSD is the standard stuff to use, do FreeBSD, and have a handle on it. If Windows is the standard stuff to use, do Windows
Well kinda. If Microsoft owned FreeBSD, they would make sure that it would always be the "standard" stuff to use. Even if it isn't. So you can't trust that. There is no such thing as a standard thing. Usually that just translates to "the thing with highest marketing budget".
 
FreeBSD could use something like Win32 or Cocoa. it’s actually not that bad in terms of consistency at least.
I absolutely get satisfaction that knowing under all the layers of shite that Microsoft piles on-top of its OS, the good old classic Win32 API that I learned as a kid (Beep() and Sleep()!) on Windows 3.1 (Win32s) is powering it all almost unchanged.

I do agree. I really am quite jealous of the consistency of Win32 in terms of the graphics / windowing layer. I think Wayland is only going to make things worse for us in the future. We won't adopt it; software will become a mess for a couple of years and then we will all be back to X11-like emulation layers.

Whilst I have only dabbled with Cocoa, if it is indeed consistent then they will be on to a winner. Especially if Swift can run its course and Objective-C takes the reins again. From what I have heard. Apple is well maintaining their Obj-C support but keeping it very low key.

Edit: Oops, just realized this is in the intro thread! Please ignore my rambling noise!
 
For example on FreeBSD it is very easy to install different versions of Java / Python / Mono, etc. Likewise the .NET framework isn't actually a core OS framework (It isn't even really a framework any more than Python is).
Unlike under FreeBSD, under Windows, t's very easy to ask Java / Firefox / etc. to monitor for updates, and have them properly installed without breaking anything. Try recompiling www/firefox, it will want to update truckloads of other stuff. I tried to ask Firefox to monitor for updates under PC-BSD - and that failed. Using PC-PSD's PBI manager was OK, but the internal updater did not have the proper permissions. And maybe it shouldn't have them, after all - that's a famous security hole on Windows.
Well kinda. If Microsoft owned FreeBSD, they would make sure that it would always be the "standard" stuff to use. Even if it isn't. So you can't trust that. There is no such thing as a standard thing. Usually that just translates to "the thing with highest marketing budget".
I'd like to clarify: By "standard stuff" I mean "whatever the workplace uses". An auto industry equivalent (I know I'm overusing that crutch, but still) would be that Hertz rents Fords, Avis rents Chevys. Nobody cares if they both use Goodyear tires.

I love a good debate, though, so I'll add this: I personally see Wayland making better progress towards maturity and official adoption by FreeBSD.
 
It may come as uncomfortable news, but one area where Microsoft and Apple has Linux and BSD's completely beat is frankly upgradeability of software.
Honestly, I don't have the problem. For me, FreeBSD has the easiest upgrade mechanism of all OSes. That's because I don't try to compile things that don't need compiling. All I do is freebsd-update {fetch,install} and pkg {update,upgrade} every few days. For a while I had a small number of things (three or four?) that were installed from ports, and then I had to go to /usr/src and issue some make command that I've already forgotten. But these days, I find that pre-compiled packages do everything I need.

One crucial difference: I only use FreeBSD for servers. Take any tool, like an OS, out of its comfort zone, and use it in an environment that it is not really intended for, and things get hard.
 
Honestly, I don't have the problem. For me, FreeBSD has the easiest upgrade mechanism of all OSes. That's because I don't try to compile things that don't need compiling. All I do is freebsd-update {fetch,install} and pkg {update,upgrade} every few days. For a while I had a small number of things (three or four?) that were installed from ports, and then I had to go to /usr/src and issue some make command that I've already forgotten. But these days, I find that pre-compiled packages do everything I need.

One crucial difference: I only use FreeBSD for servers. Take any tool, like an OS, out of its comfort zone, and use it in an environment that it is not really intended for, and things get hard.
yeah, for me, I prefer ports, because pre-compiled packages are generated using defaults that don't quite work for me. I think FreeBSD does have the potential to be a usable desktop if I put in the effort it takes. I don't see that as 'being out of comfort zone' for FreeBSD.
 
Linux has been changing FS very often. Default was ext{1?,2,3,4}, indeed. But redhat went btrfs for a short time.
For a single-node single-disk file system without RAID and without checksums, ext4 is very good. I personally don't run SMR disks myself, but AFAIK ext4 is de-facto the only commonly available choice for SMR.

On the other hand, I think every storage system that's more than temporary files absolutely needs RAID and checksums. At that point, ZFS is the only commonly available choice. And that is the single strongest argument for FreeBSD: Of all commonly available OSes, it is the one where ZFS seems best integrated and supported.

I tried btrfs, but only w/r ops, no volume or raid options, because they were instable. btrfs with softwareraid was ok.
Btrfs started out as a smart idea. Like many smart ideas, it died on the hill of correct and supported implementation. While Ohad's idea of a modifiable B-tree with snapshots was great, the actual implementation was de-facto a machine to create data loss. And then, due to some corporate interest and people's ego conflicts, Btrfs got shipped to the masses as the default file system WAY too early, which ruined its reputation. So today, I think 99% of all Linux installations are back to running ext4, usually on top of various interesting storage layers.

Today I would use Linux only as desktop OS, ...
But note that Linux has a gigantic market share among servers, in particular in the cloud.

What I miss on FreeBSD is sort of distributed zfs, like maprfs. I know you can use is gluster somehow on FreeBSD. But are there other distributed/cluster FS for FreeBSD?
Cluster file systems are typically used on supercomputers. If you look at the Top500 list of supercomputers, you will find that Linux has 100% market share there: No single supercomputer among the 500 largest in the world runs anything other than Linux. Now, some of the largest compute clusters in the world are not on that list, because they are hidden inside companies from the FAANG list. But for those, nearly all also run Linux, with two smallish exceptions: A small fraction of Microsoft's cloud machines run Windows, and a small fraction of Netflix' machines run FreeBSD (but those are not clustered AFAIK).

The reason it's really hard to find cluster file systems on FreeBSD is simple: there is no demand for them.
 
Whilst I have only dabbled with Cocoa, if it is indeed consistent then they will be on to a winner. Especially if Swift can run its course and Objective-C takes the reins again. From what I have heard. Apple is well maintaining their Obj-C support but keeping it very low key.

i think Swift was a pre mature move IMO. Cocoa is a huge objective-c API, and expecting people to rewrite their stuff just to maintain relevance with google hipsters doesn’t bode well.
 
Cluster file systems are typically used on supercomputers. If you look at the Top500 list of supercomputers, you will find that Linux has 100% market share there: No single supercomputer among the 500 largest in the world runs anything other than Linux. Now, some of the largest compute clusters in the world are not on that list, because they are hidden inside companies from the FAANG list. But for those, nearly all also run Linux, with two smallish exceptions: A small fraction of Microsoft's cloud machines run Windows, and a small fraction of Netflix' machines run FreeBSD (but those are not clustered AFAIK).

The reason it's really hard to find cluster file systems on FreeBSD is simple: there is no demand for them.
What about Isilon?
 
Can't believe I'm participating in hijacking a thread like this, but still: What about ZFS? with its ability to 'add disks to a pool', ZFS is nicely suited for clusters (or, and the total capacity of (2^128 bytes being just the max size of one zpool, and a given system supporting up to 2^64 zpools) far exceeds what Isilon's OneFS has to offer! and it's usable on plain, vanilla FreeBSD of the highest quality. :p
 
Isilon is not accessible as a cluster file system: Instead, a group of Isilon servers create a file server, and clients connect to the Isilon servers using the protocol du jour (NFS, CIFS, ...). So as seen from the file system client, Isilon is just like buying a NetApp, except that the Isilon "machine" uses many nodes internally. But the Isilon server uses a cluster internally, and interconnects their servers and disks with an internal cluster network. And the way the Isilon system is architected, the workload within their server cluster is spread very nicely.

Just using ZFS is even less a cluster file system: In ZFS, every disk can only be used by one server at a time. You can build active/passive systems if you have multi-ported disks (for example external SAS enclosures that can connect to multiple servers, or using iSCSI disks as the back-end), but there is no cluster at run time. And there is no internal load balancing: If you have for example three ZFS servers, one serving /a, the second one /b and the third one /c (perhaps with failover, the disks that form the pool that handles /a is physically connected to servers 1 and 2, but currently being served from server one), and then there is an unbalanced workload (for example all IO requests right now are on the /a file system), then the 2nd and 3rd server will be idle, while the 1st is overloaded.

In an actual cluster file system, the file system runs on the clients, and caching and file system decisions is done on the client. The clients then get their data and metadata using some technique; sometimes directly from network-attached disk devices (works good with iSCSI), sometimes from a second SAN (this used to be done in the old days of FiberChannel), sometimes from data-/metadata- servers using other protocols over the network.
 
Back
Top