Our server costs ~$56 per month to run. Please consider donating or becoming a Patron to help keep the site running. Help us gain new members by following us on Twitter and liking our page on Facebook!
Current time: March 19, 2024, 7:17 am

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Nothing annoys me quite like linux and using OSS tools
#1
Nothing annoys me quite like linux and using OSS tools
This is a bit of a rant/vent, so skip if you don't want to read that kind of thing.

I've mentioned it a couple times, but I do web development. I primarily create sites using a fairly standard LAMP environment, with Symfony 2 as my framework of choice. It's a pretty solid framework, but, like all things OSS, suffers from gaps in documentation and it feels very fragile. I've spent many hours digging through docs and Stack Overflow trying to figure out why the syntax they tell me to use is producing errors, why config settings are throwing exceptions, that kind of thing. When it works, it works beautifully. When it doesn't, you might as well beat your head against the wall for a few hours because none of the error messages are meaningful enough to point you in the right direction.

So, I updated one of my client's Symfony installations on my dev machine using Composer (it's a PHP package manager... Symfony projects are actually based on a number of smaller packages). Apparently, two entries in my config.yml file which have been valid for years are now wrong. No documentation anywhere (changelog, etc.) to explain why that may be the case. Yay.

The other, larger annoyance is with linux itself. I use Linux Mint as my distro of choice because it's stable and its interface is very Windows-like. It's simple to install and setup on VirtualBox. Because of its stability first mindset, it lags behind in the software it has available to it. As a PHP developer, best practice dictates that you keep your software up-to-date with the latest stable releases for bug fixes, security patches, and new features. And that's where my frustration lies.

There are ways to get the latest stable releases from other repositories and PPAs. Unfortunately, in my case, both Dotdeb and Ondrej Sury's PPA are buggy. It seems like it has something to do with Apache 2.4.10, but in both cases PHP simply doesn't work. I managed to get the latest Ubuntu repository to work, but it gives me PHP 5.5.9, which came out last February and is definitely not the latest stable release in the 5.5 branch. Moreover, I want to use 5.6, but it's not available. I could download and build/compile from the source, but that's not really efficient from an updating POV. It's just a PITA I don't want to have to do every month or so.

