nuforce udac

Uncategorized

I’m obsessed with music. I can’t imagine a day without it. Regardless of what I’m doing, there’s pretty much always something playing in the background. From time to time I move my work setup from one room to another, just to shake things up, and break some habits. Recently I did this, and it involved using a different machine to usual as my desktop.
After setting up, I noticed that something just didn’t sound right with my music. All the high end frequencies sounded harsh and mashed together. The low end wasn’t anything amazing either. I tried some different speakers. It sounded even worse. At this point I thought I was going crazy, and tried some headphones (my tried and tested Sennheiser HD-280′s — What I like about these is that I’ve used them long enough that I know what to expect from them, so I know when something isn’t sounding right). Again, it sounded lifeless and dull, and high frequencies were almost painful.

What the hell was going on ? I started wondering if I could blame it on software. Maybe there was something in the driver that I could tweak. Maybe Pulseaudio was doing something wrong. I spent an afternoon looking for things to configure, going as far as disabling power management features in the hope that was the cause. In the end, I gave up. I just decided that the “High Definition Audio Controller” built into the ICH7 chipset, or some other components in the audio signal path on the motherboard was crap.

A few months ago, Chris Lee visited, and brought with him a NuForce Icon uDAC. (He also brought a pair of $1500 headphones for which he took much ridicule for being an audiophile). I got the chance to try out his setup at the time, and I admit it did sound great (even with my cheapo $99 headphones).

Remembering all this, I decided to pick up a udac, and give it a shot. As suspected, it worked perfectly. Complete plug and play experience, with no complications, and the crystal clear audio that I wanted. I can hear bass frequencies again. High frequencies are reproduced in a manner that doesn’t sound like tinnitus.

It’s weird. I used to think that the days of add-in sound cards were over with the advent of onboard motherboard sound. For as long as there exist motherboard implementations that sound this bad, I’m thankful that you can still pick up inexpensive quality solutions.

1 Comment

Russian spies. Ad-hoc networks.

Uncategorized

I’ve been following the recent news story about the russian spy ring that was busted in the US. In particular, I found this blog has some fascinating info on how they were allegedly operating. The bit about a truck pulling up with an ad-hoc wireless network for the spy to connect to intrigued me. It seems like an obvious thing to do reading about it, but it made me realize, I don’t think I’ve ever actually used ad-hoc networking (for spy related activities or otherwise).

2 Comments

interesting windows 8 leaked info.

Uncategorized

I found this article interesting. The power management slides could be retitled “what Linux has done in the last three years”. So windows 7 didn’t ship with a dynamic timer tick ? Surprising. Linux isn’t perfect when it comes to power management, but we’re a lot better than we were, and it’s interesting to see Windows now planning on using some of the same innovations.

The ‘fast startup’ slides are interesting too. The ‘logoff & hibernate’ is the only real ‘new’ feature there afaics. It’s interesting to see terms used that have become passe in Linux like ‘cache prefetching’ and ‘parallel startup’.

2 Comments

Spot the shell bug.

Uncategorized

This is bugging me. I’m missing something obvious here, and I can’t see what.
I have this script that I use to sync the fedora rawhide tree locally. It works fine. But something odd happens with the tests for complete trees.

As you can see in this screenshot, sometimes the ‘incomplete’ message gets printed in green, even though the echo is prefixed with the escape codes for red.

lazyweb , wtf is going on here?

UPDATE: Duhh. typo on line 37. The ‘incomplete’ should say ‘complete’
(When trying to debug this, I replaced ‘complete’ and ‘incomplete’ with ‘red’ and ‘green’. *headdesk*)

1 Comment

x86info processor topology parsing.

Uncategorized

Today was my last working day of the year, as I’ve accumulated some ridiculous amount of time off that needs to be taken.
Before I disappeared for three weeks, I wanted to get something finished that I’ve been working on for a while. I got close too.
The development tree of x86info (ie, git or snapshots) now has a nifty new feature where after parsing all the processors it finds, it determines how they’re connected, and prints out what it thinks the topology looks like.

So where 1.25 used to print out garbage like..

APIC ID: 0x1 Package: 0 Core: 0 SMT ID 1

The new code prints out something much more readable.

Summary:
This system has 1 dual-core processor with hyperthreading (2 threads per core) running at an estimated 2.95GHz
Total processor threads: 4

