Monday, June 30, 2008

I hate Linux Graphics

Alright, so as soon as I started bitching about graphics, my coworker, lets just call him Linux Graphics Hater (warm applause everyone! ready those tomatoes!), went off on a rant the technical reasons why open source ATI and intel drivers still suck ass. He also corrected me that nvidia might actually be making money from some of these linux drivers. Good for them, but as long as they're still kind of hiding the fact that they're only really doing it for their paying customers, I think it supports my overall point.

Anyways, without further ado, I present Linux Graphics Hater's inaugural rant...

So, everyone keeps ranting on about how wonderful it is that Intel and ATI have open drivers and specs and how nvidia needs to get with the program and how they won't buy nvidia parts anymore.

Now, hang on a second - if you are lucky enough to have an intel/ati system and an nvidia system sitting side by side, you can play along, but otherwise, read on.

Run glxinfo on each machine and compare the output - I think you'll find the results... instructive, but let's ask ourselves a series of questions.

  • Which driver(s) support pbuffers
  • Which driver(s) support framebuffer objects
  • Which driver(s) support GLSL (shaders)
  • Which driver(s) support redirected Direct Rendering
  • Which driver(s) offer full OpenGL 2.1 with hardware acceleration
  • Which driver(s) offer full GLX 1.4 with hardware acceleration

If you've spent any time trying to do any OpenGL work, you'll know the answers to these questions - and it's the same answer to all of them. The nvidia driver is the only one out there that actually has full OpenGL support. The Mesa guys will happily tell you how it supports the full 2.1 spec as well - and then mumble something about a software renderer - yes that's right, as long as you don't need any hardware acceleration, Mesa is the tool for you - or maybe we should reevaluate who the tool is...

The sad truth is that none of the open source drivers actually offer the hooks necessary to enable full OpenGL support, even when the hardware itself is capable. Publishing documentation and having paid fulltime developers in house has not fixed this problem for either ATI or Intel. (Full disclosure, the closed-source ATI drivers have support for some of these features but no freetard is interested in them anymore). Why? Because there's no infrastructure - the Linux DRI/DRM layer is broken and efforts to fix it continue at a glacial pace.

How did nvidia avoid this? They bypassed it completely - the nvidia driver may look like a regular Xorg video driver but it's actually very invasive and replaces the bottom third of the X server (Most bits of X are driven through overridable function tables - glorious eh?). They had no choice: You can have the world's most awesome hardware and developers but if you have to be compatible with DRI/DRM - you're screwed and none of that will help you.

It's a crude approximation but the most crucial difference between the nvidia architecture and DRI/DRM is that nvidia actually have a memory manager - and a unified one at that. Without a memory manager it's impossible to allocate offscreen buffers (hence, no pbuffers or fbos) and without a unified memory manager it's impossible to reconcile 2D and 3D operations (hence no redirected Direct Rendering). The Accelerated Indirect GLX feature that the freetards were busy raving about is an endless source of confusion - and ultimately a hack to workaround their lack of a memory manager.

Indirect rendering is when a GL application delegates 3d operations to the X server instead of talking directly to the 3D driver. This makes operations slower, but not necessarily unusably slow - as long as the X server itself is capable of talking to the 3D driver and making hardware accelerated calls. Now, in DRI/DRM land, the X server originally *could not* talk to the 3D driver because only one direct client could run at a time - so the server itself was excluded because most people wanted their 3D apps to do the talking. However, they realised that if they forced all 3D apps to use indirect rendering, they could avoid the need for a memory manager because the X server itself acts as a single point of control over all 2D and 3D rendering - so they went and fixed things so that the Server could be a 3D client and accelerate indirect rendering, and thus AIGLX the born as a feature to be shouted about from the rooftops. Never mind that 3D apps would then have to use indirect rendering and be slowed down. Never mind that nvidia's driver offered Accelerated Indirect Rendering from day one back in 2000. Never mind that nvidia don't need to use it because they can do redirected direct rendering properly.

So, this is clearly a problem and they're not fools, so they've been trying to fix it - for how many years? Even today, despite all the apparent appearances of progress, if you go out and install the latest release of your favourite distro, you will get a memory manager-less driver and no support for any of these features. Only if you go and dig into exotic experimental branches of drivers and mesa, and apply patches to your kernel tree, will you get something that vaguely approximates a memory-manager equipped driver and only for a subset of the 'supported' intel/ati hardware. That's just great.

So, why do you think nvidia doesn't give two shits about the all the petitions and ranting and pleading and threats to go use someone elses hardware? Guess what - they write linux drivers because paying customers want them - and these places do serious rendering and need these full OpenGL features - otherwise nvidia wouldn't have added them in the first place! They aren't going to give you the time of day when you come to them with your shitty little open source driver that doesn't support features invented over 10 years ago (pbuffers at SGI - 1997)

And fuck, why do my nvidia boxes suspend/resume successfully while my Intel graphics one has to run an old patched driver because the latest one hangs on resume. Fucking awesome. Good work guys.

Our way or the sane way

