Saturday, December 27, 2008

If at first you don't succeed, fail again

In my first taste of Mono on openSUSE 11.1 I was left with a flat taste in my mouth (so to speak). So I blogged about those experiences, and then I got this response from Micheal Hutchinson:
I'm sorry your MonoDevelop experience hasn't been great so far. I'm not aware of any reported crashers on 11.1, but if you get stack traces, could you please file bugs so that we can fix them?

It's been a long time since MD 1.0 was released and in many ways the 2.0 alphas are more stable. I'm building MD trunk builds on the openSUSE Build Sevice, which should be relatively stable until 2.0 is formally released. There's even a 1-click install.

You maybe also find that some problems are fixed by upgrading GTK# to 2.12.6 from the Mono repository.

FWIW, the particular errors you've pasted in your post can safely be ignored. Various Mono debug files (.mdb) seem to be missing, but they aren't strictly needed for MD. Maybe the stock oS 11.1 has these in separate packages.
First of all, thank you for the helpful response. While you're certainly not the first (Adam Williamson, among many others, often give good helpful responses), it's always good to show the positive side of the Linux community. Now back to Micheal's comments.

If I get consistent stack traces I will. But since the first run of MonoDevelop I haven't had the same problem I reported earlier, and frankly, shame on me for not posting a bug report. I am concerned, however, that errors being emitted by any application "can be safely ignored." Call me old-fashioned, but warnings and errors need to be tracked and fixed, either via corrected code or, if deemed not relevant, then removed. It's been my hard lesson to learn over and over that you ignore any such messages at your peril.

In the interests of "fair and balanced" reporting, I've decided to remove all the mono packages I installed (see below) and re-install starting with the one-click repo link Micheal mentions above.


It's interesting to note that all but Mono are at some 2.x variant. And the picture is also for all those who are paranoid about Mono and want some ideas about what may need to be removed. Frankly I think you're nuts; removal based on merit is one thing, but removal based on paranoia is something else entirely.

And here's what it looks like with everything re-installed using the two links in Micheal's message. The list of installed packages is shorter this time.


Success (Of a Sort)

Well, I got another another crash due to a fatal error, this time with MonoDevelop 2 alpha. I caused it by toggling back and forth between the Files. Solution, and Classes tabs, again with no project created or opened, just like I did before with MonoDevelop 1. And it's repeatable. The trace follows, and I will post a bug report.

wbeebe@europa:~> monodevelop
WARNING: Cannot find Mozilla directory containing libgtkembedmoz.so.
Some Addins may not be able to function. Please set MOZILLA_FIVE_HOME
to your Mozilla directory.
Stacktrace:

at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00004>
at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff>
at Gtk.Application.Run () <0x00007>
at MonoDevelop.Ide.Gui.IdeApp.Run () <0x00007>
at MonoDevelop.Ide.Gui.IdeStartup.Run (string[]) <0x00d10>
at MonoDevelop.Startup.SharpDevelopMain.Main (string[]) <0x0005e>
at (wrapper runtime-invoke) MonoDevelop.Startup.SharpDevelopMain.runtime_invoke_int_string[]
(object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

monodevelop [0x806d9d4]
monodevelop [0x808620b]
[0xffffe410]
/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so [0xb5fa9481]
/usr/lib/libgtk-x11-2.0.so.0 [0xb6821c56]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x1ab) [0xb619ad8b]
/usr/lib/libgobject-2.0.so.0 [0xb61b112d]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x65b) [0xb61b26bb]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x26) [0xb61b2cb6]
/usr/lib/libgtk-x11-2.0.so.0 [0xb6936f76]
/usr/lib/libgtk-x11-2.0.so.0(gtk_propagate_event+0xec) [0xb681a76c]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x2e7) [0xb681bb17]
/usr/lib/libgdk-x11-2.0.so.0 [0xb66a56ca]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8) [0xb7f3b9a8]
/usr/lib/libglib-2.0.so.0 [0xb7f3f063]
/usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1d2) [0xb7f3f582]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb9) [0xb681bfc9]
[0xb2c5109e]
[0xb2c51068]
[0xb2c51050]
[0xb6d06231]
[0xb795f2bf]
[0xb795f1b4]
monodevelop(mono_runtime_exec_main+0x16e) [0x80bae9e]
monodevelop(mono_runtime_run_main+0x16b) [0x80bb58b]
monodevelop(mono_main+0x1737) [0x805c9a7]
monodevelop [0x805ace2]
/lib/libc.so.6(__libc_start_main+0xe5) [0xb7d69705]
monodevelop [0x805ac21]

Debug info from gdb:

