.comment-link {margin-left:.6em;}

I Hate Linux

Wednesday, June 30, 2004

Advice on selling ones soul to Microsoft.

I've had it. I've honestly tried to use Linux, and lately while doing development under Linux, I decided it was time to give up.

I received an error message and the only English results on Google were simply links to the source code!

I cannot begin to describe the problems I had at work recently when trying to install various packages (wxWidgets, XercesC, kDevelop)... so I will touch on a few. In most cases, current RPM's were not available for the distro I am using (Mandrake 10), so I had little choice but to build from source. But of course, each package I would attempt to configure would inform me that yet another was required!

How I longed for a simple installer with multiple "Next" buttons leading me to the final "Finish" button where I am informed that the installation is complete and that I can run the application.

When trying to find solutions to problems, I would often use Google and especially spend time looking on message boards or bug tracking DB's, sadly, on the off chance I'd find a post related to my problem, the response would be in one of the following categories:
  1. No response at all (~84%)

  2. Various different suggestions, none of which resolved issue (~10%)

  3. A working solution (<1%)

  4. "That's a great idea, why don't you implement it" (~5%)

Only once has the Microsoft KB let me down. It was in the case of the error: "socket notification sink". Even Google let me down with that one. Thankfully the problem went away on it's own as the few errors I have under Windows generally do.

I've always been a fan of Microsoft software. Granted, I've had errors, incompatible hardware, obscure error messages, but each time, there was a simple solution. Not so for me lately with Linux which as said above is why I think it'd be worthwhile to sell my soul to Microsoft.

That leaves the question: What is the best route for banishing Linux from my home (and preferably work as well)?

I'm leaning towards purchasing the Samsung I600 Smartphone to help pledge myself to my platform of choice. Sadly I am forced to wonder what I'll use in place of my WRT54G router which runs Linux... I wonder if it'd be possible to install Windows CE or some other Windows derivative to it.

When it comes to coding, frankly, I love .NET. Writing code in VB.NET or C# (still learning) is a delight, I never have to fight the IDE or the compiler. I have not had any problems occur within the framework that I could not easily find a solution to. The same cannot be said for Linux and the IDE's I've used there. Under kDevelop 2.0 I had horrible problems with docking where some windows could not be docked as they had once been. 3.0 is no better in my book as in is an extreme pain to remove multiple files form a project with out getting carpel tunnel.

In support of my love of .NET I'm working towards an MCAD (1 test down, 2 to go) and it only reinforces my love of the underlying technology and it's ease of use.

As yet I have been unable to sway my place of work away from Linux as they are moving towards now and possibly Java in future... my only choice there is to keep up the good fight and show them how much better life can be on the Windows side of life.