For some reason, the past few days on the linux sub-reddit seem to be full of articles talking about how nvidia sucks, or how people are going to switch to ATI, or how the kernel devs have formed a drum circle to convince nvidia that they suck (where's Linus, btw?).

What really pisses me off is that all these Linux fanboys are consuming precious nvidia resources that they could otherwise spend to improve their products or better their drivers on platforms that matter. Seriously, at this point, the only reason nvidia distributes any kind of driver for the non-windows platforms is for mindshare, and so that the FOSS crowd won't go around spreading FUD about them. It's a form of PR blackmail, really. Don't want to play by our rules? Fine, but we'll send the FOSS mob out on the internets to destroy your geek cred.

edit: Ok fine, so they do make some money off of this stuff. But don't go telling any of the freetards that. I don't care if they've found a few ass-hat customers that bought into Linux and are now desperate for a graphics solution that works.

But what it really shows is that the FOSS crowd really doesn't give two shits about businesses, and that's why they never get taken seriously.

Like it or not, Microsoft has shown that its model for developing software and enabling independent hardware and software developers works. It generates assloads of revenue (for itself and for those other companies) and creates incentive for innovation. A bunch of companies are built on the sole reason that playing in the MS ecosystem allows them to make money. Yes, the software isn't perfect, but perfection is never attainable, so you might as well do the thing that a) makes you a living, b) gets a bunch of people to help you because it makes them a living, and c) moves generally in the right direction.

But hold on just a sec. Along come the fosstards saying that everyone's doing everything wrong. That nobody should have secret sauces and everything should be out in the open. It was fine when they were playing in their own little corner, not really having any effect on the real world, but now they have enough cult members act like a real mob.

I know what Nvidia really wants to say to the mobtards, but just can't say it in public: Show me the fucking money.

You see, drivers don't fall out of the sky for free. And neither does documentation. It costs them money to develop and maintain these things. But you know, they're totally incented to do this because Linux is like, 2% of the market, and they've managed to split themselves into all kinds of different kernel versions and X versions that make it a support nightmare. Wait, why should Nvidia care again? Because they should want freedom?

Oh? you want to write the drivers for them if they just provide the docs? Great! Should they tell you all our secrets too? Should they just hand over their entire manufacturing process to be managed by a bunch of asshats that only care if it works for them? Sorry! It turns out the people in the real world want stuff that's working, and want to be able to call them up when it doesn't, and they'd like to be able to help those people out. They don't trust you clowns to do this all in a competent way for them. You certainly have already shown that you can't even put a consistent platform together. So why the fuck would they believe you about anything else?

I know what the first N comments are going to be: blah blah Intel blah blah, blah blah AMD blah blah.

Yes, Intel makes free drivers. Guess what, their chips are also basic and cheap. They want the graphics layer to be essentially commoditized. In that frame of mind, it makes sense to write open drivers. They're not competing on the bleeding edge. They want their stuff to run everywhere. Plus they're a giant company with tons of cash to waste. In the long run, it might also give them leverage against MS, should MS really try to screw them in the future.

And, yes, AMD has opened up some of their stuff. But guys, have you ever used AMD/ATI drivers on Windows? It fucking blows. Those guys couldn't write drivers to save their cocks'n'balls. So, given that you can't write decent drivers in the first place, it makes sense to throw the task over to the oss crowd right? Too bad the crowd isn't going to write Windows drivers for them.

Actually, that would be an awesome stunt. ATI to fosstards: "Go write awesome Windows drivers for us, so that we can continue to stay in business and make openly documented cards for you lusers. Oh, and write drivers for those too. Have fun!"

Saturday, June 28, 2008

(Ubuntu) Rants (?) heard 'round the community, ver 8

Damn. I thought putting Gentoo as a choice in the poll would totally skew the results, but looks like Ubuntu is holding strong.

In honor of Ubuntu, here's a few links to make you feel warm an fuzzy about this awesome distro.

Seriously though, you guys don't understand what LTS really means. You shouldn't expect the quality level of something a commercial company will support for a long time. It really just means: "hey, this release is as buggy and as untested as every other release we've done, but this time, we'll spend 3 years fixing bugs instead of the usual 4 months!"

edit: Here's a bonus linux.com article I just found.

Thursday, June 26, 2008

Distributed stupidity

Do you guys remember that whole Betamax vs VHS thing? Ok, how about the DVD+R vs DVD-R thing? or the HD-DVD vs Bluray thing?

I certainly remember all these things, and I also remember thinking why the hell these companies can't just get together and cooperate, before they waste billions of dollars and millions of man hours fighting it out to the bitter end?

Certainly open source was the answer. I mean, we can totally see each other's source code, and modify it, so why bother re-inventing the wheel right?

Riiiiiiight.

The latest debacle comes in the form of distributed version control systems. Don't get me wrong, DVCS is kind of an interesting idea. But, sadly, in the OSS world, it appears that any great idea needs at least 5 implementations.

Seriously, why the hell do we need so many? git, bzr, mercurial, darcs, arch, monotone, ArX, and a few more. Please, someone, tell me what all these systems do differently from each other, because when N > 3, fuck if I'm going to spend hours and hours figuring out how each have a slightly different in guiding philosophy developed by someone trying to be more retarded than everyone else.

Hurray for choice! Hurray for having to learn slightly different command line interfaces across different systems that do essentially the same thing! Hurray for making it that much harder for a motivated, volunteer developer to contribute to multiple projects! Hurray for yet again wasting hours and hours of development time! Hurray for bringing down that S-N-R just a little bit more!

For those of you who've read the other posts, you know this shit is nothing new. I've seen it so many times that I've decided to mathematicize it. Behold LHB's great law of stupidity:

N is the number of developers. $ is some measure of how much they're getting paid (mostly, to not be jackasses). Notice that as $ approaches zero, Stupidity goes to infinity.

In truth, this general formula applies to a lot of scenarios, not just OSS development. But rarely is it more directly observable. If I were to make it more generic, N would probably have to be replaced with some combination of variables: one for the number of people involved, and another for the size of their egos. For OSS developers, however, it can be simplified to the above, since their egos are consistently huge.

In retrospect, you can say that all those big dollar conflicts I mentioned at the top at least ended at some point. Yes it took many years for Bluray to win, but eventually it did, and now the human race can move on. Meanwhile, Gnome vs KDE... sigh.

Wednesday, June 25, 2008

OMG! Microsoft sux0rs!

In case you lived in a cave, let me tell you that an article is going around all the luser blogs about how Bill Gates wrote a pissy email about how he couldn't install MovieMaker.

Sound the alarms people! Microsoft fucked up on the distribution one small program that nobody uses! Surely everyone is going to switch to Linux now! Hurray!

First of all, anyone who has worked at a large software company knows that shit like this happens all the time. Sometimes shit gets really bad and people at the top notice. In this case Bill noticed because he cares, and he did something about it. But you know what? I'm sure there are at least 20 Microsoft engineers who knew how bad things were and either didn't have the motivation or the clout to get things fixed. Just because one of these emails got out, don't fucking act like the company is about to implode. You think MS can't keep it together? I'd like to see N OSS hackers try to work together on something without producing N-1 forks.

But more importantly, you lusers are totally lame because you're gonna use this as yet another shitty argument as to why Windows sucks. Cuz surely, Linux doesn't have any usability problems. We all know it's fucking perfect. Lets totally ignore the fact that I can't easily download a fucking program from anyone's website, let alone Microsoft's. Or how I can't close the fucking lid on my laptop unless I want our freedom hackers to free me of my unsaved data. Or all the other shit I've written about.

Windows has its faults, but Linux has a fuck-ton more. Get a fucking clue, lusers.

Tuesday, June 24, 2008

I can has encryption too?

Wow. I didn't even know about this one until a coworker pointed it out to me today.

There are three main security/encryption/certificate libraries on Linux. Yep, three. That's two more choices than we need. Hurray?

There's the famous OpenSSL, which lots of both proprietary companies and free software projects use.

Then there's the freetard gnutls, because you know, GNU/free is more free than free. Seriously, they wrote another implementation because they couldn't deal with the fact that while OpenSSL was BSD licensed, it required that they OpenSSL project be advertised in derivative works. Hey check it, I got this great idea: I want to clone a useful and carefully developed library just so that nobody can tell me how to give the authors credit. Who's with me?

Then there's the nss library that came from Mozilla. Not too much to say here, except that it made gnutls pretty much irrelevant, since nss is triple-licensed (of which two are GPL, and LGPL). Take that gnutards!

I'd like to again call for another round of applause for the FSF. They again managed to totally divert a bunch of scarce developer resources into a totally worthwhile cause. Hurray for freedom! I feel freer already.

Die in a Fire! Burn in Hell!

Do you find using Linux painful? Is it like being in hell? Well at least now you can make the visual experience match the psychological one. Hurray for choice!

I vote for this to be the new default Ubuntu theme. It would give potential users a fair heads up about what they're getting themselves into. Someone quick! file an "idea" on the brainstorm site!

Monday, June 23, 2008

Run Forrest Run!

Administrative note: check out the widget on your right to vote on the distro you hate the most! (feed subscribers, you'll have to visit the page, since Blogger doesn't let me put the poll into the main feed). In a week or so, we will have a little party to announce the most hated Linux distro. A sort of, anti-distrowatch if you will.

Back to ranting. Once upon a time, there was the conservative computer user. He'd get his hardware set up, his software set up, get it all working, then not change a thing for as long as he could. The only time he'd change anything was when he wanted some new functionality so bad, that he was willing to forget all his principles just to obtain it. And when he did so, he made sure to change as little as possible.

Actually, it turns out most computer users are like this. They don't like dicking with their system. They care much more about keeping the working shit working, rather than making the old stuff new again. My lady friend is kinda like that. She will happily let me fix stuff that's broken, but she will also often actively refuse my offers to install new software for her, out of the fear (though many times unfounded) that I will break something she relies upon.

Anyways, that's a little tangential to what I want to say. The point is that that most of the other desktop OS'es give you a choice. The choice to keep exactly what you've got, the way you've got it, or the choice to keep things mostly the same, and just go for bug-fix updates, or the choice to upgrade components one by one to get from here to there with the minimal amount of change.

Let's see how Linux stacks up here.

  • You've got the choice to keep exactly what you've got. Though this isn't as good as it sounds, because chances are, something doesn't work to start with.
  • The choice to go just for bug-fix updates? Again, not as good as it sounds, because upstream devs only work on the fun stuff. I mean, who cares about fixing bugs in old versions? People should just upgrade to the bleeding edge! Even kernel developers admit to this abysmal state of affairs.
  • The choice to upgrade component by component. Oh yea, we talked about that before. That's not really a choice, unless you know how to install compilers and debug build errors, and you have a tolerance or even a fetish of being gang-raped. Not satisfied? Well then you can upgrade your entire system every 6 months! Hurray! And if you don't? well we're gonna stop supporting it in another 6 months, and then we're going to make you do the upgrade anyways when you decide in a year that you want to jump two releases. Suck it, lusers :-D! No really, we just don't care that a large portion of ordinary users have never installed anything.
Wow, that's oh-for-three guys. And I thought this you guys were all about choice. But really, by that you meant "users p0wned!", didn't you?

In reality there's only one sad choice with Linux: try to first stand up on your two feet, and then try to keep your balance as they continually pull the rug out from underneath you. Either that, or use Debian stable, which is like already as useful as a beached whale when released, and won't go anywhere even if you tied it to Mark Shuttleworth's space rocket.

Rants heard 'round the community, ver 7

A couple amusing links for you guys this morning.

Long time SuSE/KDE users revolt over KDE4 presentation in OpenSuSE 11.0. Circle-jerk gone wrong? A long thread, but a lot of typical "you don't need that feature anyways" talk going on here. But you know, KDE4 is awesome, ok? I've always wanted to be able to rotate my desktop icons, cuz you know, my right eye is about 3 inches below my left, and the whole world looks like it's always slanted to me. Thank you KDE devs for bringing some sanity into my world.

Mozilla developer Vladimir Vukecivic has a fun time giving up on his radeon driver. Read the comments too. Great stuff. But you know, lets blame ATI/AMD for not readily giving away the details of their hard engineering work to a pack of freetard lunatics.

BTW guys, if you have any hope that the shit that I write has the potential to make a lot of those freetards wake the fuck up, y'all need to do your part and Digg, or Reddit, or Stumble (or whatever the fuck you use) your favorite posts. You know all the freetards are swarming around those things. Making sure this shit gets on the front pages of those sites is your fucking civic duty, ok? Go out and vote! And I promise you, it won't take all weekend to do.

edit: Argh. Fucked up the second link. Fixed now.

Sunday, June 22, 2008

Just google it

Props to a bunch of you commenters on my last post. You proved to me that most of you still have no idea what the hell I'm talking about. Maybe all your brains cells are dedicated towards remembering those configuration commands for your favorite distro. Beacause if you actually had any left over, you'd realize that the post had nothing to do with the difficulty of installing a compiler on Linux.

Maybe you guys just don't understand English? That's cool. I mean y'all could be Austrian or something. But I'll just point out that clueless counter-ranting against a post that wasn't even a rant makes you look like quite the ass clowns. I just hope the rest of the readers enjoy it.

Anyways, I just wanted to make another observation. Whenever I write about how someone might say, "I don't know how to do X with Linux", y'all like to reply with, "Oh, if you just google for XYZ, then you'd see that it's possible, asswipe. You're so uninformed!"

It's clear that y'all haven't a raging clue why I'd even bother writing something like that. You don't think I've done this google shit? You don't think I've wasted hours and hours in the past refining my google-fu so that I can maybe chance upon the blog post that will make my Linux install not suck? I don't mention this shit because I personally can't figure it out. I write it because y'all don't realize that if it takes me this long to do anything, then the rest of the world will find it simply unacceptable. Actually, if you look around, you'll find that they've already done that. They've totally mod'ed you down with their dollars and euros.

Just because some douchebag might have written a blog post about how to do something (which most of the time should have just been obvious in the first place), doesn't mean that Linux is now on-par support-wise with the other alternatives. It's not even close.

Y'all seem to not realize that most people don't google for answers to computer issues in the first place. To these people, it either works or it doesn't. If nothing happens when they plug their camera into their computer, they assume their computer just doesn't work with their camera. Or they call up their lame-ass grandson who installed some weird thing called youbuntube on their computer. They don't give a flying fuck if some forum user gph0t04ever on gphoto-rulez.org has a 10-step procedure that will make it work.

Besides, to actually use google effectively, you already have to 1) kinda know what you're talking about, 2) know what keywords to use, and 3) know how to use the results to fix your problem. When's the last time that someone typed "my screen looks big" into google, and got to your newbie-proof instructions of how to replace the "nv" in your xorg.conf with "nvidia"? Oh, that's right. Never.

