Ubuntu Sound problem – won’t work after suspend – quick fix

Pursuant to my last post regarding PulseAudio problems under Intrepid, there appears to be a workaround.
The issue has to do with the PulseAudio system not being ‘suspended’ properly when a laptop goes into suspend. There’s a very easy way to sort of ‘nudge’ it back on track.
After resuming, type the following – this is done on my laptop ‘clipper’ :

dbs@clipper:~$ pacmd
Welcome to PulseAudio! Use "help" for usage information.
>>> suspend 0
>>> suspend 1
>>> <control-d>
dbs@clipper:~$ 

I just tried this, and things started making noise appropriately – didn’t even need to restart Firefox to get youtube videos going again.
This is documented in Bug 202089 in the Ubuntu bugtracker, but I’m reproducing it here if folks can’t find the answer.

Ubuntu Linux Gnome Desktop Gripes

I’ve been using Ubuntu Intrepid Ibex as my desktop platform of choice on clipper for a few months now. As part of that changeover, I also switched to using Gnome as my desktop environment.
I have to say, after my initial “ohh, look, this just works” with Gnome, the shine has certainly come off. There’s a consistent series of twitches that are causing me to grit my teeth whenever I come across them. Some of them have been identified in the Ubuntu bug tracker, and even after numerous comments and “me too” updates, the powers that be have not seen fit to include the fixes into the regular updates.
My guess is they’re waiting for Jaunty Jackalope, which is scheduled to be released this month. Be that as it may, I’m going to list out my current gripes now, and hopefully in a few weeks, when Jaunty is released, we can see if these will be addressed.
Compiz Window issues
There’s an annoying bug in how Compiz interracts with gnome’s window manager. In particular, transitory windows (such as the calendar popup, the ‘shut down..’ dialog box, etc), tend to pop up underneath existing windows. So it’s common to go to System->Shut down, and apparently nothing happens. Alt-tabbing, you find the shutdown dialog box buried under existing windows.
Shutdown Madness!
Speaking of the shutdown dialog, lets hear it for inconsistent interface design. On other Linux installs, and under KDE, hitting control-alt-delete brought up the suspend / logout / shut down dialog. Not so under Ibex! Control-Alt-Delete brings up a dialog that JUST has “Switch User” and “Logout” (and, as noted above, it tends to be under other windows). Suspend is not on that panel. To suspend, you have to mouse to System->Shutdown and select Suspend. Or, I found out recently, in the upper right corner you can click on a little ‘power’ icon, and select ‘shutdown’ on that menu. (Small tidbit – that pulldown menu looks completely different than the system menus. No icons, different layout. Nice going Gnome.)
Sound + PulseAudio
Anyone who has touched current versions of Linux has seen this come up, and the rants and vitriol have been piled all over the net. Some bright light in linux-land decided to set sound under Linux back half a decade. Getting sound working used to be quite a challenge, using the old OSS sound drivers, later replaced by the enormously stable and well supported ALSA (Advanced Linux Sound Architecture) toolset. All was fine and dandy through multiple releases.
Then someone decided that that wasn’t good enough, and they introduced PulseAudio. Naturally, some tools support PulseAudio, some tools support ALSA. Under many circumstances, this will cause a deadlock, where an audio application simply will not play sound. The only way to clear it that I’ve found is to reboot, and even after that, chances are it will lock up again at some point.
Further research has shown that this instability is being blamed on a botched release of PulseAudio by the Ubuntu team (the Pulseaudio folks are blaming Ubuntu for the craptastic port), but be that as it may, it still has not been remedied. To me this is a HUGE issue, as I listen to sound and watch video every day on my laptop, and not knowing whether sound is going to work next time I sit down to do some coding for half an hour is a huge impediment.
Wireless Tools
I consistently have problems with the wireless browser not being able to ‘sniff out’ local networks. There appears to be no mechanism to say ‘scan for new networks now’ – there’s some passive ‘oh, I’ll get to it at some point, maybe’ timer mechanism there, and there’s no way to tickle it and say “No, really, you’re RIGHT NEXT to the WAP. Browse please!” Frustrating.
Conclusions
I’m not sure exactly where I’m going to go when Jaunty is released. I may do a from-scratch install (saving my home directory), just to make sure I don’t have old configuration details lying around. I’m still willing to stick with Gnome for one more release, but if the issues I’m finding have not be fixed, and progress on the environment doesn’t move forward, I’ll have to seriously consider seeing how KDE4 is doing, and switching back.

