Recursive VNC Cubes

Recursive VNC Cubes

I’m giving a demo tomorrow remotely and wanted to see how much VNC could take. Enable VNC server, run vncviewer against yourself, and play with Compiz — or just move some windows around. The infinite mirror effect is always good for hours of entertainment, now in 3D.

Software EQ in Banshee

A wonderful patch just landed in Banshee trunk, revived by Alexander Hixon that adds software equalization support — the typical 10-band deal with a pre-amp. We had added most of what was necessary for this about 1.5 years ago, but never got around to finishing it. Ivan Zlatev did much of the player engine work at the time and actually started the effort, I did much of the UI work, and Alexander has revived it all for our new codebase in trunk.

Here’s the old screenshot of the Equalizer UI designed so long ago — I still like it very much, though it does need a bit of tweaking still:

Banshee Equalizer

That being said, I hate software equalization. I’m reminded of “The Death of High Fidelity”, a wonderful and sad article in Rolling Stone from a few weeks ago. Very much worth the read, and be sure to listen to the samples at the end of it.

I’m still very happy that we finally have this beast enabled in Banshee though. Thanks to both Ivan and Andrew, and Gabriel for staying on top of the patch.

Banshee and openSUSE 11

I had the privilege this morning of being the guest “speaker” for the multimedia-themed openSUSE GNOME community meeting where I discussed some of the high level plans for the future of Banshee and what that may mean for openSUSE 11.

I discussed the incredible performance and memory usage improvements, the new model/view, the album/artist browser, the playback queue, our fantastic new Xesam-based search and smart playlist infrastructure, and so on.

As a result of feedback from the meeting, I wrote a guide for building Banshee from trunk on openSUSE 10.3+.

And here are some related links:

And of course, if you’re interested in making your voice count in openSUSE, please join the meetings!

Mono.Zeroconf 0.7.4 and cross platform glory

I released Mono.Zeroconf 0.7.4 last night which is a minor bug fix release. Packages are available for openSUSE, SUSE Linux Enterprise, and Fedora. Sources and binaries are available for Linux, Windows and OS X.

What I have found interesting about Mono.Zeroconf is a growing adoption by the Windows crowd. I have been getting almost weekly emails from a new Windows developer using Mono.Zeroconf. A few bugs have been fixed in the process, though mostly in the Bonjour provider, which doesn’t affect modern Linux distros (because they use the Avahi provider, of course).

Since there’s been good feedback from the Windows world, I spent a little time making Mono.Zeroconf actually build on Windows in Visual Studio (yikes!). I am producing .zip files of the regular sources as well to make releases more accessible on Windows. Additionally, I generate a file which contains just pre-compiled assemblies.

The fun thing with all of this is validating how truly remarkable Mono is. I had never written any of Mono.Zeroconf specifically for Windows, never tested it on Windows, yet released the precompiled assemblies (built in Linux by Mono) for the hell of it. And without any changes, everything “just works” on Windows/.NET (and Mac OS X as well).

Andy made the leap to Linux.

So what’s so important about this? These new Mono.Zeroconf users on Windows inherit the fact that Mono.Zeroconf is truly cross platform, which means their applications are immediately more portable to Linux and other platforms that Mono supports. By luring Windows developers with delicious, easy to use libraries that are already cross platform, we make it easier and more enticing for those developers to bring their awesome applications to Linux.

Awesome. Mono rocks.

Nightly Inkscape Packages

I am building nightly, or semi-nightly, packages from the inkscape-current tarballs in the openSUSE Build Service. If you follow Inkscape and are running openSUSE 10.3, you may wish to subscribe to my home project repository and update your inkscape package from there:

Enjoy! The latest builds have been very awesome, I’m loving the new dockable tool windows, though they do need a lot of UI work still.

Dear Firefox 3 Lazy Web

I’ve been using Firefox 3 Beta 2 for weeks now, and it’s absolutely amazing. There’s not much else to say other than that. Just a few quick points, and then I have a gripe.

The Good

  • Memory consumption is so amazingly low compared to Firefox 2. I actually don’t find myself constantly killing my browser these days.

  • GNOME/GTK+ integration is finally up to par I think. Browser shell widgets look more native, web controls look native. Fantastic icon theme integration. Firefox finally feels like part of my desktop now. Kudos to all the great GNOME love. It’s about time!

  • The new location bar drop down is awesome.

  • There are subtle attempts of humor.

  • It’s been rock solid, more-so than Firefox 2 ever has been, barring the typical Adobe Flash freezes.

  • We have packages with proper distro-integration patches for openSUSE 10.3 (1click Install and yes, it will replace your Firefox 2. I live on the edge!)

The Gripe

I hate the new full page zoom! So many people rant and rave about how awesome this feature is. It’s horrible. It breaks usability and accessibility of web pages.

When reading a page in a properly designed web site (proper semantic markup and good CSS) in Firefox 2, text would re-flow properly when I zoomed. This allowed me to read a page with increased zoom without breaking the layout of the page, but also not causing it to scroll horizontally. In Firefox 3, everything zooms in, often causing me to have to scroll horizontally to read the page in question. Utterly bad.

The closest thing I’ve been able to do is set mousewheel.withcontrolkey.action to 3, causing text zoom to happen when I hold control and use the scroll wheel. The problem with this is that it’s hard to know how many levels you’ve zoomed (I have an insane scroll wheel with ball bearings… it’s very fast and sensitive) and there is no reset (like CTRL+0, traditionally). Also… I just like CTRL++, and CTRL+-.

Firefox 3 - about:config

So how can I completely disable the full page zoom and have my normal buttons behave like I’m used to?

This is the biggest downfall in Firefox 3, but on the whole, it’s awesome.