(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb2e62b90 (LWP 11555)]
[New Thread 0xb6cf9b90 (LWP 11554)]
[New Thread 0xb349eb90 (LWP 11549)]
[New Thread 0xb4fc9b90 (LWP 11534)]
[New Thread 0xb7561b90 (LWP 11489)]
[New Thread 0xb7fd7b90 (LWP 11487)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0xffffe430 in __kernel_vsyscall ()
7 Thread 0xb7fd7b90 (LWP 11487) 0xffffe430 in __kernel_vsyscall ()
6 Thread 0xb7561b90 (LWP 11489) 0xffffe430 in __kernel_vsyscall ()
5 Thread 0xb4fc9b90 (LWP 11534) 0xffffe430 in __kernel_vsyscall ()
4 Thread 0xb349eb90 (LWP 11549) 0xffffe430 in __kernel_vsyscall ()
3 Thread 0xb6cf9b90 (LWP 11554) 0xffffe430 in __kernel_vsyscall ()
2 Thread 0xb2e62b90 (LWP 11555) 0xffffe430 in __kernel_vsyscall ()
* 1 Thread 0xb7d1f960 (LWP 11486) 0xffffe430 in __kernel_vsyscall ()

Thread 7 (Thread 0xb7fd7b90 (LWP 11487)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee63f6 in nanosleep () from /lib/libpthread.so.0
#2 0x08149fe8 in ?? ()
#3 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#4 0xb7e2438e in clone () from /lib/libc.so.6

Thread 6 (Thread 0xb7561b90 (LWP 11489)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee2c35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0x0814d307 in ?? ()
#3 0x0814fef4 in ?? ()
#4 0x0814ff5c in ?? ()
#5 0x0816a832 in ?? ()
#6 0x080d576a in ?? ()
#7 0x080f7749 in ?? ()
#8 0x08166096 in ?? ()
#9 0x08184115 in ?? ()
#10 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#11 0xb7e2438e in clone () from /lib/libc.so.6

Thread 5 (Thread 0xb4fc9b90 (LWP 11534)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee63f6 in nanosleep () from /lib/libpthread.so.0
#2 0x08165310 in ?? ()
#3 0x080f6beb in ?? ()
#4 0xb4fd276e in ?? ()
#5 0xb4fd270e in ?? ()
#6 0xb4fd2633 in ?? ()
#7 0xb6d71a09 in ?? ()
#8 0x080b8a04 in mono_runtime_delegate_invoke ()
#9 0x080f77cf in ?? ()
#10 0x08166096 in ?? ()
#11 0x08184115 in ?? ()
#12 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#13 0xb7e2438e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xb349eb90 (LWP 11549)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee2f62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0x0814d2b8 in ?? ()
#3 0x0814fef4 in ?? ()
#4 0x0816a70c in ?? ()
#5 0x080f46f3 in ?? ()
#6 0xb35111b2 in ?? ()
#7 0xb3510eac in ?? ()
#8 0xb3510d7c in ?? ()
#9 0xb6d71a09 in ?? ()
#10 0x080b8a04 in mono_runtime_delegate_invoke ()
#11 0x080f77cf in ?? ()
#12 0x08166096 in ?? ()
#13 0x08184115 in ?? ()
#14 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#15 0xb7e2438e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xb6cf9b90 (LWP 11554)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7e14b2b in read () from /lib/libc.so.6
#2 0xb385db95 in ?? ()
#3 0xb385dab4 in ?? ()
#4 0xb6d71a09 in ?? ()
#5 0x080b8a04 in mono_runtime_delegate_invoke ()
#6 0x080f77cf in ?? ()
#7 0x08166096 in ?? ()
#8 0x08184115 in ?? ()
#9 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#10 0xb7e2438e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb2e62b90 (LWP 11555)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7e24c26 in epoll_wait () from /lib/libc.so.6
#2 0x080fa472 in ?? ()
#3 0x080f7749 in ?? ()
#4 0x08166096 in ?? ()
#5 0x08184115 in ?? ()
#6 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#7 0xb7e2438e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb7d1f960 (LWP 11486)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee5bbb in read () from /lib/libpthread.so.0
#2 0x0806daee in ?? ()
#3 0x0808620b in ?? ()
#4
#5 0xb5fa9481 in ?? () from /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so
#6 0xb6821c56 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#7 0xb619ad8b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#8 0xb61b112d in ?? () from /usr/lib/libgobject-2.0.so.0
#9 0xb61b26bb in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#10 0xb61b2cb6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#11 0xb6936f76 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#12 0xb681a76c in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#13 0xb681bb17 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#14 0xb66a56ca in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#15 0xb7f3b9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#16 0xb7f3f063 in ?? () from /usr/lib/libglib-2.0.so.0
#17 0xb7f3f582 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#18 0xb681bfc9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#19 0xb2c5109e in ?? ()
#20 0xb2c51068 in ?? ()
#21 0xb2c51050 in ?? ()
#22 0xb6d06231 in ?? ()
#23 0xb795f2bf in ?? ()
#24 0xb795f1b4 in ?? ()
#25 0x080bae9e in mono_runtime_exec_main ()
#26 0x080bb58b in mono_runtime_run_main ()
#27 0x0805c9a7 in mono_main ()
#28 0x0805ace2 in ?? ()
#29 0xb7d69705 in __libc_start_main () from /lib/libc.so.6
#30 0x0805ac21 in ?? ()

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Thursday, December 25, 2008

The beam in their eye

And why beholdest thou the mote that is in thy brother's eye, but considerest not the beam that is in thine own eye?
Mathew 7:3, KJV Bible
It seems great blood sport to report on the problems of Novell while ignoring the larger problems with those companies deemed worthier than Novell. So in the interests of "fair and balanced" reporting, lets look around the Linux world at a few of the other major players.

Redhat

Let's start off with Redhat. Everybody loves Redhat, and for good reason. They are the only major Linux distributor that makes a decent profit and has a good share price, even in this market. Redhat reported Q3 results of $165 million, up 22% from the same period a year ago. Redhat has shown consistent growth for years, concentrating on the server side of the market and services for the server side. It has stayed away from the desktop, having publicly walked away from the consumer Linux desktop when it stopped selling Redhat 9 five years ago and merged it with the Fedora project. Redhat continues to keep consumer desktop Linux at arms length, saying in April of this year that it would wait at least another year before releasing Redhat Global Desktop. What desktop Linux Redhat does sell is in their RHEL line, workstation software targeted at businesses and designed to better integrate with their server and back-end products. Redhat's business strategy is a consistent business winner and popular with their existing customer base, as over 82% of existing customers renew their subscriptions. And their success shows no end for the foreseeable future. Redhat requires no "phone home" policy, has no "Linux Advantage" registration to run (or else), no lock-in. Customers choose Redhat to start and continue to choose Redhat because they want to, not because they have to.

Canonical

While everybody loves Ubuntu, that love hasn't translated into cold hard cash quite the way it has with Redhat. Mark Shuttleworth, the head of Ubuntu, reported in late October that "Canonical is not Cash positive... I think we could be cash positive if we focus on the core and scaled back." Furthermore Mr. Shuttleworth was also quoted as saying that "We continue to require investment and I keep being careful with my pennies making those investments." And finally, to underscore what Redhat admitted all those years ago, Mr. Shuttleworth further stated "We can't make money selling the desktop that's why we focused on a zero licensing cost business model. The only way to build a business on Linux is to focus on services." And all this in spite of Dell's inclusion of Ubuntu on "specific" notebook, netbook, and desktop models.

This was in stark contrast to what St. Shuttleworth said in July, when he exhorted the faithful to not just emulate but "blow right past Apple" in an attempt to produce a better user experience on the desktop. This is tacit acknowledgement that regardless of the desktop selected, the Linux desktop isn't yet suitable for the general user public. That's why Apple continues to gain marketshare and Windows continues to hang onto what's left. I've always been suspicious of the "success" of Ubuntu on Dell systems; if Ubuntu was that successful, then Mr. Shuttleworth and the Linux blogoshere would be trumpeting Ubuntu's sale numbers to the heavens. Instead, we have nothing but silence punctuated at odd times with "two year plans" to enhance this or that feature.

What's more, Apple's continuing success casts two great GNU failures in the harsh light of reality:
  1. OS X is Unix (BSD APIs and userland) under the pretty desktop, which shows that you can have a great usability and beauty running on a solid Unix OS, something which no distribution to date has achieved and which also illuminates Window's raison d'être for the great lie that it is, and
  2. It's kernel is based on Mach. Remember the Hurd, GNU's attempt to create its own OS? Hurd is for all intents and purposes dead and buried, while RMS attempts to re-write history and hijack Linux by calling it GNU/Linux ("We developed the GNU operating system (often inaccurately called 'Linux')").
What caught my eye from the Mr. Shuttleworth's July talk in Portland was this incendiary comment: "It's essential that we figure out how to work with Windows." Oh My Goodness. Will we see another variant of the Microsoft/Novell deal? Will we see a new site, Boycott Ubuntu? Only time will tell

Mandriva

Mandriva, formerly Mandrake, produces an excellent distribution, one that I've used until very recently and enjoyed since first installing Mandriva 2008 late in 2007. The problem with Mandriva is its perpetually bad financial state. Mandriva, as MandrakeSoft, was in the French equivalent of Chapter 11 from February 2003 to March 2004. It has always struggled to meet investor expectations, especially when compared to Redhat. Financials have gotten so bad again that the current Mandriva management team have pink slipped Adam Williamsom, one of their better-known evangelists and a good public face to the company. As I've noted before ever time Mandriva gets in a bind the quality of the company and its product tends to suffer, which only goes to reinforce a downward spiral.

Fini

No one in the Linux community should be throwing stones, considering just how thin-walled all the glass houses are right about now. Blame Microsoft all you want, but a lot of the pain and suffering that Linux distributions and companies are undergoing right now are due as much to self-inflicted actions as they are to external forces. Watching Microsoft over the years, history documents that Microsoft succeeds by exploiting their competition's self-inflicted weakness and their blindness towards the harsh truth of the marketplace. Yes, Microsoft's a bunch of ruthless bastards, but they're an extremely intelligent bunch of ruthless bastards.

Of all the Linux businesses, only Redhat seems to fully appreciate this and to plan accordingly. Redhat succeeds with a strong focus on customer satisfaction and product support for businesses; that's what brings in the money and allows them to keep their doors open.

Epic Troll #3: BN reporting simply reeks

The Bumbling Nitwits of Boycott Novell recently wrote that Dell's pricing of Ubuntu-equipped netbooks vs. those with Windows "reeks of market distortion." The only thing that reeks is the deliberate distortion of facts, at least regarding Dell's selling of Ubuntu Linux on the Mini 9 (and Mini 12) netbook.

I have no love for the netbook. Based on personal experience with the Acer and HP models at two local stores, I firmly believe that the public is better off purchasing either a different brand of netbook, or of simply bypassing netbooks and buying a low cost notebook in the same price range. But when I read the Blithering Narcoleptics tale of nefarious marketing by Dell, I just had to go and see for myself. And I'm glad I did. First, a screen shot of Dell's offerings on the Dell Mini 9 (http://www.dell.com/content/products/productdetails.aspx/laptop-inspiron-9?cs=19&s=dhs&ref=homepg).



And then the Dell Mini 12 (http://www.dell.com/content/products/productdetails.aspx/laptop-inspiron-12?c=us&cs=19&l=en&s=dhs&ST=dell%20mini%2012&dgc=ST&cid=37899&lid=932336).


The Careful Reader will note that on both lists both models lead off with Ubuntu as the least expensive offerings. This is counter to the charge that the Mini 9's are the same price. They are not. The first two models of the Mini 9 differ by $50, but that can be attributed to the extra storage (4GB SSD at $349 vs. 8GB SSD at $399) that is supposedly required by Windows XP. After all, Ubuntu Linux is light and lean compared to Windows XP, or so Ubuntu's staunchest supporters contend.

The same $50 difference also exists between the two lowest Mini 12 models. In fact the hardware platform advertised for both is identical, leading to the conclusion that the extra $50 is due to the "Microsoft tax."

In neither case is there any indication that market manipulation is going on. Ubuntu Linux is free as in beer, and Windows XP Home Edition, being the old and busted hotness, is dirt cheap and limited in capabilities, especially when compared to either Ubuntu or Windows Pro. When offered by a large distributor such as Dell, there should be very little difference between free-as-in-beer (Ubuntu) and nearly free due to age and growing obsolescence (Windows XP).

Once again there is no controversy to be uncovered except for the flagrant and indiscriminate twisting of the truth that is exercised continuously on Boycott Novell.

Wednesday, December 24, 2008

Netbook Netbook Netbook Netbook Netbook

Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook
Netbook Netbook Netbook Netbook Netbook

Tuesday, December 23, 2008

Epic Troll #2: BN continues to twist the facts

Boycott Novell continues its tireless tattling against Novell. While I was out working for a living the Bloviating Neanderthals selectively quoted a benchmark published by the Phoronixians comparing the execution of openSUSE 11.1 and three additional distributions on an Atom-based motherboard, creating yet another false and distorted story [sic] supporting their twisted ideological crusade.

The Atom processor seems to be the current darling of the Free Software Mob. Many electrons have been spilled extolling its virtues, because of all those Atom-based netbooks shipping with various poorly hacked Linux-based distributions. If it's shipping with Linux then it's gotta be good, right? Intel released the Atom to counter ARM-based devices in the highly mobile computing space. ARM-based devices provide a reasonable trade off between functionality and very low power consumption. For a very low amount of power consumed in a very compact device weighing mere ounces, you get roughly 70%-80% of the Internet experience compared to, say, a basic desktop system running something as simple and cheap as a Celeron. What you don't get most of the time is satisfactory full streaming video. For most folks, the trade off is fair, and the very low power consumption leads to many hours of entertainment pleasure. Of course, with more advanced systems such as the iPod Touch, one can get 4-5 hours of video as well as 30+ hours of MP3 playback, and about 6 hours of surfing the web between charges. All in a device that measure 4.5 ounces. And not running Windows or Linux.

The problem is that Atom doesn't even come close to matching ARM's stingy power consumption. It doesn't appear to execute instructions any faster (especially when compared at identical frequencies), and devices built around the Atom, especially netbooks, have weights measured in pounds, not ounces. The only thing that the Atom brings is x86 instruction compatibility, which allows bloated operating systems such as Windows and Linux to be shoe-horned onto the devices.

Yes, you read right. In an embedded environment such as this, Windows and just about every standard Linux distribution you care to name is too bloated and produces a less than satisfactory user experience, especially when said user is coming from a regular notebook/desktop experience. In fact the poster child for bloated Linux attempting to run in this space is Nokia's Maemo, their Debian-based distribution, running on the 770. But I digress...

So here we have four good distributions running on a niche processor on a niche motherboard, and attempting to base the complete merits of said distributions based on that single test. At least, that's what the Bleating Nitwits tried.

Here's (as Paul Harvey used to say) the rest of the story. Soon after Phoronix published its review, Andreas Jaeger published his response to the benchmark, "Comments on Phoronix Benchmarking openSUSE 11.1." In a clear, lucid, and professional writing style Andreas focused on the two areas where openSUSE 11.1 had apparent issues with the benchmark, offering his explanation as to why the performance was as slow as it seemed, specifically on disk I/O and graphics performance on that particular platform. I'll leave it up to you, the Gentle Reader, to read what Andreas has to say in detail. But it is worth the read.

There is no "story" here, only one benchmark on a low-end-by-design processor and its supporting low-end-by-design motherboard. The Atom processor and electronics devices that incorporate it are neither leading nor innovative. They are instead crudely designed and cheaply built to go down-market and protect Intel's higher-end x86 processors. The Atom is the digital equivalent of the Yugo.

I have seen the Atom-based netbooks sold in Orlando at Walmart (HP and Asus) and Target (Asus). And in every store, without exception, they're cheaply made and held in low esteem by store staff and the general buying public, who would rather spend a little more and get a low-end desktop or notebook with a bigger screen and a decent keyboard, not to mention better performance and capability. The fact that some in the Linux community seem to be chasing this particular product category and trumpeting Linux's inclusion on this devices is sad indeed. In the end, the Atom and the netbooks built around them will leave a bad taste in consumer's mouths and a black eye on Intel, and that same bad experience will spill over and stain Linux as well. There is nothing to be gained in this particular marketing experiment except a bad reputation all around.

My advice: If you want to run Linux, put it on a real x86-based notebook or desktop running real x86 processors from Intel or AMD. Leave the toys to the kids.

No new KDevelop 4 for me!

So I went off to the KDevelop site and per its instructions checked out a copy of the KDevelop supporting development platform as well as KDevelop 4 itself from subversion. After installing more development packages (cmake, kdelib4 devel, etc) and then running the basic cmake setup command (cmake -DCMAKE_INSTALL_PREFIX=/work/kde4 ../) I was informed that my installed version of kdelibs were "too old" (ERROR: the installed kdelibs version 4.1.3 is too old, at least version 4.1.85 is required).

Ahhh... So now I'm debating whether to install KDE 4.2 beta from the repositories (http://download.opensuse.org/repositories/KDE:/KDE4:/UNSTABLE:/Desktop/openSUSE_11.1). It would be interesting to run with the latest KDE 4, but so far I'm hesitant to mess with what works rather well for the moment. There are other applications and tools in the current installation to keep me occupied, and it's Christmas, and I can certainly afford to wait until 2009. Especially considering that KDE 4.2.0 is scheduled to be officially released 27 January 2009.

Monday, December 22, 2008

Night of paranoia with Bourne and openSUSE 11.1

Watching the Bourne Ultimatum, I fired up System Monitor to see what type of impact playback was having on europa. I love the way that System Monitor lays out the process table, and the built-in graphics bars on CPU load and Memory are a nice touch. I really am beginning to like this release of openSUSE. In spite of europa's age openSUSE 11.1 runs quite efficiently. But then, I'm not trying to run on degraded hardware like a 'modern' netbook.

My first taste of Mono on openSUSE 11.1

Verdict: not so tasty

I grabbed all the Mono packages via YaST and installed them without problems. I then fired up monodevelop in a terminal so I could watch for warnings and errors. I'm glad I did.

I won't bore you with screen shots of creating a simple 'Hello world' application. I will say that monodevelop is crashy. For example, without having created anything, I attempted to see what the Classes tab on the left side of the IDE would produce if opened. Normally it should be blank; that's what every other IDE in the known universe shows. Instead MonoDevelop crashed and exited. Hmmm...

After the second startup I created the simple 'Hello World' project as a console program with Gtk# extensions. I didn't add any other code. I then had the project build and run within the IDE. During that entire time I got a stream of error messages, such as the following sample:
ERROR [2008-12-22 10:49:57Z]: Mono.CompilerServices.SymbolWriter.MonoSymbolFileException: Cannot read symbol file `/usr/lib/mono/gac/pango-sharp/2.12.0.0__35e10195dab3c99f/pango-sharp.dll.mdb'
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename, Mono.Cecil.AssemblyDefinition assembly) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.ReadSymbolFile (Mono.Cecil.AssemblyDefinition assembly, System.String filename) [0x00000]
at Mono.Cecil.Mdb.MdbFactory.CreateReader (Mono.Cecil.ModuleDefinition module, System.String assembly) [0x00000]
at MonoDevelop.Projects.Parser.AssemblyInformation.Load (System.String fileName, Boolean nonLocking) [0x00000]
ERROR [2008-12-22 10:49:57Z]: Mono.CompilerServices.SymbolWriter.MonoSymbolFileException: Cannot read symbol file `/usr/lib/mono/gac/atk-sharp/2.12.0.0__35e10195dab3c99f/atk-sharp.dll.mdb'
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename, Mono.Cecil.AssemblyDefinition assembly) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.ReadSymbolFile (Mono.Cecil.AssemblyDefinition assembly, System.String filename) [0x00000]
at Mono.Cecil.Mdb.MdbFactory.CreateReader (Mono.Cecil.ModuleDefinition module, System.String assembly) [0x00000]
at MonoDevelop.Projects.Parser.AssemblyInformation.Load (System.String fileName, Boolean nonLocking) [0x00000]
ERROR [2008-12-22 10:49:58Z]: Mono.CompilerServices.SymbolWriter.MonoSymbolFileException: Cannot read symbol file `/usr/lib/mono/gac/Mono.Posix/2.0.0.0__0738eb9f132ed756/Mono.Posix.dll.mdb'
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename, Mono.Cecil.AssemblyDefinition assembly) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.ReadSymbolFile (Mono.Cecil.AssemblyDefinition assembly, System.String filename) [0x00000]
at Mono.Cecil.Mdb.MdbFactory.CreateReader (Mono.Cecil.ModuleDefinition module, System.String assembly) [0x00000]
at MonoDevelop.Projects.Parser.AssemblyInformation.Load (System.String fileName, Boolean nonLocking) [0x00000]
ERROR [2008-12-22 10:50:01Z]: Mono.CompilerServices.SymbolWriter.MonoSymbolFileException: Cannot read symbol file `/usr/lib/mono/2.0/mscorlib.dll.mdb'
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename, Mono.Cecil.AssemblyDefinition assembly) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.ReadSymbolFile (Mono.Cecil.AssemblyDefinition assembly, System.String filename) [0x00000]
at Mono.Cecil.Mdb.MdbFactory.CreateReader (Mono.Cecil.ModuleDefinition module, System.String assembly) [0x00000]
at MonoDevelop.Projects.Parser.AssemblyInformation.Load (System.String fileName, Boolean nonLocking) [0x00000]
I think I'll stick with Java IDEs and emacs. Emacs especially if I want to develop C# on Linux, as MonoDevelop appears to be neither a good editor nor a good IDE. I had thought to install KDevelop, but it's available only built with Qt3/KDE3, and I want a native KDE 4 application, especially with KDevelop. I have half a mind to check out the subversion head and just build it locally. It's currently at alpha 5 release, so that may give me some more excitement.

Minor JRuby issue with Rails and NetBeans 6.5

Whilst playing around with NetBeans 6.5 and JRuby on my shiny new openSUSE 11.1 installation, I decided to create a new Rails project. It's been quite a while since I last played with Ruby on Rails, so I decided to start from scratch. One of the choices I made in the new project's creation was the selection of JavaDB (a.k.a. Derby) as the database. I also choose to use JRuby 1.1.6, which was released 17 December, instead of the built-in NetBeans version, 1.1.4. JRuby 1.1.6 is installed external to the NetBean's installation location. While attempting to run (for the first time) the project, it stopped with an error in the output window (see below).


The error was that it could not establish a connection with Derby and that I needed to install the Derby adapter gem; 'gem install activerecord-derby-adapter'. The problem is there is no gem with that name. Instead you need to type 'gem install activerecord-jdbcderby-adapter'. There is a reporting bug within connection_specification.rb, which is a part of Ruby's gems (lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_specification.rb).

Once properly installed the Rails project started up just fine. I also need to point out that if you use an external JRuby installation you'll need to install rails (gem install rails). I know, you can pass along command line switches to disable the installation of documentation, but does it really take that long to download and install the documentation?

Sunday, December 21, 2008

A tale of debuggery as told by an idiot, or how I got DVD playback working on openSUSE 11.1

The Solution
  1. If you haven't already then install the "restricted" multimedia formats. Then, using YaST2, install VLC. That's because trying to play back DVDs with Kaffeine results in an annoying popup dialog that says: "This version of Xine (used by Kaffeine) has only a reduced set of supported codecs. It is not able to play DVDs. Read http://en.opensuse.org/XINE for further details." Which, if you do go to the site, says you should install the "restricted" codecs. The problem is that the version of Kaffeine that is installed with the public LiveCD is hard coded to display the dialog and ignore the codecs you install. Thus installing the codecs still won't allow you to play back DVDs with Kaffeine.
  2. Start YaST (on Kickstart's Computer tab at the very top).
  3. When the 'Run as root...' dialog asks for root's password give it your login password. That's right, openSUSE 11.1 behaves like Ubuntu with regards to rootly powers. There is no root, only you.
  4. Click on 'Security and Users' (on the left) and start 'User and Group Management' (on the right).
  5. On your entry in the Users tab, click Edit at the bottom.
  6. On the new screen set click the Details tab.
  7. In the Additional Groups window on the right check the disk group checkbox. That's right, you need to be a part of group 'disk' to access the DVD device. Or at least that's how it is on my system.
  8. Once selected click the OK button, and exit all of YaST.
  9. Then logout and log back in again.
  10. Start VLC and select the drive to play. Sit back and enjoy.

Don't Do This
Because of the Kaffeine dialog I went off and downloaded libxine and a xine UI, and then built both. I installed both under /opt/xine and then attempted to play my movies back via Xine. Why? Kaffeine is a front-end to libxine, and I figured I could rebuild the libraries myself (that and the fact I don't like Kaffeine). So after spending time installing all the developer packages for all the other libraries that libxine depends on, I got it built and installed only to run into the permissions problem. If I'd installed VLC first and then tried to run VLC, I'd have seen nearly the same error message and fixed my problem a lot quicker.

Sometimes trying to be too clever can make you look real dumb.

openSUSE 11.1 installed and running

I hadn't received my openSUSE 11.1 boxed set yet, in spite of pre-ordering it December 9th, and it looks like it won't ship until January 5th. No matter. The downloadable ISOs are available and I just grabbed the official release versions and re-installed.

Installation from the LiveCD was super simple. In fact it may have been too simple. I missed the part where I could specify the system name, and I never caught it. Instead the system name wound up being 'linux-0dg5' which I have no idea how it was derived. In the end I grepped for the system name in files located under /etc, and changed (with vi) it to 'europa' in just about every file where it seemed to matter (/etc/postfix/main.cf, /etc/hosts.YaST2save, /etc/HOSTNAME, and /etc/hosts). There are a set of files under /etc/ssh that still have the older system name, but I'll deal with them at a later time.


The screen shot above is the recently released NetBeans 6.5 running with the latest Java, version 1.6.0 update 11. I've opened up the now-musty WorldWind demo application just to make sure everything works, and to check that the ATI drivers (version 8.12) are properly installed and running. I also manually changed the look-and-feel to Nimbus by editing netbeans-6.5/etc/netbeans.conf and adding '--laf com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel' to netbeans_default_options. Java 6 update 10 (and later) do a poor job of using the native look-and-feel under Linux, and won't even work with KDE. The old default Metal is certainly dated. Nimbus, while it might not win any awards, is in my not-so-humble opinion much better.

As I said in the first paragraph installation was very simple. Once installed from the KDE LiveCD, I was able to go to the Community Restricted Formats/11.1 page and apparently download all the other 'missing' codecs. I was then able, to play once, one of my ripped movies (Forbidden Planet). However, after exiting Kaffeine I was unable to play anything else because "All Audio Drivers failed to initialize!" That's a quote from the Kaffeine Player's pop-up dialog. So, rather than hassling with Kaffeine I did what I've learned to do in this situation, I installed VLC. Now everything plays. The only limitation left is my inability to play DVDs. I've been down this path before, and I'll get it fixed.

I had rather hopped that the fugly and non-cute dancing penguin splash screen was removed from the public downloadable version, but alas it isn't. So, digging into my old posts I found my rant against it with openSUSE 10.2, and this time followed the suggestion of one of the posters. I fired up YaST2, navigated to System, and fired up the /etc/sysconfig editor. I then found the bootsplash flag, set it to 'no', and saved everything.


It looks like I've suppressed the little dancing penguins.

Other items of interest:
  • Dolphin's column mode is excellent. The ability to navigate the file system using column mode is far superior to the older tree mode, and it's nice not having 'break crumbs' running across the top. It's one of the few features pioneered by Apple's Mac OS-X that have survived the transfer to a Linux desktop. The only problem is that you can't re-size the individual columns; they're locked to a specific width.
  • The default radeon driver is barely adequate for basic desktop rendering. The ATI native driver is required for anything of significance, especially OpenGL performance. Before I installed the ATI driver glxgears cranked out around 80 frames/second. After the drivers were installed glxgears cranked out over 5,000 frames/second. And that performance boost also translates into decent 2D performance on the desktop. If you've got an ATI card or built-in integrated chipset then install the ATI driver.
  • Compiz is still broken; specifically Window resizing is very broken.
  • I changed the window decorations from the new Ozone style back to the older Plastik style. With Ozone I could see compositing and rendering flicker on the window title bar. The older style renders, for all intents, instantly. And I prefer the larger size and control placement over the newer hotness.
  • Older versions of Java are installed; Java 5 seems to be the 'deep' default, while 1.6.0 update 7 is the latest Java 6 version the repositories seem to know about. I uninstalled both and installed the latest Java from the Sun site. The same holds true for Eclipse (3.4.1) and NetBeans (6.5); it's simpler to just go to either site and grab their tools, then use their respective installation capabilities to install the necessary plugins and features. This also included ant. I keep everything in /home/Java (C:/Java under Windows). It's just simpler that way.
  • I may install Mono before long. It seems C# has better concurrency support than Java. It's either that or dust off my old functional programming skills.
KDE 4.1 and openSUSE 11.1 have their quirks. But overall I like how it's working, and the fact that I can install what I consider core to get work done. DVD playback is a nice-to-have and I'll get it installed over the next couple of days (when I find the time). It is a comfortable development environment; I have my tools, my shells, and my languages of choice (Java, Ada, c/c++, objc/c++, Python) at the latest revisions running on an OS foundation I know and can work with.

Sunday, December 14, 2008

Béranger moves back to Windows, for good reasons

Back on December 10th Monsieur Béranger called it quits on Linux and moved back to the comfort and higher productivity of Windows XP. His frustration and motivation are summed up rather nicely towards the middle of his post:
I had enough of struggling with Linux's structural flaws. Despite what the fanboys believe, updating or upgrading a Linux system can break it much more often than applying the official patches to a Windows system. The quality of Linux has severely decreased in the last couple of years, and there is no sign that this is going to improve anytime soon.
While Mr. Béranger is far more critical of Linux than I am, I can't help but agree with his basic premise that the quality of Linux has severely decreased, at least since 2007. The last really good distributions (from my perspective) from openSUSE and Ubuntu were 10.2 and 7.04 respectively. They came out in the spring of 2007. You can go back and click on my Suse and Ubuntu tags to get a pretty good idea of how happy I was with both, and how things began to deteriorate as the distributions "advanced" due to whole-sale changes in major subsystems such as KDE, Gnome, Xorg, the sound system debacle... the list goes on and on, and Beranger does a pretty good job pointing them out at the start of his post.

If I have any disagreements with Monsieur Béranger, it's on the finer points of his criticisms of KDE4 and Vista's UI. I find I actually like how KDE 4.1.3 is beginning to work under openSUSE 11.1 in particular, and I also find I like the way Vista is beggining to work under SP1 (and even more so under SP2). I find myself more tolerant, perhaps more forgiving, than he. If I switch back completely to Windows, it won't be under Windows XP, but Vista SP2 or even Windows 7.

The installation of openSUSE 11.1 when it is officially released will be the litmus test for me. I pre-ordered the boxed set, and I expect to be able to install it and to get my system up and running with the software in the boxed set. Europa isn't the target system so much as a newer system I've speced out on Newegg: centered around a dual-core Athlon X2 running at 3.1 GHz with 8GB of DDR2 and typical (but not overwhelmingly advanced) contemporary hardware, all for the princely sum of USD$1,200. It should be noted that this complete system is half what I paid five years ago for europa. If openSUSE 11.1 can't be installed and configured with the same level of ease that I know from personal experience I can expect from Windows, then openSUSE 11.1 will be the last Linux distribution I ever install or use for personal home use.

Tuesday, December 09, 2008

The check is in the mail

Went out on a spending spree tonight and dropped USD$59 on a pre-order of openSUSE 11.1. It's due to be released/shipped on December 18th. Yeah. Give money to teh openSUSE, raise Roy's blood pressure. Priceless.


Oh. And I have to learn to spell it 'openSUSE', not 'OpenSUSE'. See box above.

Sunday, December 07, 2008

Notes from the field: Fedora 10 and OpenSUSE 11.1 RC1

Over the weekend I had the opportunity to install Fedora 10 on a Dell Latitude D630 notebook and to tweak the OpenSUSE 11.1 installation on europa.

Fedora 10

Fedora 10 was installed on a spare 120GB hard drive. It was installed over Fedora 9, which I had managed to configure into a reasonable working state and had used for about five months. But it wasn't perfect. While I was able to install the Nvidia driver and enable 3D hardware acceleration, sound and wireless did not work. With Fedora 10 I now have sound, but the wireless still doesn't work.

Even though I installed both Fedora 9 and 10 from DVD, I only installed the Gnome desktop under Fedora 9. With Fedora 10 I installed the Gnome, KDE, and Xfce desktops. After the installation I was only able to select between Gnome and KDE, although I could see the Xfce tools (such as Thunar) on the Gnome menus. Both Gnome and KDE worked fine until I installed the Nvidia drivers for Fedora 10 (kmod-nvidia). After installation the Gnome desktop continued to work normally while the KDE desktop showed a tremendous performance hit. Looking at the system with top I saw that the X server was taking nearly 100% under KDE. Running under Gnome the system behaved normally, and I was able to enable Compiz desktop effects.

I was able to install gcc, ruby, and other development tools without issue. I installed Java 'externally' (see below) as well as NetBeans 6.5 and Eclipse 3.4.1.

Outside of wireless networking, Fedora 10 under the Gnome desktop works quite well so far on the D630.

OpenSUSE 11.1 RC1

I made a promise to myself to let OpenSUSE 11.1 stay on the system long enough to develop a better informed opinion as to its fitness for use. OpenSUSE 11.1 is quite usable, but there are certain features where I feel Mandriva (2008 and 2009) are just better. To me, the best example of this is the Mandriva Linux Control Center. While OpenSUSE's Yast is usable, in my opinion it's just not as polished or as well organized as Mandriva's Linux Control Center. Linux Control Center is just one example of the overall high quaility fit and finish exhibited by Mandriva 2008.

Based on an entry at CyberOrg, I was able to modify a specific entry in xorg.conf and enable 3D acceleration using the Xorg radeon drivers. This means not having to download and install the ATI/AMD fglrx drivers. It does indeed work, especially with my Saphire X1950 Pro. Unfortunately, enabling Compiz (System Setting | Desktop | Desktop Effects | Enable desktop effects) produces a problem with window resizing. While many of the effects work, attempting to resize a window takes a good five seconds for the window to respond to the action of grabbing a window edge and then dragging the edge to a new location. So, for now, Compiz/Desktop Effects is disabled. Everything else related to 3D acceleration seems to be working. Perhaps more later.

On both Fedora and OpenSUSE I downloaded the Flash 10 (10.0.36) tarball and installed it locally. It's real simple and it works just fine. It's a lot simpler than using Flash as supplied by both distribution's 'non-free' repositories.

Java

What follows are my quick notes for installing Java on both Fedora 10 and OpenSUSE 11.1. I know it works on ealier releases, and it also works with Mandriva. I don't use either distributions repositories (or Mandriva's for that matter) because I want the latest releases of Java, NetBeans, and Eclipse without the RPM annoyances of those distributions. I've found it a lot easier to just grab the various installers of the Java packages I use and used those installers to set up my Java development environment. This covers development only; I have an equally simply way for installing for production.
  • On my systems I create a Java area: /home/Java. Using root I give /home/Java the same ownership that my regular home directory has.
  • I download the latest Java 6 tarball, not the Java 6 RPM tarball. I cd into /home/Java and execute 'bash ~/Downloads/jdk-6u11-linux-i586.bin'. This unpacks the binary package and creates a directory, jdk6.1.0_11.
  • I create a more generic Java soft link (ln -s jdk6.1.0_11 jdk6.1.0). This gives me the ability to update Java without causing problems with applications that need Java.
  • I create a JAVA_HOME environment variable in .bashrc pointing to /home/Java/jdk6.1.0. I also add my Java to the front of the path (PATH=$JAVA_HOME/bin:$PATH). Test with either 'which java' (preferred) or else 'java -version'.
  • I then download NetBeans and run the installer. I select the packages I want installed. With a properly defined JAVA_HOME NetBeans will use the jdk6.1.0 soft link as the path to your Java.
  • You can download the latest Eclipse and do the same thing. I've installed both and everyone is happy.
  • Finally, if you want to run Java applets in Firefox (I assume you're running Firefox), cd to ~/.mozilla/plugins, then type 'ln -s /home/Java/jdk1.6.0/jre/plugin/i386/ns7/libjavaplugin_oji.so' in order to enable Java applets in your browser. Make sure you exit Firefox if it was running while you did this, and then restart Firefox.
In a way, this is no different than Windows XP. I create a Java folder under Windows, and then install everything in there. The only difference with Windows is that the Java installer automatically sets up the Firefox/Java plugin.

Final Comments
  • Fedora 10 is better than Fedora 9, at least on the Dell notebook.
  • KDE 4.1 and Nvidia drivers really don't like one another under Fedora 10 on the Dell.
  • OpenSUSE 11.1 is much nicer, especially when compared with OpenSUSE 10.3, but as good as it is I still miss Mandriva 2008 quite a bit (and possibly 2009).
  • The state of Xorg radeon drivers is surprisingly good, and I was able to enable 3D hardware accleration with a one-line change to xorg.conf. Sweet.
  • Unfortunately a key feature, window resizing, is broken when Compiz-based desktop effects are enabled. So for now I have it turned off.

Wednesday, December 03, 2008

Epic Troll

Looks like I hit a solid double with the post "OpenSUSE 11.1 RC and KDE 4.1." Both the Bobbleheads at Boycott Novell and Monsieur Béranger have responded to two of the paragraphs in that post. Let's start with Boycott Novell, since it's the longest if not the most twisted and disingenuous of the two responses.

It would seem that the Honorable Roy Schestowitz of Boycott Novell is so blinded by his own self-importance and so overly sensitive to any criticism of his holy task of rooting out perceived Evil against open source, that he'll distort the facts any way he can to protect and justify his own misguided crusade.

The Boycott Novell post that illustrates this most clearly is '“Twisted Ideological Crusade” and Other Excuses', which is his reaction to the post listed above as well as the following one, "How a Mandriva Upgrade led to me installing OpenSUSE". The quote in the title comes from a comment I made towards the end of the first post. While Roy had every reason to comment on that paragraph, he choose instead to use his patented 'Smear-em Good' © technique of failing to really read the second article in question, and then pulling sections out of context in order to spin his version of reality. So, let's analyze Roy's screed and see how his interpretation stands up to the facts.

Roy starts off entertainingly enough with this:
In-place upgrades are challenging not only under Windows (high failure rate in XP-to-Vista migrations), but also in other operating systems. The complexity and diversity of systems, especially with added software and hacks, makes upgrades a tricky task that’s prone to breakage. When deciding to upgrade any GNU/Linux distribution, it is a wise idea to make complete backups first.

Why are we mentioning all of this? Well, upgrade issues which Bill Beebe was experiencing (Adam from Mandriva already rebuts) left him bitter and willing to try OpenSUSE, which he used many times before.
Ah. The first part about in-place upgrades being tricky are true enough. But Roy gets his first licks in by pointing an accusatory (if virtual finger) at the "high failure rate in XP-to-Vista", while coyly glossing over "other operating systems" (i.e. Linux) failures. He then lands a wonderfully cloaked backhand with the statement about the complexity of systems "especially with added software and hacks," as if to imply that I helped contribute to the failure of the upgrade with some impurity (i.e. hack) I introduced into the system. For shame on me! For shame! And then of course my basic intelligence is called into question; did I "make complete backups" first? The real question is did I really need to? The answer is no! I learned years and years ago to put /home and /work on separate partitions or drives; that way all I had to do was update root (/) and be done with it. Backups are left to when I need to do, well, backups.

But then we get to the second paragraph, in which my "upgrade issues" are "rebutted" by Adam. Oh. And I'm "bitter" and "willing" to give a shot to OpenSUSE. Again. There's just one minor problem with this fantasy of Roy's. Adam didn't rebut anything. He asked questions, and asked me to investigate and provide some information if I could.

What Roy failed to read (and quote) was the following paragraph which places the first paragraphs he quoted, as well as the entire article, into better context:
At this point it's usually de rigueur in some quarters to spin out a rant against the 'lame' and 'stupid' Mandriva. After all, OpenSUSE 11.1 installed properly, didn't it? The problem with that argument is the realization that europa hardware is pushing a good five years of age. In this industry that's a very long time. The motherboard, based on an old nForce 2 chipset, is so old it has a SATA 1 chipset. You can't buy a new motherboard today (that I'm aware of) that has PATA drive support on the motherboard the way my motherboard has it. While it's technically wrong, I can see where the Mandriva installer saw the SATA drive and automatically assumed it was the primary boot device instead of paying strict attention to the BIOS. As much as I like this machine, it probably is time for me to head back over to Newegg and build a more current system.
I've admitted to two things in that paragraph:
  1. europa is running on old (some would say ancient) hardware, and considerable leeway must be given to that fact. It isn't so much that Mandriva 2009.0 failed, but that OpenSUSE 11.1 RC succeeded at all on that platform.
  2. I lust for a new computer. And that a new computer would probably go a long way to fixing installation problems with just about any distribution or operating system (such as Vista or OpenSolaris) you care to name.
I could go on for quite a while, pointing out the illogical assertions and conclusions that Roy draws from my articles, but it would be like slapping a moron around, and sooner or later it looses its fun and your hands start to hurt.

I will, however, say one more thing, and Roy, I hope you're paying attention.

If I leave Mandriva, it will be over Mandriva's treatment of Adam. Mandriva is laying Adam off, and I am not at all happy about that. This isn't the first time Mandriva has let important people go; there have been other layoffs stretching back to 2001 when Mandriva was Mandrake. Every time there's been a layoff, Mandrake/Mandriva quality has suffered along with the people who were let go. This last wave which includes Adam hits a little closer to home, and for reasons which I stated in "An important resource is squandered", which you can read on your own. If I abandon Mandriva it will hinge as much on how the company has treated a valuable employee who I have gotten to know and appreciate, as much as on technical merit and quality (or the lack thereof). I'm far more loyal to Adam than Mandriva right now because Adam has been consistently quite good to me, at least on this blog.

As for Béranger's comments, I must say touché! He was a lot more honest and direct in his criticism, and showed his usual dry wit in his response. My apologies to you sir for being a jerk.

Monday, December 01, 2008

An important resource is squandered

I finally read today, via DistroWatch Weekly, that Adam Williamson will be laid off from Mandriva come 30 December. I find Adam's pending removal from Mandriva's payroll highly annoying. It was Adam who made me think about using Mandriva, who challenged my assumptions about what is important in a distribution, and who eventually convinced me not only to use Mandriva but to purchase a one year PowerPack subscription as well as a Mandriva pre-installed on a USB thumb drive. It was worth every penny I spent. And now I find he's being let go.

For me, Adam came to represent "the voice" of Mandriva. Adam not only responded to comments and criticisms with tireless energy, professionalism and a sense of humor on regular sites such as Slashdot, DistroWatch, and OSNews, but on my little bitty blog, and I'm sure others as well. This is not to say that all other poster's comments aren't important or don't matter. They do. But Adam made Mandriva a lot more approachable as both a company and as a distribution. And it helped convince me my postings weren't a complete waste of storage and electrons.

Adam has responded to comments on OSNews that he's "waiting to hear back" from the Fedora/Redhat camp; I hope he winds up there. Where-ever Adam winds up, that's the distribution I want to give serious consideration to if not use outright. Good people tend to make good distributions. Whether I'll stick with Mandriva from this point forward is an interesting question. Mandriva's release of a very good developer and diplomat indicate poor judgement, and force me to question the long-term viability of the product I'm purchasing from them. I guess I'll be sticking with OpenSUSE a little longer than I first anticipated.

Good luck, Adam.