Why do you think Apple gets so much praise for staffing Genius Bars with slightly less clueless support staff? When things go wrong, people want others to fix it for them and save them time. Yes, I know, most of the people who staff Genius bars are retards too. But they're paid retards. They get paid to fix shit so that neither me, nor my grandma have to.

But whatever. I'm sure you guys are going to totally miss the point and say that because I don't know about Google Linux search, I'm a newb dumbass. Or that because I mentioned Apple, I must be a Mac zealot having sex with slot-loading DVD drives every night. Bring it on, lusers.

Saturday, June 21, 2008

Quickie

Unfortunately, don't have any time to post anything today. I've got a social event to attend.

But I will leave you with a quick quote that comes from one of the most senior engineers at my workplace. This guy is as anti-microsoft as you can get, but he also doesn't give two shits about how to configure a Linux system. We recently helped him install Ubuntu Hardy because his old FC3 install was getting a little long in the tooth. After a day or so of Q&A (because Debian-based systems are so different from Red Hat-like ones, for no reason) he came around to trying to install is trusty old text editor from source, and realized that Ubuntu doesn't have any dev libraries installed. We explained to him how Ubuntu is more user-oriented and so doesn't have a lot of the traditional developer support out-of-box. After a little more discussion, he said:

Linux without a compiler? What good is that?


To me, that line seems to sum up a lot of what is good and bad about Linux.

Have fun fixing your sound cards all weekend. I'm out.

Friday, June 20, 2008

0.99 bottles of wine on the wall

Holy fuck. Wine hit 1.0.

What does 1.0 mean? Not too much apparently. I take it to mean "hey, none of the apps that you actually want to use work, but you know, at least this will get you to try it for a few minutes."

Yep. I tried it for a few minutes. It still sucks. Mission accomplished. Thanks for toiling a way for 15 years and creating something that I still don't care about. You've shown me that without a doubt, there could have been no better use of those 15 years.

But no really. I tried installing Office 2003, and it actually installed. Outlook doesn't start though. And I can't launch the SP1 or SP2 installer. Awesome. But you know, this is great, since like, the rest of the world is moving on to Office 2007. Way to strive for relevancy guys. It's really impressive.

Actually, as far as I could tell, Word, Excel, and PowerPoint seem to start and work kinda OK. I still wouldn't trust anything to it, but you know, you might be able to convince some European city council members that it totally works.

Oh wait, or I could just run Office in a virtual machine. For free.

But the saddest part of it all is that, even in its half-working state, this shit is still more useful to me than I-almost-look-the-same OpenOffice. Even if it crashes once in a while, what PowerPoint on Wine manages to show me is way more useful than Impress showing me a mentally challenged child's drawing that kinda looks like the slides I spent hours on. And apps on Wine start faster than their OO equivalents which totally makes up for the fact that they crash all the time.

Y'all seem to want me to rant about OpenOffice. There's not much to say, I mean, I don't really use it. I can't remember the last time someone sent me an SXW, so why the fuck would I use something different? Especially something that doesn't work as well as the original. Because it's free? Because all your other examples of fantastic open source software should make me blindly trust this one too? well I actually like to pay money for my sanity. Obviously y'all don't value it as much.

Besides, real programmers don't use office suites. And fo shizzle, real programmers on Linux definitely don't use office suites. No, they just annoy the world by telling everyone re-send their shit in PDF. I'm sure Adobe's laughing all the way to the bank.

Actually, now that I think about it, I do have one adecdote. I have a lady friend, who uses Excel for a living, to whom I offered to install OO on her new Windows machine because she needed something to do her work. A week later, she came back and took a big shit on my lap. And then slapped me across the face with it. Now I know that kind of thing might get some of you kinktards off, but that pretty much taught me my lesson.

But you know, I still somehow keep wishing that a random group of volunteer programmers can magically recreate the work done by thousands of Microsoft engineers. I mean, that would be totally awesome. So would having Jessica Alba as a sex slave. Maybe if I work for the next 15 years, I too could end up with a bugly look-alike.

Actually, I dunno, maybe it could really be done. Many times I've thought that if all of y'all actually cooperated and built one office suite, then maybe it might be better, or at least as good. Then I looked around and saw OO, Gnumeric/Abiword, and KOffice, and concluded that you guys didn't get the memo about what the "co" in cooperate means. But you know, ODF will save us all. Or something.

Thursday, June 19, 2008

How to create a Linux distro

Newb guide #4. Suck it.

  • Pick versions of the kernel, glibc, gcc, that are different from all other distros. So that you too, can "Think Different," or at least claim that you have the newest kernel among all distros for the next 2 weeks.
  • Pick a color. Make your distro's default desktop look that color. Beware that blue, green, red, and brown are taken. This is your distro's branding you see? Having a consistent color increases usability, even more so than having usable apps.
  • Make sure your distro's name has at least two intuitive pronunciations, so that you as the maintainer can be a dick and correct everyone who says it wrong.
  • Take tons of screenshots showing that you can run all the same damn apps as every other distro.
  • Don't mention any detailed information about what kind of hardware your distro is known or not known to work on.
  • Say that it's "community tested," but mean that you personally haven't tested it all.
  • Have a snazzy website with a bunch of gradients. Preferably blending from your color of choice (see above) to white. Copy Apple websites as much as possible.
  • Use a different package format from all other distros
  • Failing that, use a similar package format, but make sure all your packages are incompatible
  • Definitely be sure to have your own package updating mechanism. I mean, if you can't even write that code yourself, how are we to trust you?
  • Make sure you have a freetard version. Undo all the useful integration work you did with proprietary binaries that people want to use.
  • Release new, barely tested bits every 6 months and claim that it is a sign of progress.
  • Make sure you're LSB compliant. Also make sure that that means absolutely nothing.
  • Never admit that your distro could be achieved by just reconfiguring another distro.
  • Do one thing right that every other distro gets wrong. Make sure that the solution you come up with only works in your distro.
  • Have a forum where users of your distro can complain to each other. Make sure this forum allows users to have signatures that tell me about all the hardware they've wasted by running your distro.
  • Have a brainstorm site where users can point out the most obvious problems and make you look like an idiot.
  • Have a bugzilla, but don't ever fix any of the bugs. Blame them all on upstream, then don't tell upstream about the problems.
  • Make sure every upstream package has at least two patches. This differentiates your product, see?
  • Have a newsletter. Make sure this newsletter has a column to introduce random users of your distro who are total nerds and haven't made a cent from all the work they put into their configuration.
  • Write tons of documentation on complicated procedures to make things work, instead of making things work.

Wednesday, June 18, 2008

Standardizing Linux Suckiness 2.0

Yep. Usually I don't respond to y'all's comments. It's a waste of time, mostly. But they're fun to read, so please continue hating on each other. Do our community PROWD.

But I gotta respond to this one.

Jeff Bailey (from the LSB steering commity) had a few criticisms about my rant to standardize binaries:

1) When RHEL releases every 2 years, and Ubuntu releases every 6 months, you'll never get the same base toolchains.


Please please please tell me why Ubuntu needs to ship a new toolchain every 6 months? Is there some luser grandma out there asking why she doesn't have gcc 4.1.2 instead of 4.1.1? What does this possibly accomplish except fragment everything out there? Microsoft ships a new compiler like every 3 years, and things work just fine. Even Apple (who isn't so great about backwards compatibility either) ships a new toolchain maybe once a year or so.

If you look at people actually trying to ship binary software on Linux, this is what they do: They go around looking at all the distros they want to support and they look at all the glibc's and they say, what's the MINIMUM glibc version I can depend on? What's the LOWEST COMMON DENOMINATOR among all these distros that I can depend on. Figuring this stuff out is really difficult, but people who ship software figure out some way to do it.