So Microsoft... do you want my soul? It's here for you if you'll take it.


  • So I don't seem like another uncaring and biased Linux user... let me speak to what you have said thus far.

    First of all, I'm not a developer, in the sense that I'm experienced and can say you should go this or that direction with your development problems. I am a very comfortable Linux user, who is not afraid to be knee-deep in unfamiliar territory. That's just to give you an idea who is speaking to you. I don't know everything, don't claim to.

    I don't know enough about what you're doing, to have gotten the error you did, or what to do to fix it.

    You mentioned that you had problems finding current RPM packages for Mandrake 10. As someone with a little experience with Mandrake and a LOT of experience with Red Hat, let me share my opinion with you on this issue. As I'm confident you've probably heard already, RPMs just plain SUCK. This part is opinion.

    Problems like the ones you've had with finding current versions, as well as a never-ending cycle of dependencies are commonplace. This is fact.

    As to your looking for information and solutions for your problems, I think you were on the right track. I just think you may have given up too easily. Please understand the spirit in which I say this. I have no desire to start an argument. Linux is a continually evolving OS. Always in flux. You should come to the table knowing this, and expect to roll with the punches sometimes, when problems arrive. I run beta/unstable versions of some software packages. I have a backup plan in place, such that if I start to have problems with the beta versions, I can roll back to a known stable package, fairly quickly. I think that Linux users who are really committed to open source solutions need to be persistent enough to keep going until they find a solution. Don't throw in the towel so quickly.

    Now, all of this being said, I want to say what I think you should do.

    Commercial Linux distributions are great. I know from having used Red Hat on customers' production servers in the past, what good it is to have corporate support there when you need it. This is the major argument for commercial distros.

    But as I went on and experimented with different distros, I learned about Gentoo. I'm going to assume you don't know about it, so please forgive me if I'm repeating information you're already aware of. It's a source-based meta-distribution. You get a LiveCD with a toolset that allows you to build the distro the way you want it, from the ground up. In my opinion, it's the best of both worlds. You get source-based installation for the ultimate in flexibility to configure it for YOUR system, and package management.

    I was skeptical at first, with all the normal "how am I going to get support when I need it?" questions. But my concerns were put to rest quickly.

    The installation process is long, but VERY well documented. And you have access to a text-based IRC client, from the LiveCD. This allows you to go the #gentoo channel on FreeNode where you can get help while you're installing.

    Here is my experience with this. I got very frustrated because I was having trouble with my install. I logged on to IRC and explained my problem, and I got some help from a guy that told me some things to do, and he said "Come back the first error you get, and tell me what's going on. We'll get it installed on your system if it's the LAST thing we do!!". I was thinking YEAH RIGHT. But inevitably, I ran into some errors, and he helped me. He didn't just give me a few answers and go on his way. He followed through all the way. So when I go on and on about Gentoo, know this. It's the COMMUNITY that attracted me to it FIRST. NOT the distro itself.

    I got it installed, and all of my dependency issues with RPM packages were GONE. This is the process for installing software. (dare I say, less complicated than clicking Next, Next, Next, Finish, reboot?)

    emerge sync (this will synchronize the package list on your system with the most current package set on the Gentoo mirrors)

    emerge (package name) (this installs the package name that you specify, as well as ALL of it's dependencies)

    There is a file where you specify what customizations you want to make for your build. You can specify what CPU you have, and everything down to specific GCC optimizations. You also specify what types of features you want support for, like Gnome and GTK or KDE and QT, and support for CD burning... the list goes on.

    I won't mince words. The install isn't 45-minutes-pop-in-a-CD -and-click-next-until-you-see-finish type of installation. It's text based, with an install guide that is done VERY well, as well as excellent forums, and _extensive_ documentation for other things that you may be interested in doing, post install.

    Here is one of the things I like the most about Gentoo and other source-based distributions. You upgrade on YOUR terms. If a newer kernel comes out and you want to try it, you can upgrade NOW, instead of waiting for $COMMERCIAL_DISTRO to release a newer boxed set on THEIR schedule.

    Here is my challenge. I will be bold and go so far as to say that quitting is easy. Been there, thought about it. But it's easy. It's the easy way out.

    If you really like Linux, use it. Be persistent. I am personally challenging you to give Gentoo a try. If you put forth the effort to read the install guide and try to do the install, I will help you _personally_ through the process.

    Gentoo is so good, in my opinion, that I won't even consider another distro after having used it.

    Or... if you really DO hate Linux, as you say... I'm sorry to see you go, and I'm disappointed to see you leave so easily.

    So will you accept my challenge?

    If you have any questions or comments, drop me a line.

    Aaron Kulbe

    P.S. the guy that I mentioned had helped me? He was the #2 developer in the Gentoo group. I didn't know that at the time. He has invested a LOT of time in a lot of people. That spoke volumes to me. The community is top notch, and I dare say that you'll have better results to finding answers to different problems you encounter - than you have in the past.

    By Blogger Aaron, at 11:16 PM  

  • Yeah, that's why we've all pretty much switched to OSX. It's everything you like and nothing you don't.

    By Anonymous Anonymous, at 9:59 AM  

  • Aaron Kulbe just said it right on the nose (Nice post Aaron). I found gentoo recently too and love it.

    Linux can be troubling at times, there is no doubt about that. There is probably no avid Linux user who has ever said that they have never had a major issue with some part of it. For the most part though, Linux sucks less than Windows.

    Depending on how complex of a project you are working on, there are probably other solutions out there that will fit your need better than KDevelop. You may have to look into commercial software for Linux, but there is probably something to help you.

    Don't give up as easily as it seems that you are.

    By Blogger Suso, at 11:34 AM  

  • Gentoo is great, but not that user-friendly. Debian is worth a shot, albeit with fewer/older packages available. Both of them avoid the RPM package-dependency disaster which annoys me as well.

    By Blogger HutchDeluxe, at 3:31 PM  

  • In regards to the Debian suggestion, try Libranet. www.libranet.com

    They've just released their latest pay-version for free (in anticipation of the upcoming 3.0 release, whenever it's due). Based on Debian, it's been set up to use more recent packages, out of the box, and will upgrade easily to the latest available on the apt servers.

    But, to the dude selling his soul to MS, using an RPM distro was the mistake.

    By Anonymous Anonymous, at 11:50 AM  

  • Been meddling in both Windows and Linux (various distros) for about 5 years, never had any such problem. I find Linux to be a much nicer environment. As for a reply up there about OS X, WTF? Everything you like, nothing you don't? Your software is only as strong as it's weakest point, so taking crappy Mac software, and mixing it with better software, still yields crappy software.

    By Anonymous Anonymous, at 11:58 AM  

  • you must be somekind of idiot of you think debian has less packages.

    also I agree, Linux is shit, go with windows 2000 (or wait for 2003)

    By Anonymous Anonymous, at 12:07 PM  

  • Oh, man, going with any version of Windows > 2000 is something you really must consider deeply. What I'm talking about is the XP EULA. How can any (sane?) person accept those terms? I dunno, maybe some just don't care. But after reading it (and having the legal terms explained to me), it is something you just gotta say NO to.

    So, Linux can free you from that but at a price. And that price is your investment in knowledge.

    By Anonymous Anonymous, at 12:23 PM  

  • I feel your pain.

    My story started earlier, but the results were (more or less) the same.

    It's the modern era for godssake! Futzing over obscure command line interfaces should be a thing of the past, not the wave of the future!

    The whole point of pre-compiled software is to make it easy to use.

    Ease of use = more customers.

    Linux just can't seem to figure that out. They seem to take a perverse sense of pride in being difficult to use.

    Guess what gang? The computer isn't my life, it's a tool, like a chainsaw, car, or sport boat. I use it for certain specific tasks and if it fails at that task, I find something else.

    Linux fails at being an easy to use OS, Windows does not. Solution is obvious.

    By Anonymous Anonymous, at 12:44 PM  

  • As a person whose first real OS was OS/9 (from Microware, not Apple), then Unix, I probably have a different perspective. I happily use Windows as a client system. But I have never been comfortable with an IDE. I learned computing with Unix, I understand its structure intimately. I use only vi to edit code. I couldn't STAND using a Windows style mouse and arrows editor for code. God what a nightmare. I write make files, I use a huge number of Unix commands. For me, Windows is incredibly restrictive, because I know how to do things in the Unix world, and I want to do things MY way, not the way some GUI designer thought of, or the way the IDE wants me to. The caveat is that I do not run a GUI in Unix any more. I use Windows as the client machine, and Linux/Unices as servers. The Windows GUI is mature, if limited, limiting, and inflexible. That limitation is what makes it easy. But for development, I cringe at the thought of using some IDE, be it MS, Java, whatever. As for debugging, there is some advantage to an IDE and GUI. It is nice to be able to drill down easily into many levels of pointers, to see a visual representation of a complex data structure such as hashed trees or such. But, even better, write correct code. As a seasoned developer with a solid CS background, my software generally doesn't have obscure bugs. I happily write very complex software with nothing more than vi, javac/gcc & libraries, make and RCS/CVS. As Wieste of Postfix fame says, code is correct, or it is incorrect. Write correct code, and you don't need to "test." Testing is randomly trying to find problems by throwing obscure issues at your code, because you just aren't sure whether or not it is correct. If you are a good developer, you code in a modular manner, and each module is verified to be correct, not by testing, but by critical examination and if needed proof. Debuggers and hand-holding GUI IDEs and extensive testing are for the weak, for journeyman programmers, guessing at what to do.

    By Anonymous Anonymous, at 10:11 PM  

  • Regarding the debate over emacs or IDEs. For the record, emacs is hardly an IDE. It is more like an IOE (integrated operational environment). For example, you don't generally need an email client in your IDE.

    I use VIM, but I have used the other two, and there is a fundamental difference. This is not an issue of good vs bad coders. But rather has something to do with the size and organization of projects. Some of my projects are over 20000 lines of code, and span many many files.

    Here is the issue-- IDE are nice visually, and sometimes it is nice to be able to see the debugging information easier than it is in say, gdb. However, when you are actually coding, often what really makes your live easier at that time is something like a really powerful text editor. Indeed, as the complexity of the project grows, it can be nice to be able to do many things using the powerful UNIX text processing tools rather than relying on a visually appealing IDE.

    The reason is actually simple. GUI's are excellent for presenting information to the user, but command line interfaces allow a user to provide instructions to the computer in a more efficient manner. This is because, while graphical environments allow the information displayed to have a greater density, keystrokes contain far more information and can be delivered more rapidly, than mouse clicks on the screen.

    There are good IDE's for Linux, such as Eclipse. However, when I am coding, I prefer an industrial strength text editor (Emacs and the vi clones, such as VIM, are the only ones which have enough features to cut it in my opinion). A word of caution-- these are not as easy to learn as an IDE, but once you learn them, you will be more productive. Oh, and sed is extremely useful too, but that is just a command line tool.

    By Blogger Einhverfr, at 7:31 PM  

  • > How I longed for a simple installer with multiple "Next" buttons leading me to the final "Finish" button where I am informed that the installation is complete and that I can run the application.

    Did you even try MandrakeUpdate? It does exactly that. You tell you want to install a package, it tells you that you also need XXX.rpm and YYY.rpm, you click OK and everything is installed and life is wonderful.

    By Blogger Don, at 10:33 AM  

  • Microsoft software developing tools are fault tolerant, in that way that they'll only work when you actually make mistakes.

    By Anonymous Tinctorius, at 2:04 PM  

  • If you 'believe' you have a soul then you're making the right choice dude. Go with the folks who 'believe' they have an operating system. Remember to send us a postcard from cloud-cuckoo-land ;)

    By Anonymous Anonymous, at 5:06 AM  

  • asd

    By Anonymous Anonymous, at 9:05 AM  

  • There are three kinds of computer users in this soul-less world:
    1) Those who know what they're doing and want to *work* to make the world a better place
    2) Those who know what they're doing and want to exploit everyone they can reach
    3) Those who don't have a clue and work hard at finding excuses -- willing victims

    Note: 2 is in love with 3 and 3 just fakes it a lot to get along.

    By Anonymous Anonymous, at 9:13 AM  

  • windows_developers = "whiners";

    linux_developers = "winners";

    You like all the other Windoze developers out there that I have had conversations with are all looking for the point-and-click solution to software development. That is just lazy. Remember that Microsoft does this to you to keep you inside a box that they and ONLY they can control. Additionally, the 'error just went away on it's own' ??? what the hell, wouldn't you as a 'Software Engineer' like to know just what caused the problem so that it does rear its ugly head again. Me, I would want to know (and YES I do develop software.)

    I think that you missed the entire point of Linux. It is to break out of that box and to create software everyone can use and to generate code that if need be can be changed by the next person to fix an annoying bug or to add more functionality.

    If your wondering why most of the pages on the net are in other languages, it is because us Americans are lazy! That is why ppl in other countries provide most of the Linux support out there. Our developers would rather point-and-click our way through some stupid IDE than actually write code, you know, with the keyboard in front of you. So quit complaining and prove to the other countries in the world that our developers are not lazy.

    You WILL see somewhere down the road that the proof is in the mix.

    -Enough for now, just thinking about Microcrap makes me sick

    By Anonymous Anonymous, at 12:39 AM  

  • Strangely enough, this posting still rings oh-so-true even four years later. Windows, for all its faults and flaws, works; linux still barfs on simple things Windows works around.

    As far as Windows being confining; yes, if all you do is stick to the basics, you can only do what some pig-headed GUI developer thought you wanted to do. On the other hand, Windows at least gives you a stable, reliable, generally useful OS environment within which you can then start playing around with more adventuresome projects, and still know that, when you shut down whatever experiment you're working on, you can still count on checking your email and doing a little websurfing. With linux, these same things are achievable, but only with a lot more work on the basics to achieve a stable working platform.

    By Anonymous Anonymous, at 1:13 PM  

  • There are three kinds of computer users in this soul-less world:
    1) Those who know what they're doing and want to *work* to make the world a better place
    2) Those who know what they're doing and want to exploit everyone they can reach
    3) Those who don't have a clue and work hard at finding excuses -- willing victims

    Note: 2 is in love with 3 and 3 just fakes it a lot to get along.

    And of 1 only 0.00001% are brilliant and get something accomplished; the others spend countless hours on forums working at their second career - i.e. trying to get Linux to work.

    Linux is like a broken car. For one it's unpopular and it's even "Open" for the taking that is if you can get it to run; bring your wrench.

    Here I am posting up in the year 2008. Linux is full of it, eye candy with wiggly windows and Compiz. I made website wiggle back in 1997 and a Cube .. that's what 4 monitors are for... yeah that to is from back in 1998.

    The moto is, Linux just works. What? and I hear people talking about "sleepless nights".

    Linux sucks $%&!@#.

    By Anonymous Anonymous, at 10:54 PM  

  • This post and many of its comments are a fresh reminder of why I have such a deep love of the BSD's, especially FreeBSD for day-to-day work.

    Want a prebuilt package? 'portinstall -P whatever'. Wanna build from source? Leave off the -P. Upgrades are just as trivial. I can't remember the last time I gave a shit what depended on what. It's what originally hooked me on BSD, in the OpenBSD 2.6 days.

    And a real manual (or "handbook" in fbsd's case) for the OS itself, as a whole, is worth its weight in gold. Not a "wiki". Real documentation, by the same organization which maintains the OS. That kind of thing's not really possible when your kernel, userland, package management, config system... are being developed by sparsely communicating separate groups, ala the typical Linux distro.

    I can't really comment on the finding solutions to bugs issue, the worst I've ever ran into involved an hour in IRC, and wound up being a faulty disk controller. I have to agree about Windows the in regard though, every major f'kup I've ever seen in it involved out of date boxes with malware. The same could (and does, very much so) befall any OS.

    The damned thing is, would I recommend it to you? Nope. Unix is vi, Emacs, gcc, gdb, the occasional "odd" languages like Haskell and Scheme and Erlang... they're the Unix way. Do one thing, do it well. This includes the GUI system used (or it should). Lots and lots of command line, text flowing as the ink from an artist's pen, changing how things fit together to suit the current task at a whim.

    It's obvious that sort of thing doesn't jive with you... use what you do like. I can't think of a poetic way to describe a heavily integrated environment on an integrated OS... but those don't jive with me. I can, however, certainly see their appeal if you're the sort of person who's prone to think more visually. And .Net's just awesome when you go for the whole integration thing. Hell, as F# matures, I might even get more into it. And Bigloo will already happily compile my favorite language into bytecode for .Net. Functional programming's making quite a bit of headway lately with multicore systems becoming common, it might be profitable. Especially if Microsoft's Singularity gets any kind of public attention (yes, they do in fact, do a bit of research over in Redmond...).

    Things like kdevelop, eclipse, KDE and Gnome, Mono, etc... are only for the sake of attempting to convert Windows users, or for users who will never really *do* much other than perhaps surf the web and email and print (i.e. my parents, happy Gnome users for quite a while). Otherwise they make no sense at all to me, and really, will never match things like Visual Studio or NetBeans, or integration at the level of OSX or Windows. Unix is simply a different paradigm, and trying to make it emulate another will always fail.

    Regarding some of the comments, my $0.02 there as well --

    Is OSX the happy middle ground? Not really. Darwin's an honest-to-god certified Unix, but that's pointless when you consider how piss poorly it interacts with the rest of the OS. OSX just uses it as its base, like a glorified HAL. Even something as simple as 'cp' shows the schisms between the two quite obviously. Hardly "the best of both worlds", it's more like Cygwin under Windows in reverse. Try to run an application that isn't ported to OSX and you'll be dicking with consoles and/or X11 all over again. Call me when I can have Conky (and not a Conky clone/fork) on Aqua without X11. Good luck.

    As far as Gentoo... yeah, if you want a BSD-like Linux, I suppose it works. Seems to me that it needlessly over complicates the ports and system recompilation processes though. I've been doing entirely compiled from source with custom options and only the bits of the OS I need for years just for the sake of older boxen, nothing really new there. And overlays? Do what? It's the port system's job to figure that shit out... if they wanted to be like BSD, why not just use NetBSD's pkgsrc? It's entirely portable to Linux...

    Other Linux comments... I remember when Caldera, Red Hat, Mandrake, and now Ubuntu all had their runs as the inevitable chariots of the "year of the Linux desktop". Caldera even let you play Tetris during most of the install. Always slowly making progress, sure. I even heard Ubuntu mentioned briefly on the TV at one point. Having Compiz/Beryl kick Aero's ass is nifty. You can actually buy PC's with it preloaded now. But how does that really improve anything? You got a few drivers to play games... which ran just fine under Windows. We have drivers for Intel wifi chipsets now... I didn't buy unsupported hardware in the first place. I don't make a living doing anything involving 3D rendering, and if I did I wouldn't really care what OS was under the hood anyway. Same for games, or anything else really that a driver argument could apply to. Even the GNU people themselves... they constantly improve and maintain gcc, gdb... things nearly all common *nix systems use one way or another. I'm quite fond of Emacs as well. What is the push for Linux popularity really gaining anyone, other than ego stroking and flavor of the year package systems? And besides, I quite like Unix. Why would I use an OS who's kernel is a clone and who's userland specifically claims not to be Unix? :P

    But while the Linux guys are fighting tooth and nail to be the savior of every Windows user they can find, FreeBSD 7 is busy being the reference implementation for SCTP, and raping Linux's performance on SMP systems and database hosting... i.e. the sorts of things that actually get you inside corporations on technical merits, not just price and advertising. OpenBSD, NetBSD, and DesktopBSD all have their obvious places in the world as well, and consistently make leaping strides within them.

    Hell, as of right now a Windows2000/IIS5 box is at the top of Netcraft's uptime list. There's a sprinkle of other Windows boxes in there too. Linux and OSX doesn't even make appearances in the top 50. Maybe they're too busy recompiling their kernels for the latest trivial 'feature'?

    Just sayin'.


    I for one think you did the right thing, and wish sincerely that more would do the same. I just find it ironic that you left Linux for many of the same reasons I did. There's so many more interesting problems to be solved on all fronts without trying to turn an OS into a religion. In the end, all an OS does is run your applications. That's all it needs to do, that's all it should do. Windows does it just as well as anything else (not counting the DRM fiasco with Vista, but that's a different matter). And if you're going to write an application, why not target the OS it makes the most sense on, with the dev tools you're most comfortable with?

    There's the old saying, something along the lines of "Linux is for those who hate Windows, BSD is for those who love Unix".

    Perhaps "Windows is for those who love an integrated OS, OSX is for those who just want to use the damn computer" should be added to it?

    By Anonymous Anonymous, at 12:26 AM  

  • Hi Brendan,

    I know this is probably your first post, being 5 years old.

    I noticed your title and was curious. I've had a fair share of friends on both sides who love and hate linux.

    I used windows like most people and at first thought the mishaps and problems were just part of it. It seemed developed, easy, what more could a person want?

    Soon, I realized that the OS wasn't very reliable. It was easy to use but it was subject to malware beyond belief, even after getting the right kinds of software. Internet explorer became Internet Exploder. Updates were all too often and interfering with my work. Restarts every other day because of said updates. Only a quarter of the time would my battery indicator be accurate and even show up. Freezes were common. Outlook was a poor excuse for a mail client. The support was worthless. I felt like a slave to my computer, not vice versa.

    All of this lead me to one conclusion, Microsoft has been lazy in their product development because they can afford to be. They have a monopoly on the computing industry. You know they have a monopoly when learning computers is synonymous with learning Windows.

    I then went to Firefox and Thunderbird for internet and email. This was much better in both those respects but it wasn't 100% yet as for what I wanted.

    At first I thought it was my computer. Someone introduced me to Ubuntu. At first I was skeptical. It was rather undeveloped but what was there was a logical setup and it was intuitive.

    I started with a dual boot and stuck with the learning curve of linux. It was different, it took me 3 months to become comfortable with routine tasks. I found the support was so much better, via the forums.

    Over the years, Ubuntu has made strides and leaps. I use it completely now and don't have a dual boot.

    I can see back 5 plus years ago that there was much to be wanting in linux but now, it's a complete and reliable OS.

    That's my 2 cents, I just encourage to try it again.

    By Blogger Chud, at 4:38 PM  

Post a Comment

<< Home