My Rhythmbox PPA March 10th, 2010

Ubuntu has been changing some things around with it’s notification icons and GNOME applets. Specifically the volume, power, e-mail and Rhythmbox applets. I could stand for most of that, but don’t mess with my music. My main complaint is that being part of the indicator-applet has broke some things I like, such as quickly showing/hiding or muting, since everything must be done via a menu.

Pidgin had this same problem, and they solved it by offering both indicator applet support and notification area support. After talking with the GNOME folks, and reading this bug report, it’s probably not going to get done. Because of the way Rhythmbox is developed, you must install a new package to get the old behavior back. I just made a PPA with the --enable-appindicator=no flag.

Easiest way to install is just sudo add-apt-repository lp:kris-santiance/oldrb and then grab the “update” from the update manager.

Twitter and Link Protocols March 9th, 2010

Believe it or not, links aren’t just to HTTP(s) websites – they are for anything. You can link to FTP sites and file sharing services in the past have supported linking to content on their clouds, such as Magnet.

With Ubuntu you can link to a package or application for a user to install from their trusted repository. Give it a shot and install the awesome Droid font, Pidgin, nautilus-open-terminal, or all at the same time.

Twitter doesn’t support links from theses protocols, but almost all links on Twitter use URL shortening services like bit.ly or TinyURL. Right now you can use TinyURL to link to unsupported protocols on Twitter. Like I did here.

I can see that Twitter might want to protect users from these unfamiliar links. I don’t think this is making the service any more secure though, since anyone trying an exploit can easily use a redirect as I did.

Adding Twitter to Pidgin February 7th, 2010

My friend Steven was raving about a plugin that adds support for the Twitter protocol to the Pidgin instant messenger. I’ve used a lot of other Twitter clients, but this is neat because it fits in with all my other instant messaging protocols.

It would be nice if there was a PPA on Launchpad that offered this, but I don’t have the time to do that, so I just grabbed the source from SVN and did a checkinstall on it for my 64-bit system. Heres the package:

libpurple-twitter-protocol_0.20-1_amd64.deb (70 kB)

Chromium vs Google Chrome January 24th, 2010

Chrome hit the scene about 8 months ago (in July, 2009) and has shown quick adoption and fast usage growth. For the most part, those where windows users. In Google fashion, a beta has been released. What’s the difference between Google Chrome and Chromium?

Chromium is what you’ll find in your repositories and for the most part looks like a normal open-source package, and indeed it is FOSS. It was started by Google, and they release a version called Google Chrome. So, you can see them as two sides of the same coin. Google will continue to bring the awesome changes from the Chromium project, and you can expect Google to share their code back.

Like many Ubuntu users I started using Chromium via the chromium-daily PPA (Personal Package Archive – Usually a cutting-edge place for packages provided by a user or developer, used to get the latest features of some package) This repository contains a daily build of the Chromium project. This repository, and the project, is a lot more stable, and I use the repository now.

Google’s Chrome (beta) on Ubuntu runs well and is a simple package download, but it completely lacks updates of any kind. I removed it because I wanted a slightly newer feature – Bookmark Synchronization. It worked across Windows and Ubuntu, might I add. Future builds will probably include some system of updates, but the way it looks right now you’ll have to install a package of a later version (update) or remove the beta and install the newer version manually.

The bottom line: Go with the chromium-daily PPA until Google Chrome has some kind of update system and has bookmark sync working.

Compiz, Patents, and Ubuntu January 22nd, 2010

No, this isn’t about the stupid max_waves conflict with Apple’s patent that everyone has been ranting (and working around) for the last few years. From what I hear the future 0.9.0 release won’t be hampered by it, but how does Compiz fair with patents? Who made Compiz, and who’s working on it today?

From my understand the original Compiz, before all the forks and subsequent merges, was developed by Novell via David Reveman with help from others. Now, in the aftermath of whatever happened, most (if not all) of the core developers aren’t around – and Novell has moved on too. While the developers are gone they did take a little something with them.

