Gnu/Linux Considered Harmful - Page 1
Forum section: electronics / general

author: rhb
author_rank: Super Contributor
timestamp: November 12, 2018, 11:33:01 pm
content: If you do not recognize the allusion in the subject line or know what an allusion is, *please* just skip this. I don't really have the patience to deal with the rampant ignorance of millenials. I fully realize that it is not your fault. You have been conned by an educational system that is only interested in serving the interests of the faculty and staff. But it is a major impediment to communication.I have used more different non-*nix operating systems, more different Unix versions and more Linux versions than I can count without spending a day or two counting them.My normal environment has been SunOS/Solaris/OpenIndiana for 26 years. I stick with it because it has a tradition of being very conservative about change. The traditional Unix mindset.Back in the days of the workstation wars, I ported a 500,000 line VAX FORTRAN package from VMS to SunOs, Intergraph CLIX, SGI IRIX, DEC Ultrix, HP-UX and IBM AIX. Except for SGI and DEC everyone had a different processor and SGI was big endian while Ultrix was little endian. In those days my .login and .cshrc figured out what I was on and interposed a compatibility layer to deal with the variations. I also dealt with strange things like Intel i386 and i860 Hypercubes, Alliants and other now long dead systems.Gnu/Linux has become just like Windows. Every release means a new UI, new options to old commands and the removal of old options for those commands. So that complex admin script you wrote no longer works and you're lucky if it doesn't trash your system after you do an update.We now live in a world where, despite a largely shared codebase, every version of Linux uses a different boot initialization, different UI and completely different utilities, often with the same name, but completely different behavior. The early Gnu programmers were traditional Unix users. Adding a feature was OK, but altering existing options, syntax and semantics was "simply not done".Now the Gnu/Linux crowd have no more qualms about changing *everything* than Microsoft. Heaven help you if you do an accidental update such as Win 7 to Win 10. If your system still boots you're facing several months of relearning basic stuff.I'm working with embedded dev tools and finding a Linux distro that all of them support is simply not possible. After messing with VMs I'm going back to just swapping hard drives.It is the most horrible impediment to productivity and general waste of time I can imagine.I have read extensively the history of computing from the 1930's and 40's to date and was a player in it for the last 40 years. I have seen the same mistakes repeated so many times it fills me with despair.I don't care *who* your are. You are *not* the smartest person in the room. Human knowledge at this date is far larger than anyone can absorb.So *please* if you work on programs which have their roots in AT&T/BSD Unix, don't break existing behavior.

author: bd139
author_rank: Super Contributor
timestamp: November 12, 2018, 11:53:12 pm
content: LOL I have had that rant a hundred times in the last decade. Although I think the root cause was actually GNU itself.Recently the downward spiral started with Freedesktop and the whole gnome3 fork crap. Then Redhat and Poettering came in and took a dump in the middle of the init process under the guise of modernisation and left us with Windows NT event log, service manager with DCOM tying it all together badly. Then everyone went container and cloud mad and now it's all bare metal Linux kernel with static linked binaries and sharecropping with the cloud vendor of the hour (which goes down more often then my sister-in-law's underwear) all orchestrated with a pile of shit written by some dudes who correctly answered how many tennis balls can you get in a school bus.But let's got a little further back. This stinker started before all this with GNU products. What happened is someone had a userland (Stallman) and someone had a Kernel (Linus) and glued them together with poop, straw and sticky tape. GNU products are generall buggy as hell, sometimes absolutely crazily badly implemented and have so many incompatible extensions that Stallman's vendor lock in comments are nothing but raging comedic hypocrisy.The FreeBSD and OpenBSD users (and the few remaining NetBSD users) are sitting there watching the world burn around them, carefully extracting themselves from this mire through using decent engineering and slow and methodical removal of GNU and Linuxisms.The morals are "think before you do" (this is how GNU got where it is now) and "don't let one vendor hire the entire ecosystem's developers" (this is how Redhat got where it is now).I hope IBM does its usual job with RH and leaves us with FreeBSD on the server where we can have ZFS, MAC, ethernet drivers without excrement splattered all over them and cohesive system utilities, recovery and manual pages.This drunken rant was brought to you via cheapo wine

author: djacobow
author_rank: Super Contributor
timestamp: November 13, 2018, 12:03:52 am
content: I feel you, but most of the thrashing seems to be on the graphical doodad side of things. I keep my head down and keep to writing CLI software that reads and writes from files and sockets, and life proceeds mostly smoothly.And I'm almost afraid to say this, but I never liked the rc style init systems, and think that systemd is mostly ok. There are things about it that sucks, such as weird access to logs, but how easy it is to properly daemonize just about anything is very pleasant.I do agree about VMs, though. I find them much more trouble than they're worth for a desktop system. I bought a doohickey for my puter that allows me to turn on or off the power for a bunch of hard drives with real clicky switches. I just select the drive (and consequently, OS) I want to use today, and I don't deal with VMs, or dual booting for that matter. Simple and easy.PS -- this is also the reason I don't use IDEs. All the millenials think it's insane that I go without the niceties that IDEs provide (and there are some niceties, indeed) but I just got tired of learning one after another for what seemed like no reason at all. I'm going to stick with vi and make until you pry them from my cold, dead hands. (Actually, I do use vim, so I guess I'm not a purist!)

author: nctnico
author_rank: Super Contributor
timestamp: November 13, 2018, 12:10:50 am
content: Quote from: rhb on November 12, 2018, 11:33:01 pmI think you are describing the first 2 seconds of GNU / Linux here. Linux is notoriously bad at keeping existing behaviour. If you want to have any chance of creating a Linux application which works on any distribution you have to ship it will a full set of libraries (or link statically) otherwise it simply won't work. Look at Firefox for example. It comes with a full pack of libraries. The whole concept of shared libraries is flawed from the start and it just wastes space instead of saving it.

author: rhb
author_rank: Super Contributor
timestamp: November 13, 2018, 12:17:29 am
content: Much of the rant was related to the surplus of system update utilities, all alike, but with different names, options, etc.

author: djacobow
author_rank: Super Contributor
timestamp: November 13, 2018, 12:35:09 am
content: Quote from: rhb on November 13, 2018, 12:17:29 amEvery time I run apt (that's the flavor of the day for me) from a non-interactive terminal, I get the follow warning:Code:WARNING : apt does not have a stable CLI interface. Use with caution in scripts.And I think to my self the same thing every time: "F*k, you! You folks need to pull yourselves together and iron that the f*k out because the rest of us need to get on with our lives and do not have time to babysit goddamned package managers."Seriously, who is responsible for that sh*t and what is wrong with them?

author: nctnico
author_rank: Super Contributor
timestamp: November 13, 2018, 12:59:39 am
content: Quote from: djacobow on November 13, 2018, 12:35:09 amProgrammer's remorse: a piece of software can always be improved! Some programmers just can't stop working on a piece of software.

author: rjp
author_rank: Regular Contributor
timestamp: November 13, 2018, 01:21:12 am
content: I mostly stick to debian/armbian for headless machines that require consistency or stability.dont have anything to complain about, I consider it a feature that the different distro's experiment with different things and if you want stable, pick the distro that chooses to be stable.

author: BradC
author_rank: Super Contributor
timestamp: November 13, 2018, 01:33:52 am
content: Quote from: rhb on November 12, 2018, 11:33:01 pmActually while I pretty much agree with the gist of your rant, I don't think you could be further from the truth with regards to the quote above.Windows is a single monolith that in most ways values backwards compatibility over pretty much everything else. Sure over the last 10 or so years they have progressively altered and supplemented their GUI API, but still maintaining backwards compatibility.Various Linux distributions and associated software stacks have exploded in different directions, completely disregarding backward compatibility (or even compatibility between stacks). People jump on whatever the latest "shiny thing" is with complete disregard for the way things have been done in the past with the consequential issues associated with having done it that way for a reason.Harry Spencer said it best : "Those who do not understand Unix are condemned to reinvent it, poorly."As far as Linux goes, I'm a bit of a newbie. I started with Debian 2.x in 1995. Since then I've dselect upgraded, then apt-get dist-upgraded my way to the last-1 distribution until the point where Debian chose systemd (not an argument I want to get into). Until that point everything I ran had a relatively stable interface. I swung across to devuan and apt-get dist-upgraded my way across and things continued to run the way I always ran them. You *can* find stability, you just have to go looking for it.My conspiracy theory of the day is the churn is generally promoted by the companies that make their money selling support. If things were stable and just worked they'd not have to sell as much support, so it's in their best interest to keep things brittle, fragile and a moving target.

author: rhb
author_rank: Super Contributor
timestamp: November 13, 2018, 01:35:01 am
content: As I see it, there are two problems:No one takes responsibility for anything. They just want credit. The Mr. Rogers "you're special" generation.Almost no one working on any of it has any knowledge of or experience with Unix or *any* other system except Windows and OS X.The Gnu tools were immensely valuable 20 years ago, especially if you had to deal with everything anyone made. I threatened to epoxy my NCD to the desk if they didn't keep giving me new hardware with new keyboards.Now you have a bastard version of Larry Wall's configure. It was needed then, but now that justification is gone. My biggest complaint is Octave which I used for many years. It cannot be compiled on Solaris because the autoconf crap is so screwed up. At one time, the bug report form listed Windows, Mac, BSD and Linux. As far as they were concerned there were *no* other operating systems. The complete opposite of Larry.I spent over a week full time trying to make Octave compile and failed. Not because of issues with the source code, but because the build was broken and Octave blamed autoconf and autoconf blamed Octave. R is as large and complex as Octave and it built fine. But the Octave folks would not take ownership of the issue. I'd known John Eaton for a long time and was extremely unhappy with the new attitude.For context, I had three contracts which involved taking over an aggregate total of about 2 million lines of code that would not compile as given to me and fixing it. On one contract which was about 750K lines I left for another job after about 3 years at which time I told my supervisor they should delete it all. But I left it all in RCS with very detailed build instructions, a single script did everything. I was quite horrified when a couple of years later I was asked to help them compile it. IIRC they could not even find the source code and hoped I had taken a copy which was something prohibited by my contract terms and hence would never do. They had been bought by another oil company and apparently the IT staff was not very good at their jobs.My big issue in all this is dealing with embedded MCU & FPGA toolchains. So far, I have to use a different distro for each toolchain.Scott McNeally killed Sun with absurd change of control bonuses, so instead of IBM buying Sun Oracle did. Whether Solaris survives is an open question. I don't see the very thin support of Illumos lasting more than a few more years.

author: sokoloff
author_rank: Super Contributor
timestamp: November 13, 2018, 02:47:15 am
content: It seems like most of the heat in this rant is properly directed at the distribution vendors, not at Linux (the kernel) or (most of) gnu utilities.

author: Marco
author_rank: Super Contributor
timestamp: November 13, 2018, 03:42:44 am
content: Quote from: rhb on November 13, 2018, 01:35:01 amWould you say Autoconf is such a mess that it would be worthwhile transitioning to something newer like CMake?

author: thermistor-guy
author_rank: Frequent Contributor
timestamp: November 13, 2018, 04:46:38 am
content: Quote from: sokoloff on November 13, 2018, 02:47:15 amI'm building and using my ATE/calibration system using GNU tools: Octave, gawk, nc, ssh. My system is CLI-based, so I know what's going on, and so it runs smoothly on lightweight hosts like rpis and old laptops. Just recently I've automated much of my testing/calibration process using makefiles (make clean; make config; make run; make postrun; make report). The GNU tools, and Linux, have been a godsend.My focus is thermometry (resistance and optical). Not ready to post any work here yet, but getting close.

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 07:41:32 am
content: Quote from: Marco on November 13, 2018, 03:42:44 amCMake is even worse.Just make. All you need is make. And a clue stick.

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 09:22:31 am
content: How to begin? My journey is similar to yoursI was using Unix systems almost exclusively since 1990 more or less. At work I had to suffer the utterly crappy OS/2 doing software development on it but at the University I used SunOS, later Solaris, and at home I had SCO Unix just because I couldn't afford a Sun workstation. Still it was so much better than using Windows.I remember I had read a series of articles on Dr. Dobb's Journal describing a BSD port to i386.So. In 1994 or so a friend called me so excited. He had just purchased a magazine with a CD attached. And it had a Linux system. He was having issues to install it and he needed help. I always refused to help with Windows issues but of course this was different. Or not.There I went. He had messed up something. As he didn't have any meaningful data yet I just reinstalled everything. And wow, what a crappy experience. His hard disk was small, like 200 MB or less, so it couldn't fit everything. I selected the "choose packages individuaally". And that's where hell broke loose. It prompted me wether I wanted diff, make, and a Klingon font for TeX. All of them were packages in the same class. No "operating system" to choose. I remember I had criticized SCO because TCP/IP was optional, NFS was optional, this was crap on steroids!After an hour answering to Y/n prompts (orders of magnitude worse than inserting 30 5.25 floppies) we had an installed system. Still I was amazed by the level of stupidity. Broken commands such as netstat or ifconfig. Even the System V and BSD camp agreed on them. Not Linux, they pretended to reinvent them. Score so far: crap.A month later another friend purchased an "Yggdrassil" or something like that distribution. Easier to install but I fell on my ass when, as root, I had a look at the environment variables and PATH was like half the 80x24 screen. Crap again.And so, in 1995, I learned of something called FreeBSD. I ordered a CD and I tried it once it arrived. Wow! That was the Real Thing™. Everything was so smooth. Source code installed under /usr/src, neatly organized. Having a friend's Linux system accept 8+ character logins for POP users had required a couple of hours of searching source code in a couple of CDs. It was so stupid, they had turned a CD into a bunch of tar.gz floppy equivalents.At that time (FreeBSD 2.0.5) I decided that it was the way to go. And it still is, of course.Where can I start to describe what's wrong with Linux?Let me describe an example of extremely poor ingeniering done by teenagers in their boiling hormones.Ethernet negotiation issues. There was a time when plugging twisted pair Ethernet (or Fast Ethernet) was a lottery. As a lottery you had a slim chance of winning, and often you ended up with a mismatched connection. Even in the early 2000s I remember there were plenty of mismatches in so many places. What percentage of the Fast Ethernet connections had a duplex mismatch problem? I remember even a Cisco 7200 connected to a Cisco Catalyst switch always malfunctioned.At the end, it was easy to solve. Just force both sides to 100/full and problem solved. On FreeBSD it was trivial. ifconfig interface media 100basetx mediaopt full-duplex.So, Linux? At first you had to fiddle with the source code of the driver and recompile the kernel. A whole surreal experience in which you had lots of useless settings but changing something as important as the equivalent of "maxusers" required editing a */*/*/*/*/*/*/obscure_name.h file. But I digress, so much aggravating idiocy!Later ethtool arrived. But it was still crappy enginnering. The FreeBSD camp had done the right thing. By adding the media selection and negotiation settings to ifconfig (a core OS command) and adding the relevant functionality to the interface definition of a network interface they sort of forced implementors of device drivers to provide all the services. The result was, most network interfaces obeyed it nicely. Linux? ethtool was an additional package. Some interfaces supported it, most didn't. So it was another lottery.So on Linux ifconfig served little purpose beyond setting up an IP address. Oh and it was part of a "package" too!Some people may require an explanation to understand why that's so incredibily stupid, beyond the difference between adding negotiation control functionality to the device interface definition vs not mentioning it and adding a tweaking tool (ethertool) as an afterthought.Besides, this is old History. Mismatch problems are a thing of the past so I am an old grumpy guy complaining of a stone edge problem. Or am I? Remember that poor design decisions will keep biting you over and over, no matter how old they are!Two years ago (yep, that was 2016) I had a problem at work. We were setting up a new "cloud" with Intel 10 GbE interfaces. And for some reason it wasn't possible to use LACP link aggregation with them. It didn't work on FreeBSD (used for storage using ZFS) nor Linux (used as a Xen host). Same problem?So I begun attacking the problem on FreeBSD. A look at the LACP source code showed that it obeyed the RFC. It requires the interfaces to be full duplex. And indeed the code did it fine, before enabling an interfaces as a member of a LACP group it checked the interface status.Code:ix2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500options=e407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>ether 0c:c4:7a:Xnd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>media: Ethernet autoselect (Unknown <rxpause,txpause>)status: activeAnd there it was:mediawasUnknown. Amazing, because media should at least be something informative like:Code:media: Ethernet autoselect (1000baseT <full-duplex>)The funny thing is, the interface worked as a regular interface. Not so surprising after all.Interlude: What does ifconfig do when showing that particular piece of information? It checks the interface table of the OS, soit reflects exactly how the OS sees the interface.A 10 GbE is always full duplex but the OS won't assume it. So, transmitting a packet worked but LACP rightly refused to accept an interface not marked as full duplex.With this information in hand and some suggestions from a FreeBSD committer I was able to chase the problem and identify a spaghetti problem in the Intel driver in charge of identifying the kind of SFP+ plugged. We were using passive DA cables and the spaghetti was confused by a mismatch of vendor specific hacks and the poor dual usage of a variable which was both "manufacturer info" and "interface kind". I was able to fix it so that now it works with DA cables.ifconfig was so helpful I could even read the SFP+ configuration EEPROM.Code:borjam@nvme1:/usr/src/sys/dev/ixgbe % ifconfig -vvvvvv ix2ix2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500options=e407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>ether 0c:c4:7a:Xnd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>media: Ethernet autoselect (Unknown <rxpause,txpause>)status: activeplugged: SFP/SFP+/SFP28 1X Copper Passive (Copper pigtail)vendor: Intel Corp PN: XDACBL3M-C SN: XXXXXXXX DATE: 2016-05-26Class: 1X Copper PassiveLength: short distanceTech: Passive CableMedia: Twin Axial PairSpeed: 100 MBytes/secSFF8472 DUMP (0xA0 0..127 range):03 04 21 01 00 00 04 41 84 80 D5 06 64 00 00 0000 00 03 00 49 6E 74 65 6C 20 43 6F 72 70 20 2020 20 20 20 00 00 1B 21 58 44 41 43 42 4C 33 4D2D 43 20 20 20 20 20 20 43 20 20 20 00 00 00 6100 00 00 00 4D 37 42 30 38 39 37 30 20 20 20 2020 20 20 20 31 36 30 35 32 36 20 20 00 00 00 4220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20This helped a lot. When I finally fixed the problem ifconfig gave a meaningful and informative "media" description.Code:media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>)And once I reached this point LACP unsurprisingly started working like a charmI know this is a bloody long and boring account, but it's a good way to describe the poor design "decisions" (I don't believe they are even decisions, just random and careless behavior) that plague Linux.Does ifconfig give that information on Linux? No.What information does ethtool return? Does it read the OS interface description or does it query the driver, returning information that probably won't match the operating system state? Back to FreeBSD's ifconfig, we have both kinds of information which makes it easy to spot a mismatch.Code:media: Ethernet autoselect (Unknown <rxpause,txpause>)andCode:plugged: SFP/SFP+/SFP28 1X Copper Active (Copper pigtail)vendor: BROCADE PN: 58-1000027-01 SN: CBXXXXXXXXX DATE: 2009-12-11The final photo, after fixing it, was this:Code:ix0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000options=e407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>ether 0c:c4:7a:Xnd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>)status: activeplugged: SFP/SFP+/SFP28 1X Copper Passive (Copper pigtail)vendor: Intel Corp PN: XDACBL3M-C SN: XXXXXXX DATE: 2016-05-26So, why is all this relevant? Because it illustrates good design in the BSD camp and it highlights a poor decision in Linux. These apparently subtle aspects make for a good design or utter crap. I have many examples but I cannot recall them now.The worst thing is: Linux is being used as an example in many OS design courses. Amazingly it was written as an operational alternative to Minix. Minix was conceived as a teaching tool setting performance and functionality aside, while Linux was the opposite. And now the dirty hack has become the teaching tool of choice. To me it's like teaching Excel instead of programming and SQL instead of data structures.I am sure most Linux users will not fully understand the relevance of this example and they will dismiss it as the complaints of a fastidious BSD idiot fanboy.End of rant, congratulations if you didn't fall asleep!

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 09:49:29 am
content: Haha. This is typical experience yes. And when Linux is broken, getting it fixed is nigh on impossible even if you pay DeadRat lots of money. And that doesn't even cover the crap you have to deal with on top of it with sytemd-networkd or even worse NetworkManager.FreeBSD was a bit of a revelation. It just works.Edit: forgot to mention. Had a fun 2 years of hell with Broadcom NIC drivers in a teaming configuration on an HL DL platform + CentOS 6 a while back. It'd just sit there and all network traffic would just stop suddenly every few hours. Eventually we had to stuff an Intel NIC in the box. That worked fine. That was the recommendation from Redhat as well... we don't know how to fix this so buy an Intel NIC. Sounds like 1998 again!

author: nctnico
author_rank: Super Contributor
timestamp: November 13, 2018, 10:02:46 am
content: Quote from: borjam on November 13, 2018, 09:22:31 amNowhere. Everything goes smooth as long as you use a stable & well tested distribution in a PC with hardware which is supported by Linux (the latter is much less of an issue nowadays) and do a training so you know what you are doing. I've been running Linux servers at customers since around 1996 using Debian until I quit doing company networks. However before letting Linux loose on my customers I took a one day hands-on training on how to install and configure a Linux server. Even today Debian is one of the better distributions if you want to do serious work with Linux.

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 10:16:11 am
content: Quote from: bd139 on November 13, 2018, 09:49:29 amAhh yes, DeadRats. I have more amusing accounts of dealing with Linux admins struggling with trivial problems because of brain dead default settings in pre compiled packages. Apache in Prefork mode (none of the ones I know were aware that it was possible to use threaded MPMs!) and my favourite RH specific one: the most useless and rimbombant piece of documentation: a Performance Tuning Handbook that didn't mention where to change something as important as "maxusers".

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 10:29:33 am
content: Yes been there as well. Typically mail servers are a dick when someone decides arbitrarily not to compile in something you need. That results in hours of fecking around with RPMs trying to get something usable working without breaking the entire dependency tree.The really big killer that no one seems to mention though is recovery. Literally the moment something goes conko bonko on the box and it wont come back again, it's nigh on impossible trying to work out what to do with a stack of crap you typically see like mdraid and systemd.The test for me was a number of years ago I was in charge of a large distributed network of Linux boxes all over the East Midlands loosely coupled to each other over public internet via ADSL and VPN. Stuck on my own on a Lincolnshire sausage farm with a down RH box, zero documentation installed, internet connection down, no phone reception.Older grub / init based systems with hardware raid, no problem. I had their kit back up in an hour.systemd + mdraid = forget it and go home. It literally fights you like an octopus with 8 knives.

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 10:47:49 am
content: Quote from: nctnico on November 13, 2018, 10:02:46 amExactly the same issue is present in Debian or whatever Linux distribution you want to put as an example because the problem is the same.Intel 10 GbE cards are well supported. Intel maintains the driver, as they do for FreeBSD. But they are human, hence they make mistakes. Check "ifconfig' and "ethtool" on Debian. Are they different? No they aren't.Now I recall another unfunny anecdote. Setting a fixed IP address on a Raspberry Pi running Raspbian. Someone decided it should run DHCP always and to use a config file name with such an intuitive name as d-h-c-p-c-d.conf. Wow. As it happened I was setting up a couple of Raspberries shortly after this came out and doing a Google search for the right way to do it was so fun.Which brings the next widespread malpractice originating in the Linux camp. The poor quality HOWTO and as a corollary the non existant documentation.The HOWTO. Ahhhhh! So called documents describing the process to configure something, full of collateral and unnecessary, something harmful steps. So a HOWTO describing how to install Apache also told you to change your PS1 to something fancy and to configure "ls" in Technicolor. Just Because.Or, more recently, the tendency to avoid giving any meaningful instructions for package building.In the past program documentation contained something like: "To install this you need to add this and that, for package xyzzy make sure that the compilation option dihdah is enabled and the frobnicate option is disabled". So it was smooth. You followed instructions and you had a working program.Now, "to install this, apt-get install fkejghjkhd e3498 jksdhgjkhdjk djkhgjkhdgfj 4uoiuyoiuyruyio oiuioerutoeio kdgkdjj dkjgkdljgdl rytuioruyrioutoi 8974789546lkajdkla sdjgkjjgkdfg ; ./configure ; make install".And that's where the fun begins. Which versions? Some packages have significant feature and interface changes between branches. Apache, MongoDB to name a few. There are of course compile time options which aren't mentioned. So the building "instructions" work in the same month as they were regurgitated, in the same Linux distribution the author used.Now, you try a couple of months later, even in the same distribution, and KABOOM!. Why? Either the package builder decided to toggle a compile time option (and there's no description of them!) or the package belongs to a new branch and it's incompatible. Lacking any sort of requirements list you are in for a whole research project now!I won't pick on the latest "curl from-here/instructions.sh | bash" because it's just so much brain dead!

author: TerraHertz
author_rank: Super Contributor
timestamp: November 13, 2018, 10:56:19 am
content: Interesting thread.Quote from: BradC on November 13, 2018, 01:33:52 amNot 'conspiracy theory' at all. Churn is the tool of choice for all corporations. Microsoft in particular with Windows. Supposedly MS makes most of their profit from running the Microsoft Certified Professional (MCP) courses. In which the qualificationsexpire. This is why nothing stays put between Windows versions. I guess people were getting tired of that, which may explain why MS is trying to switch to a software rental model.Btw, has it occurred to you that since MS is the master of churn, and considers Linux the enemy of their business model, that it's highly in Microsoft's favor if Linux dies by churn? Not too hard to arrange... just infiltrate some software developers into the Linux camp. You think that kind of thing never happens? Then I have some newly found Broward ballot boxes for you to count.I avoided getting deeply into Linux because I could sense the 'million monkeys typing' stench from the few encounters I had. Decided that was not for me. So, FreeBSD doesn't have that effect? (Yet. If a significant movement develops towards it, TPTB (MS etc) will do their best to inject the churn poison into FreeBSD too.)

author: EEVblog
author_rank: Unknown
timestamp: November 13, 2018, 10:57:10 am
content: Quote from: rhb on November 12, 2018, 11:33:01 pmI was expecting something SJW related!

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 11:00:04 am
content: Quote from: TerraHertz on November 13, 2018, 10:56:19 amNot so far or not so much by a very large extent.Don't be scared if you see commits by Metoosoft on svnweb.freebsd.org. They maintain the support for their cloud services but nothing else. But conspiracy wise I am sure their developers have instructions to be very granular in their commits so that, when they touch anything, you see tens of commits by Metoosoft peopleGive it a try. You might well be pleasantly surprised. I was back in 1995 and I haven't looked back. There may be a silly slip now and then, but changes are thoroughly evaluated and weighed before being made.

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 11:05:39 am
content: That's about it.They do the "design" bit before the "write code"Quote from: EEVblog on November 13, 2018, 10:57:10 amThat's hilarious

author: BradC
author_rank: Super Contributor
timestamp: November 13, 2018, 11:05:57 am
content: Quote from: TerraHertz on November 13, 2018, 10:56:19 amYes, yes I know all that. As I could see thread was going to go "full retard" I decided to understate the point in order to make a point.

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 11:07:26 am
content: Quote from: sokoloff on November 13, 2018, 02:47:15 amThat's actually the root of all that evil. There is no such thing as a kernel without an OS. An operating system is a tightly coupled and trusted set of components which you can usually divide into kernel and userland tools, you can split userland tools into administration, development and user commands, and so on.The mere concept of Linux not existing as a proper OS but just "a kernel" is stupid.It was acceptable when Linux was the toy of its author but it stopped being being funny long ago.Who is the architect? Linus Thorvalds? He just maintains a kernel. The distribution packagers who probably don't have much clue on OS architecture?I have met plenty of Linux "users" who couldn't actually use their computer for anything meaningful. It was a sort of bonsai in which they were constantly updating packages and marveling at the fact that it worked. But to browse the web they went WindowsAnd that constant bonsai pruning is one of the consequences of that of proper, architect oversight.Sorry about the rants, I could go for hours.(Stupid typos edited)

author: digsys
author_rank: Unknown
timestamp: November 13, 2018, 11:21:53 am
content: I find this thread to be one of the most informative, objective and considerate that I've read for a while ... considering the subject .... almost as if I've strayedinto another universe :-)

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 12:15:14 pm
content: LOL that's even worse. Three words: Network Location Awareness.

author: KE5FX
author_rank: Super Contributor
timestamp: November 13, 2018, 12:15:51 pm
content: Quote from: borjam on November 13, 2018, 09:22:31 amThe idea that a user should have to dig into the intricacies of Ethernet duplex connectivity in order to use their system is deeply pathological. Say what you will about Windows, but when I want to set up a system, I just plug the Cat5 cable into the jack in the back of the PC, and it just works.Of course, Microsoft is working day and night to 'fix' that state of affairs, I'm sure.

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 12:16:11 pm
content: Quote from: KE5FX on November 13, 2018, 12:12:34 pmYeah. Which was the first version that didn't require a reboot because you changed the IP address?

author: KE5FX
author_rank: Super Contributor
timestamp: November 13, 2018, 12:17:52 pm
content: Quote from: borjam on November 13, 2018, 12:16:11 pmNo version of Windows I have ever used, starting with Windows 95, has ever required that.There were a lot of third-party Winsock providers in those days, but I was always able to use the components that shipped with the OS.And rebooting is a heck of a lot easier to deal with than... whatever all that other stuff you were talking about was.

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 12:21:27 pm
content: Quote from: KE5FX on November 13, 2018, 12:15:51 pmYes. Of course. Tell me that when in the 90's I spent a weekend replacing the network of a whole hospital. Peecees running Windows, most not negotiating properly.In that case it wasn't Microsoft's fault per se. Networking manufacturers made a whole mess. Even big names like Cisco and 3Com.So, faced with a real and present problem you can:- Ignore it (Microsoft or the early Linux camp before ethtool)- Implement a bad and incomplete solution (Linux)- Do it properly (FreeBSD).At a time I had a really surreal situation with Cisco hardware. Not talking about Linksys but a Cisco 7200 VXR router and Cisco Catalyst switch. The router connected to the switch, it negotiated 100 Mbps full duplex properly only to have the process responsible for CDP (Cisco Discovery Protocol) decide that the interface had to be reconfigured in half duplex because of some stupid crap.Shit happens, face it. The best designs help you sort it out properly. And the best designs reflect their state in a meaningful and accurate way.

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 12:26:51 pm
content: Quote from: KE5FX on November 13, 2018, 12:17:52 pmI haven't worked on Windows, but I recall an astonished customer when I was changing the IP addresses of a large factory and I just configured two IP addresses on the network interface of my laptop (running FreeBSD). He was scared of the change because he pictured like 30 reboots of it.Now, seems they fixed that stupid issue in 2000.https://www.itprotoday.com/windows-78/when-does-windows-2000-need-rebootingIn Windows 2000 they still required a reboot if you changed the IP address of the DNS server, turns out.In 1990 I didn't need to reboot a Unix system because of any of those. Not even Linux when it arrived.

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 12:46:03 pm
content: Sometimes it's quite usual to have to bounce a windows box after network changes because NLA fecks up.Typically we've seen private networks suddenly go public if a teaming config fails at which point the firewall clams up and you have to hit the ILO interface to fix the box.NLA = network mr clippy. "it looks like you're doing something useful. I have dropped all routes for you!"

author: Marco
author_rank: Super Contributor
timestamp: November 13, 2018, 01:32:53 pm
content: Quote from: bd139 on November 13, 2018, 07:41:32 amAnd a tiny bit of time to edit it when you want to compile it on a system which evolved over time and which you aren't allowed to beat into shape with your clue stick. Unless you suggest replacing autoconf with ad-hoc scripts called from the makefile which does the same kind of autoconfiguration. When it works ./configure make make install is very nice, when the build process fails on a large project with a page full of dependencies with a large range of supported versions you're up shit creek regardless.These large projects need to optimize for the common case where you can automate/hide the complexity of configuration of the build process, they need something like autoconf. If it makes life harder when it does fail, well sucks to be you.

author: vtwin@cox.net
author_rank: Regular Contributor
timestamp: November 13, 2018, 01:47:42 pm
content: Quote from: borjam on November 13, 2018, 10:47:49 amOh man, this hits close to home.Generally I like working with Linux. I've been using Linux since about 96 w/ Redhat version 4 or 5. Before that I did a lot of AIX work. I ran an SCO XENIX UUCP Usenet site for years for people to access -- late 80's -- (I can remember paying something like $1500 for 4MB of RAM for a memory upgrade for the machine! OUCH!) Then on to SCO UNIX. I ran a SCO software repository for a while, and authored articles for SCO World Magazine. I lost touch w/ SCO around OpenServer 5, I had moved on to Linux as a more cost-effective solution for customers. Today, I manage a Rocks-based HPCC all built on Linux at work. I have a linux-based NUC at my house I use as my internet router. And so on.But I definitely can relate to your rant. For instance, on CentOS 7, why do my /etc/sysconfig/network-script/ifcfg-* files get OVERWRITTEN by dracut with a stock configuration that disables my static IP and forces a DHCP connection, unless I go in to /etc/dracut.conf.d/ and tell it not to.I stuck a Pi w/ raspian inside my Generac generator so I could run "genmon". Raspian's a linux distro, right, so how hard can it be to figure out (I'm principally a Centos/RHEL/Fedora guy). All I want to do is assign the Pi a freakin static IP address. I spent HOURS attempting to figure out how to do this. I'm like WTF. Finally I just gave up and reconfigured my DHCP server so I could create a reservation for it. Okay, admittedly I do not do not work with Pis and raspbian, so maybe to the hard-core user it is easy... but still...My biggest bitch about Windows for years was software designers deciding for me how things should work, rather than letting me configure things the way I need to them. Sure, defaults are fine... but under no circumstances, ever, should you override a user-defined setting. That's just shitty software design. Now I see this type of behavior in Linux distros, which really annoys the piss out of me.#endrant

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 01:52:35 pm
content: Quote from: vtwin@cox.net on November 13, 2018, 01:47:42 pmYeah, and when someone asked on a mailing list the answers were like "Why do you want to do that if you can use DHCP?" Instead of answering the bloody question