iDracula for the iPhone. iCarnage!!!

Just a quick one before I head off to my next meeting. My latest addiction for the iPhone is called ‘iDracula’. It’s sort of a mix of Diablo vs Quake vs Robotron. The 19th century ‘van helsing’-esque setting is beautifully rendered, and the soundtrack adds the appropriate head-banging necessary for any good vampire slaughtering.
There’s a great video of it in action on YouTube.
One thing I have to comment on – this is the first interactive action game on the iPhone that I feel gets the controls right. They use a pair of ‘wheels’ on the screen – one for motion, one for firing. Given the iphone’s lack of any other gaming controls, this seems to be an excellent compromise, allowing very easy motion and action.
There are a few known bugs. Settings aren’t being saved between games, it’s occasionally tricky to switch weapons in mid-melee, and there are occasional pauses. I picked it up off the appstore during a sale for $1, but it’s easily worth a lot more than that.
I hope the developers do continue to update it – a larger play area, or a decent levelling mechanism (finish this level, waste the bosses, move on to the next level) would be a definite win.

The problem with cloud computing – or “BITE ME, GOOGLE”

While browsing around this afternoon using the (usually) awesome Google Reader, I saw a sudden change in my entire look and feel. Apparently Google decided to punch out an update to Reader while i was using it. No notification, no information about it, just “oh, by the way, here’s a redesign of your page layout.”
Fortunately, the reader blog has a handy link to their “news” blog – that should have some information on what just happened…
Guess not. (for those perusing this later, the first article on that page is currently ‘READ WRITE DRINK”, or this article here. Nothing about an update, no news about changes to the site. Guess we’re on our own.
A mark against cloud computing, and a mark for locally installed apps.

A Panoply of Pidgin Plugins

pidgin-screenshot-20090308.pngI have this ongoing personal philosophy. “Don’t get too wedded to a single environment, because the designs will channel your way of thinking, and those ‘new fangled’ ideas about UI’s and systems? They they may have something there, give it a try.”
To that end, not long ago I switched from KDE to Gnome. That has had it’s ups and downs, but regardless of whether it’s been a good move or not, I now understand Gnome a lot better.
One of the tools I’ve used the longest has been X-Chat – a fairly decent IRC client that does pretty much everything I want in a client. I have screenshots of me using Xchat going back many years – a sure sign it might be time to try something else.

Continue reading “A Panoply of Pidgin Plugins”

Classics app for the iPhone

A few years ago, I posted about reading books on my Treo – an exercise I thought I’d never enjoy, but in the end, enjoyed quite a lot.
Ever since I got my iPhone, I’ve been considering setting up an ebook reader, but never got around to it. Recently I found the Classics app, a reader for the iPhone that is set up to provide a series of ‘classic’ books for the iPhone.
The reader app is quite good, and very easy to navigate (and pretty to look at). What I’ve been enjoying the most though is that the books that are available are, as the name implies, all ‘classics’ – books I should have read, but never got around to.
I finished reading ‘Flatland’, and now I’m about halfway through ‘Robinson Crusoe’. As always, it’s convenient having books with me at all times. I suspect when i’m done with these books, I’ll look at another reader app for other books, but for now, Classics makes it so I have at least 15 books with me at all times.

It’s alive! ketch is powered up

Ketch lives!
About six months ago, it became pretty apparent that boomer‘s newest brother, guardian, wasn’t going to be enough to bring the load off the main server, and that applications needed to be shifted off boomer soon. The paired 80gig SATA drives were getting full – it was time to expand the cluster.

Because homeport is a community cluster, I couldn’t just go to the CTO and requisition up another couple servers. One of our community members coughed up a little cash, thereby setting a budget, and I was off. After much ebaying and craigslisting, I came home with a pair of Penguin Computing Relion 130 1U servers. These were pulled out of a computation cluster, and were missing some small parts (one had no fans in it, and between the two of them they only had 2 40gig drives), but the price was right, the CPU oomph was good (dual Xeon 2gig CPUs), and the budget allowed for further upgrades.

Last week I got the final parts and did the assembly last weekend. ‘ketch’ here is the first machine assembled and loaded, and so far things are going fine. I moved the 2 40gig drives into this machine, and set up RAID-1 mirroring. ‘ketch’ will be an application server, taking the load off ‘boomer’ (which is only an AMD Sempron 2400+). The real kicker load wise was that I’m now deploying Tomcat based applications, and boomer just can’t handle big Java footprints and still manage 20-30 users comfortably.

‘ketch’ will stay here until configuration is done. I still have to build ‘dock’, which is an identical machine, except for a pair of 500gig drives that, once mirrored, will act as homeport’s NFS and MySQL server, further unloading boomer. We have dozens of Drupal sites running now, and the MySQL traffic is pretty hefty.

I haven’t made the final decision on directory services. There’s more and more pressure to just knuckle under and use NIS, certainly the easiest and best-known mechanism for replicating user information around a cluster, though I still hold out hope of a central LDAP based authentication / authorization system.

I hope to have ‘dock’ configured in the next week or two, and once they’re both ready, they’ll be shipped off to our colo facility for installation, bringing our homeport-specific server count to 4 (6 if you count 2 other machines that we share services with).

Pretty durned cool.

A few of my favorite iPhone apps

I’ve had my iPhone for a few months now, and gone through the brain replacement that’s sometimes necessary to use Apple products, so I think it’s time to talk about some of my favorite iPhone applications.

At the top right now is AirShare from Avatron. It’s a simple app that starts up on the iPhone and sets up an active WebDAV enabled HTTP server. With some tools under windows, mac, or linux, you can mount that DAV as a filesystem, and voila, you have your own portable wireless data repository.

Admittedly, what I really do is play a lot of games on the phone. So, here’s a quicky list of some of my favorites:

  • Dr. Awesome!
    This game plays much like the old arcade game ‘Qix’, but has a wonderful comic bent to it. Presentation and gameplay are excellent, music track is enjoyable, and the steadily increasing difficulty isn’t too hard to deal with, though I agree with some commenters that after a certain point, it’s nigh on impossible to win the levels.
  • Tap Defense
    In the ‘Tower Defense’ model, this game fleshes out the premise with a mildly interesting storyline (Demons are escaping from hell, you’re trying to keep them from getting into Heaven). It took me about 4 weeks to complete the game on all three levels (easy, medium, and hard). And on the Hard level, I had to go to the net to get some hints. Each full game can take 30 minutes to an hour to complete.
  • Jewel Quest 2
    This is an oldie but a goodie. It’s been around for ages from I-Play in various forms, but the iPhone version is a good clean port of it. Very long storylines, steadily increasing difficulty. Took about 3 weeks to complete the game end to end.
  • Galcon
    Galcon is a realtime strategy game for the iPhone that’s faster paced than most RTS games, but still keeps the tactics element alive. It borrows many ideas from some old skool strategy games I played in college. The higher levels are hard to win, though you can play network play against other ‘live’ players anywhere on the net.

The potential for the iPhone to be a powerful gaming platform I feel is only just being realized. More and more high resolution excellent games are coming out, and the phone handles them with great aplomb. I’m looking forward to finding more.

Grump about Compiz + GL + blinking

Being home sick makes me turn my attention to gaming. I’ve gotten back into Puzzle Pirates, and that’s been good for multiplayer, general quiet entertainment. I’ve backed off on Eve Online, for a number of reasons (not being home / in front of a windows game machine all the time is pretty key).

Last night I decided to do a little more involved gaming on ‘algol’, my linux laptop. HappyPenguin provided a couple interesting options, a few showing up in apt, so I installed one.

The problem is, the app I chose (SuperTuxKart), blinks like crazy when running. I’d seen this behaviour in the Compiz / Xscreensaver screens, but thought it was something specific to XScreenSaver’s interraction with Compiz. Alas, that’s not the case.

This is a known problem with Ubuntu installations that use Compiz as their default compositing window manager. According to this page on the Ubuntu wiki…

Summary
Currently opengl apps do not work correctly when composite is running. This is a BIG bug and annoyance for desktop users, especially as composite-by-default is set to be included for gutsy. This should be fixed via redirected direct rendering. It is especially important as modern applications use opengl interfaces, such as blender and google earth, but also for smaller opengl parts, such as the visualisations in amarok.

Rationale
Users of ubuntu, both advanced users and novices, find it annoying to have to disable the compositioning window manager whenever they want to run an opengl accelerated application. Solving this requires deep changes to the structure of the X server and the display drivers, and is a future plan for the Xorg devs: http://dri.freedesktop.org/wiki/DirectRenderingToRedirectedWindows (A prototype for this has been developed by Kristian Hogsberg: http://hoegsberg.blogspot.com/2007/08/redirected-direct-rendering.html). However, it is a big job, so I believe that the Ubuntu devs should help out.

So, if you use Ubuntu and GL apps and Compiz, and you have the blinks, there’s no known fix. I’m guessing it’s specific to certain video drivers, because I know some systems work fine, but on this machine (which uses an Intel 945GM chipset), looks like it’s no GL for me.

Suggestions for Network Filesystem Technology?

I’m looking for suggestions on how best to set up filesystem services for my local network. I’ve built out a decent fileserver (‘yawl’, running Ubuntu Linux) with a series of external HD’s, and I want to make those filesystem(s) available to client machines.

There’s a couple caveats. Whatever solution I use has to have the following features:

  • Centralized Authentication / Authorization
    Per my recent post, I’m liking the idea of using a centralized authentication server for account management. This is the role traditionally filled by Microsoft Active Directory. I have no interest in dedicating a new machine, paying Microsoft money, and introducing a whole new layer of ‘customizations’ to standards, as Microsoft is wont to do. Whatever solution I use needs to provide cross-platform support based on existing standards and tools. LDAP + Kerberos is what I have running now, but I can look at others.
  • Multi Platform Support
    I’ll need support for various client platforms. The big three – Linux, Mac, and Windows are a given. I don’t mind needing to install simple tools on each platform (for instance, for Kerberos ticketing on Windows, you need Kfw, etc).
  • Inexpensive or Free
    I have zero budget for this project, other than hardware. If I’m supporting my half dozen clients initially, with a possibility of a larger deployment later, the solution should be available in opensource.

Now, I already hear the cry. “Why not just use CIFS, the ‘windows’ fileshare protocol? Everyone uses it, and Samba is a great system.” That’s because from everything I’ve read, Samba cannot use an external authentication system OTHER than active directory. It vaguely supports Kerberos, and vaguely supports LDAP, but only to the level that an Active Directory server provides. I can find no clear documentation or even loose information that states how to configure Samba to authenticate in a non-windows Kerberos realm.

So where’s that leave us? Well, there’s a couple to consider:

  • AFS – Andrew Filesystem
    AFS is used at MIT and CMU, and is directly coupled with Kerberos. My understanding is it’s pretty damned cool, but it’s not really meant for ‘small’ environments like mine. I’d be happy to be proven wrong. I also don’t know if AFS clients exist for Mac and Windows
  • SSHFS – the SSH filesystem
    Not a bad idea. SSH is widely supported, well known, and seems like it’d do the job. Unfortunately, the sshfs is a FUSE system, and requires some tweaking on the Linux box to make it work. Secondly, I can find no support for sshfs clients in Windows or Mac. Alas.
  • NFS – The original Sun Network Filesystem
    Ahh, the good old days of NFS. Everyone knows it, everyone supports it, as far as I know, no one really likes it. At least NFS’s weaknesses are well known. In addition, I don’t know how good the NFS client support in Windows and Mac is.

So whadya think, world, what should I look at? Is there hope?

A KDE User Switches to Gnome. The World Trembles

It’s certainly no secret that I’ve been a KDE fan for ages. I’ve been using KDE as my primary Linux desktop for going on 10 years now. In all that time, I’ve made occasional forays into GNOME, but every time ran in fear at the sheer idiocy of the interface. Either it was too ‘smart’ doing ‘really cool stuff!’ or it was dumbed down to the point where it was impossible to use. A steady litany of “Oh, just edit gconf to fix that” or “you need to recompile such and such a module, that’s been patched” made me run back to KDE’s stable, consistent, powerful interface.

When Ubuntu 8.1 came out, I installed it onto a Dell D520 that I had available. Being a KDE geek, I said “Sure, lets run KDE4.”

What a disaster.

KDE4, despite the fact that it has been marked as stable and ready, is a complete mess. Unusable, unintuitive, unstable. I spent 2 days trying to make sense of the frequent crashes and missing componentry, and gave up. It was time to try Gnome

Gnome, on the other hand, was delightful. They had finally struck the balance between “make it as simple as you can” and “make sure all the necessary functionality is there.” The package managers are sane and work, the configuration tools are consistent and do the job, the desktop, while sparse, is eminently useful, and it’s fast. I have done 4 Ubuntu 8.1 installations now, and each has gone without a hitch. The only ‘missing’ bit I’ve had to deal with involved a missing package from my first Kubuntu -> Gnome upgrade.

This bothers me in a bunch of ways. What happened to KDE? I think it can best be summed up as ‘Gnome grew up’. KDE stayed ahead of Gnome for a decade. It took that long for the Gnome folks to get it together and come up with something that actually works. What I worry about is that didn’t happen through careful UI design and deliberation, but the result of years of trial and error. The fear is that just when they get it right, they’ll either stop working on changes to the desktop (thereby stagnating the environment), or will try more radical ‘upgrades’, breaking things again.

Time will tell. But for now, I’m pretty happy with Gnome.

Baby steps on centralized authentication

I’ve had a small project churning along in the background for the past couple weeks. The goal is to come up with a way to have Active Directory like services for an all Linux environment without going through a major yak-shaving exercise of setting up all the individual components.

My first glimmer of hope in this idea was finding Zeroshell, a Linux live CD application designed to run all the major components for a network from one simple install. It includes LDAP, Kerberos, DNS, and a well put together web interface, making setting up the server side of things quite simple.

The goals of the project are pretty straightforward. Mimic the single-point authentication / authorization services that Active Directory has, and configure all clients in the network to use a centralized server for these functions. Adding a user to all machines should be as simple as adding said user to the central server.

Here’s where I am so far…

  • Build a central server with all the services enabled and accessble. Status: Done – Zeroshell is the answer there. Booyah.
  • Learn enough about how central authentication and authorization works. Status Done – These sorts of functions require LDAP, DNS, and Kerberos services.
  • Set up a single client machine that can retrieve credentials from the central server. Status: Done – Enabling Kerberos on Zeroshell and installing the krb5 suite on Linux and KFW – Kerberos for Windows allow single login and ticket generation.
  • Configure a host computer to act within the realm and accept credentials from the zeroshell server. Status: Done – My media server, ‘yawl’ is acting as my guinea pig. It’s now a part of my internal realm, and accepts Kerberos credentials from the zeroshell server when requested.
  • Configure a host computer to use LDAP for extended GECOS information. Status: Done – ‘yawl’ now allows me to look up users that are being served from LDAP as if they were local users. I can use ‘finger’ ‘getent’ ‘id’, etc – and as far as ‘yawl’ is concerned, they’re local users.
  • Configure PAM to accept Kerberos authorization for ssh logins. Status: Done, dammit. This was the trickiest bit, because it requires the correct fiddling between PAM, Kerberos, LDAP, and ssh. But this afternoon, I was able to log into ‘yawl’ via kerberos-backed authentication from both my Windows box and my Linux laptop, without needing to provide a local password. Score!
  • Allow Samba shares to be mounted / authenticated via Kerberos. Status: Not working yet. I’ve only just started this side of things, but I want to be able to browse shares on ‘yawl’ as if they were natural Windows CIFS volumes, while authenticating via Kerberos, as managed by the zeroshell machine. This’ll take some time.

99% of the work for this process has been learning the terminology of Kerberos, LDAP, and PAM. Once all the pieces are in place, it actually makes an awful lot of sense. But there is one well shaved yak behind me. I’m documenting each and every step of this process, so that when I upgrade my colo’ed servers, I can implement a similar setup.

Feel free to catch me online if you have questions, but stay tuned – I’ll be writing a pretty in depth HowTo on this entire process once I’m able to repeat the configuration end to end from scratch.

KnetworkManager equivelent for Gnome?

Am I totally bonkers, or is there no Gnome equivelent of knetworkmanager for Gnome? This seems like a huge missing piece. (Knetworkmanager is a wireless network browse and configuration tool – a standard component of any modern OS).
I’m currently experimenting with using Gnome as my primary OS, and so far it’s doing quite well, but not being able to browse and connect to wireless networks graphically seems pretty glaring.
Or am I just missing something?