So, I'm frustrated. In Windows land, programming software updates come with new versions of Visual Studio and the in-place service pack updates. There's up front cost (although, with the new Community Editions of VS, that's no longer going to be true), but installation and updates is mindless. It just works. And I struggle to think of why that can't be the case with linux, even accounting for differences in distros.

I'm also amazed that the software vendors themselves - Apache, PHP, etc. - don't have their own official repos one can point their package manager to. I mean, I'd love to simply point at something like PHP-5.6-Debian and have it always give me the latest stable release.

I dunno... linux has always felt unnecessarily fiddly and complex to me. It's too simple to screw things up, and things that are messed up don't give much in the way of descriptive language explaining why. I hate having to deal with configuration issues regularly.

Grr.... Tongue
"I was thirsty for everything, but blood wasn't my style" - Live, "Voodoo Lady"
Reply
#2
RE: Nothing annoys me quite like linux and using OSS tools
Linux really doesn't bother me, but I do think it's time he gave up that blanket.

Boru
‘But it does me no injury for my neighbour to say there are twenty gods or no gods. It neither picks my pocket nor breaks my leg.’ - Thomas Jefferson
Reply
#3
RE: Nothing annoys me quite like linux and using OSS tools
(January 21, 2015 at 7:17 pm)KevinM1 Wrote: So, I'm frustrated. In Windows land, programming software updates come with new versions of Visual Studio and the in-place service pack updates. There's up front cost (although, with the new Community Editions of VS, that's no longer going to be true), but installation and updates is mindless. It just works. And I struggle to think of why that can't be the case with linux

One of the bolded things has a great deal to do with the other.

(January 21, 2015 at 7:17 pm)KevinM1 Wrote: even accounting for differences in distros.

I'm also amazed that the software vendors themselves - Apache, PHP, etc. - don't have their own official repos one can point their package manager to. I mean, I'd love to simply point at something like PHP-5.6-Debian and have it always give me the latest stable release.

Do you have any idea how many Linux distros there are, not to mention how many versions of each (which, when dealing with system tools, very frequently matters a great deal).


(January 21, 2015 at 7:17 pm)KevinM1 Wrote: I dunno... linux has always felt unnecessarily fiddly and complex to me. It's too simple to screw things up, and things that are messed up don't give much in the way of descriptive language explaining why. I hate having to deal with configuration issues regularly.

I hear you, particularly on the lack of documentation for many open source projects. A couple of points though, from someone who works with this shit for a living: choose open source tech wisely. Look at the quality of the documentation before you choose a software component.

There's also a very good reason why distro system tools lag behind the bleeding edge: because integration testing takes resources. You can always roll your own from source, or go to third-party repositories, but in the either case, if you break it, you own both parts, and that's about it. If you care about stability and uptime, leverage the distro maintainer's testing process.

There are tradeoffs, yes. You can't have your cake (integrate a stable OS with bleeding edge parts) and eat it too (expect stability).
Reply
#4
RE: Nothing annoys me quite like linux and using OSS tools
I guess I just don't understand why the distros make such a difference. I get that there are several main branches/versions of linux (Debian, Red Hat, etc.), but it just seems... well, dumb, that every flavor based on those would vary significantly enough to warrant such integration testing. It seems needlessly fragmented from my POV.

And should the LAMP stack be considered system tools? Real question, not a rhetorical device. They just seem like software to me. Apache is a web server. PHP is a specialized module for that web server. MySQL is a database. From a end user POV, I don't see why they'd require so much testing. They don't seem to interact with linux itself beyond the scope of, say, Firefox. Clarification would be greatly appreciated there.

I'm entirely self-taught, so I'm no doubt missing critical information, which is why things can quickly get frustrating. Unfortunately, I haven't found a good, modern "Here's what you need to know about linux from the ground up" resource. Everything I've found assumes a level of knowledge I don't possess.

EDIT: I guess I'm trying to fathom the why of linux. Because it seems more reasonable to have a singular core kernel that productivity software like the LAMP stack can target so it's universal across distros.
"I was thirsty for everything, but blood wasn't my style" - Live, "Voodoo Lady"
Reply
#5
RE: Nothing annoys me quite like linux and using OSS tools
Yeah, but, Linux is like, freedom, man.
Reply
#6
RE: Nothing annoys me quite like linux and using OSS tools
For example, Red hat and Debian based systems use entirely different package formats. There are others as well.

Everything is dependent (for example) on what version of glibc is in use, which is dependent to some degree on the kernel. This is overly simplifying things, but dependencies are a real concern for integration testing. Testing is needed in large part because upstream source often needs to be configured at build time to integrate with the rest of the system. Different distros are different enough to require it.

There is a lot of fragmentation to be sure. Generally, your best bet, especially for server use, is to select a major, actively supported distro that offers the software stack you want to use and install everything from the repo. Alternatively you may have to roll some of your own from source, which can be challenging.

At one point, I had needs that weren't satisfied out of box by any mainstream distro, and I ended up rolling my own system entirely from source, from the boot loader and kernal on up through the userspace stack. That was educational - nothing teaches the difficulties of integrating quite like bringing up a system from source.

There's pros and cons to the Linux model (really, the Unix model). It's flexible, and you can do what you want with it, but there's a learning curve for sure. Professionally, at work, we simply buy enterprise licensing from red hat and augment it with a few other packages (primarily Oracle RDBMS and Tomcat). Then again, it's a bit different having pro admins.

Incidentally, this site runs on Linux.
Reply
#7
RE: Nothing annoys me quite like linux and using OSS tools
Are there any resources you could recommend for a linux beginner? I'm not entirely clueless. I mean, I can set up an instance of Mint or Ubuntu on Virtual Box, setup the rest of what I need for work (the rest of the LAMP stack) even if it's not the latest stable versions, and handle some command line stuff (git).

My biggest weaknesses are figuring out linux's permission model, especially when it comes to giving something like PHP file creation/writing permissions (including how ownership groups work), and handling the package manager beyond just entering repo addresses (like, fixing broken dependencies, that sort of thing).

Edit: Yeah, I knew this site runs on linux. I figured it had to, given it's MyBB. I'm fine with the programming aspect of things. I've been a moderator at PHPFreaks for years. It's just the environment portion of it I struggle against. My freelance projects are small, so I generally don't have to deal with linux on the production side. It's either shared hosting or, when I'm contracted out by another developer, they handle it. I really only have to be responsible for my dev machines.

That said, I'm looking to move my clients off shared hosting and on to something like Digital Ocean, so I'm going to need to become a lot better at server setups.
"I was thirsty for everything, but blood wasn't my style" - Live, "Voodoo Lady"
Reply
#8
RE: Nothing annoys me quite like linux and using OSS tools
(January 21, 2015 at 8:34 pm)KevinM1 Wrote: EDIT: I guess I'm trying to fathom the why of linux. Because it seems more reasonable to have a singular core kernel that productivity software like the LAMP stack can target so it's universal across distros.

You mean why people use Linux? Not everyone has the same needs. For me Windows is like computing in porridge. Windows just takes longer to load up, made worse because of the virus checker and malware checkers. I've compiled my code for Windows in the past and it uses up several times more memory than when I run it on Linux (which is where I normally run it). This was just vanilla C++. Linux is based on Unix which was designed as a multi-user system so Linux has great features for logging on remotely, checking what's going on etc. Even for booting up in the morning to browse the web I will still boot into Linux because it's faster and everything runs more quickly.

You get more choice with Linux, which is also why you have so many distros.
Reply
#9
RE: Nothing annoys me quite like linux and using OSS tools
(January 22, 2015 at 3:35 am)I_am_not_mafia Wrote:
(January 21, 2015 at 8:34 pm)KevinM1 Wrote: EDIT: I guess I'm trying to fathom the why of linux. Because it seems more reasonable to have a singular core kernel that productivity software like the LAMP stack can target so it's universal across distros.

You mean why people use Linux? Not everyone has the same needs. For me Windows is like computing in porridge. Windows just takes longer to load up, made worse because of the virus checker and malware checkers. I've compiled my code for Windows in the past and it uses up several times more memory than when I run it on Linux (which is where I normally run it). This was just vanilla C++. Linux is based on Unix which was designed as a multi-user system so Linux has great features for logging on remotely, checking what's going on etc. Even for booting up in the morning to browse the web I will still boot into Linux because it's faster and everything runs more quickly.

You get more choice with Linux, which is also why you have so many distros.

I'm OK with waiting for 3 minutes for the windows to start up, but not use linux; windows is just more reliable and stable and a better environment to develop in .
You get more flexibility and options, but in return its hard to use and maintain .
[Image: eUdzMRc.gif]
Reply
#10
RE: Nothing annoys me quite like linux and using OSS tools
I use Ubuntu at home. I used to be a database architect (I'm handed this gordian knot made of laymen's misuse of MS Access, I normalize it, move it to MySQL and build a web interface - though I still strongly prefer perl to PHP, at least in part because I think the recursive name bit is asinine), but my desktop at work then had to windows, so my primary contact with Linux was through remote command line stuff. A few years back, my home version of windows died the true death, and since I had a used computer with no install disk, I was screwed...so I tried Ubuntu, and I've never looked back. Ubuntu/Linux gets so much more use out of old machines - it's like a second life. When I finally got around to getting a new laptop (Acer Aspire One), I had an absolute toxic reaction to whatever version of windows it came with (the tile screen) - I just erased it. Besides, I'm text-oriented, so I like the terminal. With Gnome Shell, I've made my desktop look and work like Windows XP, but better. Wine runs the few Windows programs I need. Plus - NO FUCKING VIRUSES, EVER! No malware, no root whatchamacallits, nada.

A car enthusiast once told me that Chevies are the best cars for people who know their stuff, because there's nothing you can't fix yourself or customize. If you know nothing about cars, get a Honda and take it to the shop. Same deal with Linux/Windows.
My book, a setting for fantasy role playing games based on Bantu mythology: Ubantu
Reply



Possibly Related Threads...
Thread Author Replies Views Last Post
  Linux in ten years wish list. highdimensionman 2 337 February 23, 2022 at 6:25 pm
Last Post: Disagreeable
  Using BabelJS FlatAssembler 11 752 May 14, 2021 at 7:50 pm
Last Post: Abaddon_ire
  Reformatting tools for JavaScript FlatAssembler 0 354 June 14, 2020 at 10:13 am
Last Post: FlatAssembler
  Using drones to watch on crime? Fake Messiah 32 2527 September 17, 2019 at 8:32 am
Last Post: EgoDeath
  Using SSDs for dual boot systems emjay 9 1388 November 8, 2016 at 7:33 pm
Last Post: emjay
  What OS are you using? account_inactive 89 6756 September 26, 2016 at 3:57 pm
Last Post: account_inactive
  Linux users? Are there any here? Lemonvariable72 31 4235 September 18, 2015 at 8:33 am
Last Post: ironicprogrammer
  Steam on Linux/Optimus on Linux Autumnlicious 12 3448 June 22, 2013 at 3:53 am
Last Post: Big Blue Sky
  OS Battle: which is the best? (OS X, Windows, Linux ...) Meylis Delano Lawrence 38 9659 May 1, 2013 at 8:07 am
Last Post: Love
  Linux woes Darwinian 29 5379 April 17, 2013 at 1:15 am
Last Post: Angrboda



Users browsing this thread: 1 Guest(s)