The point is, everyone is looking for the MINIMUM. Not the BLEEDING EDGE. ISV's want compatibility over the newest gcc compiler optimization flag. If there were standard core bits, then Ubuntu, and every other distro would be given a choice: go with the standard platform and add value on top, or build your own toolchain and nobody will give a fuck. LSB people need to talk to distros to make them aware of this tradeoff. There will always still be freetard distros that ignore you, but they don't matter anyways.

2) It's always possible that slightly different versions of underlying bits like glibc or the compiler can cause gross ABI changes.


Yes, that's why I said ship the EXACT SAME BITS. Figure out exactly ONCE what all the dependencies between gcc/glibc/etc in terms of ABI's are. Get a standard set, and standardize the compiled bits. No chance for different compile flags. No nothing.

3) Everyone compiling with the same toolchain and base libraries would've guarantee backwards compatability at all. Only a test suite can do that (and then, only within the limits of what's tested).


You're confusing test suites here. There are two test suites.

One is to make sure that one LSB certified distro behaves like another. Since the bits aren't standardized, you have to go about making sure they act the same. If you ship the same bits, then you get the same behavior, so you don't need to do these tests anymore.

For backwards compatibility, of course you need to do tests. But if everyone shipped the same set of bits, then everyone could work together to test the same bits. You could rev the bits once every few years to introduce new features on a very conservative schedule. The point is that testing resources are scarce, so making everyone do their own tests individually just does not scale. Plus, under the current model, ISV's won't trust you anyways because the bits on each system are different, so they'll still have to internally QA against all the distros regardless.

Anyways, guys, this is basic software engineering. The fact that I have to even write this down so explicitly makes me hopeless. The simple fact is that if you want to come up with a "standard" Linux, then your distros are going to make sacrifices. Until the distros realize that making these sacrifices will result in benefits for all of them, there's no point even debating the techincal details.

Tuesday, June 17, 2008

Those crazy Austrians

I've been seeing a bunch of freetards trumpeting up their victory in Munich for a while now. They don't talk too much about Vienna though, which was a complete clusterfuck.

I found an article that provides some deep, super deep, I mean all the way up in ya ovaries deep, analysis of what happened.

Their first, huge mistake was their attempt to roll out their own GNU/Linux distribution called Wienux.


Hmm, why does that sound so typical?

But you know, it's nice that y'all talk all kinds of garbage about how open source lets you fork shit and how that's better than having sex with your neighbor's poodle, but then when a deployment fucks up? you come back and slam them for forking, as if it was the dumbest idea in the first place, and that it was soooo obvious.

Back in 2003, Microsoft and the German Ministry for Family teamed up to create “Schlaumäuse” [...] a program aimed at teaching kids how to use computers.

[...] Microsoft had (luckily only briefly) a stronghold on the web browser market, and they surely used it: the maker of Schlaumäuse managed to create a Frankenstein-like monster that required several IE plugins (heavens knows what for). The software maker that created Schlaumäuse hinted that while a Firefox version is in the works (planned for 2009!), the city had not offered enough incentives to speed up development. See: they didn’t pay them enough to care. Also, surprise surprise, Wine would crash repeatedly while running Schlaumäuse.


Ok, so you knew ahead of time that there was an IE requirement, and you went with..... Wine? Wow guys, that Austrian bud must be some good shit. Not only that, you decided to pay the damn company too little to make a Firefox version. Cheap bastards. And stupid too, they had you the the BALLS.

And finally,

Another issue they raised was about hardware compatibility.


Yep, I think I've heard someone complain about Linux hardware compatibility before. Wait, who was it again? Oh yea, EVERYONE.

So lets summarize. You created your own fork, deliberately ignored your IE requirement, and didn't test your hardware. And it failed. Hot damn. Why didn't you pay me millions of Euro's to figure that shit out? Then I wouldn't have to go bitch and moan about these adblock users that are raping us bloggers for all we've got.

But anyway, why do I get the funny feeling that there was some town meeting that went something like:

City Council Member: "Does anyone have any concerns with this plan?"

IT Dude: "I do. Why are we creating our own distro? Don't we need IE? Shouldn't we test this out before we try to deploy it?"

Expert Freetard Panel Member: "Look, I have this totally awesome distro I created at home, OK? And I run IE on wine all the fucking time. And it totally works for me, dude. I used your Shitmouse thing for like 5 minutes and it totally worked. And the thing boots in like 3 fricking seconds. What more could you want? All open source software is better than commercial stuff, so what could go wrong?"

City Council Member: "That does sound nice. And it's free too, right?"

IT Dude: "Dudes. Y'all can go suck your own Knabber Nossi's, ok? I'm out. PEACE!"

Melancholy and the Infinite Suckiness

My rant energy meter is feeling a little low today, so I'll go with a more melancholy tone.

Sometimes watching Linux people just makes you sad and depressed.

For example, you get to see Linus (the god damn creator of the OS himself) unable to get flash working. Dude, Linus, three words: works for me.

Or you get to see upstream and downstream be so friendly towards each other.

Or you get to see core system components bit rot because nobody cares.

Or you get to see hackers that are totally out of touch with ordinary users. (dude is that a mullet? and btw, people were using webcams ages ago)

Sigh. Keep trying guys. You're almost there. I can just feel it.

edit: Argh, fixed that last link.

Monday, June 16, 2008

Catastrafont

You know what's kinda fucked up? Everytime I come back to a Windows machine after using Linux for a stretch, I always think to myself, "Oh yea! Now I remember that the entire Internet doesn't look like DejaVu Sans".

I don't even know where to start when it comes to fonts. Perhaps a quick, simple summary of the current landscape would do us well.

First, you have the X server side fonts. These are the ones that you specify paths for in /etc/X11/xorg.conf. Also, once upon a time, you could run a separate X font server, so that you could freeze all your network's X servers by crashing the font server.Sweet! Super useful. I mean, as an admin, you often need automated shutdown of all your machines right? Finally, there were two separate extensions that let you load in truetype fonts into your X server or your font server. Their were based on the same library, but their configuration files had different syntax and they exposed different features. Hurray for choice! Still with me?

Along comes a second font configuration system, based on fontconfig. I'll get to fontconfig later, but because we all love to have choices in our GUI toolkits, you've ended up with the Qt/fontconfig/freetype clusterfuck, and the GTK/fontconfig/cairo/pango/freetype clusterfuck. Now freetype is the thing that actually does the rasterizing, and it can support all kinds of fonts, including bdf and pcf fonts that are old-style server-side fonts. Except that these fonts are disabled by default on most new distributions. Got that?

Now we got multiple toolkits using the font system in different ways so, as well as the old-school server side fonts, so we get a nice collection of apps that have different font settings and inconsistent behavior. Furthermore, because BDF and PCF fonts are disabled by default, the (arguably) greatest contributions to the programming world in terms of free fonts, the "misc-fixed" series, are unavailable in newer apps. Hurray for building upon the past!

Oh but wait, fonts on Linux are named different from Windows fonts, and most webpages only specify fonts for Windows and Mac. So lets throw in layers and layers of font naming aliases that are more tangled than Paris Hilton's semen-encrusted hair after her cameo in a Brazilian vomit porn tape.

I'm not even close to done yet.

