Dec 27, 2007

Love: Speed

One thing I've noticed about Ubuntu (or Linux in general) is that it is much faster than Windows. XP might run faster when it is first installed, but for the amount of junk that I have installed on my Ubuntu partition, that is not surprising (including Apache/MySQL for web development). Vista however, is a whole new story. I haven't tried it on my machine, but I tested it out for a while on a machine similar to mine and wow, is it ever slow! It doesn't even have Aero enabled. I'll bet Compiz Fusion will run no problem. Anyway its slow to open up Firefox, it's slow to run messenger, and I tried to install something but it wouldn't let me since I wasn't an admin. Could I at least install it to my local folder? It seems like a rather weak security construct, like they pulled the solution out of their ass. Ubuntu runs faster on the Live CD! God damn. I heart the relative speed of Ubuntu.

Dec 21, 2007

Hate: The fragility of Linux

Linux is very reliable...provided you don't touch it. It's like a card tower. Once built up (and it takes a while), it's great, but the slightest touch will knock it all down. Such is the case with Linux. You accidentally mess something up in a config file, and there goes your system. Fortunately it's usually fixable, depending on if you have anything to do in the next few days and have another computer handy for forum-searching or another Linux geek around to help you. Failing these, Ubuntu allows you to use the LiveCD to screw around. But again this requires you to know what you're doing (if I had known what I was doing though, I probably wouldn't have been in this situation in the first place!). In contrast, Windows (and probably Mac too, but I haven't used Macs enough to know) generally take a lot of work to bring down the system. Unless you're an idiot and open the "is this a picture of you?" MSN messages or use IE6 to browse porn sites, in which case the seventeen million viruses that you just picked up will bring your system down. However for you to sit there yourself and bring it down, you have to know what you're doing. Funny how in order to fix things under Linux you need to know what you're doing, but you need to know what you're doing under Windows in order to break things.

Dec 10, 2007

Hate: Linux Drivers

This is not specific to Ubuntu, but since Ubuntu is based off Linux, it gets the flak too. Ubuntu does provide a little thing that gives hardware information, but unfortunately it's a bitch to navigate, and when you finally find the device you're looking for, it probably won't have the information you're looking for (like what driver the device is using).

One of the golden rules I've learned of Linux is: if it's only semi-broken (working by Linux-geek standards) then don't try to fix it, you'll only make it more broken. Today I tried to fix my sound. The surround sound and everything works already, but I want to get the headphone jack at the front of the tower working. Even better, it would mute the speakers while the headphones are plugged in. I haven't tested it under Windows yet, so I don't know if it's a hardware thing or not. Anyway, I found a nice post on Ubuntu Forums that apparently made it work. So I followed what it said, but ended up borking the entire sound system. The system didn't even detect my sound card anymore (weird, since it detected it when I put in the LiveCD). Oh well. I eventually had to reinstall the drivers by hand from the alsa source - not cool. This got me back to square one, with the sound actually working but no headphone support. I've decided not to touch anything anymore. I think it's funny that Ubuntu works so much on next-to-useless things like Tracker and Compiz Fusion but when it comes to important things like device management or office software, it is sorely lacking. Times like these make me miss Windows.

Dec 9, 2007

Love: Kate

No, Kate is not a girl. Kate is a text editor. It comes with KDE by default, but unfortunately not with GNOME (probably because it is a KDE program). I've noticed that I really prefer the set of KDE apps to a lot of their GNOME equivalents. Kolourpaint is much better than gPaint, KDevelop is better than Anjuta, and I like KPDF as the default PDF file viewer. Unfortunately I don't like the amount of options given by KDE, so GNOME stays. I do think though that KDE is better for beginners, as it looks nicer and I think it is easier to use. GNOME has a bit of a boring look to it.

So now to Kate. Why is it awesome? It just is. There is syntax highlighting, intelligent indenting and support for a lot more languages than with Gedit (like bison grammars). It keeps all your open documents in a vertical, hideable list on the side. If I have over 20 documents open, the clutter is about the same as if I have one document open. With Gedit for example, I can have about 5 documents open before I have too many tabs to fit on the screen. With a vertical bar, I can just click the one I want to switch to.

Kate lets you configure it more. I don't like the default shortcuts for changing the current document, so I put it to the way Firefox switches tabs: Ctrl+Tab and Ctrl+Shift+Tab. Hooray! Much easier than what was there before. There are also lots of plugins out there, so I have things like code-folding and bracket-matching. Awesome. What finally takes the cake is that the highlighting schemes and all that are shared between KDE apps. So KDevelop and Quanta will have my code look the same as Kate does. That way if I have a tiny change to make, I can just open Kate instead of an IDE and that takes a lot less time.

Nov 30, 2007

Hate: Open Source Zealots

Definition: Open Source Zealot - (n). One who supports open-source software (OSS) religiously. Will refuse to use software unless it is open-source. Has many insults and assumptions about closed-source software.

Personally, I think that these guys are one of the things that hold Ubuntu back. They demand that everything be open-source on Linux, and then wonder why many hardware manufacturers do not make drivers for it. And when the manufacturers actually do make drivers for it, the OSZs call it "buggy closed-source software." Last I checked, the open-source equivalents are generally buggier, or less functional. Compare ATIs closed-source drivers to the open-source ones. Proprietary: probably won't support your hardware, but very functional when it does. Open-source: 2D graphics only, no 3D hardware support (so effectively the same).

The Ubuntu developers are aware that the proprietary drivers are better, but they can't have them enabled by default or they will be demonized by the open-source zealots. Instead, they have to label them as "Restricted" and specifically ask the user if they want to install them. If average Joe uses Ubuntu (it is important to note that Joe does not know anything about open-source, nor does he care) and sees this little pop-up that says "Restricted drivers..." he will think it's a bad thing like a virus and panic. "This whole new operating system is already scary enough and now it's telling me that I have restrictions!" Gobuntu should be the only one that differentiates between closed and open source, the other versions of Ubuntu should by default have closed-source enabled and if the open-source zealots want to disable it, they can by all means do it.

The one thing that open-source zealots really do not understand is that the computer market (probably more than most markets) is governed by economics. Economics dictates that firms are rational, profit-maximizing firms (with exceptions of course). The majority of firms are in the business to make money. They can't make money off of open-source software, so why would they make their software open-source? The costs of making the software open-source by far outweighs they cost of making it closed-source and charging for it (the cost here is that they have to take flak from open-source zealots). Also, the money that comes in from sales can be used to pay lots programmers to work full-time and even overtime. Large teams of programmers working 40+ hours a week and not having to work elsewhere to earn a living can get a lot more done than one or two hobbyists programming in their spare time on open-source stuff. In the days when Richard Stallman first started the Free Software Foundation, most pieces of software could be made by under five people in six months to two years. How many man hours went into designing Visual Studio, or Oblivion? These could not have been done in a reasonable amount of time under an open-source license. On a side note, one should observe that Vista took 5 years to come out not because the programmers were not productive, but due to the fact that Microsoft has the desktop operating system market in a choke hold and has no pressure to release the software on time.

Nov 27, 2007

Love/Hate: aMSN

aMSN is an open-source MSN client written in Tcl/Tk. It is probably the best MSN client I've found for Linux, which is one reason why I love it (love it because there is nothing better, awesome). I also love it because it is more customizable than regular MSN, it uses less memory than regular MSN (somehow), and it doesn't use ads.

Now for the fun part. Why does aMSN suck? The first thing that you will notice about it is the look. Before I get started, I will say that the developers have done an excellent job in this department compared to previous versions. Anyway it doesn't look so good. Being written in Tk, which is an inherently hideous library (looks like it's from a ghost of OSs past), the menus and dialogs look like garbage and do not fit into any theme. Under Windows it looks even more like garbage, with random colourings everywhere (who made checkboxes with a red background? First time you see it you think they are already checked). Also under Windows it never remembers any settings. So every time I restart the computer - which in the Windows world is a lot - I have to click the "I would like to minimize to system tray" when I click close. Nor does it remember any of the other settings like fonts or layout, so it just reverts everything to the default. Not that the default is that bad, a rare thing among open-source software, but I like a little bit of customization and I don't like having to redo my customizations every time I start the program.

