Tuesday, March 11, 2014

Reflecting on Ubuntu

It's been a while now since I moved to Ubuntu as my Haskell development OS. On the whole working in Ubuntu is a pleasant experience. I adapted easily to the UI, the support groups have loads of answers when I have an issue, and things usually install well, be it Haskell libraries or additional tools. I like that 99% of the time the upgrades do not require a restart. I have a few gripes, though.

  • Eclipse is not always stable and crashes from time to time (a couple of times a week), say. I haven't found any fix for that yet. It seems to be a UI library issue, maybe something to do with SWT. 
  • Maybe it's linked, but I've had some cases where Eclipse seemed to starve the machine of resources, and it was a huge pain to kill it. In Windows I go Ctrl-Alt-Del and kill the process via the task manager, and that's not an issue. On Ubuntu going Ctrl-Alt-F1 to go to another session, login, find the process and kill it tooks ages. I tried to change to setting to forbid an application to take to much resources but I don't think it helped. There's maybe another way to kill a misbehaving application that I'd love to know...
  • There are still some rough edges for things that should be simple. I can't get my printer to work (a run of the mill Canon printer), and there's a limit to the number of hours I'm willing to spend on getting something stupid like that to work. The other day RhythmBox (the software that apparently tries to play my CDs) crashed repeatedly after the first song on a CD that plays fine on Windows (maybe RhythmBox doesn't like Michael Schenker?). Seriously? Playing a CD is too hard?
So in the end, after hearing for years that Windows was not a great OS, I don't find Ubuntu that more stable or solid. I love not to be on a third-grade OS for Haskell libraries, don't get me wrong, so I'll stick with it, and hopefully the issues will go away!

6 comments:

Warbo said...

For killing applications, try installing/running "xkill" then clicking on a/the window of whichever application you want to kill.

I'm afraid I can't offer any advice on the Rhythmbox/Eclipse front, since I don't use either anymore and don't remember experiencing such problems in the past (well, Eclipse is a memory hog in general!). I tend to play CDs with a dedicated application rather than an all-in-one player; if Rhythmbox doesn't work for you, there are loads more media players available in the repos: Amarok, Clementine, Exaile, Listen, Audacious, XMMS, VLC, Juk and cmus spring to mind. Annoyingly they all tend to use their own 'library' database, which can take a while to build if you have a lot of music.

Unknown said...

Takes ages to kill....sounds like you are out of memory? You can try tweaking the vm settings, but perhaps you might just as well run without swap? Linux's IO and VM system leave a bit to be desired.

Unknown said...

Maybe something in your Eclipse setup (some add-on) is causing crashes. I'm using Eclipse for years for Java and Haskell (even PHP once), and it never crashed. Last couple of years I'm using Cinnamon on Ubuntu 12.04. Works like a charm.

For "killing" I'm using htop, it's a slick command line GUI System Monitor-like app. Very easy to find the process in question by sorting and filtering.

As for multimedia, maybe XBMC center might give you what you're expecting. Although, all my media is digital, on HD. Not using CDs anymore.

ZlatanDebian said...

Well I would give chance to Debian. Especially to stable version as it is rock solid (but also uses some older software). For balance in new and stable I would use Debian Testing (I am actually using it) and never had any problems.

Unknown said...

Eclipse does crash to me under ubuntu here and there as well. One of the reasons - embedded web browser view - was fixed with some update of ubuntu.

The other problem I've seen sometimes was sqllite which seems to be used by haskell plugin. Is it using sqllite in the jvm process?

Otherwise the crash is most likely caused by swt - gtk integration.

Costin said...

Sympathize with you, Linux desktop is a painful experience.

To alleviate Eclipse misbehavior, run it with absolute limits on memory, see the ulimit command

Also with the later Eclipse version it helps a lot to give it as much heap as feasible and also enlarge the permgen size .
http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

-XX:PermGen=384m doesn't hurt