Jan 302013

I’ve used the /proc and /sys filesystems for a variety of tasks, but it’s always interesting to discover a new use. For example, if you want to completely remove an ethernet device from the system (not just disable the ethernet link) it can be done from /sys. In almost all cases, you simply want to use ifconfig down or ifdown to de-activate the port (allowing you to reactivate later). But there are instances where you want to remove the eth device. In this case, you can use /sys to remove a single device.

In my case, it worked even though there are two ethernet devices on the same Intel gigabit ethernet chip and are both served by the same Linux kernel module.
Continue reading »

Dec 272012

I’ve been using Pulseaudio to easily switch audio output between my digital amplifier and analog headphones (this prevents my headphones from blaring when I’m not actually wearing them). Recent updates to Pulseaudio required a number of changes in my configuration. At this point, I’m not even sure I could use the digital and analog outputs without going through this process. The process is not incredibly complex, but requires the use of new utilities and a bit of experimentation.

Continue reading »

Dec 072011

I like to have the option of playing music on my headphones or outputting to the stereo – it really improves family life when they don’t always have to hear my dubstep ;) Unfortunately, the sound cards and devices you have available don’t always fit together nicely. For Linux users, ALSA gives you a lot of control and flexibility over audio devices. However, it is usually difficult to figure out exactly what needs to be done to output to multiple audio devices.

In my case, I have an onboard audio device with optical digital out. But onboard audio usually receives a lot of noise from the rest of the components on the motherboard – your headphones buzz when a hard drive seeks or you move your mouse pointer. I have broad musical tastes and orchestras sound pretty awful with static in the background. By adding an old-school Creative Labs SoundBlaster Live card, I can get exceptional quality output for headphones.

What caused difficulty was getting audio output to both the onboard and SoundBlaster audio devices at the same time. By default, Linux applications will send audio directly to one specific device. All you need is a properly structured ~/.asoundrc file to configure ALSA.

Continue reading »

Sep 212011

Rather than the more traditional QWERTY key layout, I use DVORAK. I’ve been typing with DVORAK for just over a decade, so I no longer remember my original intentions for switching. However, DVORAK has long been recommended as a replacement for QWERTY – partially for typing speed improvements, but also to reduce ergonomic strain on the typist. Studies conducted by psychologists have suggested perhaps a 5% speed improvement for DVORAK, but the ergonomics have not been thoroughly studied (estimates based on finger travel distance suggest a potential ~40% improvement). I argued for the efficiency of DVORAK by analyzing keyboard layout efficiencies for several different types of documents.

When I purchased a Kinesis contoured ergonomic keyboard in 2000, I discovered there was a learning curve before I could use the new keyboard effectively – Kinesis contoured keyboards arrange the keys in straight columns. It made sense to make the switch to DVORAK at the same time and re-train myself entirely. This lead to several weeks of frustration, but I was determined and thankful that I stuck with it (much like when I completely uninstalled Microsoft Windows from my first computer).

Photograph of Kinesis Contour Keyboard

For the majority of these last 11 years, I’ve had a DVORAK keyboard at home and QWERTY at work. Within the last two years, I’ve been able to use DVORAK for both. I now perform almost everything on a Kinesis contoured keyboard with DVORAK layout.

People often ask how I cope when I happen to sit down at a QWERTY keyboard. The truth is that there is no problem at all. When I sit at a traditional keyboard my fingers automatically know to go QWERTY. Similarly, when I sit at a Kinesis keyboard nothing makes sense but DVORAK. Although I didn’t fully consider the ramifications until recently, I have inadvertently trained my brain to be capable of both keyboard layouts. But each layout is strongly associated with a specific physical keyboard design!

I am not a psychologist, but I was curious to learn how well my skills would transfer. Am I able to use QWERTY on a Kinesis keyboard? How effectively would I work if I sat down at a traditional keyboard that had been remapped to DVORAK? My hypothesis was that I’ve so strongly associated the physical Kinesis keyboard with DVORAK that I would be unable to perform satisfactorily with any other layouts. Similarly, attempting to use DVORAK on a “standard” keyboard would fail. I found the results to be surprising…

