Thursday, March 7, 2013

It just works

The argument continues.  I received another email stating:

"It comes down to Mac just works, Windows just works, Linux requires time and effort to get it to work.  If the Linux community was not so fragmented, this problem could easily be solved (and I'm not just talking about the UI)."

Enjoy my rant, part 2:

Ever try to get Windows to install from the store-bought CD and find all of the drivers and devices?  I've had serious problems getting Windows to "just work".  With Linux, the drivers are already included.

I remember setting up a computer for my brother was a real headache in windows.  After installing the OS, the video card (nvidia) wasn't recognized.  I went to Nvidia's site, all while in 800x600 resolution, to download the drivers, and the driver said it required Direct X to be installed first.  I went to Microsoft to get Direct X, and they wouldn't let me get the download until I verified my copy of Windows.  I downloaded the Windows verifier, and it said I needed to upgrade Internet Explorer before I could verify my copy of Windows.  I updated Internet Explorer, verified my copy of windows, installed direct X, then finally installed the nvidia drivers, all while browsing the internet in 800x600 resolution and getting errors like "This page may not display correctly, please update your browser."

That was just for the video card.  I've had to pull my machine apart trying to figure out what devices they have because the device manager won't tell me until AFTER the driver is successfully installed.

I installed Ubuntu on a computer with the same hardware.  Everything just worked.  Sound, video.  I just had to customise things like the themes I wanted.

My parents have an old desktop that dual booted between Windows and Linux.  I had all sorts of problems in windows with getting things to work correctly.

Anyway, I hope this doesn't come off as argument.  I just think the "just works" slogan is over-rated, especially for Windows.  At least with Mac, they have a limited set of devices to work on.

Now, to play devils advocate, I had some fellow students at the U that came up with this slogan to make fun of me when I was having problems configuring linux:

"Linux is only free if your time is not worth anything"

That used to make me pretty upset :-)

I've had my share of headaches on both Windows and Linux.  Both Windows and Linux can be imaged so you can easily install in bulk.

Wednesday, March 6, 2013

Gnome: The pot calling the kettle black

I received an interesting email recently about one of the Gnome founders jumping ship for Mac, claiming linux has problems with their desktop environment.

Here is the article:

Gnome co-founder explains why he dumped Linux for Mac Miguel de Icaza says desktop Linux 'never managed to cross the desktop chasm'

Please enjoy the following rant:

Honestly, unless he is no longer associated with Gnome in the last few years, it's very hypocritical to say linux didn't bridge the "desktop chasm" when in my opinion, it was largly Gnome's fault for creating a chasm as of late!!

They had gone so far and made such progress to making Linux THE desktop, but then they abandoned it all for Gnome 3, requiring the MATE guys to take over their abandoned project.

Ubuntu was basically the same between 2006 and 2010, and just becoming increasingly stable.  The chasm was all but closed.  Then some idiots at Gnome decided to tear a giant hole in the whole interface.  Simultaneously, Ubuntu decided to go the route of Unity.  Both aligned in the stars to almost destroy desktop linux and put it back to being server software.

That's why I'm so mad lately.  Finally, Mint 14 and the guys maintaining MATE are getting us back to where we were in 2006.  We've regressed 7 years.  2010 things were almost perfect, but now we have the bugs of 2006 again.  2010 gnome-based linux desktops with compiz could know all other OS's out of the water, Windows and Mac combined.  They had the best interface, everything just worked, and it was more customisable than Windows and Mac put together.

The linux desktop has had features for more than 7 years that Windows and Mac have only recently been getting some of.  I can't speak to pre-2006 linux since that's when I got into it, but in 2006, they already had:

  1. cube for multiple desktops
  2. ring switcher
  3. expo
  4. app picker
  5. you could even wear 3D glasses for added effects!!!!
  6. window animations
  7. easy-to-configure shortcuts (how do you do virtually any custom shortcuts on Windows or Mac?)
  8. etc, etc

This assessment isn't even including KDE, XFCE, LXDE, Enlightenment, and other window managers that have features galore themselves.

The fact is, Gnome is one of the biggest and most popular attempts to make linux a desktop environment.  So a Gnome founder abandoned the very project attempting to "cross the desktop chasm".  How ironic.  That's like a cook complaining he doesn't bake a cake very well and going to the store to get one. Hence, the pot calling the kettle black.

Don't get me wrong, I'm very happy with all of the efforts Gnome has made over the years, I am just upset with their recent decision to regress more than half a decade.

Friday, March 1, 2013

The Programmer's Bible

The thought occurred to me yesterday that they have many versions of the bible in many translations, including modern english, so why not make a programmer's translation of the bible?  The language it would be written in would be "script-ure" ;-)

The book of genesis would look like something like this java class:

public class Genisis extends Bible
{
    public Genisis()
    {
        beginning();
    }
    void beginning()
    {
        God.create(new Heaven());
        God.create(new Earth());
    }
}


There would be a holy war between which text editor should be used to read the bible...  Heck, they already have a Church of Emacs.

Or maybe a perl-esque way of scripture.

Lord's Prayer:

our $Heaven;
for our $Father in @Heaven {
  hallow($Father->getName());
  $Earth->add($Heaven->getKingdom());
  do {
    $Father->will($Earth);
  }
  while($Earth->result() eq $Heaven->result());
 
  eval {
    $Father->get("Bread", DateTime->now->subtract(DateTime::Duration->new(day => 1)));
    my @tresspasses = sin();
    while($Us->remove(@others->getTrespasses())) {
      $Father->remove(@trespasses);
    }
  };
  if(@_) {
    warn $temptation;
    break $evil;
  }


Here is an LDS teaching in that language:

my $guilt = sin();
my $forsaken = result($guilt);
if($manKnows && $forsaken) {
     confess "forgiven";
}

(D&C 58:43)

Or maybe a bash like language:

#!/bin/bash
able=5
run -o ConnectTimeout=$able | grep "diligent"
#output: You won a prize!

(Mosiah 4:27)