SYSTEM AND METHOD FOR EVENT-BASED RENDERING OF VISUAL EFFECTS is patent application #20080313540 by Anna Dirks, David Reveman, Stephen Carter, and Scott Isaacson filed back in 2007. This patent would go to someone who deserves it, but can it ever be used against the project in the future? Now Apple is filing for a patent on head tracking, which is something we’ve seen Compiz devs and plug-in writers have been doing for a while now. We want developers to get attributed for their hard work in Open Source, but nobody should have control over the ideas that power these projects.

Ubuntu is using the old 0.8.x branch written in C, while the team has moved on to the 0.9.0 release written in C++. With Ubuntu 10.4 (Lucid Lynx) being an LTS, it’s obviously not going to be in that release. Even once the package is more mature, there is still a big dependency issue lingering. While it’s obvious that the refactoring of the code yielded performance and maintainability benefits, it’s using libboost and favoring C++. With GIMP kicked off the CD to make space, what’s going to happen to Compiz?

Update 1: There is a thread going on UbuntuForums.org related to this, although some of it’s just anti-Apple rhetoric. I wish people would stop hi-jacking real discussion with this crap.

Update 2: I asked Novell if they could shine any light on the situation on January 26, 2010. Hopefully they are willing to at least take a look and get back with something besides a dear-john letter.

Bad Karma with Ubuntu Karmic October 14th, 2009

Ubuntu: Linux for Human BeingsLeaves are falling, it’s okay to wear costumes for a day this month, and Ubuntu 9.10 will be released under the name Karmic Koala. Before I get into some review, it’s hard for me to anticipate this release because of the recent history with this distribution. Over time I’ve seen Ubuntu improve in many ways, but there are plenty of regressions and changes each release that make upgrading an option to be considered.

Please remember this review is done during beta testing a week before release. While it does represent how the development process is coming along, it’s not the release date. We are pretty harsh on the Beta because that’s what it’s here for.

Things that aren’t fixed yet

We don’t upgrade because we have some kind of intrinsic joy of numbers getting larger, or at least I would hope. “A tree is truly measured by it’s fruit,” and Ubuntu is no exception. What’s the point in upgrading if it doesn’t fix your problem? If you’re upgrading for one of the following reasons, you might not want to even bother until they actually fix it.

NO Multiple Desktop Backgrounds
Yes, we all want to have separate wallpapers for each side of our cube. Of course, you’ve got that nice Compiz plugin already there to let you configure mutliple desktops, but it doesn’t work. The reason is because of how Nautilus (default file browser for GNOME) and the window manager fight over who gets to draw the background, and there appears to be a standoff between who should properly implement this.

NO Better Flash Performance
While it’s true that Flash will work out of the box, which hasn’t always been the case in the past,  it’s still going to cap your CPU usage while attempting to watch Flash based video. Players with HD content like Hulu will cause that usage graph to max out one of your cores. Since this is a closed-source component, it’s not the fault of Ubuntu, but Adobe for shafting the open community.

NO PulseAudio is Still Horrible
I’m somewhat inclined to be more of a jerk to the PulseAudio developers, since I know they have been pretty irritated with other developers talking crap about their audio system. While I am going to mostly rip on PulseAudio, at least this Ubuntu release makes some use of it’s advanced capabilities. Past releases have shipped with it as default, but had no way to utilize features like per-application volume, or volume amplification. While this release at least makes it possible to use those features, it doesn’t change the fact that you’re going to have more audio playback problems compared to before.  A previously fixed 2 year old bug that rattled some ears while making irritating speaker beeps also came back. (More on audio later too)

NO update-apt-xapian-index is Still Horrible
Users complaining of high amounts of CPU usage and vastly degraded performance due to the update-apt-xapian-index will be sad to know that it’s still there. The thing that irritates me here is it appears to not be warranted. Many other packages hook into when packages are installed or removed and make updates to indexes, but instead this costly and irritating daemon will interrupt your workflow.

Read the rest of this entry »