For external programs like browsers, file browsers and opening files, it would be nice if aMSN figured it out for you what to do. It's easy to fix this, but annoying nonetheless (especially for non-computer-savvy people who wouldn't bother to check and would probably just dump the software). It would also be nice if the preferences dialog fit on the screen so that I could push the "Save" button without having to resize or move it. I have a fairly high resolution so there shouldn't be a problem here.

The final thing I have to say about this is it's stability. For the most part, the app works fine. However when the network goes down, the app freezes temporarily. If I click a menu, it shows the grey box after a while but with nothing on it. The repainting stops working and I don't see anything at all on the window. It also slows the rest of my system down a bit (weird on a dual-core CPU). This is slightly annoying when it happens, but the other day it happened while I was running two Java apps (Azureus in the background and Netbeans) which already used up most of the system's resources. Well that caused the entire system to lock up for about ten minutes before I pushed the reset button. This leads off-topic into the question of Linux's stability. The claim is that Linux freezes far less than Windows, however I find that Windows never freezes for me unless a driver is broken (which also happens in Linux). Linux on the other hand freezes when: a bug in GNOME or Compiz Fusion crops up (not so often with Gutsy but fairly often under Feisty), or when Java, aMSN or another one of the many programs written in a slow-ass interpreted language eats all my system's memory. I have 1GB of memory! Where does it go? Anyway this rant will be saved for another day.

