Kubuntu and sound

Found the source of my sound problem: some changes I’d made to /etc/asound.conf trying to make mpd play nice. Removed the file, rebooted to make sure everything was completely clear, and now it’s working properly.

Popularity: 62% [?]

Puppet mark two

Spent today working from home, rewriting our Puppet configs from the ground up to take advantage of having learned a few things since the writing the first version of the configs.

To be more accurate, I’ve learned a lot about the limitations and idiom of Puppet so it really has been a complete rewrite.

The original configs had a really big node defined called “solaris” which had all the resources defined right there in the node. It was getting really unwieldy, pretty difficult to follow, ludicrious amounts of nesting and stuff.

The new version follows a rule set out on puppet-users by Luke Kanies. To paraphrase: only put “include” statements and variable definitions in nodes. Anything where there is only one per host goes into a class, anything with possibly several goes in a define.

So my “solaris” node now reads:

node solaris {
        include root
        include postfix
        include pca
        include puppetd
        include sshd
        include syslog
        include ntp
}

and I’m considering the merits of making this a class instead, but I like the node foo inherits solaris {} idiom a lot more than:


node foo { include solaris }

which would be the alternative.

Another thing I’ve done in this run is to write a new define called myfile. I use this in place of the file type and it (a) removes the need to fully specify the URI for the “source” parameter and (b) automates searching for host, os-site, site, os, and generic configs. This makes the resulting Puppet configs much cleaner and a whole lot easier to write.

Have added a new custom fact, zonename, which I’m using in the ntp class because there’s no point running xntpd in a non-global zone.

The new service-based classes are specifying config files and making much better use of the service type along with the subscribe parameter to automatically restart services when configs change. This is pretty basic Puppet but I was getting really overwhelmed by the previous stab at configuring things so never really made much use of it.

I’m trying to be reasonably platform-agnostic but there are still a few places where I assume that the platform is Solaris.

The puppetd class took a good ten minutes of staring-at to get right. So very many levels of nested stuff (OK, just two nested case statements) that the run of braces was making my head hurt. But this is an exception because it’s defining how to make puppetd run on SMF and non-SMF systems. Everything else thusfar has been services that ship with the OS.

There’s more work to be done but I’m confident that the way I’ve laid things out now is much more sensible and will scale without giving anyone the heebie-jeebies.

Popularity: 38% [?]

KDE, part 2

Been using KDE as per kubuntu-desktop as my primary desktop for about a week now. Mostly happy, but there are some unresolved issues. In no particular order:

  • Amarok still doesn’t cope with the tags in my music collection. Even a small subset of the collection has stuff in it Amarok’s tag-scanner doesn’t like. This is irritating, but it works Just Fine as a DAAP client or browsing the filesystem. This means I don’t get the fancy-pants “Context” pane. I’ll live;
  • More seriously, sound-mixing isn’t working. With my previous Gnome setup on Gutsy (and Feisty, for that matter) everything worked properly via ALSA. RIght now, if a Flash player has grabbed the sound then Amarok can’t play, and of course Warcrack doesn’t do sound if Amarok or Flash have grabbed the device. I have to wonder how much of this is due to the way I got here: Gutsy beta, updated to release, installed kubuntu-desktop
  • No Compiz. I’m sure it’s doable, I just haven’t had time/inclination to fight with it. If I wanted to fight my computer I’d install Red Hat.

Otherwise, pretty happy. Still using a few Gtk+ apps beyond the obvious Firefox/OOo — Drivel and Logjam in particular — but unlike Qt running on Gnome, Gtk+ integrates tolerably with KDE. Suspect this is down to Qt/KDE work rather than the other way around.

Looking forward to KDE4 but not going to install an early pre-release, thanks.

Popularity: 45% [?]

More on Splunk

We’ve had it running for a bit over a day now with logs being fed in via syslog from eight Solaris hosts plus a NetApp Filer. So there’s a bit of data in it now, enough to make it worth looking for patterns.

The first thing that leaps out is that a particular host is logging a lot more than any others. Click on the hostname to see all the stuff that has come in over the past 24 hours. Not the most helpful view, there’s just too much stuff to eyeball easily.

So click “Report on results” to get a list of fields you use to build a graph view, click “process”, select “pie graph” from the “display as” dropdown, and now you can see what’s causing all those messages.

Of 1800 events, 1100 are from puppetmasterd. Click on the slice of the pie that represents puppetmasterd and you’re back to the log-entry view but now it’s filtered to only show puppetmasterd entries from this specific host.

At this point I can see that a great many of these are because the fileserv module in puppet is logging info it shouldn’t (known bug). So I want to ignore those. The current search expression is:


host="host.example.com" | where process="puppetmasterd"

To filter out all these irrelevant messages, I change it to:


host="host.example.com" NOT File | where process="puppetmasterd"

and suddenly I’m down to the 200 actual errors I care about. In this case they’re all identical and they indicate that one of the client hosts is having trouble evaluating a custom fact.

Unfortunately at this point I have to rely on the fact that I know which host is having trouble, because puppet’s log entries don’t actually say. Gah! But hey, we’re indexing all these logs from the clients too, yes? So…


selector | where process="puppetd"