I’ve thrown it at several different kinds of processor topologies (single/dual/quad core), with and without hyperthreading, and it seems to do the right thing in all cases. Currently this code is Intel only. It may do the right thing on other vendors in some situations, but there are definitly cases where it doesn’t.

I’ll tackle the other vendors in the new year. If you find any Intel systems where it doesn’t print out the right thing, drop me an email with x86info -a –debug. (Don’t email me non-Intel ones, unless it does something really nasty like segfault).

Though as I’m on vacation, it’ll probably be the new year before I fix it up, unless I get bored.
When the new year comes and I’ve added the other vendor support, I’ll roll out a 1.26 release with this and whatever else I have queued up.

Happy holidays.

Comments Off

An annoying kernel packaging bug.

Uncategorized

The kernel rpm package creates an initramfs file that gets dropped in /boot at install time. Creation of this file is the responsibility of dracut (or mkinitrd in older releases), called from the kernels %post script. Because we want removal of a kernel to also remove its associated initrd file (or else /boot would fill up), we used to list the initramfs file in rpms database as a %ghost file owned by the kernel.

For a long time, this hasn’t been a problem. Now that dracut creates more feature-heavy initramfs files, people were noticing that they were running out of space in /boot during the installation of the kernel rpm. People were asking “why doesn’t rpm check for sufficient diskspace before it tries to install ?” Well, it does. The problem is that for %ghost files, it has no way of knowing how big they are going to be.

So for Fedora 12, we ended up with an ugly hack. Instead of listing the file as a ghost, we create a 20MB empty file, owned by the kernel, which gets overwritten during %post by dracut with the real initramfs.

The big problem with this, is that it destroys the possibility for deltarpms to work. (It also guarantees that signature verification using rpm’s database will fail)

Something better needs to happen, but at this stage, I’m not entirely sure what that will be.

Comments Off

Not attending FUDCon Toronto.

Uncategorized

Many of my colleagues and lots of Fedora community folks will be heading to the frozen wastelandlovely city of Toronto next weekend for Fudcon.
To reiterate what I’ve said in email to a number of people: I won’t be joining them.

This year has been hellish for sorting out immigration details. In April, I needed a VISA renewal. Then there was a passport renewal. Because my passport was expiring, my VISA only ran until the length of the passport. So now I need another new one for my new passport. As part of the renewal process, I’m not allowed to leave the US. (Well, I could, but I might not be allowed back in).

In other news: I’m warming to the idea that the internet be switched off whenever there are public holidays.

Comments Off

exploded Fedora devel tree.

Uncategorized

I did a make prep of every package in the devel/ branch of Fedora CVS again.
The last time I did this (a year or so ago) it took up 80G of disk space. Today, it takes up 100G.

That’s a lot of code. Some of it even does what it’s supposed to.

Comments Off

Kindle temptations.

Uncategorized

Two years ago, when the Kindle was launched, I wrote that I probably wasn’t going to get one. Since then, I’ve warmed slightly to the idea of getting one.

What’s changed ? For one, my reading habits. I’m reading a lot more these days, and digital representations of those books take up less space, and are easier to travel with. One thing that might tip me over the edge to buy one though is that today Amazon announced they added a native pdf reader. I spend a lot of time staring at processor datasheets etc, and having something to hand that I can refer to without having to alt-tab away from my editor would be really nice.

That 85% battery life improvement is interesting too. I’m curious what was responsible for such a large saving.

Comments Off

setting signature based on From/To in mutt.

Uncategorized

Lazyweb, help me out.
I use mutt to read multiple mail accounts. Using alternates, I have it rigged so that when I reply to someone it sets my From: to the same as the address that they sent the mail To: Straight-forward stuff.

What I’d like to do next is set my .signature based upon the same rule.
I thought that this can be done easily enough with send-hooks like..
send-hook mutt- 'set signature=~/.signature1; my_hdr From: Dave Jones <emailaddress1>'
send-hook mutt- 'set signature=~/.signature2; my_hdr From: Dave Jones <emailaddress2>'

But that just seems to make it pick signature1 regardless of any header.

I googled a while, but turned up dead ends. profiles look interesting, but I’d rather not have to swap between things manually. Likewise, it looks possible to do it on a per-folder basis, but I want this to work with =mbox where all accounts land unfiltered.

Anyone set up something similar ?

2 Comments
« Older Posts


  • huaglahglah huaglahglah