Nov 23, 2007

Love/Hate: Netbeans

Although this is not related to Ubuntu, I am doing part of a contract in Netbeans and decided to describe the annoyances of it.

I used to love Netbeans. As a matter of fact, I still think it is the best Java IDE out there (although I still use Kate). Compare it to its main open-source competitor, Eclipse. My first experience with Eclipse was that it was a huge pain in the ass to do anything, and it ran slow as hell. Before I loaded a project, it would use up over 150mb of memory. After the project was loaded it was closer to 200mb. Then if I pushed the . operator for an object, my computer would freeze. So Eclipse was tossed.

So why does Netbeans suck? Well, it's written in Java. Therefore, it's clunky and slow. Compare it to Visual C++ or KDevelop which are (I'm assuming) written in C++, it has a far higher memory usage and takes longer for dialogs and such to open. Not to mention that Java GUIs are pretty ugly next to the lovely GNOME themes.

The biggest pain is the editor itself. I will not get into the holy war between spaces and tabs for indents, but personally I prefer tabs. Netbeans does use tabs, but here's the interesting bit. I like my tab size at 4. So I press tab, and Netbeans inserts 4 spaces (even though I specifically said not to replace tabs with spaces). If I push tab again, it gives me a tab character and erases the 4 spaces. So if I have one line that has one indent, there are 4 spaces and the next line with two indents has no spaces and one tab. From my experience the two sides of the tab/space argument both agree that mixing the two is a bad idea, except in certain situations. So why does Netbeans do it? Anyway I figured it all out, you have to set the tab size in the main editor options and then in like 8 different places for each type of file (Java, HTML, CSS, etc.). What a mess.

There are a couple other things about Netbeans that are a pain. The GUI editor, although fantastic for Java, doesn't produce a GUI that when executed doesn't really look like it did in the editor. You have to put some space at the top to make room for the menu bar (which has different sizes on different computers), and sometimes widgets will have a different size than expected, or the text on the buttons will appear as "..." instead of what was intended. After working with Visual Basic or Visual C++, this is a big pain. Don't get me wrong, Swing is a great library (especially compared to GTK+) but it still needs a good editor that will produce consistent interfaces (Java IS cross-platform after all).

Nov 20, 2007

Love: Wine

If any wine developers read this, great job. You guys have done an excellent job.

The program that could completely destroy one of the major barriers to Linux's marketability is wine. Being able to run Windows programs no problem under Linux is amazing. It's not perfect yet, but many programs already do work. Personally, I've only really tried games and there are several ones that work. Starcraft (mostly), Warcraft III and Diablo II are the ones that I can remember at the moment (funny how they're all Blizzard games). Diablo II even runs faster than on Windows. Many of the newer ones have problems, especially ones that depend on the .NET framework. I've also never managed to get a program published by Microsoft to work (odd).

Another great thing is their updates are very frequent (and they have an Ubuntu repository), usually being around two weeks. So sometimes you'll have a bug with a game and be used to it, but then all of a sudden it's gone. Awesome!