And now I can see which client(s) are having this problem! Only one in this case, but the “host” dropdown tells you how many hosts match the search. Or you could graph it.

This is an example of a problem I already knew was there and that I’m working on, but the basic principle holds. The trick is going to be reducing the amount of noise going into the index in the first place, but when you can’t do that you can still eliminate it from the results.

I’m really looking forward to getting more stuff feeding into Splunk. It looks like it’ll be excellent for finding problems while ignoring noise.

Popularity: 36% [?]

Splunk

We’ve talked a bit about the merits of having some sort of centralised logging system. I’d typically been thinking of syslog-ng feeding into an SQL database with a basic web interface on top, but today the boss pointed me at this post by Ben Rockwood which does what the Splunk website does not: it tells you what Splunk does and why it is useful.

Thus enthused, I grabbed the free version and had it up and running in literally five minutes. This is just slurping log files from the local host, but that’s still pretty nice. The interface is genuinely useful, and I can see enough merit to the extra features the commercial version provides (multiple user accounts, multiple indexes, monitoring) to at least put forward a case for giving them money, though at US$5k for a 500MB/day license it’s not what I’d call cheap.

Anyway, I know what I’m doing for the rest of the week!

Popularity: 35% [?]

KDE

The gnome-pilot kit has driven me to give KDE another shot. Because either you leave that FPOS installed and it grabs the device whenever you try to sync, or you remove it and either take ubuntu-desktop with it or never update the system again.

I mean, who the hell does QA on this thing? It works some of the time. Sometimes the crash is in Evolution or the conduits rather than gpilotd itself getting stuck, but really. It is so far from being usable it isn’t funny. JPilot Just Works.

So far KPilot doesn’t work for me, it crashes when it tries to find the device, but at least it kindly fucks off when I do not explicitly ask for it.

I’ve found KDE apps to be a little crash-happy so far tonight. Kopete doesn’t like MSN. Known bug but with a fix that should go into the repo some time soonish. KPilot crashed trying to find my T|X. Amarok still can’t handle my music collection — the collection scanner stops dead at 5% of the way through — but at least the DAAP support works so it probably doesn’t really matter much anyway.

Konqueror is both excellent and an FPOS. I really love that they thought to include an accessibility stylesheet with a GUI to tweak it, I hate that textareas aren’t being handled properly with my large font.

Dunno how I feel about Dolphin. Will give it some time.

After moving the panel to the top of the screen and fiddling with fonts/colours/widget sets/etc I’m reasonably happy with what I have, though I see that by default Gtk+ apps don’t pick up the KDE font selections. Seems a rather odd default.

No Compiz as yet, I want to figure out how to make that happen so I can have my pretty zoomy swishy effects while waiting for KDE4.

But so far so good.

Popularity: 35% [?]

I should know better

I really should. But I read this Age article on housing affordability anyway.

And, predictably, I am now feeling moderately depressed.

I simply cannot imagine being able to pay $2600 per month for housing alone, and our household income is somewhat above the stated average. None of the proposed “fixes” so far have been anything more than band-aids: increasing the supply of land on the fringes won’t help, there’s already plenty of land locked up by the developers, the extra Rudd proposes to release will go the same way and be sold off in a trickle to keep prices up.

Popularity: 31% [?]

So much for the W950i

Just after I get excited by the W950i, the W960i shows up on the S-E website.

Will be interested to see the reviews when it’s out. The previews so far are very positive.

Popularity: 29% [?]

More Gutsy

Further to this.

The Compiz bug where titlebars go AWOL still seems to be present, but I’ve narrowed it down some. It only happens with maximised windows. The reason I only noticed it with Firefox for a while is that Firefox is the one thing I typically maximise.

Otherwise, things continue to work well. I’ve finally got my T|X syncing to Evolution in a reasonable manner, which is something I was never able to get working on Feisty. Not that I particularly like Evolution as a PIM.

My one criticism of Palm support on Ubuntu right now would be that there’s no easy way to install things to a Palm via the GUI. The only way I can find to do it is by running gpilot-install-file -l file.pdb to queue the install and then do a sync. It’d be lovely if the GPilot kit included a simple GUI that can be associated with PDB/PRC files.

In other news I’m about to start trialling Ubuntu LTS as a replacement for FreeBSD at work. We use FreeBSD for network-infrastructure type jobs, like firewalls and SOCKS gateways. Ubuntu is a whole lot easier to keep updated so I’m going to fool around with ucarp on it under VMware and see how that goes.

Popularity: 37% [?]

Election scare tactics

One of the lines the ALP is running at the moment is “a vote for Howard is a vote for Costello”. As if that’s supposed to dissuade people from voting Liberal.

A better line would be “a vote for Howard is a vote for Howard, because you can’t trust the guy to keep his word on this”.

If I thought I could actually trust John Howard to stand down in eighteen months I’d be voting Liberal, because frankly Peter Costello’s social policy agenda is much more in line with traditional social-liberal/left views than Kevin Rudd’s.

But Howard can’t be trusted to keep his word on anything. If the Liberals win, in eighteen months it’ll be “the party still wants me”, “it was a non-core promise”, “I’ve got a lot to contribute”, and so on. The only way John Howard is leaving the Lodge is in a pine box, electorally or literally.

Popularity: 32% [?]