helgedom

As of kernel in Ubuntu 11.10 (I wanna say late 2011 updates) (this is ALSA 1.0.24), XFI USB (and Titanium HD support) is there.

However, for whatever reason, it’s disabled by default as a preference/rule in /etc/modprobe.d/alsa-base.conf, and doesn’t show up in listed devices nor does it play.

Go in that conf file, right near the bottom or find this:
“# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2″

… and change the -2 to 1 (being an index for device). This allowed both my on-board Intel audio (index 0) and USB xfi (index 1) to show up at the same time.

The example: taring up “proto/” directory, but excluding all the hidden “.svn/” subversion metadata directories.

# tar -czvf proto.tgz –exclude=.svn proto/

[Wed Oct 06 16:27:53 2010] [crit] (13)Permission denied: FastCGI: can’t create server “/opt/ai/core/gui/bin/start_aigui_fastcgi.sh”: bind() failed [/etc/httpd/logs/fastcgi/d6b459611d6278dea13062a91e78bbbb]

Mental note, if you see this error in /var/log/httpd/error_log …

Know that /etc/httpd/logs is a symlink to /var/log/httpd/ and this error is either permissions problem having to do with “apache” user trying to write following this symlink, OR SELinux is getting in the way.

At least in my case I disabled SELinux and fastcgi can now start up. Stuff like this drives me nuts…

Developing the AI-GUI currently represents 50% of my time at work. I am the sole engineer on this project putting a front-end to our test Automation Infrastructure. The AI is a test harness that manages/deploys a pool of hardware, runs automated tests, collects and archives results.

Up until building this user interface it was entirely command line and file based. Now web based, with a MySQL database back-end for results archiving and mining.

The web app was built around the desktop feature in ExtJs, with separate applets providing functionality. It has the concept of user roles built in, and stores session data for efficiency and saving state like windows and preferences.

Testers use it to submit and run tests, developers use it to do “smoke” and “check-in” tests, managers use it to track results and get reports.

Technology: ExtJs web framework, CSS, Javascript / Apache, Perl, Catalyst, MySQL

Tools: Eclipse + Aptana, Firefox + firebug, Subversion, Bugzilla

Screenshots:

HP Remote Graphics Software (RGS) enables professionals to work together in real-time with more secure access to rich multimedia resources, applications, and data—helping to eliminate the distance barriers that can impede global organizations.”

The core RGS developers were Windows developers. I was plucked from the Linux team for a 1-year project with a goal of enabling the Linux components for the product.

I built the Linux streaming audio component using C++ and the ALSA API. The toughest part was reverse-engineering all the pin-outs on HP’s version of the audio chip.

I had enough time left that I took on a re-vamp of the original user interface. This was done using QT, so it would work on all platforms and was a lot of fun to do. We practically copied MS RDP – not my idea or recommendation, but a fun project regardless. Its still in use today! I think they have only changed the icons and logo if anything.

Screenshots:

… if only there were 48 hours in a day.

pyl_wrking_img1

A while back I wrote a post about managing music on Linux.

Since then I have bounced back and forth between using Rhythmbox and the Listen music player.  In preparing music and playlists for our upcoming wedding (no way in hell I was going to rent a crappy DJ) I have been putting these players through their paces.  I have been listening to song snippets, creating large playlists, smart playlists, transferring files etc.

With this work I have brought both Rhythmbox and Listen music players to their knees, causing crashes left and right.  Frankly they have both pissed me off to the point of no return.  Rhythmbox crashed and somehow lost/wiped all my playlists which I spent hours creating.

Rhythmbox (0.12.3), besides being very boring, works very well except for one thing: if you start double-clicking quickly from song to song, it will momentarily hang for 30 seconds at a time.  Sometimes it comes back and works for a bit, other times it comes back and will no longer play at all (I have to restart it).  This one bug, which I found to be filed in launchpad months ago (still has no fix) kills this app for me, unusable in my mind.

The Listen player is my favorite (v0.6+).  I’ve come to love its “dynamic” mode and the queue centric behavior, unique layout.  However, as much as I really really want to love this player, it crashes all the time.

What about Amarok?  Screw it, I’ve tried, just do not like its layout, never figured out how to get devices to work right.  If I can’t get something working quickly I dump it.

Bashee.. no.

So… I have been avoiding, but recently decided to download and try Songbird.  It is a cross-platform music app, built on Mozilla technology, open source blah blah.

Long story short, it does what I want.  Actually, I love the mash-up pane for instant artist info.  I got it running quickly, added a few add-ons so I have a now-playing queue playlist similar in function to the Listen player, yet can browse my music similar to iTunes and Rhythmbox.  Best of both worlds.  I tend to prefer simple “lightweight” apps, and Songbird is “heavyweight” in my mind because of the integrated web browsing that I don’t see myself using.  Yet, so far… its solid.  Me likey.  At least I can make some progress now…

I recently updated my system at work to Ubuntu 9.04 Jaunty.  It provides a more native environment for our development tools. With Hardy, I had to back port and find hacks for things to meet requirements.

Anyway, now happily running 9.04 32-bit, installed VMWare Server 1.0.9 to run a Windows XP Pro client on my Ubuntu host.  I found that something in the newer X server is mucking up keyboard mappings to VMWare such that the arrow keys, page up/down, home, delete etc. and number keys do weird things like opening menus and programs.

After some time, I found that I could at least workaround the problem by hard coding broken keymaps like so:

In ~/.vmware/config (create it if it doesn’t exist), put the following:

xkeymap.keycode.108 = 0×138 # Alt_R
xkeymap.keycode.106 = 0×135 # KP_Divide
xkeymap.keycode.104 = 0x11c # KP_Enter
xkeymap.keycode.111 = 0×148 # Up
xkeymap.keycode.116 = 0×150 # Down
xkeymap.keycode.113 = 0x14b # Left
xkeymap.keycode.114 = 0x14d # Right
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.118 = 0×152 # Insert
xkeymap.keycode.119 = 0×153 # Delete
xkeymap.keycode.110 = 0×147 # Home
xkeymap.keycode.115 = 0x14f # End
xkeymap.keycode.112 = 0×149 # Prior
xkeymap.keycode.117 = 0×151 # Next
xkeymap.keycode.78 = 0×46 # Scroll_Lock
xkeymap.keycode.127 = 0×100 # Pause
xkeymap.keycode.133 = 0x15b # Meta_L
xkeymap.keycode.134 = 0x15c # Meta_R
xkeymap.keycode.135 = 0x15d # Menu

yay google.

Hi. Thanks for stopping by.

flickr

IMG_4810IMG_4795IMG_4794IMG_4793IMG_4765IMG_4760IMG_4759IMG_4758

search

  

archives

links

friends