author: sokoloff
author_rank: Super Contributor
timestamp: November 13, 2018, 02:47:21 pm
content: To be fair, 99.5+% of RPi users do almost certainly want to use DHCP.The problem is that you (and I) might be that less than 1 in 200 case.I seem to recall doing it without a ton of aggravation a few years ago when setting up an isolated Asterisk/FreePBX test environment.https://raspberrypi.stackexchange.com/questions/37920/how-do-i-set-up-networking-wifi-static-ip-address/74428#74428seems similar to what I did, but I can't be 100% sure as, in my "production" home network, I do in fact use DHCP reservations to assign unchanging IP addresses to fixed infrastructure.

author: borjam
author_rank: Unknown
timestamp: November 13, 2018, 03:14:22 pm
content: Quote from: sokoloff on November 13, 2018, 02:47:21 pmQuoteYes, but still pure idiocy. There are many valid for disabling a DHCP client and using static addresses instead. Why make it harder? There is no reason. No benefit. Ah yes, someone answered a "why???" question with a "there are countless opportunities there". For blunder I would add.I understand changes when there is a good reason. But, gratuitous? Like all that systemd crap and their stellar response to potential security issues.https://github.com/systemd/systemd/issues/6237

author: djacobow
author_rank: Super Contributor
timestamp: November 13, 2018, 03:49:06 pm
content: Quote from: borjam on November 13, 2018, 03:14:22 pmI built a cluster of RPi's awhile back to use for a demo for schoolchildren. I remember noodling with IP addresses and DHCP. In the end, I found it easier to leave the cluster units' DHCP clients running and run a DHCP server on a multi-homed gateway unit, following an IP assignment policy that I could control in one place. So, I get fixed IP addresses but the cluster units don't know they're getting fixed IP addresses. Even better would be if I could netboot the slave pi's from the master, but I didn't need to get that for for the demo.Not sure why I told that anecdote, exactly.

author: rhb
author_rank: Super Contributor
timestamp: November 13, 2018, 03:54:03 pm
content: Holy Cow!!!! ROFLThis has become a complete hoot! I *really* do have a bunch of work I need to get done today, so I'll wait until tonight to read through the thread and comment.

author: tooki
author_rank: Super Contributor
timestamp: November 13, 2018, 04:03:49 pm
content: Quote from: rhb on November 12, 2018, 11:33:01 pmI fundamentally agree with your post, other than the cheap jab at millennials. Remember that:a) “Millennials” is a synonym for people who are, as of right now, “adults under age 40”. They’re not kids, and most aren’t even 20-somethings.b) Most of the ills attributed to Millennials aren’t even true, and the ones that are, are the folly of youth, not any real changes in fundamental perspectives. Boomers forget how uninformedtheywere when they were the same age!If you’re surrounded by dumb, ignorant Millennials, that’s an artifact of the specific environment you’re in, not because of any trait of an entire generation.

author: grizewald
author_rank: Frequent Contributor
timestamp: November 13, 2018, 05:35:34 pm
content: Quote from: bd139 on November 13, 2018, 09:49:29 amAmen to that. NetworkManager gets more and more broken with each damn release! Not to mention adding dnsmasq and everything else to the mix in an attempt between systemd and NetworkManager to make your network configuration so impenetrably complicated that even someone like me who's been doing various UNIXes and Linuxes for decades has trouble sometimes understanding why the hell I can't do a DNS lookup after coming home from work and connecting to my network at home!Personally, I think systemd is complication for the sake of it. There was nothing wrong with the Sys V init system and it was simple and transparent.

author: djacobow
author_rank: Super Contributor
timestamp: November 13, 2018, 05:35:42 pm
content: Quote from: tooki on November 13, 2018, 04:03:49 pm"Were?"

author: Monkeh
author_rank: Super Contributor
timestamp: November 13, 2018, 05:41:53 pm
content: Quote from: djacobow on November 13, 2018, 03:49:06 pmPerhaps you're tired of the grumpy old attitude of 'everything must be static, DHCP is the work of the devil'?It, like many other new tools, is very powerful, but you do have to stop and learn how to utilise it.Yes, I know it's not that new, but to a grizzled unix veteran set in his ways it is

author: madires
author_rank: Super Contributor
timestamp: November 13, 2018, 05:52:56 pm
content: Please don't blame linux! Blame specific linux distributions! Some think they have to move to the latest and greatest fancy stuff. But you don't have to. I'm running the same non-fancy window manager for ages.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 13, 2018, 06:04:49 pm
content: Quote from: nctnico on November 13, 2018, 10:02:46 amTrue enough.The basic issue discussed here IMO is about "fragmentation".Obviously the only way you can avoid software fragmentation is having ONE big company controlling the whole development process and strategy. MS was actually pretty good at doing this, and I mean was. Looks like they're on a slippery slope at the moment, although you can still run most decently-written apps from 15 years ago on their last OS. But even well established companies controlling everything can't completely avoid fragmentation. Besides, I'm not sure this would be a good thing for GNU/Linux in the long run. This can't be.A second but related point is that open source software and binary distribution don't get together well by nature. Open source is about software itself much more so than about fitness for any particular use or even ease of use. Now if you need support, you can buy it and use Red Hat for instance, which has been one of the most popular distributions for commercial companies selling Linux software.Obviously the GNU/Linux world is pretty fragmented but that's also what makes it fruitful and independent. Now I admit it makes software distribution very tough if you target Linux, that's why most companies targetting Linux only target a very limited and well selected number of distributions as nctnico suggested.You also have to define what you consider acceptable and unacceptable incompatibilities.Having to make your own software evolve every few years to accomodate for external evolutions doesn't seem that abnormal or infuriating to me. If it were every few months, it may be. But again, you can select very stable and slow-evolving Linux distributions to mitigate that. (Just think that some distributions still run on kernel 2.6)One means of insuring a lot less fragmentation would be to require strict conformance to well known standards. Problem with this is 1/ software standards are not that many and don't cover everything, 2/ there is no way you can "require" anything from open source software teams, and 3/ that would probably hinder the "productivity" of open source software development big time and add considerable hidden costs, only leaving the big players alive, which as I hinted above would probably mean the end of open source as we know it.The short-term solution is again either targetting only one or two very stable Linux distributions or devising your own, that you can update as you see fit.

author: rhodges
author_rank: Frequent Contributor
timestamp: November 13, 2018, 06:43:27 pm
content: I am new to this forum, but I already know I'm going to like it here. Am a FreeBSD fan, myself. Did a couple device drivers, network code, used the ATM (HARP) stack.I noticed a new term above, where "CHUM" was used in context of comanies' business. Okay, fun international crowd here!Oh, it is my browser font and tight kerning. The word is "CHURN"... Around here, "CHUM" is rotting meat used as fish bait. Wait, maybe it was "CHUM"...

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 06:45:16 pm
content: Welcome. You will fit right in

author: Marco
author_rank: Super Contributor
timestamp: November 13, 2018, 06:45:32 pm
content: The problem with Raspbian DHCP is that no one is paying the dhcpcd creator to be compatible with /etc/network/interfaces and it doesn't have his interest because he wants to have a minimal program, if you use it it's take it or leave it and Raspbian took it. Meanwhile the other big dhcp client is being created by Redhat, who have no interesting in allowing easy transition to non systemd systems because it's their baby and gives them competitive advantage ... so they will have their own configuration too.For the near future there will be a slow grind of changes in Linux administration practices until systemd reigns supreme over all, Redhat is funding so much of Linux at this point it's unavoidable.

author: tpowell1830
author_rank: Frequent Contributor
timestamp: November 13, 2018, 06:46:23 pm
content: While I don't pretend to be a Linux afficionado, I did setup a RH server for my company back in 2002, with the help of a 19 year old contractor that I found locally. The NT 4.0 server that we were using kept eating hard drives and failing miserably, so I had fiddled around with Linux a bit on my home computer and thought that it would be a good server, at the time. The setup was not too difficult and interfacing with all of the Windows desktops that we had (about 10 of them) was easy enough with the kid's help.However, I had reservations at the time (and still do) about the application support that would come about for Linux, so I abandoned any thoughts about using it for desktop for that reason and I was concerned when I started seeing distro after distro of the kernel with different looking commands and GUIs. To add to my concerns, although the kid helping me at the time seemed fairly knowledgeable (more than me anyway), he mentioned the fact that he had written several of the drivers and support files for the RH distro that I was using, and when I further inquired about how that happened, he mentioned how there were thousands others like him that could volunteer online ( I guess it was GitHub?) in writing support files, just like him. This bothered me at the time.At that point, along with the added confusion that each distro added, I decided not to start using Linux for my desktop. The server was a spectacular success and continued to run for several years with minimal maintenance until I left the company in 2004. After that I don't know what happened with it.Bottom line, Linux has had it's chance to evolve into a platform that serves the general user community with application development for over 25 years and the only thing that I see, as a non-user is an order of magnitude more confusion now than 2002. This does not bode well for getting a Linux distro for the public that lends itself to getting some work done in an office environment. I had high hopes for it back 15 years ago, but quickly realized that it was going the way of fragmentation and the applications and a usable working desktop was not ever going to happen.It would be nice if the Linux community went back to the original Torvalds distro and started working towards a Windows killer (which is what I had originally hoped for) and used some sort of recognized standards in development for desktop work. Yes, for someone hobbying around with a personal distro of original Linux and creating their own personalized OS for home use it's fine, but until there is a standardized version that is used for work and has usable installable applications by average people, the whole Linux universe will simply dilute itself into oblivion, eventually (perhaps already). But it is a great server platform... if done right.Just my 2 cents...

author: Marco
author_rank: Super Contributor
timestamp: November 13, 2018, 06:47:53 pm
content: If you don't mind being datamined you can do far worse than use a Chromebook/Chromebox, Linux on the desktop is mainstream. Not Linux as most people think of it, but Linux all the same. QA, fast response to problems and hardware certifications takes money and central organization. The community can develop Linux, but it takes a company to make a mainstream desktop from it.

author: Monkeh
author_rank: Super Contributor
timestamp: November 13, 2018, 06:51:40 pm
content: Quote from: Marco on November 13, 2018, 06:45:32 pmIt's not his job to. No dhcp client is 'compatible' with 'insert arbitrary OS script here' - it is up to the distribution to integrate it.Quote from: Marco on November 13, 2018, 06:45:32 pmEr, since when do they own the ISC?

author: Marco
author_rank: Super Contributor
timestamp: November 13, 2018, 06:54:56 pm
content: Quote from: Monkeh on November 13, 2018, 06:51:40 pmWhich is a big maintenance headache, now you have to QA your shim each and every update ... because the author doesn't give a shit about breaking it. They don't wanna, I don't blame them.QuoteWell that too, but that now generally only runs after systemd has it's claws into things ... and thus you get to setup your static IP in /etc/systemd/network.

author: tpowell1830
author_rank: Frequent Contributor
timestamp: November 13, 2018, 06:56:40 pm
content: Quote from: Marco on November 13, 2018, 06:47:53 pmI don't know about Chromebook/Chromebox, but just about everyone in all of my current and previous jobs use Windows of some variant exclusively. I believe it is true for most companies in the US because of the thousands of applications available for it. In that respect, I would not call Chromebook/Chromebox mainstream for business use. It's not that I like that MS Windows is the one and only OS used, but it is a fact at the moment.

author: Marco
author_rank: Super Contributor
timestamp: November 13, 2018, 07:09:21 pm
content: Chromebooks own K-12 education sales in the US, not that I think that kids need school laptops ... but it's still a sizeable mainstream market.

author: mark03
author_rank: Frequent Contributor
timestamp: November 13, 2018, 07:20:09 pm
content: Quote from: madires on November 13, 2018, 05:52:56 pmThe problem is you have less choice than you think. Once Debian switched over to systemd, for example, there were precious few alternatives left (if systemd is not your thing), because so many distributions are derived from Debian in some fashion. Yes, there are orphans; I'm trying "void linux" at home. But ultimately it boils down to mindshare and effort hours. Nothing comes close to the breadth and stability of Debian, so if the major distributions run off the rails, staying with Linux is quite difficult as a practical matter.

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 07:27:26 pm
content: True.Distribution is irrelevant. The only difference now is package manager, documentation, updater, crazy vendor specific daemons, turd polish.

author: madires
author_rank: Super Contributor
timestamp: November 13, 2018, 07:36:28 pm
content: Linux distributions without systemd:http://without-systemd.org/wiki/index.php/Linux_distributions_without_systemd

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 07:40:05 pm
content: None of which are party to early disclosure or managed properly.

author: Karel
author_rank: Super Contributor
timestamp: November 13, 2018, 07:47:00 pm
content: Linux isn't perfect. The problem is, the alternatives are worse...

author: madires
author_rank: Super Contributor
timestamp: November 13, 2018, 07:49:39 pm
content: Quote from: bd139 on November 13, 2018, 07:40:05 pmLike Devuan for example?