A note to those who have problems with multi-disc installations: if you're using command line, do not browse to the CD's folder. You won't be able to eject the disc. Instead type 'wine /media/cdrom/setup.exe' from outside the folder. Then to eject the disc, you can eject it normally or type 'wine eject'.

EDIT: Some more games that work: Battlefield 1942, Oblivion (except for some graphics glitches here and there).

Nov 19, 2007

XP

So I installed XP on this computer for the first time since I got it, about 6 months ago. None of my hardware worked. I had to boot up under Ubuntu (thank god for Gutsy's NTFS-writing ability), download the drivers and copy them over. Fortunately (unlike Linux) it was a breeze after that point. It runs really quickly surprisingly, way faster than Ubuntu, and the memory usage is much lower. It boots up a lot faster, even though that when you first see the GUI, you still have to wait for programs to load. Even with an anti-virus, it's a fair bit faster.

Yet there are some problems. Windows Live (aka MSN) won't install unless I do an update, but that's a lot of work and so I'd rather not. aMSN works fine under Windows, but it doesn't look very good (not that it does under Ubuntu, using TK and all). In fact, not much looks good. Ubuntu appears to use font anti-aliasing or something, because the fonts under XP don't look so great.

All-in-all, I am happy with having installed Ubuntu. XP may have my games work fine, but thanks to http://www.freegamage.com, I can find lots of fancy games for Ubuntu too. I'm finding both OS's offer the same features, just sometimes XP it's easier to do things (like install drivers). Although for the most part I think Gutsy is a bit of a setback, Ubuntu is well on its way to becoming the better OS.

Nov 16, 2007

Hate: The GIMP

When it comes to annoying user interfaces, the GIMP is at the top of the list. Haven't you ever heard of a multiple-document interface? Or docking toolbars? Or any of these fancy things that have been around since at least Windows 98? I remember using Flash 5 and it had fancy docking toolbars. Why can't GIMP, a "modern" app, use a single window?

So I start it up and get this little panel. It's got some of the familiar things on it, like brush, eraser, select, etc. File menu is familiar, but what in god's name is Xtns? I guess with my computer savvy background I can figure out it means extensions (is that what it means? I haven't actually checked). So I create a new image. This opens up a new window (WHY?!?!) that lets me draw on it. Cool. So close that, I want to create a button from one of the extensions. I click Button->Round Button. A nice little thing to make my button. I can pick colours, padding, all this jazz. I click OK and three more windows open! Gah! It's like browsing to a porn site with IE6 and having a million pop-ups appear!

I haven't even really used Photoshop for more than cutting out pieces of other images, so I don't even really know what I'm missing. What I do know about GIMP is that the developers have done a wonderful job on the complicated aspects, but there's all these little things that bring the whole thing crashing down.

Nov 13, 2007

Love: Synaptic

The idea of a package management system is probably one of the best since sliced bread or a GUI. It's amazing! To install something you don't even need to go onto a site to get something, you just pop open the program, search for it in the list and install it. Simple! It even handles updates for you.

I remember the days of Fedora Core 1 when they had the simple package manager. It was great, every time I tried to run it, it would crash the system. Really useful. Using yum wasn't so bad, except when yum would think you had a package installed but the other packages you were trying to install didn't agree. I was still a Linux newbie back then, there was probably a quick fix to it but of course, to a new user, it's easier to reinstall Windows. When problems comes up in Linux, the solutions should be less effort than installing Windows, otherwise people won't stick with the system for very long.

Of course, you're dependent on the package being in the repository. If the repository was small, this would be a problem, but Ubuntu's repository is gigantic (a quick glance shows 22841 with the Wine repository added). They're also adding packages all the time.

It's great for developers, for example if you want to use a particular library (ie. Glade) you can easily get it and use it. Then when you distribute the program, you can also have the other people install the libraries you need no problem. The only downside is that Windows has yet to reach the package-managed universe, so you have to figure out how to get these libraries to work on Windows.

Nov 12, 2007

Hate: OpenOffice.org

For word processing, I'm tempted to reinstall Windows to use Office. OpenOffice.org (OOo) is a huge pain in the ass to use.
In general, the app is increasing it's dependence on Java. What this means is that it's getting slower and slower as time goes on. Now you don't really notice with Writer or Impress but when you start crunching numbers or generating graphs with Calc, it slows to a crawl (sometimes it just crashes). In the process it's sucking out all my system's resources so I can't do anything else while it's dying.

Now down to specifics. Let's start with Writer. So when I type Ctrl+I, it means that everything after that should be italic. Does it do that? Nope. Sometimes it makes the word that you just typed italic. That's not what I want. So to get a word italic, you have to type it, select it and then press Ctrl+I. Same goes for bold, superscript, etc. Also the margins don't seem to have any consistency. I save a file (even in .odt format!) and open it on my roommates computer with Feisty on it, the formatting is all screwed up. The only way for me to effectively send it is via PDF, but then that gets rid of the editing process. *sigh*

Next comes Calc. Overall, this is the best one I've used (mind you I've only extensively used Writer and Calc but my experience with Impress was it crashed during a slideshow). I have two problems with Calc. One is very small, but annoying. When writing a formula and you use a function with more than one argument, remember that you have to use a semicolon (;) instead of a comma (,) or it will give you a #NAME? error. Of course, intuitively you assume that this means the function doesn't exist, so you end up trying to bypass it. This is really bad for a simple two-parameter function such as POWER(), especially if you have to have something in your formula like x^5. Once you get into something like e^x then you're screwed (unless of course you know that it's a semicolon). The second problem is the ease of making charts. Once you figure it all out, it's not really that hard and it mostly makes sense, but when you do it a different way, it's difficult to get back on track. For example, if you select the data you want to make the chart out of before you click the chart button, everything works fine and it's very easy. If you click the chart button before selecting anything though, it makes it a bit more difficult (it crashed for us).

Overall, the path of least resistance for OOo is like this: install Windows. Install Office. Do your work there.

Nov 11, 2007

Love: Compiz Fusion

Compiz Fusion (CF), now enabled by default with Gutsy, is sexy. I mean it looks really good. If CF was a girl, I'd tap that. Hell if CF was a guy I'd tap that too. Anyway, it's a top notch graphical system that gives you a ton of effects. It even lets you customize them! You can put on different animations when the default ones are boring (not many of them are) and you can turn on additional features. Things like window previews, the album switcher, and desktop cube are fun.

It does have some drawbacks however, and the main one with CF itself is the memory usage. My computer is always using a ton of memory! This might not be just with CF, however that's my main problem with it. I suppose it's to be expected though, since these effects cost memory. So yeah, not really a huge argument against it - hence why it's under the "Love" category.
My second problem with it is not with CF, but with the Linux geeks response to it. They seem to go on and on about how much better than Vista it is. Big deal! Are you going to use Vista? Probably not, so what's the problem? Do you need to keep telling yourself why you're not using Windows in order to feel happy running Linux? I run Ubuntu not because I was dissatisfied with Windows, but because I like Ubuntu. Plain and simple. I was perfectly happy with Windows, but Ubuntu offers more modern features such as package management and multiple desktops. And the lack of viruses. Oh and CF. Can't forget about that one ;)

Nov 10, 2007

The First One

So I have the first entry on this new blog. Let me get started with a little introduction. This blog is about my experiences with this "new" Linux distribution, Ubuntu. It is a version of Linux that claims to be "Linux for human beings" and attempts to get rid of the normal nightmare of using Linux on a desktop.

I am a Computer Science graduate who has been using Linux for several years (since Mandrake 9, which came out in 2002 I believe). Since then I've tried a number of distributions: Fedora, Gentoo, openSUSE.

Let's get something straight. I am not a Linux geek. I hate command-line, or messing with configuration files. I'm a firm believer in the "it just works" philosophy. To solve any problem should not require hacking the system. Windows and Mac have proven that a computer is completely usable without having to worry about command line or config files and all that garbage. I like Ubuntu because they are basically the only Linux people who understand that there are people out there who do not like all this hacking.

I started using Linux as a primary operating system with Ubuntu 6.10 "Edgy". Shortly after, Ubuntu 7.04 "Feisty" was released and I switched to that. It was an excellent improvement, all my main hardware worked out of the box (only thing that didn't was the microphone on my webcam, but whatever). Overall I was really impressed with it and did not look back to Windows.

Now I'm with Gutsy and am having some issues. It seems I'm going back to wrestling with the computer to get things working. Last I checked, I was the owner of the computer and not the other way around. So where did they go wrong? Stay tuned for more entries on the subject.