Now you see, fontconfig is this really powerful system. Not only are it's config files in XML, it's also a half-baked programming language (please, please, someone show me that it's turing complete). So not only do the config files look like angle-bracket diarrhea, you'd better just stay away unless you understand basic programming. Go usability! Don't believe me? just take a look at your /etc/fonts directory and tell me what the fuck is going on there.

I'd like to examine the reasoning here. People usually use programming language-style constructs for flexibility and human readability. Usually you embed some existing language runtime so that you don't have to write the parser. Others can maybe also embed the same runtime to understand your files, because otherwise it's really hard to handle all the edge-cases of a full programming language. On the other hand, XML is used so that others can parse your files and easily manipulate them, often while sacrificing human readability.

So let's put them together. Brilliant! You get a config file that's a bitch to type manually, is easily parse-able, but impossible to understand by other programs! Really, guys, that's impressive. You've managed to combine the white male and the black male and end up with a double-anus'ed zebra monster that shits all over itself.

I suppose you thought I was finally done, didn't you? On top of this growing shit-pile, now you've got different ways to render your font.

Like choices? well you've got tons here. No antialiasing, grayscale antialiasing, subpixel antialiasing. BGR, RGB, VBGR, VRGB. No hinting, slight hinting, medium hinting (which, if you actually look at the code, does the same thing as full hinting, but you know more options the better right?) and full hinting.

Oh except these things do something different based on whether you have freetype's bytecode interpreter turned on, or whether you have the newest LCD filtering patches. And don't go use those freetard distros, otherwise you're in for a weekend of recompiling packages to get these awesome new features that other platforms have had for years and years.

The best part of this whole damn thing is that you can spend hours and hours navigating this configuration space, and chances are, all your fonts except DejaVu Sans, Mono, and Serif, will still look like ass. And don't fucking tell me about msttcorefonts. Freetype can't render them worth shit, except for in the non-antialiased mode, and even then they sometimes get the spacing wrong. And you know, 1995-era font rendering is so awesome.

Want to add a new font? Have fun restarting all your apps, and even sometimes your entire desktop session. Want to remove a font? You better shutdown X, cuz things can get kinda wonky there too.

You just can't win. I fought the good fight, and got fucked in all orifices, repeatedly. I respectfully suggest that you don't try this at home.

But choice is great, isn't it? I mean who would have known there was so much fun you could have with fonts. I'm sure all these new luser converts are going to have a great time.

And I can already hear it, "who really needs more than a few basic fonts anyways," right?

Rants (?) heard 'round the community, ver 6

Some IT guy's kid hates Linux. Looks like the legion of freedom already got to this one though.

Awesome dude. You foisted Ubuntu 64bit onto your unsuspecting child. Isn't that some form of child abuse? Citizen's arrest, anyone?

Anyways, a few days later, he writes another post saying his kid doesn't exactly want to boink the 32bit version either.

Why do I get the feeling that it's just childspeak for "I hate you dad, but I don't have the guts to say it. Please at least stop wasting my time."

But this guy forgot the cardinal rule of how to be a luser. If a potential convert claims that they can't do XYZ with Linux, tell them that they don't really need to do XYZ anyways. Geez. What an undiscplined child. You would have figured he'd know how to compile his kernel by now. Anyone got some spare Ritalin?

Sunday, June 15, 2008

Check out my package 1.0.1, it's updated!

You thought I was done with your packages. Well guess what, I just updated my package.

Guess what? you get to download the whole damn thing again. But don't worry, I actually love downloading openoffice packages over and over again just to get that one patched file. I feel like I'm getting more free stuff each time.

But forget that. Forget the fact that if you go and install Gutsy right now, you'd pull down enough in updates for another CD. I thought we were supposed to be better than Windows service packs, or something.

No, I'm pissing away my Sunday evening to bitch about your updates.

Here's how it usually goes..

Debtard: "Hey friend, you should install Linux. I'd recommend Debian stable, but since I see that you got your machine within the last ten years, I'd recommend Ubuntu. It's got this great system where it's really easy to update software."

Friend: "Sounds good. Give me a CD."

Debtard: "Here's the Ubuntu Feisty version CD. It's the latest and greatest."

The standard stuff ensues. Friend installs Ubuntu. Friend spends weekends and weekends making it work, while his wife and children leave him. Friend discovers that he can drag his desktop windows around in new ways that blow his mind. Friend realizes that he can't actually do anything he wants to with his new system, but figures it's at least good for getting high and dragging some windows around. Friend discovers that porn looks awesome when it's wrapped around the corner of a desktop cube.

Friend then updates to Gutsy. Goes through some more horseshit because something broke. Yadda yadda. A few months later...

Debtard: "Hey check it. Did you see Firefox 3 came out?"

Friend: "Sweet dude. How do I use this awesome software updating thing you told me about?"

Debtard: "Uhhh. I think you have to update to the Hardy version dude."

Friend: "Dude, what the fuck. I just got fucked by the last update. I don't want to do that shit every 6 months. Can't I just get the FF3 update?"

Debtard: "..."

Friend: "Thanks man. Really. This is some awesome shit."

Debtard: "oh. oh. yea you should google this thing called backports"

Friend reads about backports. He finds out that they're mostly tested by the "community" where "community" means less than 1% of the Ubuntu population.

Friend: "This looks like some ghetto shit. This shit doesn't even work when 100% of the community "tests" it. I don't want it."

Debtard: "Works for me dude. But, oh, you can go get firefox binaries from upstream then."

Friend: "Fuck dude. Why didn't you say that before."

... A few days later ...

Friend: "WTF, it took me hours to figure out how to install this thing. And when I run it, my fonts look like Richard Stallman's pubic hair."

Debtard: "Oh yea.... that's because it's not a real Ubuntu package so they don't use your graphics library that's patched with sketchy patent-encumbered patches. Can't do anything about that."

Friend: "I hate you, fucktard. Give me my life back."

And don't you guys fucking say that this shit is made up. I've seen it happen exactly like that.

The slightly more observant among you will now start to go off about how this is where open source shines: "Don't like what you get? then download the source and fix it yourself."

What you really mean is:

  • Download the Firefox 3 source
  • Read tons of docs on how to configure the build
  • apt-get install all the random dev shit that you need to compile it. Learn tons of names like libdick0-dev. Learn about how apt-cache search doesn't actually help you find anything.
  • Wait hours
  • make install, only to realize that you've overwritten files on your system that were owned by other packages and you have no way to go back.
Freedom baby! Sounds orgasmic. I just jizzed my pants thinking about it.

How bout this, I got another option for y'all: ungzip my pants and suck my tarballs. Don't worry, you can do that for free too.

Saturday, June 14, 2008

Check out my package

Another luser mantra that makes me cringe: "Linux has an awesome software packaging system."

If someone does tell you that, make sure you penis-slap him or her in the face. They deserve it. Don't have a penis? Here, use mine. There's more than enough of it to go around.

So lets take roll, shall we? RPM? Deb? tar.gz? ebuild? Oh, there's only four of you? Oh, that's not so bad, right?

Oh but these guys don't really do dependencies. I mean, they can express that they require fifty thousand other library packages, but you know that's just really for fun. It lets us break big things into small, because we like small things. We like wasting our weekends away to save our users 10 cents worth of disk space when they install software.

Hmm, this is hard. Let me think about it...

Oh, I got it! Let's make a system on top of the packages that manages the dependencies. Better yet, lets make tons of them! Why re-invent the wheel you say? Simple: Why not?

We'll call one yum, we'll call one apt, we'll call another one apt-rpm, oh, then this other guy ports and portage, oh, oh, and then we'll create complex awesome gui tools around them that are all different.

Now that we have so many choices users will have to come our way! Our market research says they looove love love packages!

Say what now? you want to distribute your software in the same form as our packages? That's easy. Just give us your source! What? go fuck ourselves? Well you guys go fuck yourselves then!

Sorry, I got a little emotional there. Seriously, you don't have to give us your source. Just use the same package format. We're one of the 5 biggest Linux distributions out there, so you should definitely make packages for us. I mean, we have 20% of 2% of the desktop market! Besides, we use the industry standard: RPM.

Oh but sorry, the RPM you made for Redhat doesn't exactly work on ours.. see we have a different version of a library you depend on, you see?

Oh and double sorry, that RPM you made for our last release? doesn't work on our new release, because we changed the name of libass to libderriere, because ASS Inc. filed a suit against the upstream project.

Oh and triple sorry, if you have a 64 bit version, that's a different package too.

If you still think packages on Linux are the hottest shit since Laura Bush, you need to please go away. Unsubscribe from my RSS feed this instant. Please don't click on my ads even. I don't want your charity.

You fucktards put so much work into making fancy dependency solving package installation mechanisms (many different ones that all do the same thing, at that), and all this time you didn't actually make it any easier to ship software for your platform. Well done guys, well done.

How to be a Linux user

I'm sure all of this is already in y'all's blood. But you know, I figured I should write it down for all the noobs out there. They need to learn how to behave properly as a luser.

  • If something doesn't work for you, tell yourself that you don't really need it anyways.
  • Convert at least five others to user your distribution of choice. Even against their will. Do whatever it takes. Lie about how it makes such a great OS. Tell them the people at the NYSE use it. Tell them it gets less viruses. Tell them it runs on their toaster, so it's awesome. If they resist, here's some things you can do:
    • Do NOT research Microsoft security technologies. Instead, just point solely to Windows 95 and UAC as examples of poor security on Windows
    • Tell them that they can install thousands, no millions, of apps with a single command.
    • Tell them that they'll have choice. Do not tell them that they'll have to make tons of choices which they know nothing about.
    • If they are non-programmers, tell them that it's a fantastic opportunity to get into programming and spend hours and hours to make their system work.
    • Question their manhood or womanhood.
    • Accuse them of spreading FUD.
    • If they're Mac users, accuse them of blatant homosexuality. Then tell them that they're spending way too much money. Show them your wobbly windows.
    • If they point out that they won't be able to do something that they could before, tell them that they didn't really need to do that anyways.
  • A year later, convert them to your new distribution of choice.
  • When you have a configuration problem, do one or more of:
    • File a bug, without doing any research on the problem.
    • If you're really in the mood, find a totally unrelated bug, and post a comment along the lines of, "Hey, I think this might be related ..."
    • If you're actually partially smart and have found the appropriate bug report, post a comment saying 'Me too!', even though there are already 300 of the same. It really helps developers when their bug report pages are really long. You see, they judge the importance of a bug by how short their scrollbar grabby-thing gets.
    • Post to Ubuntuforums. Be sure to sound really spoiled.
    • Tell yourself that you don't need that feature. Tell yourself that if you wait patiently you'll have it in 2 years, maybe.
    • Write something along the lines of "I totally need this feature XXX to work. Someone help me" to every mailing list you can find that ends with -devel.
  • When others have problems, do one or more of:
    • Tell them that it works for you, and give no further information. New users must learn on their own. Remember this. It's for their own good.
    • If you're a little more motivated, tell them that it works for you, and then tell them about your hardware that is totally different from theirs.
    • Never reveal that you actually have no idea what you're talking about. Suggest random solutions like patching their kernel.
    • If they're trying to watch some video or listen to some music in a non-free format, drop some knowledge on them about how they're poisoning society. Trust me, everyone really cares. They're just too stupid to know to care.
    • If all else fails, yes, you can tell them that they don't really need that feature. By wanting it, they're just prolonging their addiction to useful software.
  • Most importantly, write blogs, comment on blogs, post on forums , anything, to tell people that your Linux desktop does everything you need, but make sure you know absolutely nothing about the proprietary software workflows that exist on other platforms. It's really important that you have a "clean room" opinion, unaffected by the imperfections of the real world.


Friday, June 13, 2008

$$$ Cha-ching $$$

Let me let you in on a little secret. Someone has already figured out how to make tons of cash off of open source. And it's not your puny boy Red Hat.

While you guys take to your internet forums and irc channels and jerk each other off, someone is laughing all the way to the bank. It's surely not me (I wish, and besides, you guys with your fucking adblock), but it makes me laugh too, since you're also doing a lot of their work for them, while at the same time making wild proclamations that nobody gives a fuck about.

Who am I talking about? Apple.

You see, Apple ganked a bunch of your code, turned it into something that people want, put it in a pretty box, and is making CASH MONEY from it. Maybe you guys are happy with that. A PROPRIETARY company (oh god, no! please no!) making money from your free work. All I know is that if it were me, and I had written a bunch of code to benefit humankind and promote freedom, and saw it get totally fucked up by downstream stupidity, and then saw some company take it and make 24 gigadollars's a year with it, I'd be fucking pissed.

But you know what? I don't feel so bad, because Apple guys are geniuses. They simultaneously have one of the most widely-deployed yet significantly closed software platforms, and yet they're raping the open source community for all its code. At least someone's doing something useful with it.

But the best part is that it confuses OSStards. It makes them cry. "Oh my god! it's so~~ non-free! but it's so~~ pretty. Oh I know! let me buy a Mac, and then run Linux on it. That'll show them!"

But guys, do carry on. I really do enjoy the circus.

Nokia says STFU!

I'm sure all you Slashtards have seen it by now.

Nokia tells the OSS world to grow the fuck up.

Nokia says:

We want to educate open-source developers. There are certain business rules [developers] need to obey, such as DRM, IPR [intellectual property rights], SIM locks and subsidised business models.


Translation: thanks for the code guys! but your "freedom" thing makes it hard for us to actually make money. We're gonna learn you some economics ok?

The primary thing they learned after all their involvement in the Linux community?

Don't make your own version. The original mistake we made was to take the code to our labs, change it and then release it at the last minute. The community had already gone in a different direction than [us], and no-one was pushing it other than [us]. Everybody wants to make their own version and keep it too close to their chest but that leads to fragmentation.


Shiiiiet. You don't say. Open source people take code and make incompatible versions of the same thing? I would have never guessed. Can you give me some examples of that? Because I can't believe your claims without actual examples.

Good luck trying to herd these ego-driven cats, Nokia. I strongly recommend you purchase the biggest shit-shield you can find.

edit: Apparently you guys can't read. Nokia said that EVERYBODY forks the code. I don't give a shit if it's some proprietary company or some open source buffoons. The point is that _everybody_ does it because they don't know better, and _that_ sucks as a development model. Nokia is sane (and stupid?) enough to tell everyone that it doesn't work. But somehow it's ok when Ubuntu forks Debian? just cuz it's some OSS project? Please.

I guess you guys really need my help to read between the lines. Proprietary companies always come at this the same way. They look at the code. They say, "wow, there's some useful code in there, but over the past 10 releases these guys have broken something every time. We can't depend on this bullshit, so we're gonna fork it."

Eventually they come around and realize that it doesn't really work, but what other option did they have? They want the code, but they can't depend on the project managers to get their shit together. I mean why should they? Volunteer contributors to the project have no incentive to listen and or cooperate.

The final conclusion usually is that open source projects are a fucking huge pain in the ass to work with if you're trying to get anything real done as a company and you have assloads of customers who don't give a fuck how your product is built. The projects who adapt and figure out ways support and incorporate paid developers (from real businesses) are the ones that usually succeed.

edit again: I hate myself for biting. I hate you for wasting for my time. Serves me well for giving any credibility to what you Anon commenters write. Hurray for the internet. You guys are helpless. Go write code for a living and use Linux for 10 years and then come back. I might listen to you then.

Anyways, I didn't say that all forks were bad did I? But you know what? The bad forks grossly outnumber the good ones. Worse yet, each bad fork has collateral damage. It confuses the landscape needlessly, confuses users, and reduces cooperation and coordination among the already scarce developer resources. As it is, I've watched osstards fork things for so many stupid reasons that I don't trust them any more. And worse, I've seen osstards fight among each other for years and years over two or more forks of a program that all look the same to any normal user. Y'all are free to do what you want, but I'm also free to make fun of you for it.

Suck my codec

OMG. The Linux Hater fucked up! He got p0wned! He forgot about codec-buddy, one of Ubuntu's great achievements over Windows.

Uh huh. I knew I shouldn't have started that shit with you guys.

If y'all just take one giant fucking step back, you'd maybe notice that 99% of the computing population doesn't even fucking know what a codec is. And you know what, they don't give a shit. You see, they go to youtube, or abc.com, or hulu, click a few buttons, and they're watching the stuff they want to see.

Why? I shouldn't have to tell you this. It's because the codecs that they actually want either ship with their platform, or are installed automatically for them.

Why don't Linux distros do this? Oh, I remember, freedom, or something. Here's a suggestion: what if you guys actually work together with the people that created the technology so that you can ship distros where I don't even have to install codecs? OR why don't you create a stable enough and consistent enough platform that a website can install a codec for me, so that I can get to my porn without having to drop to the command line.

But congrats guys. You optimized the shit out of a problem that most computer users don't have. Go Linux! Go Open Source! Create more problems then solve them!

Besides, we all know that the vast majority of people on Windows having codec problems are just trying to pirate shit anyways. But you know, please keep filling up my RSS feeds with you bitching about how Microsoft doesn't make it easier for you. I mean, clearly, you've already shown your willingness to pay for stuff. I predict Microsoft is going to jump right on that shit. Please hold your breath.

Thursday, June 12, 2008

Oh no! Linux runs on everything!

Tuxtraining.com claims we should get the facts straight. OMG, I can just sense the knowledge about to be dropped on me.

Alright, let's start off slowly, shall we?


While LinuxHaters (a Linux hating blog, ran on a Linux hosted service) is grabbing a bunch of attention lately by carrying the flag of Microsoft's FUD...


Well what do you know... I just talked about Blogger running on Linux. And I'm spreading Microsoft FUD? Dude, where have I repeated Microsoft claims in any of my posts? Besides those guys don't need my help spreading FUD. They're very good at doing it themselves, and they also pay people to do it. Why the hell should I do it for free? Why would you accuse me of such a hurtful thing? Oh wait. I remember. You guys just like to do that when someone disagrees.

Moving on. I'm going to paraphrase you. Linux runs on a bunch of random devices. Sweet dude. I don't see my computer in that list. Oh, you're also saying that there are groups of people out there that spend a bunch of money and time making Linux work for them. Way cool. I totally want to run their air traffic control system on my desktop.

But ok ok, that doesn't do you justice. Let me concentrate on a few specific things. You seem to think that Linux is suitable for my desktop as well. Here's what you say:

Linux takes up about 1% to 3% of the desktop market


Woah really? awesome. That makes me feel a lot better. When I have problems, 1 to 3 in 100 computer users will have a fucking clue what I'm talking about.

On most Linux distributions you can install 100 pieces of software in 102 clicks.


I think you mean 100 pieces of crappy software. Wow, you made it really easy for me to install pieces of shit. Thanks man! This is the best?

How about I write a script for you that downloads everything from download.com and installs it on your PC. Will you come back to Windows then? Please?

You can upgrade from one version to another without wiping your drive clean, and again only clicking 2-3 buttons


Yep, cuz that totally works.

Linux is mostly free of viruses and someone being infected with one is rather rare. Spyware in a Linux system is almost non-existent.


Hmm, I think we covered that one too. I get the feeling that someone doesn't listen during class...

You can install the OS and most of the software you need in under an hour with user-friendly distributions such as Ubuntu, Mandriva, Suse, Fedora, PCLinuxOS, etc...


Fuck. OMG. Really? Could you then please tell me which ones work with my laptop? None? great! No, I know, distros still are awesome though.

You no longer have to go hunting for codecs and drivers, apps like CodecBuddy and Restricted Device Mangers aid you installing proprietary necessities with ease.


Ha ha. You make me laugh. You know, it's really easy to make it so that you don't have to go and download drivers and stuff when there aren't any worth downloading to begin with.

And codecs? Dude. I can install VLC on my Windows box faster that you can bend over.

You have a ton of choices when it comes to any problem you may need a solution for.


You got me, I love choices. How 'bout you tell me the choice that actually solves my problem. What? There isn't one. Fuck you then.

There are scientific specific distributions ( SL ), educational distributions (Edubuntu ), and many more that have software sets that cater specifically for your usage of that machine.


... you forgot about the part about all those variations make it really fun for ISVs to build software for your platform.

This article came out recently: http://www.networkworld.com/research/2008/060908-green-windows-linux.html?fsrc to some criticism about how green Linux really is. Most of the points are debatable because there's far too many points to take into consideration.


Oh, so your argument is that there are too many points, and so the author's points don't count. I've never witnessed such advanced logic. I may have something to learn from you.

Every time a new version comes out, does not require you to purchase massive upgrades in hardware like other OSes.


I think you missed something. You forgot to mention that you also don't have to go out and buy new versions of useful apps, because there aren't any! Yay!

It's a common misconception that Linux doesn't have support. In fact, this couldn't be further from the truth and in all reality it is supported more so than Windows itself and that's one of the best things about it.


Huh? What world do you live in? There are a bajillion Windows desktops out there. Those aren't supported? Man, whoever bought those desktops must have really messed up.

But hey thanks for listing every Linux use case you can think of. You've proved that all the Linux deployments that actually matter still fit on one page. Do you want me to list all the places that Windows is used? I think I can probably beat your list. Actually, don't ask me to do that. I'm too lazy. And you already wasted this much of my time with your lame-ass article.

It's over! Blogger runs Linux!

Holy shit! Oh my god! I'm doomed. DOOMED!

Many of you have bothered to tell me that Blogger runs on Linux! I must be a giant hypocrite with a huge dick.

Fuck you guys. In the ass. With my huge dick. Because I must be gay.

And by the way, I'm light years ahead of you. If you actually bothered to read anything more than the title of this blog, you'd know that I totally read your asshat minds in my first fucking post.

But you know, please keep posting comments here and on Digg about how netcraft says Blogger runs Linux. Because that just might make your mothers and fathers a little bit prouder of you. "Awww, look, our little nerd's all grown up and contributing to society."

You guys just don't get it do you? It doesn't matter if Blogger uses Linux or not. It's not my problem. They provide a service. It's reliable. I use it. It could be running on a super computer embedded in Sergei Brin's left testicle, and I still wouldn't give a fuck. (Actually, that would be pretty damn cool, but please don't show me any pictures of the "case mod")

Point is, Blogger doesn't fuck up everytime my lady and I want to watch a movie. Blogger doesn't give me a fuckton of choices I don't care about. Blogger doesn't make me lose days and days of productivity (you know, when people actually do something with their computer?) every 6 months. AND, if Blogger does fuck up, it's not my problem. If Google people want to use Linux to run Blogger then cheers to them. If they fuck up the service, then I'm out. If the new Ubuntu fucks them over, then boo hoo. They're the ones that have to fix it. But you see, if the site goes down, I trust them that they'll do more than just tell the rest of the world "works for me! fuck off!"

So don't be an ass and go around trying to tell people that I'm a fake-ass hater by saying that somehow because Blogger runs on Linux that all my hatred is all invalid. Blogger is good because of the people who run it, you dumbshit. See, they test things. They don't randomly change shit because it gets them off. They care about me being able to do something I couldn't before. And so far, they seem to be succeeding.

Y'all on the other hand, should get a mailorder gay dude-bride, name him Linux, and marry him. Then Linux can fuck you in the ass too. Until you do that, you don't know how the average user feels after you installed Linux for him and then left him on his own.

Wednesday, June 11, 2008

Evolution of an Ubuntu user


Most Ubuntu users start as Windows users (though, occasionally, they can be using other Linux's). But they all go through the same phases:

  1. First install: Sweet! This thing actually kinda detects most of my hardware that except for the things that I paid more than $100 for. Brown is refreshing. This is the best distro evar!
  2. 6 months later, first upgrade: Fuck, my ____ (insert wireless, graphics, acpi sleep, whatever) broke! Oh but I must be a rare case, since the "community" is testing all these releases. Ok, whatever, I'll let this one slide and I'll spend the next twenty hours fixing it and I'll post something about it in my blog, and then spend another 10 hours being helpful on ubuntuforums.com. Brown is getting boring.
  3. 6 months later, second upgrade: Fuck, now my ___ (insert something from the same list above. Inserting the same word as the previous blank is also allowed). WTF is going on here? I thought these time-based releases were supposed to be awesome.
  4. 6 months later, third upgrade: F!$$!@$!@$!@#!@. Now my compiz is blacklisted, my wifi doesn't work anymore, NetworkManager is ass-raping me, and my laptop still doesn't sleep. WTF guys!? I'm so pissed at that luser that told me this shit was better than Windows. Brown is the color of ass playdough.
  5. Some amount of time later: I'm fucking using the LTS. I can't stand this shit.
  6. 6 months later: This LTS is working a bit better, but now there's a new release out. Oh and it has some pretty new feature I want, and it's supposed to work with my graphics card better.
  7. 1 hour later, after upgrade to non-LTS: F$@!#!@$@$@!#. I hate Ubuntu. Fuckubuntu. Oh, but there are these hundred other distros I should try...
At this point, some users wake up and figure out they should just buy a Mac. Others are lost forever.

Tuesday, June 10, 2008

Gnome's getting old and fat

Fantastic news! Looks like one Gnome developer is disenchanted. Boo hoo. Are you guys as happy as I am?

His post kinda rambles, but let me sum it up for you. Yada yada... Gnome devs have finished all the easy parts of creating a desktop... blah blah... We've copied all the metaphors from other OSes... blah blah ... they've got all the basic pieces which we can now repeatedly break from release to release ... gibberish ... Evolution's still broken ... yada yada ... There's nothing left to do ... nobody has any vision.

Yep there's nothing left to do. Uh huh. No vision. No useful problems to solve.

Wait. I can think of a few.

How about coming up with a development process that makes sure things don't break every release? Difficult? yea, no shit.

How 'bout making it possible for ISV's to ship software for your platform. What? That's really hard? yea. no shit.

How 'bout getting OEM agreements and getting your desktop shipped on a majority of new computers. Really hard too?

How 'bout a working Exchange client? Really hard? see a pattern?

But no, instead you just have to work on the next big thing. Perhaps yet another graphics library. Because clearly, that's the only thing holding Gnome back from world domination.

Monday, June 9, 2008

At least we don't have any viruses

One sure thing that a luser will say to you when you criticize his shitty operating system goes something along the lines of "but at least I don't get any viruses."

Good for you dude. I don't get any viruses from your mom either. I'm protected. So please cease and desist your blabbering. Are you trying to convice me that not getting any viruses is a symbol of high quality of your choice of software? The fact that you're attributing that characteristic to Linux has already earned you a spot on my hate list.

Besides, I can make my computer immune to viruses. Just watch. Pop! Did you see that? I unplugged my network cable.

The luser wretches, "Oh but that makes your computer useless!" Yeah, well so does putting Linux on it. What's your point?

The truth is, an OS's low virus infection rate in and of itself means jack shit. I can write the code for 10 OS's that don't get viruses for you in 3 minutes. Fuck, that's faster than Stanley Jobson.

Macs don't get viruses either. Because like your OS, they're a small part of the installed base.

But actually, what no one talks about is that writing a virus for Linux is really hard. And that's not necessarily a good thing.

The luser whales, "OMG, But how can that be? BBQ!"

You see, a virus needs to make certain assumptions about your platform. Certain libraries existing, with particular ABI's. Certain data being accessible through particular API's. In other words, a common set of core components that are available on every install of your system so that the virus's code can be small and compact and yet infect as many machines as possible.

Wait, this sounds familiar. Oh yea, that's right: real software needs that too. Why is there no proprietary software for Linux? because for all practical purposes DEPLOYMENT IS IMPOSSIBLE. The Linux market is so small that there's no point going after it unless you try to support all Linux deployments. Hmm, well what does that mean? At least 3-4 major distros, which all have multiple versions of the past few years with different kernels and different libraries and different versions of GTK and different ways to integrate into the start menu, and different broken versions of evolution. Fuck me! Sounds like awesome fun. I'm glad people have all these choices. They can have another choice: FUCK OFF! I DON'T WANT YOUR FUCKING HIPPIE MONEY!

"The web is the future of application delivery." Yea, good one dude. I see Google making fistfulls of dollars with that idea, but what the fuck are you doing with it? Go ahead, cling to your Linux like it's the only thing that might ever give you sexual pleasure... if you could only find the right compilation flags (btw, did you try -fuckme?) Maybe web-apps are the future. But I'm pretty sure it's at least 5-10 years out, so have fun hacking on your ATI drivers until then.

Rants heard 'round the community, ver 5

The Freedom Blog expounds on how Ubuntu is wrong for America. "That's just back-door communism."

Sunday, June 8, 2008

Standardizing Linux Suckiness

If you've been following Linux for as long as we have, you instinctively wince at any mention of the three letters L-S-B. Yes, they're the people that once promised to come in and standardize the cluster-fuck that is Linux distros and create something that ISV's could actually ship against.

What have they achieved so far? Take a look for yourself. Yay, we have tons of out-dated platforms, and FOUR fucking apps. Fanfuckingtastic job guys. You should be proud that after so many years, a few crazy French dudes at the wine project have done way more to make applications shippable on Linux. Meanwhile, you've caused distributions to waste a bunch of precious time that could have been spent adding more bugs to core security libraries.

Wait, wait. I'm not done. I got a suggestion for you guys. It's total super rocket science. It's way more advanced than huge automated test suites, static code analysis, or any other shit. It's crazy hot, even more so than your mom, and your mom's mom:

STANDARDIZE THE BINARIES.

By that, I mean ship the same fucking kernel, the same gcc, the same glibc, the same libstdc++, the same coreutils, the same fucking core system. Every distro can take the same bits, and package them and add layers and layers and layers of scripts around them however they want. But in the center, use the SAME binary code. And if there are bugs, work together to fix them.

What happens then? as an ISV, I know that if I can run against this set of binaries, then my shit will run on your system. I can minimize my dependencies on other freetard libraries that will break at any moment. In other words, it becomes a tractable problem. All the distros can still pile all their incompatible stacks of feces on top, but at least something at the core will be common and predictable.

With the same binaries, I also don't need test suites. I don't have to test if your bits act the same as mine because they're the same bits. This isn't so different from Mr. Shuttleworth's release cycle synchronization argument. In practice, if everyone ships the same kernel and gcc and glibc, you'll probably end up with the same binaries anyways.

But what about the CHOICE? Thanks for asking, fucktard.

Let me give you a choice: a distro with glibc-2.6.ass which adds some obscure function that has no relevance to your daily life, OR your favorite Windows app ported to Linux. Which would you like? I thought so. Now please step the fuck off.

If these lusers are ever going to be taken seriously, they'll need to realize that there are choices that matter, and then there are those I hate you for. I want a choice between good and better ( like choosing between fucking Angeline Jolie and Heidi Klum), not the choice between suck and suck more (like deciding to wanking off to Danny DeVito or Pauley Shore).

Crappy choice #1: The kernel. I don't care what kernel I have. I want my hardware to work. I want the kernel to be stable enough so that hardware companies can hope to write open or closed drivers for it without having to read lkml. I want my scheduler to be consistent and long-living enough so that others can learn to actually optimize for it.

Crappy choice #2: glibc. I don't care what glibc I have. I want my apps to work. I want Adobe to think, "hey shipping software for Linux is not quite as bad as anal rape."

It's a tragedy of the commons really. Every fucking distribution picks its slightly different upstream versions, because they think they can do it better than everyone else, or they want to be more cutting edge. Of course, in the process, they segment the platform. Oh sorry, did that go over your heads there? Is that too advanced for you? Can you not see that your new awesome slight variation of the Linux platform is another fucking reason I'm not going to ship my awesome app for Linux at all?

It's not too different from watching Democrats fight between Obama and Clinton. If they could just get over themselves and stop bickering over implementation details, they could easily win.

Y'all need to see that if you actually let go of your stupid reasons and actually fix Linux's problems, you could actually create something that could take over the world. Actually, now that I think about it, don't do that. I like hating on you guys. Please, continue defecating on each other and being the laughing stock of the software development community.

Saturday, June 7, 2008

You're so Campy

If you've noticed, up until now, I've mostly refrained from responding to your comments. But one from my last post particularly reminded me of something hate-worthy. So thanks for the segue anonymous dude:

Here's this shit that came out of your mouth:

So the truth is out, you're in it for the ad click money.

And you must be from the GNOME camp because these points were far less incisive than the ones brought up about KDE yesterday. And that's not due to lack of things to criticise, as abel has pointed out.

I'll just take the first sentence to mean, "Hi, I'm a freetard. I'm going to drop some free knowledge on y'all."

But I hate you for the second part. You see, all you fucktards see one little criticism YFDE (your favorite desktop environment) and automatically assume that I'm from one camp or the other.

Actually, you're right: I am from a camp. It's called the FUCK ALL OF YOU, I HATE YOU camp. And you know what, judging from market share numbers, it actually looks like most of the rest of world is in my camp too.

Here's the difference: Take a software product from some commercial company. If you ever get a chance to get through the marketing folks and talk to their devs, chances are that they know exactly all the ways concerning how their products suck. They'll have a huge list of reasons of why they can't implement some feature that you, non-paying, ass-hat, non-customer, wants. And then they'll tell you what they should, "Show me the money, or bugger off. We're working here." And then they'll talk shit behind your back about how you have no idea what it takes to ship reliable working complex software.

What do you get in the Linux world? Actually, most of the devs are the same. They wrote the code. They know how it sucks. They wrote it for fun, and they don't give a fuck. But some fucktard user who thinks his limp dick is great software comes along and starts talking like it is the shit. And he has to tell everyone else. And if you don't agree? fuck, you must be in that other camp.

But really, thanks for that comment. Sometimes it does take someone to shit on my front porch before I can really describe the stench to you.

Friday, June 6, 2008

How to write a Gnome Application

By popular demand, a guide to writing a Gnome app:

  • Find some reasonable app from another platform (Windows, Mac, KDE, whatever, but preferably, Mac). Bonus points if there are already 3 other gtk-based alternatives who don't want to integrate with Gnome.
  • You MUST have a g somewhere in the gname. Extra credit if you can make it a "gn". If you can use "gnu" or "gno" or "gna" you're are gnawesome, and your app is already worth using. Make sure the name of your app bears no relevance to what it actually does. Also, NEVER document if the g is pronounced with the hard-g sound.
  • Use at least two object frameworks. Three is even better. I mean the "O" in Gnome stands for object, after all. Take your pick from Corba/Orbit/Bonobo/D-bus. Make sure at least one of them works over the network, but make sure your app never actually uses it over the network.
  • Remind yourself that OO in C is not so bad. assert(gtk_no_really_its_not_so_bad). Also, remind yourself that GTK+ is way better than Qt because it has no commercial company writing code for it. So, you know, it's more free, or something, and it's got a + in the name.
  • Generate wrappers for every conceivable language, but make sure none of them work exactly how you want. Inisist that your distros package each wrapper in a separate package.
  • Explain to at least three other programmers how glib doesn't really have much to do with gnome. Because they care.
  • Don't forget a Tango Icon!
  • Make sure your app builds on windows, but looks like ASS.
  • Enumerate all the features you want your app to have.
  • Cut 90% of them. Because they're hard to do. But tell everyone that they don't actually need that feature.
  • Implement 2% of them. Hide the other 8% in gconf. Hide them well.
  • Your interface must not have more than 4 buttons.
  • Make sure it depends on at least four other libraries with g's in their name. That raises your apps' gnomyness
  • Don't use Mono, because you are spreading your STD's to everyone. No, wait, use Mono, because it will make you way insanely more productive. Wait, no, don't use Mono, because if you do, some freetard distro that nobody uses won't distribute your app.
  • Depend on a module that is "heading toward planned deprecation" so that it will now be "at the end of the Obama presidency we will almost have consensus of heading toward a planned deprecation over 20 years."
  • Ressure yourself that even if your app sucks, at least it follows the HIG.
And btw, I know y'all are using adblock to avoid my fucking ads ok? (or subscribing to my feed because I can't fucking figure out how to put ads on that damn thing) At least digg me, you cheap bastards.

Rants heard 'round the community, ver 4

Check it. I'm already up to version 4. That's more mature than most open source projects. Take that uncle-fuckers.

Anyways. So obviously, the problems with Linux are that the OEMs don't really support it, right? I mean if you get a Dell that's preconfigured with Linux, then it's a totally awesome experience right? Sure it is.

This account of disaster makes me so very happy. All you peeps out there who thought, "Oh if Dell would take the same shitty software and ship it on their machines then all our problems will magically go away!". I hope you all bought Dells. I hope you are all suffering like this guy.

The even sadder part is, he thinks upgrading to Hardy is going to fix his problems. It's like watching a guy stab himself. You want to help him, but you know he can only learn on his own.

Swap! Swap! Swap!

You know, hating on things is like life itself. Sometimes it's hard to go on, hard to find motivation. Beating a dead horse gets tiring, however much the horse deserves it.

But then occasionally, you find something that gives you the strength to labor on.

For the lazy, it's a "tip" on how to use your spare VRAM as swap space.

I'll spare you the details, but I'll leave you with just the intro for some shitnuggets of wisdom on why anyone would want to do this:


Everybody considers today's graphic cards to be meant only for gamers. After all, why would one need a fast GPU in a server? Today's graphic cards contain a lot of very fast RAM, typically between 64 and 512 MB. With Linux, it's possible to use it as swap space, or even as RAM disk!


Oh really? Sweet. Does this mean I can use my four PCIe x16 slots and put in 4 ATI cards with 1GB of VRAM each and get 4G of swap space for like $3000? Oh! Oh! Can I even use OGD1? Because I want the hardware specs for my swap space to be totally open.

I think he should have written:

"Switched to Linux and realized your fancy pants graphics card is totally shit now? With this trick, you'll feel better about spending $500 bucks on a video card that's totally useless because you actually believed someone who told you that you could switch to Linux and use compiz to drag your pidgin windows around in ways that you never imagined."