author: cdev
author_rank: Super Contributor
timestamp: November 13, 2018, 07:52:04 pm
content: I don't trust systemd.I don't like logging to binary files.I think thats the core issue for me.Linux doesn't need to be a "Windows killer" - Personally I couldn't care less what Microsoft does as long as they don't do the kinds of things they have been known to do - which I don't expect them to stop as I think the form they exist in, as a corporation, is the core problem. Corporations are inherently amoral and often, evil. We made a huge mistake when we allowed corporations to become legal people and started giving them 'rights' when they are not people.Here in the US that Supreme Court "decision" (Santa Clara County v. Southern Pacific R. Co. :: 118 U.S. 394 (1886) was not even honest, it was hijacked by a clerk who wrote his own interpretation in the margin notes and that has been given deference when it should never have been.But to get back to Linux, Linux is best off just being Linux.

author: cdev
author_rank: Super Contributor
timestamp: November 13, 2018, 07:59:14 pm
content: In my experience, lesser evil-ism turns out to be a trap almost every time.The problem is, as computing became more important in the world, Linux and open source which had managed to survive and thrive under the radar for quite some time, likely started to stand out as an uncontaminated control group that really showed how dysfunctional things are becoming everywhere else.So now ...

author: ebastler
author_rank: Super Contributor
timestamp: November 13, 2018, 08:06:28 pm
content: Quote from: rhb on November 12, 2018, 11:33:01 pm

author: mark03
author_rank: Frequent Contributor
timestamp: November 13, 2018, 08:34:52 pm
content: Quote from: madires on November 13, 2018, 07:49:39 pmI would be very curious to hear your (or anyone's) first-hand experience with Devuan. When I dropped Debian a couple of years ago I settled on void linux (voidlinux.org) and it has been a decidedly mixed experience. Does Devuan fulfill the promise of "just like Debian, only without systemd"? How closely does it track Debian releases? Does it use Debian repositories? etc.

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 08:38:29 pm
content: Devuan doesn't get close.Even CentOS which is directly a rebuild of Redhat done under the same roof is delayed by days on critical patches.

author: madires
author_rank: Super Contributor
timestamp: November 13, 2018, 09:29:35 pm
content: But still better than MS with their commercial OS. Aren't you amazed how much you get for free?

author: Monkeh
author_rank: Super Contributor
timestamp: November 13, 2018, 09:55:15 pm
content: Quote from: madires on November 13, 2018, 09:29:35 pmOh, now you've done it.

author: bd139
author_rank: Super Contributor
timestamp: November 13, 2018, 10:01:30 pm
content: Indeed. That's almost invoking Godwin's law in a Linux thread

author: james_s
author_rank: Super Contributor
timestamp: November 13, 2018, 11:31:49 pm
content: Quote from: djacobow on November 13, 2018, 12:03:52 amCan't really pin that one on millennials. I'm gen x and even most of the guys my dad's age have been using IDEs for decades. You don't *have* to change to the latest one each year. I've been using the same versions of ISE and Quartus I learned back when I first started messing with FPGAs.vi is handy for making quick edits but I can't imagine trying to use it to write any serious code. I guess once you know it inside and out it would be fine but sheesh, you'd just about have to be a masochist.That said, I guess I can't really point fingers. I'm one of the few people I know who still demands a proper manual gearbox while everyone else seems to love computerized slushboxes. With an auto box I hardly even consider that driving, you just sort of aim.Now get off my lawn!

author: rhb
author_rank: Super Contributor
timestamp: November 13, 2018, 11:42:08 pm
content: Quote from: bd139 on November 12, 2018, 11:53:12 pmActually, it was going full speed long before Gnu came along. Prior to the appearance of Linux, the Gnu tools were the only way to ensure consistent syntax and semantics across multiple platforms.On my first contract job I had automounted /tool/${ARCH}/bisystem n at /tool/bin along with the rest of the tree. So whether you were on an SGI, IBM. HP, Sun, Intergraph or DEC you had a consistent set of tools available. I got a really nice note a year or so after I left from one of the admins. He said he needed to make some massive update across a bunch of these and was dreading the job, but Reg had been here and expect(1) was everywhere. So he was done with almost no effort.The compute environment at that company was the wild west. Every group bought different stuff. I was not a sys admin, I was a programmer. But my normal routine was a stop at the admin cubicle on the way to mine to see what was going on so I could reduce the number of redundant calls the admins got, For my initial task as a contractor I had been given two months to complete a parser. I'd just spent 6 weeks learning lex(1) and yacc(1) so I was done in 2 weeks of which only about half the time was on my original assigned task, I had also analyzed all the VAX RTL usage and converted the entire 500,000 line codebase to use a set of replacement routines which we then wrote. So I walked on water. It was really pretty funny. I spent a lot of time trying to disabuse people of the notion I knew everything which I certainly did not.

author: rhb
author_rank: Super Contributor
timestamp: November 13, 2018, 11:45:06 pm
content: Quote from: nctnico on November 13, 2018, 12:10:50 amI'm describing Gnu 1989 to 1995. It really headed downhill once you had people who had never used a real Unix implementation

author: djacobow
author_rank: Super Contributor
timestamp: November 13, 2018, 11:46:02 pm
content: Quote from: james_s on November 13, 2018, 11:31:49 pmOh, it grows on you. I write boatloads of code in vim.It has syntax highlighting and now has a zillion plugins available for syntax checking (syntastic), git integration (fugitive), tab completion (youcompleteme), etc. Also, you can open multiple windows, vertically or horizontally, show diffs, etc. It's a swiss army knife. I think Emacs is more famous for this sort of feature creep, but vim is hot on its heels. And, of course, you don't have to do any of that if you're not interested. When I am faced with a bare minimalist /bin/vi I have a moment of panic, but then realize that everything is gonna be fine.Quote from: james_s on November 13, 2018, 11:31:49 pmNot before I finish making these donuts with my hotrodded text editor.

author: rhb
author_rank: Super Contributor
timestamp: November 13, 2018, 11:49:20 pm
content: Quote from: djacobow on November 13, 2018, 12:35:09 amI have no data, but I think it is 20 somethings (which is what I meant by millenials) without adult supervision. Almost all of us are much too cocky at that age. So we can really make some exquisite messes.

author: rhb
author_rank: Super Contributor
timestamp: November 13, 2018, 11:52:13 pm
content: Quote from: nctnico on November 13, 2018, 12:59:39 amI'm extremely proud to have written two 15,000 line libraries which never had a bug reported against them during the 8 or so years the package was supported. They continued in use for another 6-8 years without any support at all until they were completely obsolete.

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 12:02:04 am
content: Quote from: BradC on November 13, 2018, 01:33:52 amActually, it's Henry, not Harry. I tried a Linux distro around '95. I had a Sun 3/60 and a 3/110 in a rather *interesting* configuration. It was rather complex to set up, but was pretty neat. Lots of fancy tricks with NFS and NIS.I installed Linux, connected it to the network and played around for a day or two. My conclusion was that while no one could beat Windows NT as a commercial venture, Linux just might do it for the sheer craziness of it. As it has turned out I was right. MS is incorporating binary compatibility with Linux.

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 14, 2018, 12:03:39 am
content: From a desktop PC view Gnu Linux may become to be what other OSes has to offer because of tendency to serve the GUI interface and nowadays the gaming... at least some distros have more consistency / stability or less change than others, as following distrowatch... and you can see fragmentation if that's the subject of this topic. You trade stable versions for latest drivers .... Very good for compreend the nature of the OS.The embedded linux has grown pretty well and did make linux very suitable for low power SBC , not so scattered so far .... but not very documented in some cases...The unix ... pick you're flavour or the one that suits your needs. Buy a proper book for shell programmingWindows ... it is designed to work on a PC, user interface, simplicity and driver multi compatibility.MacOS never really used so no opinion at al in this subject.. sorry.

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 12:04:05 am
content: Quote from: sokoloff on November 13, 2018, 02:47:15 amNo. It is gratuitous changes in syntax and semantics breaking things.

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 12:06:20 am
content: Quote from: Marco on November 13, 2018, 03:42:44 amOh, please, no. Gnu make(1) works just fine if you know how to use it. KISS

author: emece67
author_rank: Frequent Contributor
timestamp: November 14, 2018, 12:08:03 am
content: .

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 12:08:46 am
content: Quote from: thermistor-guy on November 13, 2018, 04:46:38 amYou have your make(1) model *exactly* right. I'm looking forward to seeing your work.

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 12:14:45 am
content: Quote from: borjam on November 13, 2018, 09:22:31 amVery nice narrative. And a good explanation of why Linus would have flunked an OS course under Andy Tanebaum

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 12:21:56 am
content: Quote from: nctnico on November 13, 2018, 10:02:46 amJust one minor problem. Most of the corporate users use Red Hat or Suse. So large, expensive commercial packages are only supported on those.

author: sokoloff
author_rank: Super Contributor
timestamp: November 14, 2018, 12:25:00 am
content: Quote from: rhb on November 14, 2018, 12:04:05 amIn the kernel, in gnu utils, or in the distro? I'd wager the proportions are less than 1%, less than 4%, greater than 95%, respectively.The kernel seems to have a very strong "don't break userspace" ethos.

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 12:26:06 am
content: Quote from: EEVblog on November 13, 2018, 10:57:10 amSJW? Yet another acronym I don't recognize. please explain.The allusion is "GOTO Considered Harmful" by Wirth.Edit: I'm going to have to stop. I haven't even made it through the first page. But the comments are *great*. However it happened Dave has managed to recreate Usenet circa 1990 and earlier. Absolutely brilliant people.

author: sokoloff
author_rank: Super Contributor
timestamp: November 14, 2018, 12:27:10 am
content: Social Justice Warrior

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 12:31:31 am
content: Quote from: sokoloff on November 14, 2018, 12:27:10 amROFL Never expected that!

author: Marco
author_rank: Super Contributor
timestamp: November 14, 2018, 01:15:38 am
content: Quote from: rhb on November 14, 2018, 12:06:20 amSo tell, me ... without an incredible mount of ad-hoc scripting (ie. recreating a meta-build system on the fly, as with all such endeavours, poorly) how would you allow building something of the complexity of Octave with the same amount of instructions as you can with a meta-build system? (When it works, obviously.)This is not some POSIX only, or POSIX+X dependent application. You can't appeal to the authority of ancients on this one, these kinds of graphical cross-platform applications have no parallel in early Unix. Even a multi-architecture OS is trivial to build compared to large cross platform graphical applications. New problems, new solutions ... to say they are not necessary is putting you in the same shoes as those who are changing the ancient ways of dealing with long standing problems, ie. pretending you are the smartest person in the room. It's always tempting to do so isn't it?

author: 0culus
author_rank: Super Contributor
timestamp: November 14, 2018, 01:29:17 am
content: Quote from: borjam on November 13, 2018, 09:22:31 amThe two OS courses I've taken both used the MIT curriculum, which uses xv6 (basically a reimplementation of AT&T Unix) and JOS (another flavor of the same). I use Linux a lot, but I'm damned if I want to get into the internals. I've found the kernel code to be horrifyingly difficult to read and understand.I mostly use macOS these days and virtualize everything else I need anyway.

author: rhodges
author_rank: Frequent Contributor
timestamp: November 14, 2018, 01:36:29 am
content: QuoteI decided to have a look at Xen, and for whatever reason, it seemed like a good idea to do it with Centos 7...What the hell?!QuoteThey removed important commands and replaced them with "ip". Bastards.

author: Marco
author_rank: Super Contributor
timestamp: November 14, 2018, 01:48:21 am
content: Quote from: rhodges on November 14, 2018, 01:36:29 amAh well, at least this one isn't on Redhat. It was those damn Russians.

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 02:07:16 am
content: Quote from: Marco on November 14, 2018, 01:15:38 amThe range of supported platforms for Octave is rather small. The last time I tried to build it, they didn't even allow Solaris as a choice when submitting a bug report.First and foremost. I neither need nor want the GUI. A terminal window and gnuplot worked just fine for many years. So there is *no* reason not to allow building a fringe system without the GUI stuff. I'm going to try to keep up with this thread, but it's getting really hard. There are a lot of great comments and a lot of very nuanced aspects to the issues. It is growing at an insane rate and it's not bunch of stupid comments. In fact, I've not read any comments I would regard as stupid. Ignorant maybe, as some of us have a long history with *nix and some much more limited. But I am *very* impressed by what Dave has created. I was put off by the clown aspect of his video persona, but he has built an incredible forum.As a bit of perspective, this is a partial list of *nix systems I've worked with. I'm sure there were some others, but these are what I can recall at the moment.Unix platforms or clones:MinixCoherentSGI IrixIBM AIXIntergraph CLIX ( pure Sys V on the Clipper chip)HP-UX "snakes" seriesDEC UltrixSun 386i ( rebranded Interactive 386 Sys V)SunOS 4.xSolarisIllumos (nee OpenSolaris)Intel i386 hypercubeIntel i860 hypecubeEvans and Sutherland?Alliant?FreeBDSOpenBSDDEC/Compaq Tru64 (aka OSF)Mac OS XLinux distros:SlackwareMandrakeRed HatSuseFedoraCentOSDebianUbuntuThe list of non-*nix systems is almost as long.

author: KE5FX
author_rank: Super Contributor
timestamp: November 14, 2018, 03:28:49 am
content: Quote from: james_s on November 13, 2018, 11:31:49 pmThat's a huge mistake in the FPGA world. Those IDEs have gotten so much better (and faster) over the past few years it's not even funny.

author: james_s
author_rank: Super Contributor
timestamp: November 14, 2018, 04:52:58 am
content: Quote from: KE5FX on November 14, 2018, 03:28:49 amThose "better and faster" IDEs don't support the parts I'm using so that's a bit of a moot point isn't it?That and from what little I've seen, Vivado is most certainly not faster than ISE. What I've got works just fine for what I'm doing, I know how to use it and it gets the job done. How is it a mistake to stick with what I know? I'm recreating 30+ year old hardware, I don't need the latest or greatest.

author: KE5FX
author_rank: Super Contributor
timestamp: November 14, 2018, 05:43:32 am
content: Quote from: james_s on November 14, 2018, 04:52:58 amDepends. In the brand-X world, if you're in production with old Spartan3 hardware you're on borrowed time anyway. If you're in production with Spartan6, you are indeed stuck with ISE. If you're working with 7-series, you're presumably using Vivado, and thelastthing you want to use is an ancient build of Vivado. Newer versions are much less buggy.In any event, recent builds of Vivado are absolutely faster than ISE ever was, that question isn't even close.For Intel/Altera, I never used anything older than Quartus 16.0, but I found it helpful to move to 16.1 for reasons I don't actually remember at this point.I have no problem using a five-year-old build of Windows and a three-year-old build of the MSVC IDE, since those products have only gotten worse over time. But I've always found that trying to stick with older versions of FPGA tools is an exercise in false economy.

author: james_s
author_rank: Super Contributor
timestamp: November 14, 2018, 06:12:47 am
content: I'm not "in production" though, I'm building one-offs for myself and open source stuff, mostly using Cyclone II's, some Spartan3 and Spartan6 but those are drastic overkill in most cases. I'm stuck at 13.0sp1 for Quartus as that's the last one that supports the parts I'm using. Anyway my point was that you don't *have* to update if you don't want to. The stuff I'm using works every bit as well as it did when I started, and I'm making the same sorts of projects I was then, bigger/faster/newer parts would just be a waste when $13 dev boards are readily available and I rarely fill more than 50% of the logic.

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 14, 2018, 09:27:31 am
content: Here is an example of a daily usage of linux for an applicantion, e.g. Kicad 5 on Debian Stretch x64 :You need to dig further documentation and online guidance when errors appear and have some background experience on compiling prgrams.. the infamous "ldconfig"https://www.eevblog.com/forum/kicad/kicad-5-looks-official-now/msg1711409/#msg1711409

author: bd139
author_rank: Super Contributor
timestamp: November 14, 2018, 09:47:26 am
content: This is why I usually have a policy of "from distribution repo only".

author: janoc
author_rank: Super Contributor
timestamp: November 14, 2018, 11:08:43 am
content: Oh no, not another circle jerk about Linux being unusableQuote from: rhb on November 14, 2018, 12:06:20 amPlease come back once you had to maintain a large software system that has to be both multi-platform and support multiple toolchains (e.g. Visual C++ and gcc/clang).Octaveisthat sort of system and it could certainly benefit from a more modern build system. Make and autoconf are absolutely horrid for applications like that - the original complaint about Solaris (a basically dead OS with little support these days) is only a case in the point, autoconf was notorious for these compatibility issues and hacked up config scripts that broke as soon as the system was a bit different than what the authors expected. If you have never needed that, fine. But don't assume that nobody else does.The rest I am not going to quote one by one but what I see as common complaints here:* Lack of compatibility between Linux distros - the are actually compatible fairly well but if you are worried about this, pick one that is well supported andstick with it(and software distribution issues are addressed below).* Systemd bashing - can we, please, finally drop this nonsense fight? Most people who complain about it here seem to do so basically only because:a) it is different than what they were used tob) it is "not unix philosophy"/Lennart Poettering is an ass -, that's more a political than technical discussionc) it has to be some evil conspiracy pushed on everyone by Redhat -- it actuallyimproves compatibilitybetween the distros (complaint above - before every distro used to have different init setup, different init scripts, different way of handling system services and supporting that when writing and distributing software was a nightmare).Also most people have no clue what systemd really does and why (no, it isn't just an init system and there are good reasons for it). Yes, it is different than just a bunch of scripts symlinked from /etc/rc.d but it is notthatdifferent or complicated to use and there are plenty of advantages (such as automatic supervision of your services).And cdev - you are surely aware that the binary logging is not the default on most installations, right? And that you can forward the logs into regular text files, such as /var/log/messages, exactly as before? (And most distributions do exactly that, fyi).If all you need is a bare bones Linux server that runs somewhere in a container you obviously don't need systemd. But that is not all uses, especially not for systems that are meant to be able to support a desktop or are expected to deal with device hotplugging, dynamic network reconfiguration (wifi ...) and so on. General purpose distributions need to be able to handle that and systemd has made that much simpler.Lennart has addressed these complaints here:http://0pointer.de/blog/projects/the-biggest-myths.htmlYou don't need to agree with him but at least read that first before bashing something with bogus arguments.* "FPGA/MCU tools work on one distro but not another and I have to keep a separate VM for each!" - sorry, complain to the vendor of those tools. It is not Linux's fault that the vendor doesn't put in the effort to package their software properly, even though it is perfectly possible to do so, even supporting multiple distributions - see e.g. Flatpak or AppImage or how Steam distributes their games on Linux.When a Windows installer makes a mess of your system by installing all sorts of random crap all over the machine (drivers, background services, updater, DRM ...) and/or fails at it, nobody seems to blame Windows for it neither.

author: ebastler
author_rank: Super Contributor
timestamp: November 14, 2018, 11:46:31 am
content: Quote from: janoc on November 14, 2018, 11:08:43 amHey -- are you one of them pesky Millenials, by any chance, with all their newfangled stuff?Back in my day, one platform was more than enough for us, and it was made of wood!

author: KE5FX
author_rank: Super Contributor
timestamp: November 14, 2018, 11:59:05 am
content: Quote from: janoc on November 14, 2018, 11:08:43 amYou might be surprised. I shipped some USB 2.0-based hardware at a point in time when USB 3.0 was still relatively new. It turned out that my firmware had a malformed device descriptor entry that caused Windows to BSOD immediately after the device was plugged into a USB 3.0 port. The first customer who reported it blamed Windows, not me. "Hey, just thought you'd like to know about this," was how he phrased it, rather than, "Hey, dumbass, fix this stupid thing or refund my money," which would have been entirely appropriate.With all the quality problems associated with Windows 10, I suspect that this scenario would play out exactly the same way today. It's a shame that Linux isn't better-positioned to take a share of the desktop market away from Microsoft.

author: sokoloff
author_rank: Super Contributor
timestamp: November 14, 2018, 12:15:03 pm
content: Quote from: KE5FX on November 14, 2018, 11:59:05 amThe fact that you had a bad USB descriptor entry is your bug. The fact that you bug BSoD'd Windows is Microsoft's bug. IMO, their bug is worse than your bug.

author: borjam
author_rank: Unknown
timestamp: November 14, 2018, 12:17:40 pm
content: Quote from: janoc on November 14, 2018, 11:08:43 amThe problem is, some subtle differences can be catastrophic. For a start because they seem to be the same, but.QuoteI have nothing against "different" as long as there is an improvement. However I don't like Christmas trees and new stuff for the sake of it.I have criticized a lot "different" stuff in Linux. Not because of being different, but because it turns out to be much worse. Take for example useless important commands such as ifconfig (which they will probably kill and replace with a dhcpcdcdcdcdcdcdcdcdcdcd), netstat, and the more recent "ip" crap which is beyond ridicule.QuoteI think that the Unix philosophy proved some technical merit beyond any doubt long ago. So, yes, deviating from it is not good unless a benefit is shown. Is it? No. Carry on, no political issue here.QuoteExcept when it affects his response to security and reliability issues. Such an important element of an OS must be simple and straightforward.QuoteYes, why don't we ditch the Posix APIs and adopt Win32 for Unix systems? We will improve compatibility!QuoteComplicated, overloaded -> bad.QuoteI do, actually. When did the geniuses discover that it might be a good idea to keep different versions of shared libraries and keep different directories for system and application provided shared libraries? Of course the infamous 8.3 file names made it harder.In many cases it's not a fault of a clueless developer, but a fault of an uneducated developer who has grown up in a patethical environment, which is very different. It's like the BIOS firmware prompts doing the typical BASIC programmer thing: "CLS". That simple, stupid practice forces you to record a video of a booting computer when you need to see what's wrong. Amazing!I always joked that the world would be so different security wise if the people who perpetrated Windows had read and understood a single book at the right time: "Computers Under Attack" by Peter Denning. Not a big job!They should have learned that other systems already provided shared library versioning.Exhibit 1 from 1987http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=98E82310CD0C5053C7E8A9AE732656D7?doi=10.1.1.37.9514&rep=rep1&type=pdf

author: bd139
author_rank: Super Contributor
timestamp: November 14, 2018, 12:32:50 pm
content: Just a point in systemd bashing. This, from my perspective is a technical issue, not a political one and I'm not bashing it. It is just 100% architecturally flawed due to the messaging and coupling model and Poettering and Redhat have been in total denial about it because they have an agenda to control this space. This is not game over on this front. It's an ongoing fight. I know three companies with cases open that have not been resolved yet.Background, and I've had this a hundred times or so right up to the latest systemd version shipped with CentOS 7 just myself. I'm not talking about pissy single desktops here or a couple of people. I'm talking 500+ node clusters with nodes hosed. Now what tends to happen is that they are running either ansible or large nomad clusters for deployment. At some point systemd and DBus just stops responding so half way through a red/green cluster deployment, 10% of your nodes suddenly stop responding to systemd commands with the following error:Failed to open connection to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refusedIncidentally you then can't just bounce the nodes because systemctl stops responding to this. You have to physically bounce the node from the hypervisor. An then a percentage of those nodes drop straight into recovery. At this point there's no point in recovering them so you just redeploy any nodes that failed. This is HORRID and WINDOWS-LIKE. There I said it.There are so many bugs and so much complexity because the entire system is stateful and the state is not transparent.This is one fucking great big whopper of a problem.The only consolation is things like docker where you can push this away into LXC, lose the hypervisor and have one systemd to deal with instead of one per instance.Also to note, if I'd hired Poettering I'd have fired him after the third fuck up. I think we're on about 50 now?

author: ebastler
author_rank: Super Contributor
timestamp: November 14, 2018, 12:37:53 pm
content: Quote from: KE5FX on November 14, 2018, 11:59:05 amYes, I agree. But the type of discussion we are just having here in this thread is a big part of the reason why Linux is not better positioned:There are just too many opinions (many of them with good arguments in their favor) on the direction to take with various aspects of the system. And, due to the open source nature, it is too easy to branch of yet another Linux distribution, or desktop, or mechanism to distribute software packages.All very well for a technical hobby, and probably good for advancing the general state of the art software technology, by exploring the pros and cons of many options. But terrible if your goal is an easy-to-use, easy-to-learn softwareproduct.Yes, Windows is far from perfect. But at least, if I Google for advice on a Windows 10 related question, I come up with hits which actually refer to the OS I use (rather than one of a plethora of flavors, where the information I find may or may not be relevant to my system)...I don't think Linux will ever be ready for general consumer use unless the developer community can put individual ambitions and vanity behind, and can agree onone"ready to use" Linux distribution. (But then, where would be the fun in that?)

author: borjam
author_rank: Unknown
timestamp: November 14, 2018, 12:41:46 pm
content: Quote from: ebastler on November 14, 2018, 12:37:53 pmThere is another serious issue. The Holy Church of Licenseology.(Corrected the spelling of Licenseology to a better form)

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 01:04:54 pm
content: Quote from: emece67 on November 14, 2018, 12:08:03 amThat's the thing I find *very* scary. The general English speaking population is losing (loosing ;-) any semblance of language skills. The university classes consist of the instructor reading the textbook to the students. It is quite literally the Tower of Babel story from the Bible playing out around us.

author: joeqsmith
author_rank: Super Contributor
timestamp: November 14, 2018, 01:38:12 pm
content: Quote from: rhb on November 12, 2018, 11:33:01 pmThis is true for a lot of things, not just an OS.As for LINUX, I play (best term I could come up with) with it every few years. I would guess the last time I played with it was more than five years ago. I would bet if I looked at Octave for example, it is still basically packaged as a 32-bit program. I would also guess building it for 64-bit will require spending countless hours hunting down various bits and fragments, making several builds and picking the least broken version.

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 01:46:40 pm
content: Quote from: Marco on November 13, 2018, 01:32:53 pmIf you are using regular makefiles a build fail is a piece of cake. You get a bunch of mesages from the compiler telling you what is wrong. Can't find include file, can't find function, etc. All of those are easily rectified in a few minutes using find(1), fgrep(1) and nm(1). It's the perfect example of why Ken Thompson remarked "Never underestimate the value of brute force."For example, suppose you encounter undefined variables.find /usr/include -name '*.h' -exec fgrep -f missing_vars {} \;I'd have an awk script to construct missing_vars from the compiler messages.Undefined functions are very similarfind /lib /usr/lib -name 'lib*' -exec nm -Ago {} \; | fgrep -f missing_funcsI took on at least three 500,000+ line codebases which would not compile as received by me. The longest time it took to get the mess building was about 6 weeks. That was only because the two guys who wrote the programs hadn't checked all the code into RCS and it usually took them a few days to find a missing file and check it in. Once I had that going, I went on to the next one. I was also building the make system as I went.The code was so buggy, that I set things up so that if a user typed "foo" it looked in a table of user ids and program versions and if there was a version for that user ran that instead of the regular version. I had to do that because I was often fixing different bugs in the same program during the course of a single day. Once everything was tested, it became the standard version and the user specific versions went away.You do need to understand the linker and library behavior of the system. On *really* old systems prior to ranlib(1) when you had to use lorder(1) and tsort(1) to construct the library you could run into pathological cases which could only be fixed by putting two copies of the function in the library.With Gnu make all you need isARCH=`uname -a | awk '{.....}' `include ./config/$(ARCH)and write the makefile to *only* call system executables by the variable name defined in the ARCH file. As you can do arbitrary string processing easily, you can patch over pretty much any system variations.That has a single layer of indirection. The *only* thing you need to do to configure for a new system is write the ARCH file. The problem with imake, autoconf and similar is that there are so many transient files being used and an error in any one makes the whole mess fall over like the little man in the sys admin interface of AIX circa 1994.I started the thread as I did because it was really intended for old folks. But I've been very impressed by a lot of the comments. I just wish it were practical to read all of it. It's huge fun, but it grew too fast to keep up with.Edit: I *think* I've managed to read all the salient comments. Naturally some things were said by several people. The greatest pleasure is it is an intelligent discussion of the problems posed by complexity and fragmentation which was my intent. I'm sure we have not saved the world, but it's truly wonderful to be able to converse with such a smart and diverse group of people.

author: borjam
author_rank: Unknown
timestamp: November 14, 2018, 01:55:37 pm
content: Quote from: rhb on November 14, 2018, 01:46:40 pmProblem is, you don't seem to be a quichevorehttp://www.bernstein-plus-sons.com/RPDEQ.html

author: rhb
author_rank: Super Contributor
timestamp: November 14, 2018, 02:16:52 pm
content: Quote from: borjam on November 14, 2018, 01:55:37 pmLOL But those are not real programmers. They're trainees. Now Mel Kaye was a *real* programmer. Sadly I couldn't find a link to the original prose post, just the free verse variants. But on one contract job I formatted "The Story of Mel" as a man page so "man mel" brought it up.On a serious note, I have a *very* large computer science section in my library. The two volume set by Henry Ledgard and John Tauer "Professional Software: Software Engineering Concepts (vol I) and Programming Practice (vol II)" is by far the best general treatment, though Steve McConnell's books are also very good.

author: Marco
author_rank: Super Contributor
timestamp: November 14, 2018, 02:39:19 pm
content: Quote from: janoc on November 14, 2018, 11:08:43 amIt's not a conspiracy, but they have a commercial interest in having the development for as much of essential Linux architecture as possible in house. It limits surprise upstream changes and makes their maintenance easier, which they sell. If that means sidegrading existing code by rolling an alternative into the systemd/gnome behemoth ... well.Don't attribute to malice what can be attributed to capitalism.

author: bd139
author_rank: Super Contributor
timestamp: November 14, 2018, 02:43:41 pm
content: That's exactly it. They hired everyone apart from Linus.

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 14, 2018, 02:49:41 pm
content: Quote from: bd139 on November 14, 2018, 09:47:26 amAnd that's a good policy to keep, since it provides more stable and consistency, but since in Debian Stretch only kicad 4 is on and someone asked about building kicad 5 on linuxand and that was a good oportunity to take chances. Also is good to provide feedback to developers in order to make it more stable to deploy on the packages repositories. Take for example the Mozzila Firefox ESR that has passed from 5X to 6X version and kept the ESR, with the good feedback that was presented.Even then there are cumulative updates to it and more ofthen that it used to be a year ago.

author: Bicurico
author_rank: Super Contributor
timestamp: November 14, 2018, 06:27:08 pm
content: I use Linux occasionally, but I don't like it for these simple reasons:1) If you power down the PC when Linux is still running, 1 out of 5 times you will break Linux. That does not happen with other OS (at least Irix and Windows XP -> 10).2) Getting a particular piece of software running is a huge pain if you happen do be using the "wrong" distro. I don't want to compile software. I want to install and use it. Compiling won't work straight 1 in 2 times.3) You get a GUI. It works (often a bit corky and weird). But then you need to do something simple and search Google on how to do it, because you cannot find a straight forward way of doing it and bingo: you are at CLI level again. And guess what: more than often the supposed configuration file or whatever does not exist in the described folder.My guess is that Linux will NEVER be a mainstream operating system. Too many cooks!Regards,Vitor

author: Monkeh
author_rank: Super Contributor
timestamp: November 14, 2018, 06:36:51 pm
content: Quote from: Bicurico on November 14, 2018, 06:27:08 pmNo. Just, no.

author: sokoloff
author_rank: Super Contributor
timestamp: November 14, 2018, 07:22:28 pm
content: Quote from: Monkeh on November 14, 2018, 06:36:51 pmIt depends very much on the filesystem in use, the activity on the machine at the time of shutdown. IME, on ext2 filesystems, I'd say it's more like 1 in 50 as a worst case. On journaling filesystems, it's much closer to 0 in 50.

author: Monkeh
author_rank: Super Contributor
timestamp: November 14, 2018, 07:34:53 pm
content: Quote from: sokoloff on November 14, 2018, 07:22:28 pmNobody this decade uses non-journaling filesystems, especially on a desktop (which is clearly the only thing he's concerned with).

author: bd139
author_rank: Super Contributor
timestamp: November 14, 2018, 07:41:43 pm
content: Haven’t seen ext2 for about 10 years.ext4 / xfs now. Never breaks. Apart from when your resize xfs and it doesn’t up the inode count.Ironically I’ve lost count of the amount of fucked up NTFS and HFS+ volumes I’ve seen just in the last 5 years. NTFS usually recovers fine though. I really don’t trust HFS+

author: sokoloff
author_rank: Super Contributor
timestamp: November 14, 2018, 07:46:36 pm
content: In case it wasn't clear, I was trying to agree with the "this isn't a big deal in practice any more" side of the argument.

author: rhb
author_rank: Super Contributor
timestamp: November 15, 2018, 12:52:50 am
content: CentOS 7 doesn't have a package for the mtd (memory technology device) tools. So I'm having to build a kernel and I have been reminded of that great innovation of Gnu/Linux. The progress spew with no information.Mustn't alarm anyone by reporting the actual commands, argument order and all that nasty compile and link details. We'll just say we're compiling foo.o. That should do. Trust us. We're *much* smarter than your are :-(Of course, in a way I shouldn't be surprised. I spent a lot of time over the years fixing library link list ordering for people who didn't comprehend the implications of single pass linking.

author: Monkeh
author_rank: Super Contributor
timestamp: November 15, 2018, 12:59:10 am
content: Quote from: rhb on November 15, 2018, 12:52:50 ammake V=1I know, it's not exactly 100% like everything which came before it, so it must be bad.

author: KE5FX
author_rank: Super Contributor
timestamp: November 15, 2018, 01:19:48 am
content: Quote from: sokoloff on November 14, 2018, 12:15:03 pmTo be fair, the BSOD originated from the kernel-level driver for the USB root hub in question, which didn't come from MS but from a third-party vendor like Renesas or Intel or someone like that.I don't see how Linux would have behaved any differently in response to a critical fault at ring 0. Whether a stereotypical Linux user would have blamed the OS, the root hub vendor, or the device vendor, I'm not sure, but I do tend to think the device vendor would have received the bulk of the negative feedback.

author: Monkeh
author_rank: Super Contributor
timestamp: November 15, 2018, 01:23:41 am
content: Quote from: KE5FX on November 15, 2018, 01:19:48 amIt's likely it wouldn't bring the entire kernel down. USB, being subject to a great deal of horrible abuse as an external, hot pluggable interface, is generally assumed dangerous. Mind you, this is assuming you're not loading an unknown third party blob in - generally this stuff is taken care of properly in-house..It's okay, though, Linux already gets huge amounts of flak for not working properly with $INSERT_USB_DEVICE_HERE because the vendors fail to comply with the appropriate specifications. Equally for proprietary firmwares crashing in ways which require convoluted, undocumented recovery procedures. Totally not the fault of the broken firmware which crashed.

author: rhb
author_rank: Super Contributor
timestamp: November 15, 2018, 01:38:19 am
content: I think that sums it up quite well. We are dealing with terminal complexity. The only person I know of who is actively addressing this is Andy Tanebaum and the Minix 3 project.Everyone else just makes everything more complex and blames someone else for the problem.If Ken Thompson doesn't trust anything over about 10,000 lines of code I don't think there's much hope with multi-million line systems such as we use today.

author: cdev
author_rank: Super Contributor
timestamp: November 15, 2018, 01:55:00 am
content: Linux is far more solid than Windows is these days.

author: james_s
author_rank: Super Contributor
timestamp: November 15, 2018, 02:16:09 am
content: It looks and feels a lot more polished too. That has less to do with Linux improving (though it has) and more to do with the fact that Windows has regressed tremendously, going from the slick and polished Windows 7 to Win10 feeling like crusty open source software from 15 years ago.

author: Bud
author_rank: Super Contributor
timestamp: November 15, 2018, 03:57:28 am
content: Quote from: cdev on November 15, 2018, 01:55:00 amNice joke. There was probably no program that i tried that did not crash in Ubuntu. Just like that - puff.... no error message, just vanish.

author: Monkeh
author_rank: Super Contributor
timestamp: November 15, 2018, 04:17:28 am
content: Quote from: Bud on November 15, 2018, 03:57:28 amAnd quite how you manage that is a mystery never to be solved.

author: james_s
author_rank: Super Contributor
timestamp: November 15, 2018, 04:51:55 am
content: Hardware fault or bad driver most likely, not much else will cause that. I had Ubuntu on my desktop at a previous job and the uptime was approaching 9 months. It would have been longer but we had a power outage that rebooted it. The machine went years without a crash.

author: @rt
author_rank: Super Contributor
timestamp: November 15, 2018, 05:10:38 am
content: My one experience with Ubuntu has deterred me from using it again.Ran the test version from the USB stick, downloaded and installed components required to compile a program (including the program source code),everything worked until the next session it forgot everything as if it was all running in RAM. source or binary for program was also gone.Why would anyone make a setting they didn’t want to stay on the USB drive? Even something as simple as setting a Web homepage, I’d expect to be saved.So then tried the proper install, and it wrote over a data SSD it had no business overwriting (didn’t have an OS on it), and wasn’t the drive it booted from.Ubuntu installer failed at it’s one job, and also ruined all of the data on the 512 Gb SSD. Couldn’t see it in Windows GUI, and formatted it with Command line Diskpart.That was harmful.

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 15, 2018, 05:19:28 am
content: Quote from: @rt on November 15, 2018, 05:10:38 amIt was probably running in RAM for people to test the software. You generally get the option what you want upon boot or installation. Volatility can be a useful tool.

author: @rt
author_rank: Super Contributor
timestamp: November 15, 2018, 05:48:45 am
content: That’s what I figured, and then tried it’s installer.It won’t be running on any of my PCs that have any other drive in them again.

author: borjam
author_rank: Unknown
timestamp: November 15, 2018, 08:01:10 am
content: Quote from: Bicurico on November 14, 2018, 06:27:08 pmIn the old times Linux worshippers liked to brag about the ext2 filesystem speed. How did they achieve the miracle? By mounting it in async mode.That's the reason why one in 20 boots or so the system made a full fsck "just in case".But I think (I hope!) it's a thing of the past!

author: borjam
author_rank: Unknown
timestamp: November 15, 2018, 08:05:00 am
content: Quote from: Monkeh on November 15, 2018, 12:59:10 amWhat I say, death by a thousand of paper cuts.I guess they never got the meaning of the Principle Of Least Astonishment (POLA).What's coming next? Changing the options depending on the language settings? So -v (verbose) would become -e (explicito) in SpanishOh god, I just gave a Bad Idea™!

author: bd139
author_rank: Super Contributor
timestamp: November 15, 2018, 08:19:26 am
content: Quote from: rhb on November 15, 2018, 01:38:19 amHe’s right. You can break the rules on this which is the point.Make your system lots of 10,000 LOC programs that talk to each other. There are two approaches to this:1. Unix, pipes, composition, done.2. Technology of the hour, crack pipes, mud and sticky tape, label it microservices and job never done.Outcome 2 usually ignores the Unix design principle of “do one thing well” and results in “do an unknown number of things badly”. And that’s modern software

author: knapik
author_rank: Regular Contributor
timestamp: November 15, 2018, 08:24:28 am
content: Quote from: bd139 on November 14, 2018, 07:41:43 pmI had a lot of "fun" not too long ago when I was backing up my files on an NTFS drive while the power went out. I ended up having to transfer ~1TB of data off of the backup drive onto another hard drive, reformat it and then transfer it back, all while struggling to Window's 255 character filepath limit. I don't think I'll be using NTFS again.

author: borjam
author_rank: Unknown
timestamp: November 15, 2018, 08:25:02 am
content: Quote from: bd139 on November 15, 2018, 08:19:26 amYeah.From lean and simple APIs to uncomprehensible behemoths with tons of documentation.Next stage, über behemoths with no documentation at all and trial and error plus StackOverflow searches.But this is not just the Linux world

author: borjam
author_rank: Unknown
timestamp: November 15, 2018, 08:28:48 am
content: Quote from: knapik on November 15, 2018, 08:24:28 amI had an amusing experience with NTFS (my only one and just because I was called to the rescue!) back in 2005 or so.A FiberChannel switch failed and a cluster of two Windows machines lost access to the filesystem. When we rebooted everything the Windows thingies refused to mount at all. No way.So, what was the rescue? I booted a FreeBSD system off a live CD, set up a ftp server, of course mounted the NTFS in read only mode and the Windows admin, to his astonishment, could recover the files. A 5 minute job.Still, he had to create manually lots of websites on the infamous IIS because there wasn't a proper configuration file you could just copy.

author: bd139
author_rank: Super Contributor
timestamp: November 15, 2018, 08:35:44 am
content: I'm using ansible to configure IIS at the moment, on windows. Don't go there.Another typical problem is windows' remote access and admin stuff, WinRM. It's a .Net process which creeps larger and larger until it explodes and then stops responding to requests. The protocol is HTTP and the only way ansible can do it's thing is by using WinRM to upload powershell scripts and execute them.It's so good, Microsoft built SSH into Windows 2016

author: borjam
author_rank: Unknown
timestamp: November 15, 2018, 08:48:35 am
content: Quote from: bd139 on November 15, 2018, 08:35:44 amAhhh, memories!Back in the 90´s I was doing the 3Com and Olicom Certified Asshole courses. And one of the last days, during lunch, someone mentioned the "insane, complex Unix system". Of course I begun to argue (the rest were Windows users) and at some point someone begun to make really clueless comments. One was something like "how big is a Unix workstation?" And I had to explain him that I had an IPX at home and it was quite smaller than a peecee, Ethernet, sound, graphics accelerator, SCSI and all that even! For someone too young who hasn't seen these, like 3 Mac minis stacked.Then I commented that there were even Unix laptops. And of course the idiot said something like "surely it weighs 20 Kg or so!". I had to have him look for information about Tadpole machinesAnd yeah, remote access. Someone else told me to mention one single thing I could do in Unix which was impossible in Windows. I told him to explain me how to login to a Windows machine using a modem, convert the connection to PPP, launch three or four ssh sessions, configure a PPP in debug mode on another ISDN channel and prepare it to receive a call and help a friend who was mad trying to configure a router and didn´t know which authentication mode he was using. All of that without rebooting of course. His answer? THAT'S IMPOSSIBLE! Of course it was just so much routine stuff I didn´t even think about it.I am not sure Citrix existed at all at that time.The point of all this, anyway, is. Lots of Linux youngsteers are dismissing the Unix philosophy as something irrelevant from the past. They just are not aware that such a simple philosophy in the core made all kind of complicated tasks just trivial, natural.You didn't think wether something was possible, but how to do it.

author: bd139
author_rank: Super Contributor
timestamp: November 15, 2018, 08:51:05 am
content: Citrix. Kill me.I always wanted a SPARCbook. Still tempted to buy one if I see one. Sure it’ll run netbsd or something still.It’s nice looking back at this stuff. Fond memories.

author: james_s
author_rank: Super Contributor
timestamp: November 15, 2018, 04:47:30 pm
content: Quote from: @rt on November 15, 2018, 05:10:38 amIt's by design that it doesn't save anything, it's the USB equivalent of a live cd. The fact that it's a read-only filesystem means it can't become corrupted or infected. This is a case of user error.

author: bd139
author_rank: Super Contributor
timestamp: November 15, 2018, 04:51:26 pm
content: Yes sounds like a large case of user error that.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 15, 2018, 05:51:47 pm
content: Quote from: bd139 on November 15, 2018, 08:19:26 amThere's an old saying stating that a good developer makes approximately 1 bug every 800 LOC.Obviously it says nothing about a bad developer.

author: glarsson
author_rank: Frequent Contributor
timestamp: November 15, 2018, 06:06:05 pm
content: Quote from: SiliconWizard on November 15, 2018, 05:51:47 pmAfter typing in the source code?After compiling?After testing?After delivery to customemers?

author: rhb
author_rank: Super Contributor
timestamp: November 15, 2018, 06:17:12 pm
content: Quote from: bd139 on November 15, 2018, 08:51:05 amActually, Illumos (nee OpenSolaris) has been brought up on SPARC Whether it includes the SPARCbook is a different matter.

author: rhb
author_rank: Super Contributor
timestamp: November 15, 2018, 06:30:15 pm
content: Quote from: janoc on November 14, 2018, 11:08:43 amErr, excuse me but I was doing of that except the Windows part almost from the day I *started* using Unix 28 years ago. I actually officially started doing that 3 months later when I was hired on to specifcially do exactly that. Of course I already had a dozen operating systems and 3 years of VAX admin experience by then.Of course, you may not consider porting 500,000+ lines ov VAX FORTRAN code to SGI, IBM, Intergraph, DEC, HP and Sun systems. Or maintaining over 2 million lines of other people's undocumented (as in sole comment was author's name) code as adequate credentials. But *none* of that stuff would compile when I took it over.

author: rhb
author_rank: Super Contributor
timestamp: November 15, 2018, 06:59:20 pm
content: I am suffering through the ordeal of getting the mtd kernel modules installed on CentOS. It's been a long time since I built a kernel and as nothing is the same as it used to be I've been searching for instructions.The single most glaring issue is the exceedingly poor communication skills of the authors.They fail to mention what distribution and versions they are using.They can neither spell nor write grammatical sentences. Those for whom English is not their native language do better than the Americans and Brits.Something I find curious about the raging disdain for age and experience in the 20 something crowd. How do they keep from going crazy knowing, as they are absolutely certain, that every day they are getting stupider and that in 20-30 years they will be helpless?We were all a bit full of ourselves when we were that age, but the current generation has taken it to a completely new level.In closing, here's a short tale.----------------------------------------------------------------------------------------------------------------------------------------------------There was a farmer who had an old rooster. He was getting a little concerned that age might have diminished his ability to service the hens, so he got a young rooster.The young rooster was strutting around the barnyard and went up to the old rooster. "Man, you're just stew meat. I'm taking over."The old rooster just looked him in the eye and said, "I wouldn't be to sure about that.""Ahh, you're just a deluded fool who is over the hill and resting on your laurels.""Really? I bet you can't even keep up with me in a foot race.""You're on, old man. I'll beat you by a mile.""OK, then how about giving me a 15 ft head start? Does that seem fair for an old guy like me.""Sure. Take off and I'll start when you reach the corner of the hen house."So the old rooster takes of running and as he goes around the corner of the hen house he starts making a huge racket. The young rooster takes off after the old rooster and as he rounds the corner of the hen house, there's the boom of a shotgun. The farmer sitting on the porch ejects the empty shell and says, "Damn, that's the third gay rooster I've bought this month."

author: edy
author_rank: Super Contributor
timestamp: November 15, 2018, 07:33:36 pm
content: While various Linux distros are far from perfect, including Ubuntu (which is the main distro I use,http://ubuntustudio.org/,and love it), I can tell you that the last few years of vastly-improved installation, configuration and GUI tools to manage the systems has *GREATLY* improved the reach of Linux to your average "n00b" (like myself) who would have otherwise NEVER even thought of using anything other than Windows!Also, the availability of so much free open source software now to handle almost everything I was doing on Windows made the jump quite easy, and for those rare instances that I still need to run some legacy Windows software I can either use WINE or have VMWare inside my Ubuntu machine when I need it.Another bonus is that I can often run Linux on a wide range of hardware of different power, from RasPi through to the most powerful servers, and carry my knowledge across them... and also put Linux on machines that are older and would otherwise croak to a grinding halt trying to run any functional modern version of Windows. I can find a current (but more simplified) Linux distro that takes a fraction of the RAM and HD space and still run fast and secure and be updated, and put it on 5-10 year old hardware no problem and be fully functional!Linux has opened up the eyes of users who have had really no other practical alternative to Windows. Nothing is perfect, but now users have a CHOICE. If you think about it, what operating system alternatives do PC users have? For that matter, what options to Mac users have? After Windows and MacOS, the next choice happens to Linux... and a number of distros to suit various tastes, most if not all free, and now far easier and within reach of anyone who wants to install and configure it as the support for hardware has improved tremendously (some big vendors are finally starting to contribute). The use of liveUSB's also lets you try the systems without installing, and you can even configure them with Persistent Storage.Yes, the current crop of Linux OS's may not appeal to the more puritan Unix users. They are often a cobbled patchwork of software and forks (as would be expected in an "open" environment) and there can be inconsistent experiences between Linux systems. But back to the title of the original thread... is it considered "harmful"? In what way? All I see is that computer and software enthusiasts have work hard over decades to create a robust and as much as they could well-engineered OS (often on a volunteer basis with no pay involved) to create an ALTERNATIVE to the monopoly of Microsoft on the PC world. This can only be GOOD.And by the way, I can share with you plenty of issues with Windows 10 working in a business environment that have caused countless headaches with absolutely no obvious way to track down the bugs. It was only after searching through countless pages and finding obscure support blogs that you find idiosyncrasies creeping in by each Windows update that messes up existing working systems! Linux is not perfect either, but it offers me control and customization that I could never imagine ever doing in Windows, and finally a CHOICE which ultimately gives me FREEDOM.Again, I can't vouch for anyone doing more sophisticated stuff like compiling thousands of lines of ported code, development, or those using specialized software for which no Linux options exist... But for a VAST MAJORITY of users who live in the Windows world and do consider themselves "Power Users", Linux is perfectly suitable and has the tools to enable them to be very efficient and productive.

author: bd139
author_rank: Super Contributor
timestamp: November 15, 2018, 07:52:55 pm
content: I was thinking about this earlier and I think it goes like this now (apologies to those of us without dicks):1. User gets windows and is punched in the dick.2. User gets fed up of being punched in dick and someone tells them about Linux.3. User installs Linux and is punched in the dick.4. User installs windows again because at least they knew roughly what they were doing while being punched in the dick.5. User gets fed up of being punched in dick and someone tells them about Apple6. User goes to Apple store and gets mugged and punched in the dick.Common problem is user is punched in the dick wherever they turn.Winning vendor needs to write something which doesn’t punch you in the dick.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 15, 2018, 08:04:51 pm
content: Quote from: bd139 on November 15, 2018, 07:52:55 pmBut we still manage to do useful stuff out of all those platforms, at least most of us. And all those willing to do better and thinking they have all the right ideas usually end up either with something like Linux (at best), or even like BeOS (does anyone here remember BeOS?)One big advantage of Linux is that you can always make your own distribution (even if that's time-consuming) that fits your own requirements (which are often different from your neighbour's), whereas it's pretty much impossible with Windows or MacOS.

author: bd139
author_rank: Super Contributor
timestamp: November 15, 2018, 08:11:09 pm
content: There’s an illusion of productivity based on “today isn’t as bad as that really bad day we had”.I remember BeOS. That was where we should have gone.Apart from C++

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 15, 2018, 08:15:38 pm
content: Quote from: glarsson on November 15, 2018, 06:06:05 pmObviously that's just an old saying, something I used to hear more than 20 years ago in some circles. Not something that has any scientific value.It was kind of a rule-of-thumb thing that appeared not that far away from real-world facts at the time, as I remember. Of course you first have to define what you consider a bug, and what you consider a good developer. Here since this was centered on individual developers, you can't consider it in convoluted settings with many stages of development and many different people involved in testing, "continuous delivery" and all this.Bugs considered here would be bugs that eluded the developer themselves, thus not the bugs they inevitably make during developing and that they catch while they develop, including compiling and their own testing.Whereas the relevance of this kind of metric is highly debatable, it has been studied by many people and some have even concluded that the programming language, as well as the development method, influenced this metric only marginally, something that with experience, I tend to agree with (but obviously something that all the proponents of software silver bullets will fiercely deny).

author: rhb
author_rank: Super Contributor
timestamp: November 15, 2018, 10:38:12 pm
content: What made Unix so successful, was a knowledgeable user could easily do anything they wanted. The amount of detail that you had to no from memory was small and discoverability was simple. The only thing that I know of that improved on that is Plan 9 which introduced the concept of configuring devices via ASCII files. I got a 3.5" floppy of the first release at Usenix '95 in NOLA. An operating system, windowing system, editor, full UNICODE support and the basic command line tools in less than 1.44 MB.I now have the needed mtd kernel modules placed in the appropriate places, but when I attempt"modprobe mtdram total_size=64000"I get a message saying it can't find the module. So I am reduced to using strace(1) to find out where this idiot system is looking.Can I make this work? If it does work on CentOS, yes. But the labor is ludicrous. And I read some man pages which said something to the effect: "This is a trivial program for doing XYZ." Absolutely *no* useful information supplied.The *only* reason I ever use Gnu/Linux is because the software I need to use cannot be run anywhere else.

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 15, 2018, 10:42:46 pm
content: When it comes to compilation process it is better to have some documentation , specially when it comes to kernel. The doc folder should be present .The menuconfig has keys for search fields (/) and a help (?) on the menus. It has grown a lot and it requires some reading from the Documentation folder. It is best to work the kernel with a repository to track changes.The main key is the documentation and information provided on the kernel issues, software issues that might be found in daily use to better improve them.About being punched well you could opt not having a banal computer , maybe a chromebookJust kidding

author: Monkeh
author_rank: Super Contributor
timestamp: November 15, 2018, 10:44:17 pm
content: Quote from: rhb on November 15, 2018, 10:38:12 pmOr you could simply look up where modules are stored.Have a freebee: /lib/modules/$(uname -r)

author: bd139
author_rank: Super Contributor
timestamp: November 15, 2018, 11:22:09 pm
content: Yes. Kernel modules are really easy to compile and install (and write!). Literally a 4 line cut and paste makefile.I repeat what I've said earlier probably incoherently that the Linux kernel is a nice bit of tech. Unfortunately it's a figurehead on a ship of fools on an ocean of diarrhea. It's the userland that sucks.

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 15, 2018, 11:50:23 pm
content: That is true when it comes for the user interface and i think i've comment about it. the simple interfaces like LXDE and XFCE works good since they have been ported to the SBC world but they offer less functions compared to the windows gui. Sometimes the linux gui crashes maybe with samba folders and / or davfs, .. it is more the application Thunar and then you have to save you're work, go to CLI, restart graphic services. if you can't logout with GUI....It is way better than some years ago the GUI but not as close on the windows . Again linux is more like to be a learning OS .

author: bd139
author_rank: Super Contributor
timestamp: November 15, 2018, 11:59:56 pm
content: I never got those weird ass virtual filesystems in file managers in desktop environments. GVFS was a crime. The damn OS has a perfectly good VFS layer. Why build another one?!?!?! Crack heads.(Windows connection to phones etc is just as bad)

author: rhb
author_rank: Super Contributor
timestamp: November 16, 2018, 12:37:49 am
content: Quote from: Monkeh on November 15, 2018, 10:44:17 pm*That* I already knew. They were already installed where they belong. The question is what other files is modprobe reading. Eventually I learned from dmesg that the modules were considered tainted.I finally concluded that the CentOS 7 mtd modules are grossly out of date. I'm currently installing Debian 9.3 as I am fairly confident they work on that. I have a system with a trayless SATA drive mount and a tray style PATA drive mount. It's a great use for old drives. So a 1 TB drive leftover from upgrading my my Solaris 10 system will become my work system for memory technology devices. And Centos 7.4 will be my Vivado system. I tried VirtualBox VMs, but the Illumos/OpenIndiana USB support is not very good.Until a few years ago, I refused to use Windows outside of access to the mail system at work. And I did not really use Linux for anything other than testing new releases of some large seismic processing packages I supported for many years. But there are a lot of electronics engineering applications which only run on Windows. So having picked up 3 Z400s for $100 each I configured one so I can boot off of any of the now rather large collection of old hard drives I have accumulated.My primary systems are a Solaris 10 u8 running ZFS on a 3 disk RAIDZ1 array and an OpenIndiana Hipster system set up the same way. For security reasons the S10 system is *never* connected to the internet even though it is sitting on a NAT. I have way too much work invested in configuring that for doing development and maintenance work on large software packages.Rather sadly, my recent experience with CentOS aka Red Hat makes Win 7 Pro look good. I *never* thought I'd ever make such a comment. Of course, everything since Win 7 is a nightmare.As a general response to some comments. If you personally do not *start* solving a problem with an unfamiliar program by tracing the system calls or know people who do, you can't begin to appreciate the skill level that implies. The primary reason I'm having problems with this stuff are two fold:Gnu/Linux has turned into a terminally complex and inconsistent pile of crapI've not been doing serious software work for 7-8 years, so I am *very* rustyThe fact that Gnu/Linux documentation is a pile of conflicting, poorly written and inaccurate crap is only an issue for me because I've not done any serious software and system administration work in a long time. And if you don't do it, it all just fades away.The best sys admin I have ever met is now a senior manager with AT&T consulting managing projects all around the world. Whenever we talk, the subject of our having been reduced to what we consider incompetent by lack of practice always comes up. I'm a bit better than he is, as he has not touched a Unix system in 10-15 years. But neither of us is anything close to what we were when we worked together and were in top form.

author: Monkeh
author_rank: Super Contributor
timestamp: November 16, 2018, 01:06:02 am
content: Quote from: rhb on November 16, 2018, 12:37:49 amAnd how did that work out for you?QuoteRight, you chased your tail until you looked at a standard resource for kernel messages.And yes, CentOS is grossly out of date - if that's not apparent from the fact that it was released nearlyfour and a half years agoand uses afive and a half year old kernel, I begin to understand your problem.

author: rhb
author_rank: Super Contributor
timestamp: November 16, 2018, 04:30:18 am
content: Quote from: Monkeh on November 16, 2018, 01:06:02 amI'd say rather well. I was paid oil industry Stanford PhD day rates despite not having gotten my doctorate. I have several very close friends in that category. So I have a very good idea of what the pay scales are. A fairly important detail if you work as a contractor on 3-6 year contracts. I did not look for work. It looked for me by name.QuoteI did not choose CentOS. Xilinx did. As for the "standard resource" I am quite aware of it. But it seems a substantial number of the Gnu/Linux crowd are not. So it is never clear *if* there is an error message logged, or *where* it is logged.As a bit of perspective, this is a partial list of *nix systems I have worked on. I'm sure there were some others, but these are what I can recall at the moment.Unix OS variants or clones:MinixCoherentSGI IrixIBM AIXIntergraph CLIX ( very primitive Sys V on the Clipper chip, the CPU not the encryption chip)HP "snakes" seriesDEC UltrixSun 386i ( rebranded Interactive System V)SunOS 4.xSolarisIntel i386 HypercubeIntel i860 HypercubeEvans and Sutherland?Alliant?FreeBDSOpenBSDDEC/Compaq Tru64 (aka OSF)Mac OS XSlackwareMandrakeRed HatSuseFedoraCentOSDebianUbuntuHaving made a few million lines of old code work on any arbitrary set of these I don't have anything else to prove.The above does not include non-Unix systems like VMS, MVS, VM/CMS, Perkin-Elmer, MUSIC and several others. I ran a VAX for 3 years and tuned it to run at 100% CPU utilization for months at a time running batch jobs *and* providing the interactive response of an idle system. I've never come across anyone else who figured out how to do that.It is *very* expensive to qualify an OS update in a large corporate environment with a large number of 3rd party packages.. The applications oftn cost $100K per seat. So RHEW moves *very* slowly with great caution. I've had a front row seat to IT meltdowns because of version updates that cost hundreds of thousands of dollars per day for several days. Management gets a bit excited when such things happen.I was once asked to hep resolve some problems with a reservoir simulation package for which my client paid $80K/yr for support. After a week or two of idiocy, the vendor support guy said, "If you get it working, please send me the changes to I can give them to the other customers." I did not work for the reservoir guys and was just doing them a favor. So at that point, I reported it to my supervisor and stopped work on it. In the internal billing structure I was working for free. I was getting paid, but out of someone else's budget.BTW It's pretty clear you do *not* recognize the allusion in the title.At his point, I think all of the interesting and enlightening posts are probably done. My thanks to those who understood the issues for their comments. Some people brought up points I either did not know or had not considered. But it's getting unpleasant, so time to call a halt.

author: Monkeh
author_rank: Super Contributor
timestamp: November 16, 2018, 04:36:13 am
content: Quote from: rhb on November 16, 2018, 04:30:18 amThat's not what I asked and you know it. But keep on blowing your horn.QuoteYou do have some valid points, but you mix it in with bias, ageism, and arrogance.So yes, I'm out, carry on.

author: ebastler
author_rank: Super Contributor
timestamp: November 16, 2018, 06:48:21 am
content: Quote from: rhb on November 16, 2018, 04:30:18 amThe main thing this thread has done for me is to confirm an apparently universal human tendency in tech:Those innovations which came about (or which we learned about) during our formative years, we consider the best thing since sliced bread. If you are in the right age bracket, these might include the original Unix systems and structured programming (no GOTOs please).Those innovations which come about later, when we are more settled, we tend to consider newfangled crap. Depending on your age, these might include object-oriented programming or Gnu/Linux, for example.It's hard to impossible to rid oneself of such notions. I am certainly guilty of them myself. But it helps to be self-aware, and not assume that one owns the absolute truth...

author: Marco
author_rank: Super Contributor
timestamp: November 16, 2018, 10:19:30 am
content: Quote from: rhb on November 15, 2018, 01:38:19 amThat's not really true, Linux's process and driver isolation slowly lumbers forward. They just have a lot more baggage to move in the process. For most of Linux's existence there weren't even no execute bits in the page table and there was a 1 bit address space ID for the TLB on their main platform. Linux was designed for the architecture it was given.

author: borjam
author_rank: Unknown
timestamp: November 16, 2018, 10:40:04 am
content: Quote from: ebastler on November 16, 2018, 06:48:21 amI strongly disagree.The fact that we still stick to an operating system born in the early 70's reflects the disgraceful state of operating systems research and its adoption by the industry, which as led to systems research becoming irrelevant.This article by David Pressotto was published in 2000.https://www.cse.iitb.ac.in/infolab/Data/utah2000.pdfI don´t claim any of these ideas as mine of course, but I really agree with him.QuoteProblem is, GNU Linux is NO innovation. In several areas it went backwards because of the ignorance or disdain for history or "grumpu old greybeards" by many of its contributors. It has been hit really hard by the obsession with software licenses. I can agree with some of the goals of the Free Software Foundation but you can hardly satisfy two different goals with an operating system. Either you get a briliant, useful, performant, cutting edge operating systemora way to support your political cause. Both? I think it's not possible.I think the GNU project has brought a lot of good helping fuel the open source movement. They haven't achieved their final goals probably, but I don't think they were so good anywyay.OOP. It's a briliant intellectual creation and it can be incredibly helpful in tackling software complexity. But there is more to software complexity than mere information hiding, and some of the problem is not actually tackled, but swept under the rug. So it's not the right solution for every problem and a good OO design is much harder to do than it's apparent.Comparing OOP (a software paradigm) with a particular program (Linux) is like comparing apples to siphonophores.

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 16, 2018, 11:20:35 am
content: Quote from: bd139 on November 15, 2018, 11:59:56 pmExcept if it was a windows phone / mobilewhich work great in both Linux and Windows. Also Windows phone itself was very good, poorly anounced although Nowadays it's all using the MTP driver and the ADB driver support has improved a lot.About being harmfull it depends the purposes on what Gnu/Linux is used or interpreted. The most concerning thing may be the fragmentation on distribuitions ... there are so many... derivates..

author: bd139
author_rank: Super Contributor
timestamp: November 16, 2018, 11:34:10 am
content: Windows phone was great. If they (a) ironed out all the bugs and (b) as per all MS products, didn't suffer from severe schizophrenia

author: vtwin@cox.net
author_rank: Regular Contributor
timestamp: November 16, 2018, 11:43:38 am
content: Quote from: Monkeh on November 16, 2018, 01:06:02 amThis recently bit me in the ass (this week.) I use CentOS principally as I have licensed software at work which, should I require technical support on, the company will not even speak to me unless I am using one of their "supported" distributions, of which RHEL is one (learned the hard way a while back when I needed support and was running Fedora Core at the time). Folks at work are too cheap to pay for a software update contract ("Linux? Isn't that free? Why do I have to pay Redhat for updates?"). Thus, I tend to use CentOS for my personal stuff too, so I'm not trying to remember two different sets of configuration tools, etc.Recently at home I had a dell server, which acted as my principal backup server (Windows) and internet router/firewall (CentOS HyperV), STB. Rather than replacing it with another large server, I opted to "go small", so I picked up a couple of Zotac ZBoxes, one for my router and the other to connect my 12TB backup drive to (the latter requiring a little bit of a hack to connect, mainly an external case with power supply for the drive with a SATA data cable running from it into the Zotac via a small "portal" I drilled into the case, to connect directly to the internal SATA connector, so the unit thinks it is a 12TB internal drive)Well, booting CentOS on the ZBox was painfully slow. And I mean painfully slow. As in an hour to boot a minimum install thumbdrive just to get to the installation menu. On the other hand, I could boot a Debian stretch install image and have a built-out system in 15 minutes. I really didn't want to convert over to Stretch, as I have(had) my CentOS router configured the way I wanted it, and have all the config files ready to install on a new build.... compared to trying to "learn" where Debian puts everything to get it the way I wanted. My wife (IT auditor) works from home quite a bit and requires internet access for work, so downtime is something to be avoided if I do not want to sleep on the couchAfter much research, turns out the problem is w/ the kernel (3) used by CentOS, and using a mainline kernel (4) off the elrepo repository fixed the problem. Now the ZBox flies (with the 4 kernel). Easily keeps up with my 300MB download speed from my ISP.So, yeah, CentOS is a bit dated (like me!) I guess. I suppose I should start investing the time to familiarize myself with some "newer" distributions.

author: bd139
author_rank: Super Contributor
timestamp: November 16, 2018, 11:49:30 am
content: Yes it gets worse with centos as well because you have to pull EPEL in to do anything useful and half the shit in there is just broken.

author: ebastler
author_rank: Super Contributor
timestamp: November 16, 2018, 12:26:38 pm
content: Quote from: borjam on November 16, 2018, 10:40:04 amI would argue that this article is in fact another example for my (yes, overly generalized and simplified) statements:PresottoRob Pike believes that the research done in "his" days was relevant, and that the more recent directions of the computer science and IT world are newfangled crap. Designing new operating systems is what the world needs in his view, that whole usability stuff is irrelevant.Edit: Changed the attribution. I hope we are talking about the same article? The one you linked to is not by D.P.

author: sokoloff
author_rank: Super Contributor
timestamp: November 16, 2018, 01:05:51 pm
content: Quote from: rhb on November 16, 2018, 12:37:49 amI don't think *starting* with strace/dtrace is aremotely reasonablecourse of action. Start with man pages, start by reading log messages/eventvwr logs, start with a Google search. Start almost anywhere but tracing syscalls.If I took my sick kid into a pediatrician or even ER and the beginning of diagnosis was a CT-scan, I sure wouldn't be thinking, "Wow, such skillful doctors!" Maybe starting with a thermometer and stethoscope is a lot smart course of action...

author: ebastler
author_rank: Super Contributor
timestamp: November 16, 2018, 01:16:01 pm
content: Quote from: borjam on November 16, 2018, 10:40:04 amHuh? I used them as two completely independent examples of older vs. more recent innovations in computer science. Unix/Linux on one hand, and structured/object oriented programming on the other hand. Of course there is no point comparing Linux vs. OOP, and I didn't compare them.

author: bd139
author_rank: Super Contributor
timestamp: November 16, 2018, 02:17:53 pm
content: Quote from: ebastler on November 16, 2018, 12:26:38 pmThat's not what he suggested. He suggested systems research was done, which it pretty much is. Turns out the application of the technology, not the technology was the big thing and he was right.As for "recent directions" and "newfangled crap" Rob Pike (and Ken Thompson) are currently looking after Go at Google...

author: ebastler
author_rank: Super Contributor
timestamp: November 16, 2018, 02:46:30 pm
content: Quote from: bd139 on November 16, 2018, 02:17:53 pmTo your first point: No, I don't think Rob's drift was that there is nothing more to be done in system software research. When he says that "systems software research has become irrelevant", he does not mean that there is nothing left to do, but that software researchers have been focusing on other things, which he regrets.Regarding the "newfangled" part, you have a point. Maybe Rob has managed to avoid the second one of my favorite fallacies, and is still open to new stuff.

author: rhb
author_rank: Super Contributor
timestamp: November 16, 2018, 04:48:34 pm
content: I strongly agree with Rob Pike. Thanks for the link.Obviously one reads whatever documentation is available. I was referring to what you do when something doesn't work. Especially if it fails silently. The man pages on CentOS are pathetic. Lots of commands have no man page at all.

author: bd139
author_rank: Super Contributor
timestamp: November 16, 2018, 05:20:42 pm
content: I think they assume you can just google stuff.Which is no good when your network connection is down, you're in the middle of nowhere with no phone reception. Been there. Probably already said that in this theadOpenBSD is the only thing that doesn't scare me in that department. You can run just the base system and never be SOL.

author: rhb
author_rank: Super Contributor
timestamp: November 16, 2018, 08:46:47 pm
content: I installed Debian 9.3 on a hard drive and life is much better now. I'm still stuck with CentOS for Vivado and possibly the Altera tools. I don't recall what those support. I was hoping to avoid having more filesystems to root through looking for stuff I did last year.It will be interesting to see if the quality of RH improves now that IBM owns it. I was helping a friend set up a compute cluster circa 2000 and RH support was pathetic. I was on hold forever and then the person didn't know as much about it as I did.The reason I went straight to strace(1) was to see if modprobe was looking in a configuration file. I've seen far too many instances of you had to fiddle someplace that wasn't documented and when it failed to find what it was looking for exited without issuing a meaningful message. In this case though the real issue is the antiquity of CentOS 7. But as for how that worked out for me, it did *exactly* what I wanted to do.

author: bd139
author_rank: Super Contributor
timestamp: November 16, 2018, 09:49:24 pm
content: Quote from: rhb on November 16, 2018, 08:46:47 pmThe only thing that will improve is the number of consultants and there will be Notes bundled.

author: borjam
author_rank: Unknown
timestamp: November 17, 2018, 10:06:42 am
content: Quote from: ebastler on November 16, 2018, 12:26:38 pmI read it when it was published, but the main issue was, systems software research had been rendered irrelevant not because it was a “complete” field, but because the market was happy with old and even crappy solutions and nobody wanted to bother adopting anything new.QuoteYes, my fault. Both were members of the same research group at Bell Labs and both coauthored several papers about the Plan 9 and Inferno operating systems.

author: borjam
author_rank: Unknown
timestamp: November 17, 2018, 10:10:36 am
content: Quote from: ebastler on November 16, 2018, 01:16:01 pmSorry, my answer was poorly worded. Anyway, Linux is not an innovation. At least in my close environment, where people favorsLinuxUnix strongly, Linux was received really eagerly. At the time you had SCO Unix (which was a mess) to run on cheap PC class computers. And the disappointment was huge, that is in my opinion the reason why Linux hasn’t been really accepted by many, including myself.

author: rhb
author_rank: Super Contributor
timestamp: November 17, 2018, 12:58:26 pm
content: Quote from: borjam on November 17, 2018, 10:06:42 amThis is the first time I've come across anyone mentioning either of those. I was particularly attracted to Plan 9 for large (10,000+ users) environments. I chatted with Ritchie about that aspect at Usenix '95. They never did the work to really provide good support for large number of users. The focus shifted to the set top box and Inferno.Of course, I agree with Andy Tanenbaum's comment that Linus would have flunked the Minix course. So far as I know Andy is the sole person still actively doing OS research. As Pike notes in the linked paper, making Plan 9 compatible with various standards was most of the work.The real problem is that the amount of code that needs to be usable on *any* replacement for Windows, *nix or MVS is so huge that the inertia is overwhelming.I'll probably use Solaris 10 until I die for one simple reason. The Sun/Forte dbx is the only debugger that will let you do a "print cos(a)*tan(b)". As I am a scientific and systems programmer and do *not* work on GUIs, that ability is *very* important. When I was writing a Kirchoff prestack time migration on Tru64, the thing I missed most was the ability to examine the returns from intrinsic functions.Doubtless someone will pop up and claim you can do that with gdb. All I have to say to that is, show me how. I'd be delighted. But my experience with gdb is it's usable where nothing else is. But it's just barely usable in the best of circumstances.The single biggest problem in practical computing is terminal complexity. It is simply not possible for anyone to have a clear understanding of what's going on.

author: LapTop006
author_rank: Unknown
timestamp: November 17, 2018, 03:24:21 pm
content: Quote from: bd139 on November 16, 2018, 02:17:53 pmNah, Rob's been focused on other stuff for a while now, he certainly still keeps up on it, but it's not his main job.I work at Google Sydney and often chat with Rob.

author: bd139
author_rank: Super Contributor
timestamp: November 17, 2018, 03:46:26 pm
content: Interesting stuff. Thought Rob was benevolent dictator for life on Go.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 18, 2018, 10:58:21 am
content: It never ceases to amaze me how BSD license proponents say that the GPL license is keeping Linux from being more widely adopted. The statistics just do not support that argument. Theory is always nice and beautiful, and opinions interesting, but let's face it: reality overrules wishful thinking.Quote from: rhb on November 17, 2018, 12:58:26 pmThis. The inertia of the existing codebase is absolutely gargantuan.Quote from: rhb on November 17, 2018, 12:58:26 pmThat does also work in gdb (verified on gdb-7.11.1); you can print expressions in the source language. You can also extend gdb with Python functions. For example,(gdb.lookup_symbol('a')).value(gdb.selected_frame())will evaluate to the Pythonic value of variableain the current frame.No, I'm not saying gdb is particularly good debugger -- I don't much like it myself, and prefer a modular/unit verification approach rather than debugging whenever I can --, but I do similar scientific/systems work (mostly in C), and have found this useful on a couple of occasions.

author: rhb
author_rank: Super Contributor
timestamp: November 18, 2018, 12:08:38 pm
content: Quote from: Nominal Animal on November 18, 2018, 10:58:21 amgdb has always printed expressions, but not if printing the expression required intrinsic function calls. Did you try my example or a different expression? I'd be *very* happy if it did as the Forte/Sun/Oracle development suite doesn't look to have a rosy future,I mostly worked in C and it is my language of choice until I have to do complex arithmetic at which point I shift to F77 as the rules are cleaner and simpler. And multidimensional arrays in C are awful. I'd guess that the FORTRAN codes I worked on have finally been retired, mainly because of mergers in the oil industry. But I had a 125,000 line mapping application that had particularly good logic for avoiding overlaying well names around a platform. The original author tried to rewrite it in C or C++, but never got it right. So they kept using the old version. Because of a bug in the side label logic and the size of the map to be printed, it was splitting the plot into two sheets with 1-2" of the map on a 40+" sheet of paper. IIRC it took me a week to sort that out. And it was pretty good code compared to the stuff research scientists write.The hard part of numerical codes is the indexing in many dimensions of matrices which in seismic processing is pretty much everything.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 18, 2018, 01:24:58 pm
content: Quote from: rhb on November 18, 2018, 12:08:38 pmThe exact example; I verified it with a tiny test C program withaandbas variables. If the binary defines saydouble f(double a, double b), you can doprint f(1.0, 2.0)and in general, usef()in the expressions.Quote from: rhb on November 18, 2018, 12:08:38 pmFully agreed. They're horribly implemented in existing libraries (BLAS/LAPACK/ATLAS, GSL) also.Quote from: rhb on November 18, 2018, 12:08:38 pmFortran95 and later is a pretty good tool for research scientists, because straightforward code generates pretty efficient binaries, and it is easy to write somewhat readable code. Other than that, the code research scientists have written that I've worked on, is pretty stress-inducing, if you care about robustness, efficiency, and maintainability.Quote from: rhb on November 18, 2018, 12:08:38 pmI mostly deal with two-dimensional matrices, with submatrices or vectors as views into them. (I've shown some data structures elsewhere that show how to make "views" first-class citizens, and still allow efficient computation on current CPUs; boils down to using(row*rowstride +col*colstride)for addressing, and a separate reference-counted data structure to own the actual numerical data each matrix refers to.) And also with huge distributed sets of 3D particle data, which requires all sorts of ordering tricks to have any hope of cache locality; the datasets are so large that without cache locality, memory bandwidth is stricter bottleneck than the interparticle computations (various potential models).Current simulators like lammps and gromacs also do not interleave computation and data transfer, so they waste quite a lot of wall clock time waiting for data to transfer. I have a better core structure that avoids that, but the inertia in materials physics is too big to get any kind of support. It is easier to get money for hardware, than for software development, and that shows.

author: rhb
author_rank: Super Contributor
timestamp: November 18, 2018, 06:14:40 pm
content: That's really good to know as I'm mostly going to be focused on ARM code for the next year or two working on FOSS DSO FW. So using gdb is unavoidable.A friend uses f95 a lot and really likes it. I never found a suitable book, but he sent me the last draft of the standard, so that might actually be useful. I want a compiler writer's description. But truth is I'm more likely to be fixing old computational electromagnetics codes than writing anything new.Research scientists almost universally can't program. I once had a simple subroutine, no comments but author and date, that I had to go get the original paper to figure out if it was working in the time domain or the frequency domain. It was a project where the "spec" was "what the old program does". The IT folks were under the delusion at the start that they would just write a new UI and use the old research code. I very quickly disabused them of that idea. The old research code was most of the cause of the problems with the existing system.When I started seismic was 2D. Now it's all 3 & 4D and even more if it's multicomponent data and you have 3 time series for each sensor. Then you're looking at 9-12D matrices.Cache architecture is a real nightmare to deal with. It's painfully easy to cause a cache miss on *every* data access which then results in 8-16x more traffic to main memory. Unfortunately, it's also *very* hard to find a viable algorithm for something like a Kirchoff migration which effectively sums 125,000 points on the surface of a hyperbola of rotaion into each output sample.I've certainly written plenty of C to access portions of FORTRAN arrays. But aside from being clunky, it's painfully easy to make an "off by one error". As a summer intern at the ARCO Plano Research Center I was asked to help out with a 3D FFT running on an Intel i386 Hypercube. I told the scientist to feed it two inputs, a cube of ones and a cube of zeros with a one in the center. He found the error in a matter of minutes when he ran those two cases.He was gone by the time I got there, but there was a scientific programmer who had worked there who was legendary for using "i, ii, iii, j jj jjj etc" for variable names naturally with no comments and implicit typing. I hope that whoever came up with the idea of implicit typing was consigned to the lowest level of hell.Designing test cases is the hardest thing to do with scientific codes. You've got to find a problem for which you know the answer analytically. And that can really require a lot of thought.Materials physics must be fun. I got heavily involved in the equations of state for water and hydrocarbon mixtures and the continuum mechanics of porous media. Someone once wrote a paper about the rise of water in a well whenever a train stopped at the station. And there are lots of plots of reservoir pressure varying with tidal effects.

author: borjam
author_rank: Unknown
timestamp: November 18, 2018, 07:26:06 pm
content: Quote from: Nominal Animal on November 18, 2018, 10:58:21 amI never said that. But the obsession with licenses has prevented the Linux world from adopting nice software and often they have poorly reinvented stuff because of that.The funny thing is, it became something even religious. I would show FreeBSD to the typical young Linux user and the first question would be: "Nice, but what's the license?"

author: rhb
author_rank: Super Contributor
timestamp: November 18, 2018, 10:26:08 pm
content: A sensible person would think that a program such as mkfs.ubifs with a number of device specific options would have documentation explaining what the command line options were and what information needed to accompany them. I just spent about an hour trying to find some documentation. Nothing. No man page. A mostly useless slide deck ("ugly because the animation doesn't work"). It looked fine to me except that it did not tell me about mkfs.ubifs. A Sensible Unix user would expect a man page. Or in the slightly perverse world of RMS, an info file.But noooo children. We don't need no stinking man pages or info. Just use "--help". Note, I did not read that anywhere. I poured myself a stiff Scotch and water and tried it in desperation.I am so sick of running multiple different Linux instances because almost nothing is actually portable. It's actually *worse* than the workstation wars. There is so much wrong or out of date crap on the web that it's approaching having negative value. But it has become the only option because we have a generation or so which has no concept of *edited* writing in which a knowledgeable person reads the work and identifies errors and omissions.Minix lacked virtual memory. Fred van Kempen implemented it, but Prentice-Hall forced him to take it down because they owned the copyright on the Minix source. Linus created Linux so it would have virtual memory, but now we have all the baggage but the swap file is only slightly larger than physical memory in a standard install. My normal Unix install was swap = 4x core. That allowed me to keep lots of processes in the process table, with all the initialization and history. If I didn't use them, they'd get swapped out to disk. No impact other than they were a little slow to start back if I hadn't run them for a while.The Marx brothers couldn't top this.

author: vtwin@cox.net
author_rank: Regular Contributor
timestamp: November 18, 2018, 11:38:01 pm
content: Quote from: rhb on November 18, 2018, 10:26:08 pmI've made this same exact comment to my boss on numerous occasions. Not long ago I had an issue w/ Exchange Server throwing a bizarre error message. I needed the company credit card to call MS to pay for per-incident support. My boss asked "why? just google it." Um, yeah, why didn't I think of that? Probably because I *did*, and the only postings I could find dated back a decade ago for Exchange 2007 (and we're on 2016)It's gotten to the point now where I have to sort results by date, and throw out anything more than, say, 3-4 years old. There's crap dating back 15 years in some instances.

author: rhb
author_rank: Super Contributor
timestamp: November 19, 2018, 01:49:17 am
content: It would be wonderful it that was the only problem. But most of the time no mention is made of distribution, version, hardware or any of the other relevant factors. So even if it was posted last week, it's likely to be wrong for your problem.At my last contract with a super major oil company they were using RH EWS because that's what suite of $100K/seat applications supported. I had a Sun Blade 1500 for my work for which I wrote all the code. I was told it was the *only* Sun workstation still in use in the entire company.My business partner at the time was using the standard issue workstation and PC. I was quite wide eyed when they had to reboot his system because the display froze. I'd been having the same problem at home with a machine I'd built. I'd assumed that is was flaky hardware on my system. But after I saw a top end IBM workstation do the same thing I bought an Ultra 20 with 3 years of gold level support. I would have greatly preferred a SPARC system, but the price differential was just too large. Even at gold level, they couldn't resolve everything, but it was very nice. Until Larry took over. Scott McNeally built Sun, but then he destroyed it with ridiculous change of control clauses for senior management. I think Solaris would be going great guns if IBM had acquired Sun instead of Oracle.I'll use Linux is I have to, but *only* if I have to. Windows 7 Pro is a joy relative to CentOS and Ubuntu. Happily, Debian 9.3 is proving pretty tolerable.But a friend of mine likes to say I'm 3 standard deviations out from the norm. I expect my systems to run for indefinitelyr without being rebooted. An admin at work once asked if he could take my system down to install patches. It had been up for 467 days.

author: BradC
author_rank: Super Contributor
timestamp: November 19, 2018, 02:17:05 am
content: Quote from: rhb on November 19, 2018, 01:49:17 amCode:brad@bkcuk001:~$ uname -a ; uptimeLinux bkcuk001 3.16-0.bpo.3-amd64 #1 SMP Debian 3.16.5-1~bpo70+1 (2014-11-02) x86_64 GNU/Linux02:16:32 up 1469 days, 46 min, 1 user, load average: 0.00, 0.01, 0.05

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 19, 2018, 05:29:56 am
content: Quote from: borjam on November 18, 2018, 07:26:06 pmYou ascribe it to religion, because you dislike it for personal reasons. That is intellectually dishonest.I explainedherethe reasons why I myself, and a majority of those who I've talked with that deliberately choose licenses for their own projects and prefer GPL over BSD, do so. It has nothing to do with religion or following an authority, and everything to do with what one wants the "rules" to be.The fact of the matter is that BSD allows closed-source derivatives, GPL does not. If we look at long-term software projects, we find that using BSD/MIT-style licenses helps with initial adoption, while the GPL license attracts more developers in the long term. It is not religion, it is preference for one set of rules over another.At this point, every BSD proponent who considers GPL "viral" or "less free" that I've talked to, has started gushing how one set of rules isclearlybetter than another. To those arguments, I can only say that reality overrules theory and wishful thinking. It is one thing to have a philosophical discussion about licenses, and a completely different thing when one discusses which license a particular project should use.Quote from: rhb on November 18, 2018, 10:26:08 pmUnfortunately, at the same time, that is exactly why Linux is so popular on servers and scientific computing: because it can be customized to suit the task at hand, and not the other way around. It's just that it is also abused, in a way: choices are made, but never documented.One detail that consistently trips those used to Unix configuration or Linux Standards Base (when it was still a thing), is that a lot of configuration is under /usr or /var, rather than /etc, when systemd (or any of the services now subsumed into systemd) is used.It is not difficult to create portable programs for Linux, but it is more work. Very few bother.I claim the underlying problems are caused by developer shortsightedness, and lack of care for the long term.

author: bd139
author_rank: Super Contributor
timestamp: November 19, 2018, 08:13:07 am
content: Borjam is correct though. Most of the maintainers I’ve spoken to over the years picked GPL because it was the one they had heard about. Not because of explicit ideology. If that’s not a faith argument I don’t know what is.The reasons the closed source derivatives exist is because the maintainers of the actual projects usually do a piss poor job of maintaining them. This hasn’t traditionally been visible until GitHub came along and you can see the acres long lists of tickets with critical problems even on some major projects. They don’t respond to users, don’t accept patches because they didn’t write them themselves and generally treat users like dirt. This means you have to fork and fix occasionally. Even for trivial things. Then brow beat the maintainers to accept your patch (usually with the hordes of other crying and bug cancer ridden users). Either that or maintain a public fork and publish changes forever. This is a massive problem which actually usually at this point discounts a product from being used in a lot of corporates because the overheads of a tiny decision to import one little GPL licenses component can cost more than an oracle license over a few years.BSD? Patch in situ, carry on concurrently while your patch is sitting there for a decade. Or if you want to make a private extension that benefits no one other than yourself or is critical to your business then you can without having to deal with linking bollocks.Personally if I write something I want people to use it and do what they want with it. I will accept patches. I will fix things. I will respond to users. If someone wants to make a better version with their vision, knock yourself out. If someone wants to include it in some other software, knock yourself out too.Just attribute it to me in some way and have fun. BSD for me. Isn’t that really what we want?No chess, no egos, no ideology, no debates on the freeness of beer. Solving problems that is all.

author: borjam
author_rank: Unknown
timestamp: November 19, 2018, 08:46:45 am
content: Quote from: Nominal Animal on November 19, 2018, 05:29:56 amPreposterous. Where did I say that I dislike the GPL license?I dislike the Linux ecosystem and what it has brought to software development because of its own technical demerits, which is very different.And none of the people I have in mind were developers. They were users. Of course it you are developing something and releasing it to the world you will likely choose a license. But ¿just using the software?I think that the Free Software Foundation has done a lot of good. However, should all software be GPL licensed? Not at all.And I didn't choose BSD because of the license. That's irrelevant.

author: bd139
author_rank: Super Contributor
timestamp: November 19, 2018, 09:16:21 am
content: I think no software should be GPL licensed as it removes practical freedoms. Call me religious if you want everyone

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 19, 2018, 10:55:01 am
content: Quote from: bd139 on November 19, 2018, 08:13:07 amWe must run in different circles, because that is completely different to what the people I've talked about this have said. Cultural differences?Quote from: bd139 on November 19, 2018, 08:13:07 amBullshit. Closed source derivatives exist if and only if someone believes they can make money off of them. (There is nothing wrong with that, in my opinion; just let's be honest here.)This has occurred time and time again, with both operating systems (BSDs), and larger projects like the Apache web server. The history of the closed-source Apache derivatives is especially funny: they just couldn't keep up with the open source upstream.I believe it is also at the core why the BSD variants suffer from a lack of developers: a company like Apple, having their own derivative, can poach the best developers, and have them work on their derivative only. At least when companies hire Linux kernel devs (and they do, often), those devs still keep contributing to the mainline kernel.Quote from: bd139 on November 19, 2018, 08:13:07 amDon't change the subject! It is a completely different thing to discuss what licenses one wants to use for their own projects, than to discuss what licenses others should use, and why.(I really don't mind what license or rules people choose for their projects; I (and those I've talked to) evaluate each one on a case-by-case basis, with the license requirements part of the "cost". Like Ialready mentioned, I personally use several different licenses for my own work, depending which set of rules I believe works best for each case. I'm very pragmatic that way. But this is not the topic at hand.)Quote from: borjam on November 19, 2018, 08:46:45 amThat's how your text reads to me, that's all. If you want, I can reword myself:"You seem to find it distasteful and anti-intellectual when people choose the GPL license, because you ascribe the choice to religion."There is nothing religious about the license choice. Even if people were to simply pick the license they've heard most about, that would be lazy and conformist, perhaps; nothing at all to do with religion. And you know that; yet you use the term as a denigrating label. That is, as far as I understand, the very definition of intellectual dishonesty. Low manipulation using terms loaded with emotional connotations.I don't play those social games myself. I prefer direct, blunt, honest communication.Quote from: borjam on November 19, 2018, 08:46:45 amWhy are you telling that tome? I've already stated I use several licenses myself, soobviouslyI don't think all software should be GPL licensed.BSD license is an excellent choice for example for low-level interface libraries, language standard libraries, device drivers, and so on, where the initial adoption is more important than the risk of having incompatible closed-source derivatives.Being open source at all is not always an option, either. Sometimes selling licenses is the only way to fund the development and support. It is a perfectly valid business model, nothing wrong in it.If the Linux ecosystem used BSD instead of GPL, it would not be where it is right now. Claiming otherwise is ignoring FreeBSD, OpenBSD, and the other BSD variants, and their project history; wishful thinking not based on real world experiences. That is why I find this kind of discussion so hilarious and annoying at the same time.It is also completely fine to dislike the Linux ecosystem, for whatever reason. But to claim that it would have worked out better if they had chosen a different license, or something along those lines, is just unfounded daydreaming out loud. Hard statistics already show that choosing GPL over BSD for the base license for an OS has lead to a larger development community, and better results (as in no BSDs in top-500 supercomputers, for example).Quote from: bd139 on November 19, 2018, 09:16:21 amNo, but idealistic, maybe. Youthinkeverything would be better if licensed under BSD or similar license, but you have no basis for that; only hope. (If you said it was a truth revealed to you in a vision or something like that, then I'd call you a religious nutter.)Would we have GCC and the other GNU tools without the GPL? It is not clear at all. It is silly to assume that you could change the license at the base of a community, with nothing else changing. Humans don't work like that.The concept offairnessseems to be quite built-in to hominids, apes, and monkeys:I suspect (but have not gathered any real facts behind that suspicion) that a lot of developers who prefer GPL over BSD do so because they perceive GPL as beingfairer, in the sharing sense (i.e., that GPL enforces symmetric sharing, whereas BSD does not). If true, it could explain why GPL-based open source communities seem to attract more senior developers than BSD-based ones do. (The commercial closed-source software world works under completely different rules, of course.)(Popularity being something completely different again. I, for example, am not at all interested in making Linux more popular. All I want is better tools, and specifically tools that I can mold to my own workflow, and don't demand I conform to the tools. If it means Linux will never be popular on the desktop, fine by me: I don't care if other people draw with fingerpaints and eat glue, as long as I don't have to.)

author: bd139
author_rank: Super Contributor
timestamp: November 19, 2018, 11:06:54 am
content: Check out LLVM licensing and who built it and tell me we wouldn’t have had open source stuff...Most companies positively want to give away stuff to the community other than their core business. It benefits everyone and their own reputation.Most of the bad corporate press comes from a few vile assholes (SCO)In fact in the last decade I have been paid over £100k to contribute to open source projects. Don’t get that kind of investment by pissing off your customers. Then look at redhat who just hired all the maintainers this circumventing the whole license thing.Humans are mostly not shitty.

author: Karel
author_rank: Super Contributor
timestamp: November 19, 2018, 11:42:29 am
content: Quote from: bd139 on November 19, 2018, 09:16:21 amThe endusers of the software is usually a bigger group than the developers of that software.Also, endusers are usually not programmers.So, from the viewpoint of the endusers, the GPL provides ultimate freedom.The GPL prevents the possibility that somebody takes some software, adds an interesting and nice feauture to it and starts to ask money for it, without providing the source to the buyer.Because that takes away the freedom from the enduser to use the evolved software as he likes to do e.g. install it on as many computers he wants,modify the source of the new features to accomodate other usecases, etc. etc.

author: bd139
author_rank: Super Contributor
timestamp: November 19, 2018, 11:55:05 am
content: He still has the original software so he can choose to use or accept that or pay money for the one with extra features.Isn't choice a fundamental freedom?

author: borjam
author_rank: Unknown
timestamp: November 19, 2018, 12:43:04 pm
content: Quote from: Nominal Animal on November 19, 2018, 10:55:01 amMust be, but I swear under penalty of perjury and a one year sentence of using OS/2 that it's an accurate description of what I've seen.QuotePreposterous generalization!!I am not talking about a developer chosing a license. I am talking about a user deciding wether to use a piece of software depending on its open source license and regardless of its merits. These people I am talking about (and in the late 90's it was quite frequent or I am a magnet for weirdos!) would choose Internet Information Server over NGINX if the former had a GPL license and the latter BSD or any other open source license.A user doesn't choose a license. A user can choose a software package based on different criteria, one of them the license. In the case of the fanatics I met (and some of them confronted me during a FreeBSD advocacy talk) the license was the main reason above others. And, as I said, none of them was a lawyer (neither am I!).QuoteAlright, if you dislike the religious word, it was irrational. Doubly irrational because the choice of an open source license is a bit irrelevant if you are only intending to use something. If you want to contribute to the project it can be an entirely different matter of course.QuoteSorry, didn't mean to imply that you say it.QuoteSo we're in the same boat hereQuoteI am not sure the license is so relevant. If I am not wrong Linux was released at an especially critical time: when BSD was hampered by legal disputes and, at the same time computers powerful enough to run a Unix like operating system comfortably were becoming mainstream.(I was certainly alive and aware at that time but I am notoriously bad at remembering timings, so a this-one-came-first coming from me is completely unreliable).

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 19, 2018, 12:46:25 pm
content: Quote from: bd139 on November 19, 2018, 11:06:54 amKeep putting words in my mouth, why don't you?I did not claim by any stretch that "we wouldn't have had open source stuff". I said that looking at the history and evolution of the various BSD projects, it looks like GPL-based projects have been much more successful in getting/keeping many senior developers involved. (By "senior", I mean those who have something significant to contribute.)Quote from: bd139 on November 19, 2018, 11:06:54 amNo, they want to make as much money they can (or risk shareholder lawsuits); contributing to open source projects just happens to be a net positive for several reasons.Quote from: bd139 on November 19, 2018, 11:06:54 amWell, it's not like the developers it did hire are from the capable end of the spectrum, looking at their contribution history.There's still hope that when the crappiness crosses some magic threshold, someone gets fed up with it and produces something much better to replace it. Not even RedHat can do anything about it when that happens. That's what happened with git, for example.Quote from: bd139 on November 19, 2018, 11:06:54 amYou just haven't met enough of them. Almost all humans are stupid, shortsighted, selfish, and definitely shitty. Some individuals occasionally surprise by doing something better, often by accident. But, because we ourselves are just as shitty as everyone else, we keep the bar low, so we don't need to admit it out loud.

author: BradC
author_rank: Super Contributor
timestamp: November 19, 2018, 12:46:39 pm
content: Quote from: Karel on November 19, 2018, 11:42:29 amI don't think you quite understand the GPL. It in no way prevents anyone doing as you suggest. What it does do is *require* that the source code (or an offer for the source code) is offered to the person receiving the binaries.So if I take your software, add a couple of features to it and sell it to Fred Bloggs, I *must* offer Fred Bloggs a copy of the source (potentially for a nominal fee to cover distribution only). I don't have to offer that source to anyone else and I don't have to give it back to you. What I *can't* do is place any encumbrance on the source I provide to Fred (for a nominal fee), so if he decides to post it to the world it's his choice.Once of the recent GPL shitstorms was precisely that, where a company was offering custom hardened linux kernels. They *had* to offer/provide the source to those that paid them for the code. What they were trying to do was threaten those people into not passing it on. ie, "you post our code and we'll no longer supply you". You can't do that.(*edit), Well actually you _can_ do that, but you then upset a lot of people which in the end doesn't do your business any favours. So I suppose it all works out in the end.

author: Karel
author_rank: Super Contributor
timestamp: November 19, 2018, 01:03:44 pm
content: Quote from: BradC on November 19, 2018, 12:46:39 pmI understand the GPL quite well, thank you very much. I edited my former comment and I repeat it here:The endusers of the software is usually a bigger group than the developers of that software.Also, endusers are usually not programmers.So, from the viewpoint of the endusers, the GPL provides ultimate freedom.The GPL prevents the possibility that somebody takes some software, adds an interesting and nice feauture to it and starts to ask money for it, without providing the source to the buyer.Because that takes away the freedom from the endusers to use the evolved software as he likes to do e.g. install it on as many computers he wants,modify the source of the new features to accomodate other usecases, etc. etc.

author: BradC
author_rank: Super Contributor
timestamp: November 19, 2018, 01:11:36 pm
content: Quote from: Karel on November 19, 2018, 01:03:44 pmYou're welcome.

author: Marco
author_rank: Super Contributor
timestamp: November 19, 2018, 01:19:51 pm
content: Quote from: bd139 on November 19, 2018, 11:06:54 amBasically LLVM grew out of the monomaniacal vision of Chris Lattner. Apple couldn't reasonably adopt it without adopting him, even if they could do it without his knowhow and network of developers to poach. If you hand it to some new leader, the first thing he wants to do is put his own brand on it instead of just developing it ... and it would already take long enough to get it up to speed with GCC and commercial compilers. Maybe they could have paid him enough to stop working on the open source version and work on an internal fork, but it would have been terrible PR.Before he went to Apple Chris was willing to try to convince all the authors to sign over copyrights to FSF to make it part of GCC BTW. Never happened because the GCC community misjudged things for lots of reasons, some reasonable, some not so much. NIH, LLVM performance wasn't all that at the time, too radical for too little benefit and because Stallman didn't believe in using clearly separated intermediate languages because it made using it in closed source products too easy, to name a couple.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 19, 2018, 01:26:29 pm
content: Quote from: borjam on November 19, 2018, 12:43:04 pmThere are worse fates...Quote from: borjam on November 19, 2018, 12:43:04 pmIt was you who said"it became something even religious". Unless you meant your own statement was preposterous generalization, I don't see what you are objecting to.Quote from: borjam on November 19, 2018, 12:43:04 pmAt that time -- up to mid nineties -- everything BSD was overshadowed by theUSL vs BSDilawsuit. In the late nineties, the exact status of the BSD sources was still debated, because the lawsuit was settled out of court, and the implications were unclear to those outside Novell and Berkeley University.On the other hand, GPL had been successfully used by the GNU Project for a decade, with a very political figurehead,RMS, making it extremely clear as to what the underlying goals are, willing to speak about it to anyone who wanted to listen (or didn't get out of earshot fast enough).Quote from: borjam on November 19, 2018, 12:43:04 pmFunny thing is, to a non-developer end user, all the free software/open source licenses provide the same freedoms -- which aside from distribution (of the original software or its derivative), boils down to"do whatever the heck you want with it".Quote from: borjam on November 19, 2018, 12:43:04 pmThat I can fully agree with.I do try to explain all this to anyone I discuss licenses with, by the way. It could be that because I myself have such a simple criteria of choosing a license, and have advised quite a few others along the same lines, I have somewhat of an echo chamber effect in my "circles".Quote from: borjam on November 19, 2018, 12:43:04 pmI think the license was very relevant for exactly that same reason. The GNU Project had very clear goals, and at that time, one could easily view them as "protecting" againstEmbrace-Extend-Extinguishstrategies (of creating incompatible closed-source derivatives, in order to exclude competitive solutions). Although Linus Torvalds didn't think much about the license when he chose one for the Linux kernel, using the GNU tools to compile and build it made the choice easy, I understand.Although I studied at the same University as Linus Torvalds, I didn't install Linux myself until 1996, if I recall correctly. I do recall that I did install first two Linux production servers (a mail server and a combined Netware (mars) / AppleTalk (netatalk) file server) in 1998 for a department in another University. (I ended up maintaining a streamlined distribution based onLFSfor quite a few years for those.) I also ran a company at the same time, and had an actual lawyer go through the typical licenses, and explain their requirements and other implications to me.

author: rhb
author_rank: Super Contributor
timestamp: November 19, 2018, 04:59:14 pm
content: Aside from major issue of Novell vs UCB, Bill Joliet was making very slow progress at filling in the missing bits. I don't recall the details, but IIRC there were some personal conflicts among the BSD folks.Linux really did not take off until IBM committed a billion dollars a year to it. That gave Linux credibility in the corporate world and lots of applications moved off the traditional Unix workstations. Sun, HP Unix systems, SGI, DEC all died because the management was too fond of their nice margins and didn't think that Linux was a threat anymore than they saw NT as a threat. Sun eventually responded, but too little and too late.At Usenix '95 two guys walking a few feet in front of me down Canal street were chatting and one said, "The NetBSD people look at FreeBSD as the competition. The FreeBSD people look at Linux as the competition. The Linux people know there is no competition." I didn't know them as this was my first and only Usenix conference. Should have gone more. But I got to meet Dennis, Evi Nemeth, Tom Christianson, Eric Allman, and all the other names I knew from papers and books I'd read. Even got a 1.44 MB floppy with a bootable Plan 9 system :-) I'm still amazed at the functionality they had in 1.44 MB with space left over.Gosling announced the availability of "Oak" but had to change the name for trademark reasons to Java. Richard Stevens gave a great talk about union mounts and other cool filesystem features in FreeBSD.I've been enjoying the comments from the greybeards which is the group I targeted with the thread. Lot's of smart folks here.

author: free_electron
author_rank: Super Contributor
timestamp: November 19, 2018, 06:00:42 pm
content: oh goodie.. another kde/gnome , vi/emcs war ...IF all the effort spent on the plethora of these loonix flavours , color schemes, convoluted text editors and gui managers was spent on writing a single, unfragmented operating system that fixes all the microsoft flaws, and could run dos/windows binaries the world would have been far better off. We'd have a unified OS that could run anything from commercial to free software , unmodified, with perfect security.Now we have 354 different flavours of babbling baboon , pustulent penguin or Flatulent flipper (or whatever stupid name they give the next rev) to deal with. We have 20 different installers and other crap.Why the hell do we even need installers ? software installation should be as simple as : create a folder , drop in the application package (which should be 1 physical file) and done.The 'package' should be a virtual file system in itself containing everything the application needs. no shared files. settings , icons and executable are all contained in the package file. a descriptor file tells you what is the icon , what is the startup file. .i can move this single file wherever i want it to reside. if i switch computer hardware : simply move the single file to the new machine and everything travels with it. Settings and all. How easy would that be ?Programs would run in virtual containers partitioned form each other. They only see their 'package' where they can read and write, and a 'data' drive. users can grant permissions to packages to connect to data shares.and none of that : this program requires x,y,z to be installed. if you need x,y,z it must come in the 'package'. So many times an update happens to x, y or z that breaks a program because it needs flavor 123 of package x and cannot use a different one.I like the idea of 'portable' applications. Save em to a memory stick and done. Everything resides in 1 place.disc space is cheap.

author: rhodges
author_rank: Frequent Contributor
timestamp: November 19, 2018, 06:16:43 pm
content: QuoteSo I was using KDE, version 3 I think. I wanted to install a program to sync my Palm Pilot. It started installing, and it seemed like it was taking forever! When I went to its window, I saw that it was installing the PREVIOUS version of KDE over my current one! As a dependency. ARGH!Also, there should be a special place in hell for those who insist that they NEED the latest version of Perl for their XXX to work.

author: Marco
author_rank: Super Contributor
timestamp: November 19, 2018, 06:40:51 pm
content: Quote from: free_electron on November 19, 2018, 06:00:42 pmThere'sa wikipedia pagefor the concept, it's not a very popular concept though ... at least not as far as rolling the user data in with the application. Containerization of just the applications is becoming standard though, with Microsoft UWP and Ubuntu Snaps.

author: bd139
author_rank: Super Contributor
timestamp: November 19, 2018, 07:17:01 pm
content: Quote from: free_electron on November 19, 2018, 06:00:42 pmSounds like you want MacOS X! Install? Drag to Applications!(Which is basically Mach + FreeBSD + Nextstep)

author: tooki
author_rank: Super Contributor
timestamp: November 19, 2018, 08:22:06 pm
content: The macOS concept of "packages" (aka bundles; inherited from NeXTstep) is, IMHO, one of the platform's best design decisions. For those who don't know, packages are nothing more than glorified folders — a flag tells the OS to display a package as a monolithic file on the desktop, in dialog boxes, etc., but it's actually a folder with a defined internal structure. Metadata files within provide the OS with an icon, file associations, etc.The itch that they scratch is to allow developers to have the directory structures they need, while keeping users' grubby fingers out, as well as treating them as single files from a user standpoint (like file copies). So for example, an iPhoto library is a package, and within it is the folder structure holding the user's original photos, edited copies, thumbnails, albums, etc. But to the user it appears as a single file, preventing users from going in and moving things around, deleting things they think are unnecessary, etc. And yet, if you're a power user, you can open a package and dig into its contents.The Mac uses packages extensively, including applications, system extensions, plug-ins of all kinds, documents, etc.Years ago I worked for a software company that makes a Windows application (a reference management program, like EndNote). It's fundamentally a database, so there's the core SQL database file, but then also an accompanying folder structure for attachments, cover art, etc. And you wouldn't believe the trouble this caused, with users moving one without the other (even with the program creating parent folders), resulting in broken links. The Mac's packages would have 100% solved this problem. (<rant>…and using Windows' own shortcut APIs, instead of dumb text paths, would have helped a lot, too, if only the devs had bothered to do this… ::grumble:: </rant>).

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 19, 2018, 09:57:20 pm
content: Quote from: bd139 on November 15, 2018, 11:22:09 pmWell not every program requires compilation... Take for example qucs ( quite universal circuit simulator.) for Debian, needs to be compile.. or use the qucs-s which has repositores, uses SPICE instead of the native simulator. Well turns out it works well as long you use properly... with documentationTutorial / Documentation:https://qucs-help.readthedocs.io/en/spice4qucs/BasSim.html#supported-simulatorsQucs-s :https://ra3xdh.github.ioSo far the resistive divider has survided in the simulatorChanged repeated picture... sorry

author: free_electron
author_rank: Super Contributor
timestamp: November 20, 2018, 02:05:23 am
content: Quote from: Marco on November 19, 2018, 06:40:51 pmNope user data resides elsewhere.here is my concept. A harddisk has 3 folders- OS- USER- APPWhen you install an application a single file is saved to the APP folder. Everything an APP needs is contained in that file. ( think of it as a ZIP file : it contains an internal file system with all the subfiles it requires. )In USER there is also an APP folder . That contains the <application>.SETTINGS file. The APP can only write to its own SETTINGS file (the OS governs that. no stepping out of bounds. APPS can only write to their own .SETTINGS file. The APP package contains a DEFAULT.SETTINGS. when a user lauches the application for the first time that one is saved to the users space ( again the OS does that, not under control of applications)so- USERS\ME\APP\excel.settings- USERS\MYWIFE\APP\excel.settings- APP\EXCEL.APP <- this contains everything required to run excel , including a default.settings file.The OS and APP folders are READ only for applications. Applications can only read their own .APP file. No peeking in other files or in the OS folder.Applications must reqister a file extention during install. They can only WRITE to their registered file extensions. they can read any other data file in \users , so they can always import data from other applications, but they can only muck up their OWN data files.If i need to move to different hardware : i take the APP file and fling it on the other machine. when i first launch it the OS will create a new .SETTINGS file , if i copied over the .SETTINGS file it will use that one.The OS contains functions to safely move .APP and .SETTINGS file on and off a machine.How neat would that be. No more viruses , no more runaway programs that overwrite their own , or other programs files. No more data snooping ,They simply can't programs only see their own files contained in their .APP file and that file is read only. They can only write to their own .SETTINGS files and write to approved file extensions.

author: free_electron
author_rank: Super Contributor
timestamp: November 20, 2018, 02:07:13 am
content: Quote from: bd139 on November 19, 2018, 07:17:01 pmNope. not at all. Read my previous post just above this one. I can't move a program off of a mac ... ( you could in the old mac OS... ) it needs to be 1 application is 1 file + 1 settings file. so stuff is transportable.Hardware is expendable. Software costs lots of money . moving software is as simple as moving 2 files.

author: tooki
author_rank: Super Contributor
timestamp: November 20, 2018, 04:16:32 pm
content: Well, you can move apps onto a disk on a Mac, fundamentally.Someapplications don’t like this at all, but most are just fine with it. However, they do normally look for preferences, etc in the user’s home directory, not on the external disk.There’s literally no difference in this regard between Mac OS X and classic Mac OS: both have a Preferences folder, and in both, an application on an external disk still looks for the preferences file in the Preferences folder. (It’s been along, LONGtime since Mac applications kept their preference files in the same folder as the application file!!!) Same with dynamic libraries and other assets in the Application Support folders. (Many assets will also work if simply located in the same folder as the application file. This is a way of e.g. providing a library without having to put it in the System folder.)Some applications are smart, and will launch with the preferences file in an arbitrary location by dragging the preferences file onto the application icon.

author: free_electron
author_rank: Super Contributor
timestamp: November 21, 2018, 12:42:50 pm
content: Quote from: tooki on November 20, 2018, 04:16:32 pmbut you can't move them OFF ...My idea is to be able to easily move software and settings to a new platform. if i upgrade my computer : move the files and done.Better yet : install these files on a networked drive. that way my hardware is irrelevant. No matter from where i work : the software is accessible.

author: borjam
author_rank: Unknown
timestamp: November 21, 2018, 01:33:11 pm
content: Quote from: free_electron on November 21, 2018, 12:42:50 pmThat is largely a non problem with Mac OS X as long as application developers respect some pretty basic guidelines. If preferences, caches, program data, etc are in predictable locations it's quite easy to migrate everything to a new computer. I have done it several times almost without hiccups (except having to re enter license datafor some programs).

author: bd139
author_rank: Super Contributor
timestamp: November 21, 2018, 02:07:41 pm
content: Time machine. Killed your Mac? Plug new one into drive, make some coffee. Old Mac back on new hardware.I know someone who has done this successfully through 5 new macs.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 21, 2018, 03:58:03 pm
content: Quote from: tooki on November 20, 2018, 04:16:32 pmThere is nothing stopping one from writing and compiling ones applications to behave that way even now. All you need is a small launcher (wrapper script), that tells the dynamic linker about it.I blame the users. They are completely satisfied working with crappy tools that crash or occasionally corrupt their data.Whenever I've built services or applications that I could trust, I've had to listen to an endless stream of"It doesn't need to be perfect; it just needs to look good"from cow-orkers, managers, and clients alike. Silly bugger...In late nineties, I maintained a couple of classrooms full of MacOS 7.5 machines, with Adobe Photoshop, Illustrator, and PageMaker, Macromedia Freehand, Microsoft Word, and so on. As soon as I got the department to switch to bulk licensing, I switched the maintenance from individual machines to cloning, with the master on a CD-R. Didn't even need any cloning software, because of the folder-based approach MacOS used: just boot from the CD-R, clear the hard drive, copy the files and folders to the hard drive, and reboot (pressing a key to rebuild the desktop database).Saved a crapton of time, and reduced downtimes to just minutes (in case of a machine getting b0rked during a lesson). Pity the department head (who refused to use a computer themselves, having a personal secretary print and type their emails for them) didn't trust me enough to give me a budget for consumables: every laser printer ink cassette, keyboard, and mouse that could not be refurbished, I had to obtain permission to buy a replacement, separately, in writing. My interactions with administrative types only went downhill from there, and is the reason why I burned out before I turned thirty.

author: tooki
author_rank: Super Contributor
timestamp: November 21, 2018, 04:12:45 pm
content: Quote from: free_electron on November 21, 2018, 12:42:50 pmHuh? Where'd you get that idea? I don't say this to be rude or condescending in any way, but I think you're basing all your comments on very incomplete knowledge of what's possible!You absolutelycando that. The easiest way is by using the Migration Assistant in the macOS setup, which clones over EVERYTHING from your old Mac or a Time Machine backup (or actually any disk containing the folder structure of a macOS boot disk). You can do it manually and it'll work — Migration Assistant isn't doing any weird under-the-hood magic — but there's no compelling reason to do so, since Migration Assistant does it so well.You can also clone a disk and use it on a new machine, provided the OS version is new enough. My Mac Pro (Intel Xeon) desktop is running an installation of Mac OS X 10.11.x which has been directly cloned and upgraded (no migration assistant!) through every version of Mac OS X back to 10.2.7 (!) originally running on a PowerBook G4 (PowerPC). So literally not only moving from one machine to another, but from one CPU architecture to another, through many disks as I upgraded storage over the years, and upgrading the OS. (Mac OS X 10.5 was compatible with both PPC and Intel, so it provided the version of Mac OS X that could simply be cloned from the PowerBook to the Mac Pro with zero reinstallation of anything.)And again, most applications can be copied to an external disk and run just fine, as I said.Quote from: free_electron on November 21, 2018, 12:42:50 pmThis is also doable, if the application is well-behaved. Most apps simply do not care where they are located. It's not uncommon in companies, for example, to have apps on a file server, even without network user accounts (the app simply uses the user's local preferences folder). And of course you can do full managed networks with roaming profiles and everything.Now, depending on the speed of the LAN, running apps from a file server can incur a severe performance penalty, since nearly all Macs now use high-speed SSD storage that exceeds nearly all LANs' performance significantly. (Recent Macs have SSDs with sustained read speeds of around 3GB/sec, many times faster than even 10Gbit ethernet.)And of course, nowadays you can use cloud storage like iCloud or Dropbox for data. (I haven't tried running an app from iCloud or its predecessor, iDisk, for a long time… it did work, but was excruciatingly slow.) But if you purchased an app from the Mac app store, then you can just log into the app store and install the app on any machine you use.

author: tooki
author_rank: Super Contributor
timestamp: November 21, 2018, 04:21:41 pm
content: Quote from: Nominal Animal on November 21, 2018, 03:58:03 pmIwastalking about now!A launcher script is only needed to force an app that youdon'tcompile yourself to use different libraries than the default ones. (For example, to use the old AirPort Utility on newer versions of Mac OS X.)Quote from: Nominal Animal on November 21, 2018, 03:58:03 pmWell, users only tolerate it because they've been conditioned (let's face it, primarily by the Windows world) to expect computers to be unreliable, sucky things. (As a long-time Mac user, I am still shocked by the stuff that Windows users will put up with, like the expectation of needing to wipe their system every once in a while, with ensuing data loss.) And for this, the blame falls on shitty developers.Quote from: Nominal Animal on November 21, 2018, 03:58:03 pmYup. I've supported classrooms and companies, and indeed, I did the same thing on Mac OS 9 and earlier. (On Mac OS X, I instead made disk images stored on a bootable FireWire or USB drive, or a bootable external drive and disk images on a server. Then just used Disk Utility to restore the image, which is even faster than file copying.)Quote from: Nominal Animal on November 21, 2018, 03:58:03 pmThat sucks, and Itotallyunderstand how that burns you out. People need to feel valued and trusted.

author: edy
author_rank: Super Contributor
timestamp: November 21, 2018, 07:38:01 pm
content: I stumbled across this interesting video (sorry if it is already in the thread) regarding Microsoft vs. Linux and the "Embrace, Extend, Extinguish' strategy used by Microsoft to kill their competition. They mention VMWare, The Linux Foundation and GPL Enforcement and I wonder if anyone else has seen it and can comment on the accuracy of what this speaker is saying:He talks about Microsoft suing companies that use Linux and VMWare being a GPL violator who tries to keep pro-GPL people off the Linux board. Essentially, that Linux is becoming over-run politically and economically by major companies who buy into the Linux Foundation and use their influence to the detriment of Linux and Open Source and Innovation and Freedom to squash it into oblivion.

author: bd139
author_rank: Super Contributor
timestamp: November 21, 2018, 07:44:01 pm
content: I skipped through the slides and it’s 100% accurate. Depressing but accurate.RH bought Linux basically. MSFT want some pie so they spread their tentacles (.net, powershell, SQL Server) onto it.Edit: I have worked with .net since day one and SQL Server since 5.5 and was a SQL cert for many years. This is a fucking hell hole of a platform pitch. Walk away fast if you ever see it coming.

author: Bud
author_rank: Super Contributor
timestamp: November 21, 2018, 08:02:47 pm
content: The presenter guy is a moron, because only a moron can ask audience a question if their Linux desktop is hard to use, at a Linux conference in a room filled with Linux nuts, fo the purpose to demonstrate to the world how easy Linux is to use.

author: GregDunn
author_rank: Frequent Contributor
timestamp: November 21, 2018, 08:13:30 pm
content: I had to use Windoze for my day to day work from about 1997 till I retired; I was familiar with both platforms since the very beginning, but there's a reason I have always chosen MacOS for personal use. Watching people flail around trying to use MSFT software for trivial tasks, and having to do so myself, only strengthened my resolve. Not intending to start an argument, just pointing out that I've used botha lotand it only got worse over time. I totally understand why people wipe their PCs, because trying to remove some programs or migrate data is frustrating and painful.But I honestly considered using Linux for a while, just to completely disassociate myself from lock-down payware. I had a Linux box set up beside my Windoze machine at work for years, but no matter what I tried, I just couldn't get everything to play nicely. As touched on earlier in this thread, the problem with open-source in the real world is that people often don't care about compatibility and just write software which does whattheyneed. They also are less concerned with usability than they should be; I tried pretty much every GUI for Linux I could find, and they all had major flaws which constantly reminded me I was running a GUI on top of a headless server. All the programs had different approaches to the UI design, whether it was shortcuts or philosophical divergences, and let the X controls show through in odd or disturbing places. We used it heavily in our server environment, where it was well suited to the business needs, but as a personal environment it was generally a disaster. Like my distaste for Java, I figure using something for 20 years is a valid base for deciding it's not a good solution for me.But then, I'm the guy who worked for AT&T and uses Verizon cell service. I have no corporate loyalty.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 21, 2018, 08:21:18 pm
content: Quote from: tooki on November 21, 2018, 04:21:41 pmMe too; I meant that an application on any OS can be designed to do that. On some OSes, the launcher script is needed; for example, on Linux, to set certain environment variables (LD_LIBRARY_PATH, specifically).Quote from: tooki on November 21, 2018, 04:21:41 pmIt is more complicated than that. Supervisors/bosses expressing mistrust is damaging. Denying any opportunity to show how the changes done affect users, and why the systems work so well that users forget they exist, is just petty. I would say that being trusted and valued is definitely a good thing, but their absense is quite tolerable too; it is the unfounded expressions otherwise without any recourse for correcting the misconceptions, that damage ones psyche.The thing about Linux is that you really need to make it conform to your workflow. There is no "default" workflow, like the one most proprietary applications and OSes provide; it's just a mismash of things random developers use. For those who want a ready-to-use tool, that mishmash is horrible, and makes them see Linux as something disastrous, unusable. That modification work really must be calculated as a cost. In my experience, if properly done, that cost is recouped quite quickly, no matter how big the cost might seem beforehand.The only limitation to creating ones own Linux distribution is the sheer amount of software that a typical Linux workstation has, and the fact that a lot of them need patches to fix their behaviour. It is already more than one person job.

author: Marco
author_rank: Super Contributor
timestamp: November 21, 2018, 10:31:40 pm
content: I dislike that he rags on Mir, but that he doesn't give the same treatment to Wayland. When the Wayland developers decided to just double down on the erosion of network transparency instead of fixing it I kinda lost hope for Linux ... with the speed of modern computers the overhead of network transparency for the basic GUI has become less relevant, not more, so just fix that shit and continue to use DRI for anything which actually needs local performance (ie. video and 3D). Instead they give up network transparency to make their lives a tiny bit easier, it's a great example of unlinuxy linux bullshit.When he rags on Chrome OS for being locked down is the moment he loses credibility. Take out the write protect screw and they are one of the most hackable modern laptops in existence. Really the only competition for Purism if you want a modern laptop with a mostly open source bootloader and BIOS.

author: Tepe
author_rank: Frequent Contributor
timestamp: November 23, 2018, 02:50:13 pm
content: Quote from: free_electron on November 20, 2018, 02:05:23 amHow do you produce new applications in such an environment ("No peeking in other files")?

author: tooki
author_rank: Super Contributor
timestamp: November 23, 2018, 07:13:31 pm
content: Quote from: free_electron on November 20, 2018, 02:05:23 amWhat you've described is a modern sandboxed app environment. That's nearly exactly how modern apps work on, for example, iOS. Sandboxed apps on macOS work much the same way.

author: djacobow
author_rank: Super Contributor
timestamp: November 24, 2018, 12:53:00 am
content: Quote from: Tepe on November 23, 2018, 02:50:13 pmTo a first approximation, you don't. You can't for iOS on an iPhone. You need the "messier" environment of a, errm, uh, real computer. For iOS, you'll need to run xcode, which means you'll need a Mac. (I understand there are ways to get around this to use Windows, but I'd be surprised if you could do it from say, an iPad).I believe this is generally possible for Android using something like AIDE, but I do not know how practical it is. I can't see writing a lot of Java without a proper keyboard, but of course you can always plug one int.

author: borjam
author_rank: Unknown
timestamp: November 26, 2018, 09:50:58 am
content: Quote from: djacobow on November 24, 2018, 12:53:00 amThere is a lot of confusion around this issue. I think several issues are mixed up here.First, it's the job of the operating system to authorize or prevent access to a resource. It has nothing to do with the development environment. If that was the case it would be trivial for malware to bypass restrictions, wouldn't it? You won't assume that a malware writer or a dishonest coder will play nice!The key issue here is the operating system security model. We have grown used to the Unix security model and others inspired on it. The thing is, it's obsolete for our current applications.Unix is a multi user operating system. It was conceived to allow different users to share a computer and to offer some simple protection to their resources (files, processes, etc). So Bob could prevent Alice reading his files.Now the threat model is different. Unix based computers are mostly single user workstations. And the risk is a security problem in an application program (the typical text processor security issue) giving an attacker access to your other files.While many people discussing security focus on how hard it is to achieve superuser access to a Unix system, reality is different. It has become irrelevant if all the attacker wants is to read your files, use your computer to send spam, mine crypto currency or a myriad other uses. The miscreant wants to be able to do the same you would do as a regular user.Can this problem be fixed? Of course. But it's a matter of operating system architecture, not of just clever tricks and patches. Unfortunately, as Pike rightly lamented, operating systems research is largely being ignored. Systems such as Plan 9 (using name spaces) or Amoeba (using capatibilities) offered some tools to tackle this problem.We should go from a multi user operating system to amulti application operating systemin which an application doesn't get automatic access to all the resources owned by the user running it.This is a superficial example of one possible model.Imagine you are running Photoshop. You want to open one of your photographs. So you select File -> Open, and a directory listing appears. You select a file and press "Open", so you open it.In the "traditional" multi user operating system this is what happens when the user wants to open a file.The user selects File->OpenThe application creates a file selection windowThe user selects a file and presses "Open"The application opens it. Note that the application can open any file it "wants" in this case.The file selection dialog is part of the application process, running with the same privileges, hence with access with all the files. It's very convenient for many developers because they can implement their own file selection window. But of course it has a problem: this doesn't give us that isolation between applications.Now, imagine a "multi application" OS.The user selects File->OpenThe application sends a message to the OS asking for a file to be opened.The OS opens a file selection windowwhich is not a part of the application process.The user selects a file and presses the "open" button.The OS creates an authorization for the application to open that particular file. Let's say it´s some kind of "ticket".The application opens the "ticket".Something similar would happen if the user picked up the file icon and dragged it onto the application icon. The trusted part of the OS would deliver a message to the application. "Open this file" but instead of giving a classical file descriptor as a parameter it could be an authorization ticket.It's a bit more complicated than this of course, because the OS should have adequate controls for UI automation operations done from any application. But the core mechanism would still be something of the sort.Actually there is some evolution towards this model. I remember when Apple was ridiculed because iOS doesn't separate processes in different user ids. The truth is, it uses other mechanisms which means that the user id is irrelevant. Also they are applying harder controls on OS X based on sandboxes.A question remains, however: a sandbox is what I call an "a posteriori" security measure. You have a set of resources and you establish some protection measure as an afterthought. Actually I would rather prefer the "a priori" approach in which everything is protected unless access is explicitly granted.But that means you need a complete overhaul of the security model and it would surely be painful for many application developers. There is a lot of inertia right now.

author: bd139
author_rank: Super Contributor
timestamp: November 26, 2018, 10:13:39 am
content: Completely agree. Best solution I have seen is the unveil(2) system call in OpenBSD:https://man.openbsd.org/unveil.2Every process should only see what it needs to do its work. Then you don't get things like rogue firefox addins writing into your profile scripts (this is currently possible - I have demonstrated it with an addin zero day).

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 26, 2018, 02:06:11 pm
content: You guys are clearly talking about graphical user interfaces only. When I do real work, I usually use command-line commands to pre/postprocess huge data files, and often chain commands. What you are talking about, does not suit my workflow at all.However, when I browse the web, or download and open a document, the suggested restrictions would be very useful. They are not even that difficult to implement -- except for the sheer number of libraries those applications rely on, and their need to be able to read from and write to a large number of files (though mostly in personal preferences) and sockets.In fact, Linux already provides the necessary OS/kernel level support for this,seccomp(). Simply put, a library can install filters that restrict which syscalls the kernel will allow to run. It is also possible for the widget which the human user uses to choose a file, to be a completely separate process, which provides the target file as a descriptor/file handle to the application. My point is, this model is already possible in Linux and OpenBSD at least. It is not an OS problem; they can already do this.The problem is, nobody is willing to put up the resources and requirements for application and library developers to do this. The pool of developers paranoid enough (to not trust even their own code to behave, necessary for this kind of development) is also pretty small, most developers believing that error checking and security is something that can be added on top later on if there is additional money for it.So, that discussion is really unfair/off-topic here, considering the thread title, and that GNU/Linux is one of the OSes that would allow that approachright now, with the necessary kernel-level support to make it robust.For a really robust approach, one would rewrite the desktop environment (starting at the X server, changing the protocols as well). The network/socket comms protocol is optimal for this, because it allows clear isolation barriers. All applications would be started via a wrapper that limits the syscalls available. (These limitations are enforced by the kernel, and cannot be undone; all threads and child processes created will inherit the limitations.) Files and sockets would only be available by request from an arbitrator process, part of the desktop environment, and completely under user control. (When the application wants to open a file, it can do so only by requesting the descriptor from the arbitrator process; the arbitrator process would display the file dialog instead of the application. Read-only access to application-specific configuration files could be granted automatically, based on the current user and the application/executable). Internal computation would not be affected at all, so the overhead of the arbitration/access controls would be insignificant.Funnily enough, something similar to this already exists for Linux, developed by NSA:SELinux. It is obviously more oriented towards services than applications, but it does assign "security labels" for each service (application) and each file and directory, and tightly controls access across "security labels". Thus far, nobody has bothered to construct a working policy for a desktop environment, that's all.

author: bd139
author_rank: Super Contributor
timestamp: November 26, 2018, 02:08:04 pm
content: I think it's because it's not interesting doing that. And Linux is very interest driven. Everyone wants the sexy jobs.

author: borjam
author_rank: Unknown
timestamp: November 26, 2018, 02:16:11 pm
content: Quote from: Nominal Animal on November 26, 2018, 02:06:11 pmPointing at me, you? Tou dare? Eh? Eh?Now seriously. The file selector thing is an example. A shell can do the same job when expanding wildcards or just accepting arguments. The basic concept is the same.QuoteOf course there are files that must be accessible for any application like system libraries, etc. On the other hand, on Plan 9 you could run an application without any network access if needed. Just prune its namespace and voila! No network.QuoteIt is an OS problem because doing that is incredibly complicated. That´s why OS architecture matters, not just facilities. That statement is comparable to saying "why do you program in C++ when you can do anything in assembler?"QuoteSo again it's the task of the OS architects to provide a proper security architecture, something a bit beyond what was good in 1970.QuoteIndeed it is, I am not criticizing Linux for trying to be another Unix. However, the security issues somewhat came up.QuoteHowever it's not so easy. I have used the MAC subsystem on FreeBSD (more or less same thing) and I had some funny and intended consequences, such as processes that despite escalating to root would still be harmless.But still it's a far from complete solution, running PHP on that demanded modifying some low level PHP code (not difficult at all but not good!) and most traditional Unix programs will just break.

author: Marco
author_rank: Super Contributor
timestamp: November 26, 2018, 04:04:23 pm
content: I think the invention of C/Unix were far more harmful to IT than beneficial. Many people celebrate both, but should we really?C is a perfect language for hackers, both in the traditional and modern sense ... what benefit has that had for us? Happier developers, slightly faster software and trillions of dollars worth of damages from buffer overflows and use after free. There were more principled languages competing with it at the time, but they all got blown away by the performance advantage of portable assembler except for a few niches where people realized that C is fucking retarded for security and the performance advantage is rarely worth it (ie. the US military love affair with Ada).Similarly for Unix ... capability based security had a long history before the recent resurgence, without Unix it might have very well won out over ACLs. Again I think it would have been a vast improvement.tl.dr. C/Unix were a disaster.

author: bd139
author_rank: Super Contributor
timestamp: November 26, 2018, 04:34:18 pm
content: I wouldn't say they were a disaster, but certainly far from perfect.The problem however is that there is nothing better with any momentum and maturity and these are what drives things really at the end of the day.You can make a far better bit of technology but you will get no adoption.I was rather excited to see the development of a magic bullet for this, ARX, back in the late 1980s. Basically Unix with mach kernel, Modula-2+ as the userland language, NeWS. The lot. On a desktop machine with an ARM CPU that you could literally go and buy in the shops in the UK. This was to be delivered in 1987 which was a MASSIVE leap like none ever before in computing power. Going from some 8 bit turd to that was insane.The vendor, Acorn, had to dump it in favour of something some game programmers hacked up in a couple of months (RISC OS which was mostly written by AcornSoft programmers) because they couldn't actually ship an OS like that in any reasonable amount of time.I like to think the world would be different if they delivered ARX.Got this instead which was pretty amazing anyway so I bought the machine anyway!

author: Siwastaja
author_rank: Super Contributor
timestamp: November 26, 2018, 05:48:08 pm
content: Quote from: Marco on November 26, 2018, 04:04:23 pmAs one writing everything in C (and sometimes seeing it's the wrong choice for a particular task, but still doing it...), I understand your point very well, I think you have every right to call C and Unix harmful or even disastrous. But, some extremely complex things are being done with these tools. This "more harmful than beneficial" argument is impossible to substantiate. What would we have instead, how wide-spread, would it be better, or would it beeven worse? Maybe we would be years ahead on computing? Maybe we would saved billions of damage, even human lives? Or, maybe we would be back to stone age, and just use computers less because they would suck even more than they do now?Such alternative universe doesn't exist for direct comparison, and it could be very much different, for very much better or worse.Many modern alternatives have been more and more disastrous. I'll take a buggy and slow-to-write C program with array over-indexing and overrunning a null terminated string and multiple ways of unintuitive unexpected behavior shit every day, instead of the even buggier, and even slower to write "but-this-is-the-trend-bloat-framework-of-the-year-so-it-can't-be-bad" bullshit.

author: Marco
author_rank: Super Contributor
timestamp: November 26, 2018, 06:13:37 pm
content: I disagree, the framework churn and verbosity of Java might have harmed the sanity of a lot of developers ... but as far as exploits is concerned the software written with it has been pretty good (Java sandbox exploits are irrelevant to that). It's the quick and dirty hacking languages (Javascript, PHP, etc) which cause most of the problems.Trusting application developers to dictate language design is like trusting rich people to dictate economic policy ... they will generally rationalize to serve their self interest. There are always exceptions of course, but all in all it's a bad idea. They overestimate the importance of their comfort and work speed.

author: free_electron
author_rank: Super Contributor
timestamp: November 26, 2018, 08:02:37 pm
content: Quote from: Tepe on November 23, 2018, 02:50:13 pmsimple. you have a development tool.To create a new program you create a new project package.Before you can write a single line of code you need to give your tool a name and a file extension. That will be the only kind of files you will be allowed to write to store the work being done.next you will select what files you want to be able to read from the pool of known file formats.next you will have to define the structure of the file you want to write. all data should be stored in HUMAN READABLE format. NO BINARY blobs. the data file format can be some sort of json / xml type. To save disc space it is ok to store the data on disc as a compressed format of the actual xml data. the compression/decompression is part of the file system and operating system.This file format descriptor gets published with your application and becomes part of the operating system services. Other programs can call the operating system and say 'i want to read a file of 'this' type. The operating system checks if it has a descriptor for 'this' . if it does it returns the scheme. the application can now use the scheme to access the data in that file. it can NOT write such files. only read them ! There is rarely any need to write other file formats anyway. Why would 'excel' bother to write 'word' files ? word can read' excel' files , transform them and use the data to visualize in a text document as a table. Nothing prevents that. word calls the os and say i need data from an excel file : give me the file layout scheme so i can parse it.as long as we are developing you can modify the format descriptor of course.Now you can start writing code. youre program runs sandboxed and can write its own datatypes. the operating system handles a lot of base functions , like file access , windowing, user interface , and other API's.code development is no different than in any other operating system.The only difference is that you first need to tell the OS your data format and associate it with your 'to be created' program. after that : everything is the same.Another advantage would be : no inconsistencies in user interfaces anymore. File selection , buttons, scroll lists : all are handled by the operating system. The user has no need to create yet another file browser or color scheme. The OS deals with that. if the user changes the color scheme on the os then all applications fall into place. if an OS developer creates a new file-open browser then all applications automatically use that.every part of the OS is modular , has an input and output pipe that conforms to a defined scheme. the guts can change. but the io is defined. if i decide to write a new file-open UI i can do that. i can replace the existing one but i have to conform to the scheme for the file-open handler.For example: the OS UI-element 'fileopener' takes as arguments 'application_handle' and returns a pointer to the data.fileopener itself is responsible for the visualisation part. It uses calls to buttons, listboxes and other things which in themselves are part of the OS. An app can not change color or font of a textbox. Those are defined in a settings file.To pull a list of files the UI application calls a windowless fileopener (part of the core os) and presents the application_handle. the OS uses this handle to determine who is trying to open a file and , based on that, will grant read or read/write permissions. and decide what it will let you see as 'openable' files. (the application_handle allows the operating system to read the application descriptor which tells the os what file types can be read, files that are 'unreadable' are simply not shown)Using operating system calls the directory structure can be retrieved and visualized/navigated. when a file is selected : the os retains a list of which app has what file open in what mode. is a write occurs to a file that is open the OS can signal a data change to the apps that have it open in 'read'.The operating system now returns a handle to the requested file. subsequent accesses are done through that handle. file-io calls are not like what we have now where you read blocks of data. file-io is in the style of 'get me the data under key this-n-that' . A file is essentially a database with keys and data fields that follow a defined scheme. to retrieve the contents you tell the operating system 'from this handle, get me the contents of this key', or write ti this handle this key with that data. apps do not have raw access to persistent storage. everything is a human readable database following a format (and the format needs to be declared with the application)Think of a CAD program. no more closed cad formats. the format is known and declared with the application.An operating system should be a common set of tools an application can use. all IO to hardware is shielded. applications simply read/write data. where it comes from .. no clue. Unix already has this concept of 'data as streams'. i push it to 'data as databases with a defined format'

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 26, 2018, 10:05:30 pm
content: Quote from: borjam on November 26, 2018, 02:16:11 pmI disagree. You don't need to replace the entire OS, because all that needs changing is the desktop environment.The OS architecture does not matter, because the low-level libraries (the standard C library, or the standard C++ library, various libraries the applications need, and the DE widget toolkit) are the ones that communicate with the OS kernel and the desktop environment.Extending the problem to encompass an entire OS just makes for a lot of additional work. With nobody interested in funding the development.Quote from: Marco on November 26, 2018, 04:04:23 pmYou think that way, because you have no idea where C and Unix are really used. The amount of research alone done on Unix or Unix-like systems is staggering. Since 2017, all 500 of world's most powerful supercomputers -- those used to do the best weather forecasts, for example -- run Linux. Before that, they ran some variety of Unix. Any others, including Windows, have been very short-term blips on the list.Almost all programming languages today use the standard C library. (Typically, their own standard libraries are written in C, or sometimes C++.)Do you understand that if there was no C, we'd have Fortran, Pascal, some varieties of BASIC, Forth, some Lisp varieties?Majority of the software used today would not exist.And you call that harmful. Well, I definitely disagree.That is not to say Iwishwe'd have something better than C to replace it. I often doodle around and try to fathom what features such a language would have. But it is far from obvious what that would/could/should be.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 26, 2018, 10:14:23 pm
content: Quote from: bd139 on November 26, 2018, 04:34:18 pmMe too.I wonder that about quite a few points along the IT history, actually. What if NSA hadn't blocked proper security for TCP? What if US had not allowed unsolicited email advertisements? What if Microsoft had never achieved a near-monopoly on the desktop computer arena, and we had several competing OSes there?Yet, none of that is proof of what we have now is inferior (or superior, for that matter). We humans often think of things in simpler terms than they really are, and simply cannot perceive of all the interconnections and causal relationships, so we tend to think that the alternatives we think about would be better than what we have now. All we can do, isdo, and see if we can do better. If we can fund the development, that is.

author: FrankT
author_rank: Regular Contributor
timestamp: November 26, 2018, 10:37:52 pm
content: Quote from: Nominal Animal on November 26, 2018, 10:14:23 pmI think that would be a nightmare. We already have PC vs Mac vs Linux. Anyone* who buys one box expects any software to run on it.More OSes? Maybe that would mean jobs for developers. But given how poorly some software is supported I doubt that.Sorry - pushing the conversion OT.* I was going to say "Anyone (non-technical)" but it's the linux users that seem to be the most vocal, demanding linux ports

author: Marco
author_rank: Super Contributor
timestamp: November 26, 2018, 10:58:53 pm
content: Quote from: Nominal Animal on November 26, 2018, 10:05:30 pmIt's open source and thus an easy housekeeping OS to fit all the bespoke code into, also cheap to find developers for. That would have been likely true for some other open source OS.QuoteWhich makes for a ton of fun when there was a buffer overflow in it.QuoteYes it metastasized to the point that basically everything is broken.QuoteAnd Smalltalk and whatever else would have evolved.

author: bd139
author_rank: Super Contributor
timestamp: November 26, 2018, 11:15:44 pm
content: Probably get some groans here but I rather liked pascal. It was mega explicit.

author: BradC
author_rank: Super Contributor
timestamp: November 26, 2018, 11:39:35 pm
content: Quote from: bd139 on November 26, 2018, 11:15:44 pmI still use it frequently.

author: bd139
author_rank: Super Contributor
timestamp: November 26, 2018, 11:57:28 pm
content: Lucky you

author: edy
author_rank: Super Contributor
timestamp: November 27, 2018, 01:19:00 am
content: Quote from: bd139 on November 26, 2018, 11:15:44 pmWow... I remember pascal. It was the first language I programmed with. Borland Turbo Pascal, to be precise. I did my first Mandelbrot generator with it back in the day! CGA resolution on my XT!

author: borjam
author_rank: Unknown
timestamp: November 27, 2018, 06:51:48 am
content: Quote from: Nominal Animal on November 26, 2018, 10:05:30 pmAnd that's why the security situation is catastrophic right now.

author: borjam
author_rank: Unknown
timestamp: November 27, 2018, 07:02:18 am
content: Quote from: bd139 on November 26, 2018, 11:15:44 pmSame here, I still think it's a great first programming language. Jumping right into object oriented programming without previous experience doesn't make sense.

author: borjam
author_rank: Unknown
timestamp: November 27, 2018, 07:05:53 am
content: Quote from: FrankT on November 26, 2018, 10:37:52 pmI don't agree, except of course the Microsoft monopoly did it's "best" to push their crap down their throats. They even worked aggressively to break Internet standards creating their virtual walled garden.Monoculture is catastrophic for security and reliability. Diversity is good as long as open standards are respected. Do you choose your ISP depending on the brand of network hardware they use? There is quite a diversity of operating systems and hardware running the Internet and it works.QuoteAt the same time Linux developers commit the same sins. Porting software developed on Linux by programmers with Linux mindsets to other Unix OSs is a nightmare.

author: JPortici
author_rank: Super Contributor
timestamp: November 27, 2018, 07:12:06 am
content: Quote from: bd139 on November 26, 2018, 11:15:44 pmloved me pascal. First year of programming in high school was all about algorythms at the high level (the thinking) and turbo pascalGive me C any day but i liked how pascal taught me to be rigorous

author: BravoV
author_rank: Super Contributor
timestamp: November 27, 2018, 07:50:12 am
content: Quote from: JPortici on November 27, 2018, 07:12:06 amSimilar route ... taught in Pascal is like trained by Miyagi ...

author: bd139
author_rank: Super Contributor
timestamp: November 27, 2018, 08:07:50 am
content: Indeed. You don’t realise it until you end up an ingredient in a nice turd soup one day. Turd soup refers to the typical “hacked up nightmare” project where no discipline took place.Talking of which I am currently dealing with a good one. Someone wrote an e-commerce site in Perl back when it was trendy. This was turned into PHP when it was trendy. Now ASP.Net core is trendy so they hired someone to copy it verbatim, hacks and all into this environment plus they want to add full containerisation and cloudybollocks and microservice goonery. Just because they have envy of a competitor’s technology blog. As much as the idea gives me cancer I’m trying to get them to leave it as is in PHP because it’s mature and it works and they’re not rich enough, clever enough and staffed well enough to pull it off.“This isn’t what we paid you to come back with”“No but it’s what you need not to fuck up your business”Lock me in a room with TP7 please with no internet and never see another software job again.

author: Drewbie
author_rank: Contributor
timestamp: November 27, 2018, 11:40:26 am
content: I'm fairly happy with Debian 9 running MATE. Slowly weaning myself off OSX 10.6.8Don't get me started about the downward spiral of OSX since then. The latest ones treat a computer with 27" screen like it's a bleeding smartphone.Apple's published UI specs around that time were great. These days it's all swipe at unlabelled shit without any hint as to what the hell will happen when you do.Then there's all the websites switching around to a me!-me!-me! centric style "Your account" became "My Account" as though the webpage I'm on is somehow mine rather than belonging to the entitiy that created it. Gaaaaaa.

author: bd139
author_rank: Super Contributor
timestamp: November 27, 2018, 11:54:59 am
content: I'm sitting here on 10.14.1. Totally happy.It's all still labelled. You just have to right click the toolbar and turn it on now:Also dark theme now which is much easier on the eyes.Edit: UI has hardly changed! 10.4:

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 27, 2018, 01:15:59 pm
content: Quote from: Marco on November 26, 2018, 10:58:53 pmYou forget: before Linux, they were all Unix variants.It is not rational to declare oranges harmful just because they aren't up to your imaginary superfruit that you think might have evolved instead of oranges. It is pure speculation, and classifying things harmful because of speculation alone, is nonsense.Quote from: borjam on November 27, 2018, 06:51:48 amIs it? The security situation on computers I use is pretty good, actually.If you look at e.g. appliances that have had security issues, it is almost always because the manufacturer configured a service with a fixed "secret" username and password. Nothing to do with C, just horribly bad software engineering in general.Quote from: borjam on November 27, 2018, 07:05:53 amCompletely agreed. I just think it is because humans are crappy, and not because Linux is harmful.Quote from: bd139 on November 27, 2018, 08:07:50 amI can't look at Perl code anymore; I have PTSD from trying to maintain and fix a certain project my users used just before the turn of the century. I still get flashbacks and all, thinking about it. (I was young, and didn't know when to drop a copy-paste spaghetti turd in the bin, rather than trying to fix it.)Quote from: bd139 on November 27, 2018, 08:07:50 amTurbo Pascal 5 was the first proper compiler I ever had. It was very nice. (Although my old binaries did get bitten by the timing bug: running on fast machines would always lead to a division-by-zero crash, because a library timing loop ran too fast.) Nowadays, I get most done using gcc or gfortran.

author: borjam
author_rank: Unknown
timestamp: November 27, 2018, 01:44:18 pm
content: Quote from: Nominal Animal on November 27, 2018, 01:15:59 pmOf course not. But Linux has gone backwards related to Unix in several ways. And it's become a showcase of poor practices. That makes it harmful. Of course it's a Unix clone, I won't claim that it's bad because it's still based on the Unix security model.Quote from: borjam on November 27, 2018, 06:51:48 amAwww, sorry. You are right, buffer overflows were a thing of November 1988.QuoteStill Linuxisms have harmed the portability of most software targetted for Unix systems. Now it's targetted for Linux. That'sharm in my book.

author: Marco
author_rank: Super Contributor
timestamp: November 27, 2018, 02:16:56 pm
content: Quote from: Nominal Animal on November 27, 2018, 01:15:59 pmWhich was the closest thing to an useful open source OS before Linux and the BSDs.QuoteMostly a mix between logins and web front ends not escaping their inputs. Low hanging fruit first, also remote exploits have commercial value destroyed by botnets. You shouldn't expect the more sophisticated exploits which can target linux servers to show up on IOT botnets often, botnets don't generate enough income to waste such an exploit on. The Mikrotik targeting botnet used a buffer overflow though.Ransomware obviously a saw huge use of buffer overflow as well.

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 27, 2018, 03:08:25 pm
content: Quote from: bd139 on November 26, 2018, 11:15:44 pmNice language, too bad it didn't pass too long as C was putted in the school as the standard begining Programming language.Before that there was BASIC and Assembly in Digital Systems class or in home PC's.Now ton's of programs in C language needed to the kernel drivers, firmware

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 27, 2018, 05:33:26 pm
content: Quote from: borjam on November 27, 2018, 01:44:18 pmI partially agree, and partially disagree. The kernel is definitely gone forward. A lot of services considered part of the OS have gone backwards.Quote from: borjam on November 27, 2018, 01:44:18 pmI don't think the existense of distributions using horrible practices is enough to label the entire OS harmful.It's like saying explosives are harmful, because they can be used to hurt innocent people. Yet, properly used, they are a very important and useful tool in construction/quarrying and demolition.Quote from: borjam on November 27, 2018, 06:51:48 amStop trolling. You know that's not what I am saying.Yes, C does not have native buffer overflow detection or bounds checking. This is a big problem, because C developers do not bother to do bounds checking themselves. We should have fixed this ages ago.Yet, even fixing it would not affect the security of Linux-based appliances (routers, media players, TVs, and so on) much, because the manufacturers tend to misconfigure their services, especially leaving "hidden" logins with fixed usernames and passwords.My point being, you cannot force crappy people to do good work by having the compiler/language/OS do it for them. They'll just invent new, possibly worse ways, to be crappy. As long as users are happy with crappy tools, crappy tools get produced. I don't think we can fix *that*. What we can do is learn, and create something better, now, for *ourselves*.Quote from: borjam on November 27, 2018, 07:05:53 amJust because crappy people do crappy stuff with some tools, does not make the tools themselves crappy in my book.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 27, 2018, 06:03:52 pm
content: I do often wonder how much better userspace applications most programmers would write, if we replaced the standard C library with a better one.(Do remember that C can be used in the normal hosted environment, with the C standard library, or as a freestanding programming language, without the C standard library. In POSIXy systems, it is much more comprehensive, adding a lot offunctionalityto the standard C library. A lot of it originating from various Unixes, too.)If the base library provided optimized but bounds-checking functions for typical string and buffer management, we might be able to avoid most typical buffer overflow bugs.There are two big problems, however. The first one is the sheer amount of software that would need to be forked, and adapted to use the new base library. There isn't people interested in funding that.The bigger problem is the amount of bikeshedding and private and corporate push for adding their own crap into any replacement, during any attempt at standardization. Just look at C11, and what it included. The Annex K does have a couple of interesting functions in it (getline()andgetdelim()from POSIX.1, and their wide-input variantsgetwline()andgetwdelim()), but mostly it is full of PR crap like "safe I/O functions" ending with_s().It is as ifquality,robustness,reliability, andsecuritymean nothing nowadays in software engineering, andmarketabilityrules.I don't blame Linux for that. I blame the few corporations (especially Microsoft) who pushed such low-quality crap for so long that users got used to crap.I remember when I maintained a couple of classrooms full of Macs using 7.5.3. Very easy to maintain, quite stable. Crashes were quite rare. Then came Microsoft with an Office bug that stopped the machine from shutting down properly. The eventual fix was an OS extension, consuming RAM and possibly some CPU time all the time at a time when 32 MB was lots of RAM. A kernel fix to fix an userspace application... That sort of attitude towards fixing issues does not come out of thin air; it must be backed by a twisted development culture.I do understand the wish of starting from a completely clean slate, and design an entire OS from the ground up. Thing is, if there is nobody to support a replacement C base library, even as a research project, how would you get the OS project funded? How would you even find out what approach and interfaces that OS would need? It is easy to call for others to do something... I prefer to advance incrementally myself, find out what works in real life, with the resources that are actually available.

author: jmelson
author_rank: Super Contributor
timestamp: November 27, 2018, 09:13:54 pm
content: Quote from: bd139 on November 26, 2018, 11:15:44 pmI LOVED Pascal, and found that there was a LOT less debugging required than some other languages. Once I got the program to compile without errors, it often worked, or was VERY close to working correctly.About two years ago I ported an ancient Turbo Pascal program from a Windows environment to Linux using the Free Pascal Compiler, and found it to work quite well. (It was INTENDED to make these conversions easy.) The original was a Windows app, and you selected files with a browser. I tore all that out and made it a command line utility run from the Linux shell.Jon

author: Siwastaja
author_rank: Super Contributor
timestamp: November 27, 2018, 09:27:10 pm
content: Quote from: Nominal Animal on November 27, 2018, 05:33:26 pmA valid point.And the modern ways of being crappy are more crappy than ever, beyond all imagination.It seems to me, people who write C seem to befairlyknowledgeable about what a computer can do, and how to program it to solve a practical problem. The resulttendsto be a fairly efficient and capable software, with a few bugs related to the classical C shortcomings everyone knows so well I don't need to repeat them here - but even then, most bugs are elsewhere (language-independent).Of course, this isn't always the case, there is a lot of uselessly crappy C code out there - but I do see this in a "mental statistics" way (I accept there is a risk of confirmation bias in this, of course, but no one else is stating any objective scientific research either and this is the "chat" forum.)The alternative? I think the last two decades has shown us some massive piles of utter crap originating from the urge to invent:A) a trend language of the year,B) a trend framework of the year,C) the trend words of the yearand yes, sometimes these tools and mindsets are capable of handling array indexing bounds checking correctly and can therefore save from a certain type of bug! But, somehow it seems, the end result is still overall too complex utter crap, and combined with the fact that clueless people use these tools, the result is a total disaster.By this, I don't mean a "a C coder overindexed a table, the software crashed, the bug was fixed the next day" disaster, but epidemic disasters such as public IT systems in healthcare, transportation, public safety, banking, etc., being broken formonths or yearsstraight with no way to fix them. The solution I'm actually seeing is silence. I think our modern world has become difficult. All the cool modern IT services that we saw prototypes of in the late 90's and were expecting to get commonplace, they just don't work anymore. They lag, they crash, they give server error messages, then I need to get a phone and call the helpdesk to resolve the issue.For example, the university I was attending bought a new IT system in 2007 or so. The old one just worked, it was some "hacky" job, the website was always reponsive, you could sign to courses, exams, print out your schedules, the usual sort of jazz. The "waterfall" model was still trendy back then, the new system was in planning for 2 years, then another 2 years in implementation. When finished, the university stopped working. A new server farm was bought because it was so bloat, but while this fixed some server timeouts, it didn't fix all the other brokenness. Because the new systemstillcrashed all the time, people needed to actually go to the relevant offices to sign up to courses and exams. As everyone needed to do that, huge lines ensued. I was working as an assistant at the time, we moved completely to pen&paper in our department and it actually worked quite well. While doing all this, we learned two things:1)Bad IT is worse than no IT(and no IT is acceptable. that's how it worked 100 years ago!)2)Working IT is the greatest thing since sliced bread but no one comments about it when it worksIt tookmonthsto fix the system to a somewhat "stable" state, by stable I mean, not usable, but something you can work with given the unlimited free-of-charge time of the students. Why not poll the service for a few days, a few hours a day, trying to sign on a course? It may succeed finally!Now, the 2) above is a classical saying, but sadly, I'm seeing a change.People have been getting so used to completely broken systems that they have stopped complaining about them as well. Even more weird, people are not evenseeingthese systems don't work, even when they are not getting the job done using said software.Another example: the bank I'm using "modernized" their web services more than a year ago. Almost all the basic functionality was basically broken forhalf a year. Slowly, things started to get less sucky, and the basic features started to appear back, one by one, during months of time. Yet no one (except me) seemed to complain. We just don't complain anymore, we have totally given up any hope to do anything useful, and are happy when we see nice-looking graphical elements and can play Candy Crush. So, if I needed to have a printout of my savings account, needed in a few possible official occasions, I needed to call, using a phone, asking them to print it out and mail it to me. It took months to fix the issue.The patient information system of the public healthcare in Finland was a highly controversial subject a few years back. It was a large piece of the budget of the whole country, comparable to building a nuclear plant, IIRC 2000 million €, which is a huge cost for such a small country (it was widely compared to the similar Estonian system which was something like 100 times less expensive, and worked). The end result was borderline useless, but ithasto be lived with, because such a massive investment can'tofficiallyfail: too big to fail. It has been speculated (and analyzed; also officially) that the system, which doesn't work, has possibly caused significant health risks, and danger of loss of life, possibly even deaths. For example, the system crashes all the time, when the critical patient data is needed before an operation, and wastes the time and increases the stress of the doctors, nurses and staff.But, such complex and expensive systemscannot be fixed, andcannot be replaced. It's impossible to even admit they need a replacement. It's the classical illusion of "not throwing away hard work".The issues on this scale originate from extremely bad high-level design (or, possibly havingtoo muchof it), overengineering by orders of magnitudes, using completely unusable tools for non-technical reasons, and finally, hiring people who have absolutely no clue about what they are doing to do the final implementation. These people are the victims, as well, and most likely burn out in a year. OTOH, the job market will continue needing these people to maintain all these broken systems - the job is never done.I would hire a nerdy C/linux hacker producing ugly buggy spaghetti code with myriads of buffer overflows, over the more modernstatus quoin the "professional" software market, any day, no doubt.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 27, 2018, 09:50:07 pm
content: Quote from: Siwastaja on November 27, 2018, 09:27:10 pmExactly.I remember just before the turn of the century, one of the Linux servers I maintained was an email server. At that time, sendmail was king, and buggy as all hell. So, being pragmatic even back then, I used qmail instead.Rather than be acknowledged for maintaining a system that actually worked (aside from panicing sendmail when it worked too fast for sendmail), I had to constantly defend the use of qmail versus sendmail, just because popularity. My defense, showing the uptimes and security advisories for each, was completely ignored. A lot of admins and developers disparaged and intensely disliked anythingDJBhad his hand in, and I never really understood why.This is the background I come from, and the reason I think the only real option is to try and build something better for *ourselves*, rather than try and convince the masses to change. Convincing just does not work, not with emotional or rational arguments. I've tried those, and burned out badly doing so. The only thing that does work, somewhat, is by example. And even then, only when in small incremental steps, with each step reducing stress and providing better tools.

author: Bassman59
author_rank: Super Contributor
timestamp: November 27, 2018, 09:57:55 pm
content: Quote from: bd139 on November 27, 2018, 11:54:59 amNotice in the mail icon bar -- there's the thing that lets you move the mail to any folder with a mouse click! Finally!But yes, I agree, macOS 14 (Mojave) works well.

author: rhb
author_rank: Super Contributor
timestamp: November 27, 2018, 11:07:51 pm
content: @SiwastajaVery well put.I concluded a long time ago that the typical programmer has no idea what they are doing at all. I find this a rather worrisome state of affairs given our dependence upon computers. Interestingly, a news report claimed that in a survey over 50% of IT workers felt like frauds. Which suggests to me that the actual percentage of incompetents is much higher.They do not understand how the language they are using works. They don't understand how the linker works or how libraries are built.They also don't know anything about the real world. For example:"No linkage exists; the gas tank is placed on the roof of the car, and gravity causes fuel to flow to the engine. Its rate of flow is regulated by a clip around the fuel line; pushing on the accelerator pedal eases tension on the clip, causing the fuel to flow faster (a low cost mechanism)."Object Oriented Analysis and Design with Applications", Grady Booch, 2nd ed p 164Prior to this piece of complete idiocy he lists as design options a mechanical linkage and an electronic linkage to the carburetor. Both perfectly reasonable and widely used.There is just one problem with the quote above. The accelerator pedal does *not* control the flow of fuel to the engine. It controls the flow of *air*. The carburetor is a mechanical computer that calculates how much fuel to add to the volume of air set by the butterfly valve.Yet Grady Booch is held in high regard as being an icon in software. What have we gained from object oriented programming? Well, it now takes 80 MB of memory to put a small digital clock in the upper right corner of the screen. X11 R4 xclock(1) could do the same thing and run on a machine with a maximum of 16 MB of memory possible. And Firefox is not usable on a machine with only 2 GB of memory.

author: bd139
author_rank: Super Contributor
timestamp: November 27, 2018, 11:18:05 pm
content: Wasn't Booch the asshat responsible for UML and RUP?I have no problem with object oriented programming. Most of the time programming against structures is OO masked poorly. Sometimes it's the only way to scale a large problem domain up effectively but you do have to know your shit to put a large bit of software together effectivel and without ending up with 80Mb clock applications.If you want a laugh at how bad these abstractions can get though, I worked on a project a couple of years back where the binary load was about 500Mb. Minimum memory on the target node was 32Gb to support 5 users. There was only about 50kloc of user code. What a fuck up that was.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 27, 2018, 11:26:32 pm
content: Quote from: Siwastaja on November 27, 2018, 09:27:10 pmMostly agree with your points. Obviously, we can add that it's perfectly possible to write well-structured code in C.As for the "buffer overflows" that C is accused of being famous for, we can also add that the problem lies more in the underlying platforms than in the language itself. On a reasonable platform (OS + processors), a buffer overflow should be as harmless as incorrect values being written to any variable IMO, which obviously you can do in just any language. It's not C's fault if the most prevalent platforms in use today are still completely inept as to even allow data corruption to yield any form of code execution (other than the code that was actually written) or call stacks corruption. This is just insane! We are just expecting programming languages to make up for essentially broken processing architectures. Just my 2 cents.

author: rhb
author_rank: Super Contributor
timestamp: November 28, 2018, 12:08:12 am
content: Avoiding buffer overflows in C is trivial. Just read and understand the language standard.And yes, Booch was responsible for those too.I spent two 3-4 month periods a couple of years apart studying C++. I came to the conclusion that *no one* understands C++, not even Stroustrop.Lest anyone take that as just a failing on my part, I read language manuals for entertainment, or did when they were actually interesting like Hermes, Occam, Limbo, etc.If you take the trouble to read the C++ standard you will find that many things are either "undefined" or "implementation defined". As case in point, if an object is derived from two parent classes, which constructor gets called first?

author: Marco
author_rank: Super Contributor
timestamp: November 28, 2018, 12:27:05 am
content: Quote from: rhb on November 28, 2018, 12:08:12 amNo, the real trick is never making mistakes.

author: rhodges
author_rank: Frequent Contributor
timestamp: November 28, 2018, 01:12:22 am
content: Quote from: Marco on November 28, 2018, 12:27:05 amYes, agreed. I was recently bitten by a silly mistake. I have a pointer to a counter that I want increment...Code:*ptr++Yeah, that mistake bit me...

author: Karel
author_rank: Super Contributor
timestamp: November 28, 2018, 07:28:07 am
content: No tool (or language) is going to improve the situation as long as companies don't want to pay more for skilled programmersand relax the deadlines. The thing is, if a company releases later to give their programmers more time, and ifthat software is more expensive than the competition, they go out of business.So, in the end, it is the client that should be willing to pay more for better software.I don't see a real solution here.

author: borjam
author_rank: Unknown
timestamp: November 28, 2018, 07:43:20 am
content: Quote from: Nominal Animal on November 27, 2018, 05:33:26 pmSo, the OS goes?QuoteI don't think it's only a matter of some distributions. There are ways in which the Linux crowd, as a whole, hasn't got the good principles right. From those problems (example: Linux is a kernel, not an OS) you can derive other poor practices.QuoteI know, just pulling your legThe current wave of "IoT" crap is not Linux fault at all, but crappy developers who just want the software running and won't care about consequences. Same thing happens with high end instruments running Windows.QuoteI don't think C and Unix have been bad. Quite the contrary. But C is a systems programming language pretty similar to programming in assembler. The problem is, couple that with a heavily networked world in which your programs won't be communicating only with trusted sources and you have the recipe for disaster.QuoteNot only that, but extremely poor practices. But they would have botched it with any other OS. You are right.QuoteAgain, phylosophical differences are key here.

author: borjam
author_rank: Unknown
timestamp: November 28, 2018, 07:53:00 am
content: Quote from: bd139 on November 27, 2018, 11:18:05 pmOh. I remember when software engineering was about designing better software, modeling it better and understanding it.With structured design (Yourdon, De Marco...) the specification tools really helped to design better software. I remember having used a kinda homegrown approach derived from the ideas outlined here (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.6735&rep=rep1&type=pdfand it really helped me not only model the system, but to make it better.With the UML crap everything went downwards. UML is only useful to specify software for some cheap and crappy subcontractor.Software Engineering self destructed.QuoteThat's why I cringe when I see that OO is introduced too early into the curriculum.

author: bd139
author_rank: Super Contributor
timestamp: November 28, 2018, 08:06:27 am
content: Quick scan through that while eating breakfast lines up with my understanding of the universe. I use a similar method myself. Most of what I build these days is task and message oriented connected with queues for a different reason. It does help with architecture and decomposition of the problem domain but one of the cool things is the designs usually automatically lend them selves to horizontal scalability.I’ll have a read in depth later on train but looks spot on to me.

author: borjam
author_rank: Unknown
timestamp: November 28, 2018, 09:07:32 am
content: Quote from: bd139 on November 28, 2018, 08:06:27 amLook at the dateI learned of that article in a one week course on Concurrent Programming I took at the university in 1990 or so. The course was briliant and that paper was one of the recommended readings. Another one was this, https://www.csee.umbc.edu/~younis/Real-Time/Reading_Assignments/MARS.pdf.These readings really helped me when I had to design a multi track audio recorder for stock markets and emergency call centers which could use several tape drives even network connected, allowed an operator to recall a recording in order to double check data provided by the caller, it used a hyerarchical storage management system (which I designed as well) and it achieved uptimes in excess of a year. The limit for the uptime was the useful life of the DAT heads which we worn out pretty quickly.I really think that nowadays everything is going down the drain with too much focus on mastering huge libraries rather than fundamental principles. And those huge libraries are quickly surpassing the insanity in laws, swinging one way or the other in a complete chaos. Stack Overflow is going to be like a database of legal precedents!

author: bd139
author_rank: Super Contributor
timestamp: November 28, 2018, 11:51:20 am
content: Yes, all the good ones were 70s and 80s and mostly forgotten. Another good one is Hoare's CSP (tggzzz is a fan of that as well I note):https://spinroot.com/courses/summer/Papers/hoare_1978.pdfI think some of the libraries do have some serious advantages. That is when you pick the right ones you get to concentrate on the business problem rather than the actual infrastructure to support it. Recently I built a quoting engine on top of some of them and I think I wrote about 2000 lines of code and it quite happily chewed up 100,000 messages a second on a commodity crapbox from HP.It's very easy to turn some of them into a pile of crap and it's very difficult to find ones that don't lead you down a path to writing a pile of crap. That's the problem and really that comes down to discipline and experience, which is mostly lacking I find.

author: rhb
author_rank: Super Contributor
timestamp: November 28, 2018, 12:44:20 pm
content: The complaint about FORTRAN 77 was that COMMON and GOTO destroyed locality of reference.Now we have instead *no* locality of reference. Hopefully the situation is better than the last time I touched a pile of C++ crap 20 years ago, In order to set the breakpoint I needed I had to spend a ridiculous amount of time hunting for the parent classes so I could look at their constructors.I was the lead scientific programmer. They had intended to make the same mistake as the project we were replacing, use the code written by the research scientists. I managed to disabuse them of that folly.I was doing the most impeccable work of my career. Everything had a header which documented the input and output arguments including minimum, maximum and default values. The project lead documented that it took 6 man-weeks of GUI development for every man-week of scientific development. As a conseqence I was well ahead of schedule and they were far behind.I was asked to fix a bug in a GUI function. It was several thousand lines of machine generated code from a GUI GUI builder which had been hacked by hand! I fixed it, but was so appalled by the code quality that I told the project manager I would not work on any more GUI code.I signed my work with my name and ACM email address in the opening comment block. I was laid off a month or two later and the company was gone within 6 months. Because this was a super major acquiring a major, the deal required divesting certain assets. I learned from a friend at the company that bought the divested assets that they got the software package I'd been working on. They threw away the GUI code, but they kept my scientific libraries.The 18-24 month "right sizing" cycle meant that I knew people everywhere. I learned of this at an annual conference from someone I had worked with who was involved.There are canonical phrases in every language. For *ptr++ it is some variant of the following:while( ptr && ptr < ptr+len){*ptr++ = foo( bar );}My extremely worn copy of "Standard C" by Plauger and Brodie has a note by the summary of gets(3c) , AVOID. Unless I have read it that day, I *never* call a library function without reading the summary of the usage if I am doing serious work. I might not bother if I'm doing a 10-20 line quickie for something. But even on those it's very rare I won't check the summary.The papers linked in the last dozen or so posts are very good. I'd not read Hoare's CSP, but I was thoroughly drilled in that by Tanenbaum and Minix.I wrote *one* program in which all the functions communicated via global variables. It was a complex parser which corrected for segments of missing data in a database on the mainframe so it was a loop calling about a dozen functions. When I was finishing it I noticed that all of the functions except for one took the same 4 arguments. One function had one or two additional arguments. So I made the 4 arguments file scope globals and then changed the functions to "int func(void)" to highlight for anyone working on it in the future that there was one function that was special.If I had wanted to be obscure, I could have passed the variables on the stack without explicitly passing them. But that would have been a *very* cruel trick to play. There are a lot of diabolical tricks you can play if you know exactly what the compiler and linker are doing. I'll occasionally write an example of such things, but only to prove a point about why something is poor practice.

author: bd139
author_rank: Super Contributor
timestamp: November 28, 2018, 12:56:25 pm
content: On gets, it was a stupid design. No bounds checking and no null termination. fgets replaced it. Explicit stream source, size_t length and null termination semantics. You can still use it wrong but it's your fault thenGUI stuff is the worst. I'll give Microsoft their due though, if you keep to the .Net stuff (winforms or WPF) it's not horrible to use. The underlying win32 / ATL / MFC / whatever unholy mess of the hour is vile however. For me, I tend to avoid GUIs entirely. I prefer programs to work with programs not humans.Some of the higher level languages are nice...using (var sr = new StreamReader("path")) {string line;while((line = sr.ReadLine()) != null) {// do stuff here}}Can't screw up at all there and usually you just write your stuff so it talks to a TextReader instead (the base class of the StreamReader).Edit: for the unfamiliar, the using block is a resource management construct. The file will be closed automatically going out of scope and the reader and all memory disposed of.

author: nfmax
author_rank: Super Contributor
timestamp: November 28, 2018, 01:34:31 pm
content: That loop says "AWK!" to me

author: bd139
author_rank: Super Contributor
timestamp: November 28, 2018, 01:52:17 pm
content: For some cases of what’s in the loop, yes.Inside that you can have a TokenReader and inside that an LL(k) parser for example. K being handled by a buffering token reader

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 28, 2018, 03:06:24 pm
content: Quote from: borjam on November 28, 2018, 07:43:20 amIt is not a single cohesive crowd, either. The conflicts between the kernel developers and the GNU C compiler (doing something completely un-useful just because the standard leaves it up to implementations) and the GNU C library (not exposing all Linux kernel interfaces, especially thread IDs, which could be very useful for Linux-specific application programmers) reoccur regularly.That means there is nobody with a central vision for the GNU/Linux as a whole; it just ... happens by fiat.I don't know of any way to do it better, though. I don't think thereisanyone with a better central vision; nobody I'd trust, anyway. And in any case, trying to impose anything on the individual developers is just not going to fly, unless they voluntarily agree -- and based on the existing internal conflicts, there is zero chance of that.Quote from: borjam on November 27, 2018, 07:05:53 amYeah, or semantics.. as in what exactly is meant by "considered harmful" in the thread title. I see the term strong enough to require one demonstrate actual harm that would be avoided by not using it at all, rather than base it on comparison to imaginary things or speculation.I have absolutely no issues with others preferring other tools. But when tools I use constantly, and without any measurable harm caused by me doing so, are labeled harmful, I need to object. And not just because of personal reasons: I often contribute back to the society by doing so, mostly by helping others learn, but also via research (computational material physics, occasional computer science and math). And I know a lot of others who do so too. To me, it's like someone claiming that teaching kids is harmful, because it could be done better -- without even showing what those "better" ways would be in real life.Quote from: borjam on November 28, 2018, 09:07:32 amI fully agree.Quote from: rhb on November 28, 2018, 12:44:20 pmI do the same with theLinux man pages online. Don't let the name fool you; each page has a Conforming To section specifying which interfaces are C89/C99/C11, POSIX.1, BSD, or something else. The Description and Bugs sections are particularly useful.

author: rhb
author_rank: Super Contributor
timestamp: November 28, 2018, 07:17:54 pm
content: I was not aware of those online man pages. Thanks.BTW The paper was by Dijkstra, not Wirth. Not sure why I got it wrong. Old age I guess. Dijkstra was simply arguing for common sense. If you've ever worked on a column 7 FORTRAN code that had a GO TO every 30 lines or so you'd understand.The motivation for the thread was the lack of any consistency. Debian 9.3 is proving to be fairly tolerable. But I am a SunOS guy at heart. I'm OK with Solaris and that's what I use for most serious work.The thread started after reading all manner of stuff which was specific to some particular version of some particular distro neither of which was stated. The basic novice "Everyone's computer is just like mine." problem.The Gnu tools were much better quality 30 years ago than they are now. They were written by people who understood Unix well. I feel fairly certain that very few of the current Gnu developers have read the seminal Unix papers from the 70's.

author: mansaxel
author_rank: Super Contributor
timestamp: November 28, 2018, 08:15:00 pm
content: Systemd is plainly broken. Bad idea badly done, and with a shitty attitude at that.Binary logs.Integrated tools that do what Lennart says you want, not what you want.DNS client that defaults to spyware 8.8.8.8 (without telling you)DNSSEC support that depends on insecure messages in home-built XML over dbus.Said XML messages for DNS over dbus aren't RRtype transparent, so requiring update as soon as new RRtypes exist.An userid that starts with a digit is treated as root (https://www.theregister.co.uk/2017/07/05/linux_systemd_grants_root_to_invalid_user_accounts/)Completely flabbergasting attitude to security issues.If it comes out of the designated orifice, if it stinks, if it grosses people out, if it is marginally usable only after decomposing, well, fæces it is.

author: nvidia
author_rank: Regular Contributor
timestamp: November 28, 2018, 08:31:00 pm
content: puppy linux is the best os for older laptops or desktop pc its so fast

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 28, 2018, 09:29:33 pm
content: Quote from: rhb on November 28, 2018, 07:17:54 pmYup; sometimes you just need to poke a bit to get an interesting discussion going.Quote from: rhb on November 28, 2018, 07:17:54 pmI don't really know, considering how different the typical use cases and hardware is today. Some of them, likemake,sed,awk, andm4, are only better; I don't recall encountering a bug in any of them. GCC and glibc are really hard to compare, because they've changed so much. (Should we compare the number of bugs, or their density? Number of issues? Users affected? Likelihood for a single developer to run into an issue? I do not know, and don't want to rely on my memory or "gut feeling": I'm too often wrong when I do that.) Just think about the amounts of data current computers shuffle around, on a near-constant basis. It is staggering, in terms of 30 years ago.Quote from: rhb on November 28, 2018, 07:17:54 pmI'm certain they have not, because many devs now openly decry theUnix philosophyandKISS principle/softwareminimalism.The kernel developers are slightly different. Most of them haven't read any articles published before 2000, but at least there is some consistency and rules in place. (The kernel - userspace ABI is one thing that is considered sacred: extended yes, but only modified breaking backwards compatibility for really big reasons. Some subsystems like ALSA and graphics drivers don't play ball, but they're basically results of decisions made almost two decades ago, with no known fixes. Some stuff, like the/syspseudofile hierarchy, actually makes sense, and fits the Unix approach pretty nicely. As an example, you can read/sys/bus/usb/*/idProductand/sys/bus/usb/*/idVendorto discover all USB-connected devices, or/sys/class/input/event*/device/nameto find out which human interface devices are connected to the kernel input event subsystem. You can even grab any one for yourself (or feed events back via uinput device), if you have the privileges. The input event subsystem has a stable kernel character device interface for all HID devices, from keyboards to mice to touchpads and joystics. Device privileges are easily managed viaudevservice, an old Unix-style daemon, which manages the creation and deletion of device nodes and symlinks as the devices are connected/disconnected/discovered. Unfortunately udev it is now subsumed into systemd, so it might go wonky soon.)Then, there is systemd, gnome, gdm, and just about all graphical desktop applications, that.. well. We could do better. Or at least not throw hard-earned knowledge to the wind, and redo known mistakes.

author: malagas_on_fire
author_rank: Frequent Contributor
timestamp: November 28, 2018, 10:34:18 pm
content: What about shell scripting? Do you feel some transition problems when working with full featured BASH / KSH and switch to busyboxaka ASH... yeahh try some for, arrays but again embedded is embedded. It is a nice language to interact automate things in linux / unix systems when speed is not really required.Code:#!/bin/bashi=0while true; doecho "Hello No: $i"i=$(( i + 1))sleep 1donePoll some gpios, adcs from sysfs when you have little commands, for instance OpenWrt... It's not so ugly ... unless it fits in one line ...Code:i=0; while true; do echo "Hello No: $i"; i=$(( i + 1)) ; sleep 1; done

author: rhb
author_rank: Super Contributor
timestamp: November 29, 2018, 12:56:32 am
content: Thirty years ago I was managing a MicroVAX II WorldBox with 5 MB of DRAM, a TK-50 and 288 MB of disk. The 11/780 on the first floor had 4 MB 0f DRAM, around 1 GB of disk, an FPS-120B, four 9 track drives a Gould-DeAnza 32 bit 512 x 512 color terminal and a 30" Versatec plotter. Terminals were all VT100s except for a Tek 4014 with a thermal printer.These were used for seismic processing research. I often had the MicroVAX running at 100% CPU utilization for weeks at a time without detectable impact on interactive users. I had 2 terminals besides the console. The terminals switched between the 780 and the MicroVAX. We only had a single user license for the MicroVAX, but you could login to the console and spawn a process on the terminal and then iconify it. So we could actually have 3 users on it.I use tcsh for the terminal and traditional Bourne shell for scripts combined with awk and all the traditional tools.25 years ago I had a Sparcstation 1+ with terminal windows logged into an IBM AIX, Intergraph CLIX and HP "snakes" series machine. I also sometimes had windows open on DEC Ultrix and SGI IRIX systems. My home directory was NFS mounted on all of these. I used csh in those days and my .cshrc and .login files were quite elaborate. I had a ${HOME}/bin for shell scripts and ${HOME}/${ARCH}/bin for compiled binaries and symlinks to handle systems which had both BSD and SysV tools.. I also maintained a /tool/bin tree which was setup so that /tool/${ARCH}/bin and friends were automounted there. That was where I maintained all the Gnu tools for all the platforms.Everything I did was portable across all 6 systems. I had a 1+, 3/60 and 3/110 at home with a 1.8 GB disk and a very slick automounter and NIS arrangement at home. I brought Linux on the PC I had bought to run Minix and Coherent. Played with for a day or two, but I had professional class systems, so there was no reason to use it.At the time I remarked that no one could beat Windows NT as a commercial venture, but Linux might just for the sheer craziness of it. It pretty much has, but it's also become as complex and annoying as Windows. The entire UI changes constantly.A few years later I managed to multiboot Linux, Solaris and FreeBSD. It took something like a dozen attempts to get them not to kill each other. After that I never did multiboot again except for a laptop I set up about the same time period.On my *real* work system today I run Solaris 10 u8 and twm dual screen, one portrait and one landscape. My internet access system runs OpenIndiana Hipster and VirtualBox. Both of these run ZFS in a 3 disk RAIDZ1 configuration. A 3rd system has SATA and PATA swappable drives. I recycle my old drives to test stuff or when I positively, absolutely *must* run some particular flavor of something.If the effort that's gone into Linux had gone into Minix instead, we'd have a really good system. But instead of something robust, we have what will eventually be just another flavor of Windows.In 1995 the first public release of Plan 9 put the OS, a windowing system, an editor and basic utilities and network support on a single, bootable 1.44 MB floppy.From my vantage point, we are going backwards, not forward.But it's not just computing. It is society. Kids today don't know how to use a book. They can't read and they can't write or spell. And in the US they are completely unwilling to work. Which has been a major driver in illegal immigration. The Mexicans can be scarily incompetent as the 4 who were killed in the DFW area when they blew up a $500K house with paint thinner fumes. But you can't fault them for motivation to work. I have had numerous people tell me they cannot find Americans willing to work, even at at double minimum wage.It all makes me glad I'm old. With a little luck I might die before things really get bad.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 29, 2018, 06:46:12 am
content: Quote from: rhb on November 29, 2018, 12:56:32 amIf people put the money they use for purely visual cosmetics (makeup) into space exploration, we'd have had a manned station on Mars for at least a decade already. (I won't say makeup is harmful, though.)Quote from: rhb on November 29, 2018, 12:56:32 amTrue. Each passing year, Idiocracy comes a step closer to reality. Or maybe it is just that as we age, we shed our misconceptions and naive beliefs we had when we were younger, and see the world more clearly.Yet.. Between 2002 and 2012, those living under the poverty linereduced from 26% to 13% globally. Global poverty was halved in a single decade, and it is quite possible we caneliminate itin the next couple of decades.I don't care much about adult humans, but think what internet and the reduction of objective poverty means to kids growing up. They will no longer held back due to a lack of resources, and actually have a chance at bootstrapping themselves.

author: bd139
author_rank: Super Contributor
timestamp: November 29, 2018, 08:16:00 am
content: Edit: this turned into a long rant the moment idiocracy was mentioned. Sorry.I work with a lot of young developers and startups. Idiocracy is here already. Big time. I’m usually the guy who has to dig them out of the shit. I speak for perhaps 80% of the industry here. There is good stuff going on but most of the growth is complete and utter crap.Basic development process is: jump on every new fad, sell everything out to the first cloud vendor to fart out some immature piece of crap, start code first on an idea without thinking it through, get milked by every data collector on the way, forget to do any legislative research first and run in “beg for forgiveness” mode, always forsake your customer, not look more than six months into the future. This leads to all the churn in the industry. From a customer’s perspective, they go to buy a product, find a magic vendor that does what they need and sign up after reading the paid up quotes and stories in trade magazines. After the line of paid training, migration and indoctrination takes place no one wants to admit they bought a steaming turd and that the project is failing because they bought a lie. What people end up with is a prison of lies they can’t escape from. This is mostly self inflicted and is a failure mode of CYA culture in companies.On top of that a lot of software companies are MBA driven and the engineering side is seen as a cost centre rather than the core of the business. On the above model you can see why. Collecting customers like Pokemon and milking them is the objective not quality delivery or solving their problems. They like to outsource, to the lowest bidder. Usually some awful crap shifter like a rather well known one in Hyderabad. They have massive staff turnover and half their qualified staff bought their degree through a bribery programme or from an impressive sounding but non existent university. Then when the right opportunity comes along the owners sell the stock off and disappear under layers of new management imposed by the investors.I decided about ten years ago that I was going to help fix these people and help them build decent products. Then I realised that wasn’t their goal. So now I concentrate on extracting as much money from them as possible because the less they have the less they can hurt people. Every contractor I have spoken to frankly, usually down the pub after work, has said the same thing. Thus my mortgage is paid off.The good times are over. Our future is sharecropping while carving the same wheels over and over again in different idea cults. All progress is gone. And that’s because people have traded professionalism for faddism and Ferengi death cults.As for poverty, I think they redefined the line. I take my kids to school with people on food bank handouts. One guy, a professional glazier, can’t get any work. He has been trying for three years. Turns out there is no market because labour is cheaper elsewhere. Now I have no problem with immigration for sure but the reason it works is that the immigrants and outsourcers get paid less. They shouldn’t. They should get the same pay and that puts the decision on hiring on ability not price.Ugh it all sucks. 5 years of this shit left and I can retire (early) and write a book decrying the whole thing dilbert-style.

author: BradC
author_rank: Super Contributor
timestamp: November 29, 2018, 09:05:06 am
content: Quote from: Nominal Animal on November 29, 2018, 06:46:12 amIt'll never happen as long as those people smart enough to be educated about contraception continue to listen to the message, while the others still can't figure out what is causing it continue to procreate unchecked. Don't breed 'em if you can't feed 'em, and that applies just as much in the 1st world as it does in the 3rd world.As for Linux, we are lucky enough to be spoiled for choice and virtualization has made that even easier. Have an expensive piece of crapware that requires certain OS, architecture and versions? Chuck that specific setup in a VM and go at it. Same way I deal with expensive and specific software that requires windows. Heck, one piece of obsolete but essential crapware I use dies after 2013, and the company died long before that. Put it in a VM and make sure the VM start date is pre-2013. Sure, it's not for everybody but it works for *my* workflow and it means I can continue to use the stuff rather than haggling over OS versions or updates. It also means I can isolate it all from the network, so nothing phones home, I'm not subject to forced or unintentional updates, and everything just keeps working.

author: bd139
author_rank: Super Contributor
timestamp: November 29, 2018, 09:26:11 am
content: Virtualization is just another fad that hides the problem of poor architecture and isolation. Watch out for when you think it is solved, things get worse. First we had enterprise crap that was shipped as VM images. That wasn't terrible. Then we realised we could archive old desktop apps. Which was a good thing.But now it has gone to hell and we have some unholy pile of shite that turns up on your doorstep as a whole bunch of docker and kubernetes/swarm poo.Typical example, I will quote here is a very popular piece of security/compliance software. Basically you run it on your build output and it does some analysis and tells you what CVEs and licenses you are using to cover risk. Sounds pretty cool yeah? It is. Or would be if it wasn't a total ball ache. The client is a bit of Java that does some text parsing and farts it up to a central instance you host yourself which does the reporting. Literally not rocket science. Turns out you need to spend on hardware for that, it calls home every 2 minutes and the sales wankers call you to help with your deployment every five minutes and they know what the package is doing on the client. Nasty fuckers.When I say spend on hardware, min spec is 5 cores, 20GB RAM, 250Gb SSD backed disk on the server which also needs deployment via docker/kubernetes and all sorts of crap that you cannot physically automate other than with TCL's expect because it's a 1990s style QA interactive script that deploys it all. And the clients seem to need about 2GB extra RAM and 2 more CPUs just to run the scanning software post-build. For that, it runs like ass. Good luck keeping that alive and that's the way it's going.Either that or you pay them to take all this hassle away and pay rent. Unfortunately due to "devops culture" (another shitty fad) it turns out the software guys, who don't know a VLAN from a WLAN or a server from a waiter are now running the infrastructure too.. If they do know what they're doing they worked out it is really expensive to run shit like this on a large scale so force it onto AWS with the lowest instance cost they can muster which makes it run even more shitty than if you self host it (Atlassian are good at this with JIRA Cloud)It's all shit and we're boiling in it.Edit: out of pure cruel irony I am now going to go and build myself some Windows 10 virtual machines

author: BradC
author_rank: Super Contributor
timestamp: November 29, 2018, 09:34:43 am
content: Quote from: bd139 on November 29, 2018, 09:26:11 amI was talking about the one in the middle (archiving old apps and keeping yourself insulated from OS/system upgrades and the inevitable incompatibility). The latter has absolutely zero to do with virtualisation and is entirely the fault of shit software developed by shit developers using a shit architecture. Nothing remotely the fault of virtualization there. Unfortunately if you have to work with that crap,I feel for you, but you could always find something else to do.

author: bd139
author_rank: Super Contributor
timestamp: November 29, 2018, 09:38:18 am
content: This is still an issue with virtualization because the existence of virtualization made it acceptable for this to continue. If you look at Windows for example as an exemplary backwards compatibility platform, it will quite happily run today, broken shit that targeted windows NT4 in 1998, 22 years ago. That's about the only positive thing I can say about Windows.The issue is that once this became available to the average developer (thanks VMware!) and not in the concept of mainframe style virtualization or solaris containers / freebsd jails etc, it was seen as an escape route to not building compatibility options into your software any more. Now it is seen as the primary way to avoid that coupling. So instead of making your software compatible with the target environments, you ship your software on top of the virtualized crap with security holes in it so it can sit there and rot while you profit and not go snap every time someone runs some updates in.The vendor I mentioned earlier is a prime example shipping out of date OS libraries, JVM, tomcat etc which are chock full of vulnerabilities. This is entirely enabled by virtualization. And also entirely ironic considering it was a security product ffs.. did they run their own tool on their own development stack? Definitely not!Outside of the desktop, this is the status quo now I hate to say. I wish more people got to deal with the stuff hiding behind happy faces and clouds.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 29, 2018, 03:18:19 pm
content: Quote from: bd139 on November 29, 2018, 08:16:00 amYou get to do that? You need to tell me how you got there. Me, I get told that the shit is just warm and fiiine, come on in and stop complaining.I know I overshare and am overly direct and lack the charisma needed to convince nontechnical people, though. You certainly have much better people skills than I do.Quote from: bd139 on November 29, 2018, 08:16:00 amHere in Finland, about one third of large IT projects actually complete; the rest just fail, producing nothing usable. This is seen as perfectly normal and understandable; no CYA needed.Quote from: bd139 on November 29, 2018, 08:16:00 amI realized that when I was 25, having run a small IT company with my eldest brother for a couple of years. I was too naive, and thought if I was even more better and effective and honest, my clients would appreciate it, and things might change. I was utterly wrong, of course, and broke myself mentally from doing so. The costliest mistake I ever made for sure.Quote from: bd139 on November 29, 2018, 08:16:00 amCould be.. but people no longer starve because of natural resource shortages; they only starve if they live in a country or region controlled by dictators (warlords, socialists, or communists). Children do now have the opportunities people did not have in the past,globally.Quote from: bd139 on November 29, 2018, 08:16:00 amDo not get me started on ethnic replacement projects, that rant is not nice. It is definitely going on here, at least. I personally no longer have access to professionals to help me untwist my mind so I can do real work again, because those services seem to be focused to "paperless" now. Because of my past, I cannot bring myself to borrow enough money to do it on my own; that kind of risk would be too much for me to mentally handle: self-defeating from the get go. Anyway, I don't want a monoculture, and I don't want to see any single culture vanish, including my own. I do want to change many facets of many cultures, though, because I can see the damage they cause to everyone. Because I do not give a shit about protecting groups and insist on dealing with individuals on an individual basis, judging them solely based on their behaviour, I constantly risk being labeled a racist, and being excluded from participation and employment.A couple of decades ago, I remember talking to a professor about patents in a poster session. (I had almost applied for a basically software one the year before, related to online editing of web pages, and the underlying mechanisms for doing so [that are not used even today, funnily enough].) I had observed to the professor that majority of patents are used to block competing products from becoming available, rather than protecting available products from being copied. (Not just in physics, but also in engineering. Crankshaft patent delayed automobiles for twenty years, for example. Without certain basically unused additive manufacturing patents, we could have had 3D printers in late eighties.) Because of that, I dislike the current patent system, and would like to see it replaced with something that protects products incorporating the patents instead: a scheme of "use it or lose it", if you will. A student indignantly called me a communist, and said they had "the right to profit from their ideas". I think I sprained my brain somehow observing the situation, being a CEO of my own small company, being labeled a communist, by an ostensibly sharp and intelligent student, wearing a Che Guevara shirt (figuratively speaking; no tuition fees in Universities in Finland), claiming that the society owes them money and resources, because she has "ideas".A few years ago, I was still hoping I could get employed in my University, developing a new molecular dynamics simulator (that has a core design that can actually utilize the hardware we have now, with a number of different potential models and simulation regimes, both parallelized and distributed, separating the bits scientists want to fiddle with (the potential models) into units that let them do so without compromising the efficiency of the simulation, easily). Materials science needs good, reliable, valid simulators. Unfortunately, even the HPC stuff seems to be under high pressure to be outsourced to the cloud. It seems it is cheaper to pay millions for service providers than pay a cheap undergrad/grad a salary to fix and develop the tools. So now, I really don't have a plan anymore.I am not kidding when I say I would gladly take a one-way trip to Mars, if I got some equipment to do real exploration and analysis there for a year or two before perishing.

author: bd139
author_rank: Super Contributor
timestamp: November 29, 2018, 04:01:58 pm
content: Quote from: Nominal Animal on November 29, 2018, 03:18:19 pmMy people skills are intentionally terrible. I seem to have got a reputation for taking on the things people run a mile from and making them slightly less worse and that's about it. For this they have to put up with me which is a fair tradeQuote from: Nominal Animal on November 29, 2018, 03:18:19 pmThat's probably a good thing. We have a clear divide in the UK. Public sector (government) projects always fall on their ass after the consultants have spent a couple of billion on it. They then either slither back to the big consultancies they slithered out of. Anyone who isn't one of the big consultancies is 100% unemployable afterwards other than in the public sector. Private sector fails silently usually with the company being eaten by a bigger fish and wrapped in marketing so you can't lose even if it goes totally wrong.Quote from: Nominal Animal on November 29, 2018, 03:18:19 pmYeah similar situation here. I started at a small three man outfit in 2002. Day one the other two engineers quit and left me in deep shit. I figured that if worked hard I might get somewhere. Nope. Clients were assholes, suppliers were assholes. It was just puckered rings everywhere. Eventually the MD had a nervous breakdown and called me up one afternoon after he drank a bottle of vodka, gave me a mouth full of shit over losing a client who we were losing money on anyway so I said fuck it, quit and went to work back at a company in the city who basically buggered people for half baked ecommerce solutions. Gah. I went contract after that, mainly because I can't stand working with people for more than about 6 months.Quote from: Nominal Animal on November 29, 2018, 03:18:19 pmFair points there. We have a weird mix of socialism and capitalism here. It doesn't work. Basically everyone suffers. You get punished for winning or losing. The best thing to do is play the subgenius position:Quote from: Nominal Animal on November 29, 2018, 03:18:19 pmYes I know that one. Been there. I got in trouble with an HR team for discrimination after I forced them to fire a West Indian guy. They branded me as racist because the person who was fired complained I had a problem with them and pulled the race card. They sat me down and gave me a big presentation on racial equality and how I was handling it inappropriately. The guy was a slacker. He did nothing other than break shit he touched and cost the company a fortune. I don't care if he was green or purple.The irony? At the time I was dating a West Indian girl. This irony was lost on the HR team.I don't have a problem with cultures disappearing myself. As long as what they are replaced with is better. Now we have ubiquitous communications worldwide, give it a couple of generations and we will have a similar culture and separate heritage. My kids already have no cultural boundaries - everyone gets on with everyone. They don't care any more. Shitty memes are more important.Quote from: Nominal Animal on November 29, 2018, 03:18:19 pmHahaha I know the types. Some patentist karma for you: I know someone who had an idea in the early 1950s and got a patent on specific PCB mounting method. Then spent 40 years trying to enforce this patent which was so loosely defined it was ambiguous and damn obvious. Not worthy of patent. No product came of it, no unique thought, no design effort. Just an idea. He spent his entire life's savings defending this patent, lost his house, his savings, his car, his wife and his kids. The guy now lives in a social care home in his 80's, still trying to find a solicitor who will take on this idea and sue Dell, HP etc who stole his idea.At least you guys have free university. We don't any more. My eldest is going to apply next year so I've got to foot the bill for that. She's wants to do molecular biochemistry which is going to cost a small fortune.Quote from: Nominal Animal on November 29, 2018, 03:18:19 pmIt's the whole "someone else's liability" game the outsourcing. Capital expenditure is high if they have a salary as they can't pull the plug usually on the whole thing. Not that you get paid much even at high end grad salaries.I'd bail out. Commercial orgs have a lot of cash to burn on this sort of stuff. Finding a niche is hard though.Quote from: Nominal Animal on November 29, 2018, 03:18:19 pmThat's what Musk is up to I reckon. Everything he is doing is so he can go to Mars and get away from this damn planet.

author: Marco
author_rank: Super Contributor
timestamp: November 29, 2018, 06:07:42 pm
content: Quote from: bd139 on November 29, 2018, 04:01:58 pmCan't she learn German? Make use of those EU bennies while they last.

author: bd139
author_rank: Super Contributor
timestamp: November 29, 2018, 07:40:40 pm
content: That has been considered actually. We all looked at moving into Europe but it’s too much to move 5 people.

author: borjam
author_rank: Unknown
timestamp: November 29, 2018, 10:47:27 pm
content: Quote from: bd139 on November 29, 2018, 07:40:40 pmOr come to Spain

author: bd139
author_rank: Super Contributor
timestamp: November 29, 2018, 11:56:55 pm
content: It’s too hot and I don’t like PaellaI was thinking a cold and dark bit of Europe. Not too far towards the east though. Soviet dark is wrong kind of dark

author: rhb
author_rank: Super Contributor
timestamp: November 30, 2018, 12:15:00 am
content: I think it would be best to leave politics out. While I mostly agree with what's been said, it has wandered into forbidden territory. And as guests in Dave's forum we should comply with the rules.

author: bd139
author_rank: Super Contributor
timestamp: November 30, 2018, 01:08:27 am
content: Fair point indeed.

author: borjam
author_rank: Unknown
timestamp: November 30, 2018, 07:10:39 am
content: Quote from: bd139 on November 29, 2018, 11:56:55 pmTxipirones en su tinta?

author: bd139
author_rank: Super Contributor
timestamp: November 30, 2018, 07:51:28 am
content: Yuck!... I like a grilled botifarraTo be honest it’s mostly because about 20 years ago I ended up in hospital for a week after eating seafood. Probably fine just can’t get over the hill of eating it again.

author: mnementh
author_rank: Super Contributor
timestamp: December 02, 2018, 05:03:24 pm
content: Quote from: bd139 on November 29, 2018, 08:16:00 amThis is the problem in a nutshell; the MBA is not the disease, it is a symptom of the disease. It was developed so your high-school football star could get a degree to lord over people who actually know their assholes from their elbows; it is essentially a degree in making numbers lie and the current buzzwords for the same old dozen or so bullshit mathematical constructs that big business has used for over a century to prop up their position at the top of the food chain, only with different names that change every 10-20 years. It has NOTHING to do with teaching you ANYTHING useful; it is ALL about teaching you to lie through your teeth with a comforting smile so you fit into the current mold for executive business, and removing any shred of humanity that would make you think twice about those executive decisions.I actually TRIED to go that route the last time I went to Uni; I got through 3 semesters before I realized all of the above was really ALL the degree was about, not just the first few dozen classes. The MBA isn't about teaching anything; it's a litmus test for sociopaths to find similarly sociopathic coworkers.Then I made thewise choiceand switched over to a Network Admin degree, purely because that was where I could get the most out of the cores I'd already taken. See how well that worked out for me.I couldn't afford to finish the degree, so I'm 50+ and still paying of those loans with 70% of a degree that is now a glut on the market.Quote from: borjam on November 29, 2018, 10:47:27 pmWhen I moved south from New York via Florida to join my wife here in Tejas, I thought that the one good thing that would come of it was summed up in the phrase"Nobody ever died of a heart attack shoveling the sunshine."Almost 20 years later, I've realized that you CAN die of a heart attack from doing the eternal doggie paddle in a sea of bullshit.Death by degrees is still suicide; This is why I've started the move back north to hopefully put as many miles as possible between myself and the prevailing culture of willful ignorance as possible. Texas has made an industry of cultivating "a special breed of stupid" which I have not seen anywhere else in all my travels; one that unfortunately has infected the entire leadership of this nation. As much as I'd love to move to Europe, the closest I can reasonably manage is Canada, so Toronto it is since we have family in New York and Toronto is currently booming in both my line of work and my wife's.bdsaid earlier that his job was professional shit shoveler; that is a term that resonates well from my side of IT as well as an onsite ASP. I'm the guy they pay to fix/replace/make a connection to the borked hardware nobody on salary is willing (or smart enough) to touch. I HALO drop into a shitshow as the hands and eyes of some sysadmin or HellDesk agent, shovel the worst of the shit like crazy by the billable hour, and hope I survive until I make it to my extraction point and can limp my sorry broken old back home. Next morning... Lather, rinse, repeat.It's really a hell of a way to make a living, but it's as close as I've been able to get to making a place for myself that doesn't require me to absolutely sell my soul to some sack of shit subsidiary of one of the oil companies that own this state.Cheers,mnem"It's not that the dancing bear dances well; it's that she dances. Keep dancing." ~ mom

author: mnementh
author_rank: Super Contributor
timestamp: December 02, 2018, 05:13:20 pm
content: Quote from: bd139 on November 29, 2018, 08:16:00 amWith all seriousness; speaking as someone with considerable tech writing and editorial experience, you should. You have a well-develop and engaging writing style, use colorful language that is humorous without being too trite, and you can turn a phrase.A lot of what I've seen you post is good core material; you should archive it as you post for later compilation and expansion.mnem

author: bd139
author_rank: Super Contributor
timestamp: December 02, 2018, 05:31:11 pm
content: You hear the good stuff. Most of it is seagull excrement

author: mnementh
author_rank: Super Contributor
timestamp: December 02, 2018, 07:01:54 pm
content: Point is that there IS some good stuff. The vast majority of million dollar authors have made their fortune publishing seagull excrement; you're already better than that lot, just as a byproduct of trying to keep your sanity.mnem"Good night, and may your god go with you." ~ Dave Allen

author: justanothercanuck
author_rank: Frequent Contributor
timestamp: December 03, 2018, 08:47:27 am
content: Quote from: rhb on November 12, 2018, 11:33:01 pmlittle late to the party, but i just wanted to say that's funny... seeing that OI is using xorg, pulseaudio and mate... if they were conservative they would still be using CDE.edit: and while i'm here, SMF vs systemd is a crap comparison because they're both trying to be the same thing (with the exception of systemd absorbing various other functions like logging/cron/ntp/dhcp/blahblahblah)

author: bd139
author_rank: Super Contributor
timestamp: December 03, 2018, 08:50:14 am
content: Ooh another Poettering special glitter coloured turd.I remember the trouble he had getting that working to start with and the blatant denials of any problems with it and they trusted him with systemd. I’d rather have cancer care from some drunken chimpanzees than that.

author: mnementh
author_rank: Super Contributor
timestamp: December 03, 2018, 01:01:18 pm
content: Are you sure? It's still not too late to go for option B; go stand in a busy intersection and drill screws through your feet...mnemMake sure to use nice long ones, for best anchoring.

author: tooki
author_rank: Super Contributor
timestamp: December 03, 2018, 02:08:06 pm
content: Quote from: Marco on November 29, 2018, 06:07:42 pmMore and more universities in Europe are offering programs fully in English. (Especially at masters and PhD levels, but some at bachelor’s level, too.) It’d be worth looking into...

author: Marco
author_rank: Super Contributor
timestamp: December 03, 2018, 06:06:09 pm
content: Learning German to a STEM academic conversational/writing level isn't that hard starting from English ... it's below high school level after all.

author: tooki
author_rank: Super Contributor
timestamp: December 04, 2018, 02:19:54 pm
content: Quote from: Marco on December 03, 2018, 06:06:09 pmUmm... no. Absolutely not. You also need to be able toreadacademic writing, and that takesyearsto achieve with German, coming from English. German academic writing is very dense and difficult to parse. Basic German skills do not cut it.

author: mansaxel
author_rank: Super Contributor
timestamp: January 03, 2019, 08:51:58 am
content: Quote from: tooki on December 04, 2018, 02:19:54 pmIt is about as hard as parsing jvm excrement debug messages shoveled knee-deep through the festerer that is log4j. Back-references and corner cases in sentences longer than any sensible scrollback.

author: bd139
author_rank: Super Contributor
timestamp: January 03, 2019, 09:01:48 am
content: That’s a pet hate of mine. Someone mailed me a stack trace the other day that was 42k of text

author: mansaxel
author_rank: Super Contributor
timestamp: January 03, 2019, 11:53:09 am
content: Quote from: bd139 on January 03, 2019, 09:01:48 amAnd there is one row of "can't find a comma in file so and so"; the rest is just the jvm throwing its hands in the air and having a fit.

author: bd139
author_rank: Super Contributor
timestamp: January 03, 2019, 12:10:12 pm
content: In this case it was a null ref in a method which had about 3000 lines of code in itReply to developer: fuck off and add some assertions!

author: tooki
author_rank: Super Contributor
timestamp: January 05, 2019, 01:29:24 am
content: Quote from: mansaxel on January 03, 2019, 11:53:09 amJust like German, where, by the time you’ve reached the end of a sentence with a subordinate clause and the verb finally deigns to reveal itself, your brain’s registers have overflowed and lost the subject and/or object of the sentence, so you have to start over!

author: borjam
author_rank: Unknown
timestamp: January 28, 2019, 12:10:12 pm
content: Quote from: bd139 on January 03, 2019, 12:10:12 pmBring back processors with a 256 byte stack

author: digsys
author_rank: Unknown
timestamp: January 28, 2019, 09:46:50 pm
content: Quote from: borjam256 bytes !!! PPFFTTTT Luxury !! :-)

author: glarsson
author_rank: Frequent Contributor
timestamp: January 28, 2019, 11:01:25 pm
content: Quote from: borjam on January 28, 2019, 12:10:12 pmThat's how much total RAM I had in the first processor I wrote software for.

author: technix
author_rank: Super Contributor
timestamp: January 29, 2019, 12:54:49 pm
content: If you feel that GNU/Linux became Windows, blame Apple.Seriously, blame Apple. There is a recent trend among the Linux folks to implement as many components Apple style as possible. This all started when Apple released their iPhone and after Android operating system dropped. That resulted in a significant shift of Linux user base, from mostly professional users and developers in late 2006 to mostly plain Janes and Joes in late 2010. Consider this the permanent September moment for Linux.I have seen people bashing on systemd. It is pretty much “cat launchd | sed s/xml-plist/ini-file/g > systemd” level of imitation of Apple’s launchd. By 2006 and 2007 dual core and multi core processors are already widely available, yet the traditional System V init is still designed to launch one service at a time, letting all the cores but one looping idle. Ubuntu folks released Upstart first, but that thing still used rc scripts and it contained a lot of boilerplate (although loading of the scripts has been parallelized.) For a moment after Apple released launchd under an FSF and OSI approved open source license there was even talks of just using Apple’s launchd as the new init (and Apple even ported it for the Linux folks) but the XML property list format scared Red Hat away, who later created systemd as an imitation of launchd, just replacing XML property lists with INI files.As of the GUI, the new Wayland engine is, once again, an imitation of Apple’s macOS graphics stack.

author: bd139
author_rank: Super Contributor
timestamp: January 29, 2019, 01:26:39 pm
content: Apple's implementations work properly though(spent half the morning dealing with a fucked up systemd + mdraid box)

author: borjam
author_rank: Unknown
timestamp: January 29, 2019, 02:01:13 pm
content: Quote from: technix on January 29, 2019, 12:54:49 pmIt's a widely known fact. Haven't you notice the particular smell of brand new Apple gear?Obiously it's polluting their precious body fluids.

author: technix
author_rank: Super Contributor
timestamp: January 29, 2019, 02:15:17 pm
content: Quote from: bd139 on January 29, 2019, 01:26:39 pmApple's implementation is NOT Linux though. It is Mach kernel + IOKit driver framework + a lot of FreeBSD kernel-level and non-graphics userland components + Apple's proprietary graphics stack. macOS and FreeBSD still exchange code often to this day.Quote from: borjam on January 29, 2019, 02:01:13 pmI think it is the money talk that lead Linux down that path. For a while (especially before Android overtook iOS as the most popular mobile OS) the Linux companies felt the pressure from the shifting user base and the bean counters decided to shift the direction.

author: borjam
author_rank: Unknown
timestamp: January 29, 2019, 02:27:09 pm
content: Quote from: technix on January 29, 2019, 02:15:17 pmThanks god/s/flying spaghetti monster, whatever!QuoteAgain, fortunately. And don't forget that FreeBSD has a really noble heritage! You mention it like it was some sort of evil alien.

author: bd139
author_rank: Super Contributor
timestamp: January 29, 2019, 02:43:02 pm
content: Quote from: borjam on January 29, 2019, 02:27:09 pmVery much so.Quote from: technix on January 29, 2019, 02:15:17 pmLinux company. There's only one. Everyone else is like flies around shit. That's Redhat.

author: technix
author_rank: Super Contributor
timestamp: January 29, 2019, 03:58:38 pm
content: Quote from: bd139 on January 29, 2019, 02:43:02 pmRedHat has their hands forced when Android took off though. Due to the user base shift Linux have to shift from a professional server/workstation operating system for huge systems to a consumer-facing operating system for small devices. When Android took off patches from Google start to pour in, and those patches are all rapidly adapting consumer-facing code.

author: bd139
author_rank: Super Contributor
timestamp: January 29, 2019, 04:46:59 pm
content: Not really and nothing to do with google at all. Android has hardly any Linux userland in it, just a gigantic fetid turd floating on top.RH hired most of the open source community key players thus taking control of the desktop and server side of things.Buy 'em out boys!Now we have the rancid pig's testicle crapped out by Poettering on our hands which brings all the glory of Event Log Service, MSMQ, Service Manager to Linux!

author: coppercone2
author_rank: Super Contributor
timestamp: January 29, 2019, 05:02:20 pm
content: |Oyea its a mental health hazard to get linux running right with no corners cut. Tell us something we dont know

author: Nominal Animal
author_rank: Super Contributor
timestamp: January 29, 2019, 07:13:26 pm
content: Quote from: coppercone2 on January 29, 2019, 05:02:20 pmNot any more than mangling your fingers in a milling machine. Again, the real problem is that people aren't willing to pay for something they think should be free. They are willing to pay for Red Hat/IBM sprinkles on top, because OMG! Its RedHat! Its IBM! I love them! They're Famous! even when the sprinkles are made from barely recycled poo.

author: coppercone2
author_rank: Super Contributor
timestamp: January 29, 2019, 08:33:16 pm
content: I don't know. I had problems with all sorts of stuff like bluetooth drivers, etc. I just want a laptop to take some where and I find myself going on a forum for 2 hours to try to debug scripts and weird errors etc.I always have different problems with different hardware.

author: Nominal Animal
author_rank: Super Contributor
timestamp: January 29, 2019, 11:10:06 pm
content: Quote from: coppercone2 on January 29, 2019, 08:33:16 pmFor what it is worth, both HP EliteBook 830 G3 and 840 G4 have had full driver support in current Debian derivatives (Ubuntu, Mint) since 2016 or earlier. I know because I have two loaners I use, right now running Ubuntu 16.04.4 LTS still. This particular 840 G4 has a 512 GB SAMSUNG PM961 (MZVLW512HMJP; M.2 PCIe x4 3rd gen) SSD and 16 GB of RAM. Bluetooth, wireless (both 2.4GHz and 5GHz bands), virtualization, audio, video including acceleration (VA-API) all work out of the box. The full-HD (1080p) display is okay. I have not tried either of the WWAN cards (there is a SIM slot on the side, but no WWAN cards installed on these particular ones).Battery life is quite acceptable even after a year or two of use. The turbine-line fan is annoying as usual, but doesn't tend to turn on below 25% load.The underlying problem here is that hardware vendors do not spend any effort for Linux support (not even to provide test machines), so either you need to find one that happens to be used by Linux developers (in which case the drivers get implemented if sufficient information is available to do so), or the hardware happens to already have mainline kernel support. Otherwise, you're SOL.The expectation of getting support from your manufacturer because you're a paying customer does not apply here. And, since none of us are paying for the Linux developers to add support, they're the wrong people to complain to/about.(The reason you don't see many oldbeard Linux developers suggesting any specific hardware, is because it invariably degrades into the same "we don't understand licenses, but because you're not making things easy for me, you're bad and evil and selfish snob with long hair and you smell" type of inane name-calling as seen recently regarding ZFS. It just aint fun to argue the same old simple thing with different people; it's better to leave them be, and only engage when they have enough understanding and knowledge to understand the concepts involved.)

author: Nominal Animal
author_rank: Super Contributor
timestamp: January 29, 2019, 11:17:33 pm
content: (I mean, you must've had the experience, where a friend or family asks you to find out the gadget that best suits their purpose. You spend a few hours to find a cost-effective model supported by the OS/version you think suits them best, and give them the links to choose from.Next thing you know, is they come back to you, bright-eyed, telling how the genius salesperson/acquaintance/cow-orker got them the "upgraded model" by MicroApple for just 40% higher price, and that it is now your turn to teach them how to use it. When you tell them that's a completely different thing than the ones you told them to get, they respond with "potato, potato", and "stop being so difficult, I thought you said you knew this stuff". So, you end up telling them to buy and learn their own gadgets, and not bother you with this stuff ever again (as politely as you can muster, usually). That's what I'm referring to in the oldbeard paragraph in my previous post.)

author: coppercone2
author_rank: Super Contributor
timestamp: January 29, 2019, 11:58:55 pm
content: thats what I mean. You go bald.

author: bd139
author_rank: Super Contributor
timestamp: January 30, 2019, 12:17:15 am
content: I always tell them to go to an Apple store and buy an iPad. Got a problem? Book appointment at the Genius Bar, not me. They can tell you that you’re an idiot! Oh but it didn’t do what I wanted. You don’t know what you want because you don’t understand that you have to compromise somewhere. Also I don’t give a fuck, no you’re not coming over to see how I am just to get me to fix it and no I’m not even touching it because I’m out of nitrile gloves and no you can’t have the WiFi password you melt.Now no one asks me for advice unless it’s a formal contract and is 50% up front. Which is a better status quoBut yes I lost a lot of hair getting there.Incidentally I’m using windows 10 at the moment despite wrangling Linux machines. Shock! Horror!Edit: apologies. I felt like a rant. I get Vietnam style flashbacks to traumatic PC repairs for family.

author: apis
author_rank: Super Contributor
timestamp: January 30, 2019, 12:52:12 am
content: Worst part is if they call you a week later after having spent half a day helping them, and they are angry because apparently you broke their computer, and you are forced to go over again and minimise an application window they accidentally put in full screen or try and assess the damage they did when they have managed to jam the wrong cable into the wrong hole somehow, etc.That's why I only help people with Linux nowadays.

author: Circlotron
author_rank: Super Contributor
timestamp: January 30, 2019, 02:45:48 am
content: When people, as a precursor to asking for help, ask me if I know anything about computers, I just ask them if it makes sense to ask a tv manufacturer just who is doing what with whom on their favourite tv soap opera. Then I point out that they are (usually) asking for help on how to use some software or OS feature, not the pc hardware itself, which is the actual computer. This unexpected realisation is enough to put most people off.

author: Nominal Animal
author_rank: Super Contributor
timestamp: January 30, 2019, 04:09:10 am
content: Actually, it ended for me over fifteen years ago, when I dropped Windows completely, and started telling people I don't know Windows stuff anymore, because I no longer use it at all myself. (My "pick the proper tool for the job" seems to have sunk in also. But it was painful way back then before.)I don't mind teaching/helping one set of people, or recommending a particular hardware or software combo, but I am done arguing the same "Linux will die" "Linux will never become popular on the Desktop" "C versus C++" "why can't I just load the drivers from the manufacturers site" "why do the Linux kernel developers refuse to provide a stable driver API" arguments over and over again, because they produce nothing new. I can inform people, but they'll just get replaced with new people asking/saying the same old things, and the same arguments repeat, seemingly endlessly with zero progress. That is at the core why Linux developers don't list supported/suggested machines, and only tell you that you should ask other users, and pick one that has support in the vanilla kernel for best user experience, even though they know pretty well which ones work right now out of the box from personal experience. (Also, the "but this is basically that same machine you told me about" is a big factor too).Even I had a bit of a pucker-factor making the suggestion (re HP EliteBook 830G3/840G4), even though I occasionally volunteer helping a couple of hundred Uni science students using Linux on these exact machines (Linux laptop bug triage!), and have zero issues solving any kind of Linux issues. (It really is more like a hobby for me; but I can only do it if there is no deadline or time pressure, due to my personal baggage. Still zero stress handling capability; I crumble into dust.) It's the "but why does it not work like Windows" type of arguments, that tend to slide only downwards, yielding nothing positive, that makes me seriously hesitate, and the backs of my hands itch (stress urticaria between wrist and thumb). I was rather positively surprised how pragmatically the students approached these machines, so even though I have a prepared reminder that they are completely free to use their own preferred devices, were those painful useless arguments to pop up, it hasn't come up thus far. Which keeps me optimistic that maybe the next generation will do much better. Then again, they are pretty selective, clever folks (tuition being free here, so not optimized for student throughput yet), and get these for a very nominal deposit, so their entire approach is really that to a tool with an use case. Which makes a big difference.

author: Karel
author_rank: Super Contributor
timestamp: January 30, 2019, 07:35:53 am
content: Quote from: coppercone2 on January 29, 2019, 08:33:16 pmI recently bought a Dell XPS 13 9370 with Ubuntu 18.04 LTS pre-installed.I wiped it clean and installed OpenSuse Leap 15 with KDE desktop.Everything worked out of the box including Wi-Fi & Bluetooth, touchpad, etc.

author: technix
author_rank: Super Contributor
timestamp: January 30, 2019, 08:21:47 am
content: Quote from: bd139 on January 30, 2019, 12:17:15 amOr buy a MacBook Pro or Mac Mini with AppleCare extended warranty if they need a "full computer", and buy an external hard drive twice the capacity of the computer's internal drives as a backup drive. Yeah it is a bit on the expensive side but if you have a problem within three years just call Apple directly. (Under AppleCare extended warranty Macs have three years of warranty repair and telephone support, without the extended warranty it is one year warranty repair and 90 days telephone support.) They built the hardware and software, and they provide, to be honest, excellent customer service to their products.Apple also have in-store training programs. When my aunt got her iPhone I booked her to those training programs and asked her not to ask me any question about the phone before she has finished the lessons.

author: bd139
author_rank: Super Contributor
timestamp: January 30, 2019, 08:56:38 am
content: I can't recomment a Mac now unfortunately. I recently bought a nice new 2018 MBA and the keyboard started getting dicky after 3 weeks resulting in duplicate keypresses and total unusability. Straight back to Apple. Until they get over the love affair with the butterfly keyboard, I can't recommend them.I also don't want them to have a mac because iOS is far more dumbass proof.

author: technix
author_rank: Super Contributor
timestamp: January 30, 2019, 09:12:59 am
content: Quote from: bd139 on January 30, 2019, 08:56:38 amMacBook butterfly keyboards are now under callback.Mac Mini and Mac Pro does require you to supply your own keyboard, and my usual recommendation is the Apple wired USB keyboard with numpad, which is based on their last pre-butterfly design used in 2012 MacBook Pro. Sometimes people have the feeling that they need a full-size computer for certain stuff, thus there is still the need for MacBook Pro and Mac Mini.Speaking of, I have my next computer already planned out: a used 2009 dual Nehalem Xeon Mac Pro tower + two Xeon X5680 + 96GB RAM + AMD Vega 56 + 512GB NVMe SSD + four SATA HDD in RAID.

author: bd139
author_rank: Super Contributor
timestamp: January 30, 2019, 09:25:13 am
content: The 2018 MBA has the "fixed" post-recall keyboard in it. They are still failing unfortunately. The whole design is flawed.Back on my T440 now which has been upgraded somewhat with a FHD screen, T450 trackpad, extended battery. It's about the same as the MBA now but works properly and the keyboard isn't ass. Plus I've got another one in the cupboard if this one breaks.I am mostly a terminal user / software dude so I keep my workload remote in a nice AMI image in AWS and fire it up on whatever hardware I need to do the job at the time. I can upgrade to a 72 core machine with with 144GB of RAM for a couple of hours if I need some grunt. Costs a fuck load less than buying one as well. My entire AWS bill is about $30 a month.