Linux TCP Settings for Comcast & Using ionice September 29th, 2009

It’s been mailed and blogged about to death, but I’ll explain how to increase you TCP performance for usage on a laptop or notebook that will having heavy bandwidth usage. With a common cable provider and wireless device ratings these days you can get about 2 MB/sec connections. However, it’s unlikely you’ll find many HTTP servers that are willing to give you that much bandwidth in a single connection, but BitTorrent (and possibly zysnc, jigdo, and other distribution systems) may make heavy interchange between many servers sending a lot of TCP packets.

The default configurations for TCP in Ubuntu and Debian are good, but they aren’t profiled to meat your specific connection. Last I checked I believe they are defaulted to a DSL-like connection, which is probably somewhere in the middle-ground between dial-up and high performance broadband. Here are some simple additions you can make to your /etc/sysctl.conf file (as root):

net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_wmem = 4096 87380 524288
net.ipv4.tcp_rmem = 4096 87380 524288
net.ipv4.tcp_mem = 524288 524288 524288
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_ecn = 0
net.ipv4.route.flush = 1

The easiest way to make these configuration changes and apply them is to press ALT+F2 and run gksudo gedit /etc/sysctl.conf (you can copy and paste that), which will open up the text editor. Paste the above changes at the end of the file, save, and exit. Now press ALT+F2 again and enter gksudo sysctl -p to apply these changes. If you want to see what these commands are doing you’ll have to press the Run in Terminal button instead of just Run.

Another trick is using ionice to give different processes more priority on reading and writing to your file system. A good example is the Transmission torrent client, which I prefer to run in the background most of the time. You have to get the Process ID (PID) by using the System Monitor, which can be ran from the Administration menu or by pressing ALT+F2 gnome-system-monitor. Go to the process list and find the name of the program (transmission in this example), copy the PID, and then press ALT+F2 gksudo ionice -c 3 -p 1234 where 1234 is instead the PID. I used 3 here to make it use Idle scheduling, but you can use 1, 2, and 3 for varying degrees. See man ionice for how that works in detail.

Ubuntu 9.10 to Drop Pidgin Instant Messenger September 1st, 2009

Pidgin saying GoodbyeIt’s interesting to see what’s happening with the latest Ubuntu (9.10, Karmic Koala), which is in Alpha 4 of testing. Firstly, I would like to point out that I think the releases are getting slightly worse as of recent, which may be partly due to the economic crisis and lack of good developers being fully committed.

The features page is getting a little bit embarrassing with things like kernel updates, driver updates, and other under-the-hood changes that have been made. Compare that with a release 2 years ago (Hardy) and you’ll see many more features that impact the user, instead of what we’re getting now which are meta features.

We all love how Linux is flexible, and with Debian we can add and remove packages as our hearts desire. Ubuntu has made Empathy replace Pidgin in the upcoming release. Is this the best way to be spending our time? There are so many things that are more critical than changing the default Instant Messaging client, like:

nautilus-open-terminal backport for Jaunty August 11th, 2009

Remote TerminalI am addicted to the “Open Terminal” plugin for Nautilus. I have a lot of different SFTP bookmarks and mounts, and I always want to open an SSH terminal using the menu. However, anyone using Ubuntu Jaunty (9.04) knows that it’ll crash the file browser, which is a serious bummer.

I’ve backported the package from the upcoming Karmic release:

Note: This backport was made before Ubuntu 9.10 (Karmic) was release, and a newer backport is probably available now. Check your repository first.

Read the rest of this entry »

Tip: Force your GNOME panel to reload August 11th, 2009

If you’ve installed a GNOME Applet, but you can’t see it in the Add menu, then you’ll either have to reload gnome-panel or wait a while. Reloading isn’t the cleanest thing, but you can do it by executingkillall gnome-panel and then gnome-panel via ALT+F2.

Doing this in a normal terminal isn’t advised, because if that shell is terminated it would also end the panel process. However, if you can get around that by using nohup gnome-panel, or using the bash keyword disown after having ran the process in that terminal.