Continue reading »

Apr 252011

I recently purchased an HP Pavilion dm1z laptop after reading how many people were thrilled with the small laptop. It’s been described as a netbook-killer, and I tend to agree with that sentiment. The dm1z is light, power-efficient, quick and runs Linux well. However, there were a few tweaks I needed to put in place to get 32-bit Ubuntu 10.10 running perfectly.

This post was last updated 2011-09-07

Continue reading »

Jan 142011
Screenshot of Tomato wifi router firmware - realtime bandwidth plot

For the last few years, I’ve been using DD-WRT on my home wifi router (a Linksys/Cisco WRT54GL). I found DD-WRT to be perfectly fine, and certainly an improvement over the built-in firmware. It was easy to set up and customize the wireless network for our house. Unfortunately, that was about all the use I got out of it.

Besides the easy set up, there wasn’t much that impressed me about DD-WRT. I found the interface to be a bit clunky – I always had to click through many tabs to find the settings I needed. Additionally, the bandwidth/usage statistics it provided were minimal. I would never check it unless the wifi had stopped working.

Eventually, several people starting using wifi and I needed to set up QOS (quality of service). I wanted to ensure video streaming and large downloads didn’t impede remote login sessions, remote router administration, etc. This is where I became particularly unhappy with DD-WRT.

Continue reading »

Jan 062011

Today, I was contacted by several clients at a well-known university. A series of A/C and sprinkler issues apparently caused the complete loss of all equipment in their datacenter. I’m sure it was quite a surprise, quite a headache and potentially a huge disaster for their research. What would happen if the computer/server you rely on most was completely destroyed right now?

Don’t take anything for granted – you’ll never have complete control over your data and your systems. Maybe you can stand to lose some things, but if there’s anything you can’t lose make sure it’s backed up. And make sure the backup actually works. And keep at least one copy in a physically separate location.

Dec 022010

Linux software RAIDs are very useful, but a lot of people seem to have trouble when they need to boot from an array. They just don’t grok Grub well enough to get it installed properly. It’s especially common to see everything work fine until one of the drives fails. Then they realize that Grub was only installed on one of the disks in the array (the one that failed) and it doesn’t boot anymore. The correct process isn’t tricky, but you have to know the right commands.

Continue reading »

Nov 302010

Today I turned on my first 1TB hard drive – I’m consolidating multiple systems into one to lower administrative hassle and reduce power usage. It’s striking to see that big, round number and a huge swath of free space. I’m excited at the possibility of keeping my data more organized, better protected and finally keeping the kids from destroying all our DVDs. However, I could have added these hard drives years ago – this is about the puniest computer I work on.

At work, we have systems with hundreds or thousands of cores and hundreds of terabytes of storage. I feel I’ve become jaded, as it’s been a long time since I was truly impressed by such numbers. Nevertheless, there are even larger systems being used by governments, universities and research labs.

I’ve come to realize that being envious of bigger hardware is quite childish. Almost all computers are under-utilized, so a good portion of the hardware is just going to waste. Particularly with home desktops and servers, the systems spend the majority of their time running idle. Rather than obsess over the several hundred dollar upgrade that would make your computer just a little faster, why not get something done?

Oct 082010

This spring AMD released their new line of server and workstation processors, the Opteron 6100-series “Magny Cours” processors. Their previous Opteron products were lagging behind the competition from Intel, so a refresh was seriously needed. The 6100-series is not a complete re-design of the Opteron architecture, but it offers significant performance improvements and warrants serious consideration. Extremely cost-effective 48-core Opteron servers are shipping now.

These processors are designed for high-end workstations and servers, so they will compete against Intel’s Xeon processors. The same line of processors will go up against both the Xeon 5600-series and the Xeon 7500-series, which I analyzed earlier this year. This is a new twist, as both Intel and AMD have historically produced two separate lines of processors. With this release, AMD has designed the same processors to operate in both 2-socket and multi-socket SMP servers.

With a product this complex, it’s very difficult to cover every aspect of the design. I will be focusing primarily on the performance of the new processors, with a particular focus on HPC as that is the market with which I’m most familiar.

Continue reading »