Anatiferous blog | Move every zig.

Meta-Site

Welcome to Anatiferous: Using barnacles to make geese since 1689!

Howdy! This is my (William Reading's) webpage. At the moment, I only have this blog script and my gallery up, but I hope to get more stuff on this page at some point, or so I thought when I created this site years ago. Updates and shiny new copy to eventually go here. If you'd like to contact me to point out that I've done something to break XHTML/CSS standards or heaven forbid--look at my Vita--drop me a line at my e-mail address bill +spam @ [ELEPHANT] aggienerds.org. Simply remove "+spam", the spaces and the pachyderm along with its brackets and that address will reach me. I'm also available on Jabber/GChat/AIM/MSN with the same address above.

2/22/2011

Simple Prowl Notifier for Texas A&M

Filed under: — bill @ 1:30 pm

As of the last few years, it’s becoming more and more commonplace that news of a semi-urgent nature gets pushed out online quickly. In the case of Code Maroon, you can get a notification if Texas A&M University is going to be closed or if a building is on fire. These types of messages are pretty handy, but messages don’t get delivered to e-mail very quickly.

Most people sign up for text messages, but this doesn’t work for me because I exclusively use Google Voice for managing my text messages. What I’d like to do is get a quick notification on my phone whenever one of these things go out, so that I don’t bother to try to go somewhere that’s closed or the like.

So I’d really like to use something like Prowl to send out the notifications. The other thing is that Code Maroon isn’t necessarily the most effective at getting out the message that something of interest is happening on campus, since they presumably never want to send out a false alert. For the recent Zachry building fire, the student newspaper (The Battalion) reported that the building was on fire on their Twitter feed before Code Maroon.

My solution to this notification problem is to pull different campus RSS feeds, and sift out the interesting bits, and then push it out over Prowl to my iPhone. This cleanly solves the notification problem, fixes the expediency problem, and does a best effort job in throwing away things like test messages.

Link to the script here: RSS Notify v0.1

2/11/2011

Using Ekiga with a Polycom CX200 on Linux

Filed under: — bill @ 2:07 am

I happened to have a half broken Polycom CX200 lying around, and I discovered that it mostly works aside from the LED on the front. The other thing I noticed was that if I plug it in on linux, the hiddev driver captures it and pulseaudio hooks up the microphone and speakers. It occurred to me that this could be really handy for use with something like Ekiga as a softphone.

I unloaded the hiddev driver and did an lsusb -vvv, to find that the device actually uses a telephony hid page and a standard on/off hook data field:

Report Descriptor: (length is 151)
Item(Global): Usage Page, data= [ 0x0b ] 11
Telephony
Item(Local ): Usage, data= [ 0x01 ] 1
Phone
Item(Main ): Collection, data= [ 0x01 ] 1
Application
Item(Main ): Collection, data= [ 0x02 ] 2
Logical
Item(Global): Report ID, data= [ 0x01 ] 1
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Report Count, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x01 ] 1
Item(Global): Usage Page, data= [ 0x08 ] 8
LEDs
Item(Local ): Usage, data= [ 0x17 ] 23
Off-Hook
Item(Main ): Output, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Global): Report Count, data= [ 0x07 ] 7
Item(Main ): Output, data= [ 0x03 ] 3
Constant Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Main ): End Collection, data=none
Item(Main ): Collection, data= [ 0x02 ] 2
Logical
Item(Global): Report ID, data= [ 0x02 ] 2
Item(Global): Report Count, data= [ 0x01 ] 1
Item(Local ): Usage, data= [ 0x09 ] 9
Mute

(some bits snipped)

Fiddling with accessing the hiddev device note, I found that it was pretty easy to read off hid events coming off the device. The next part was to try to hook it up to Ekiga’s dbus interface. Unfortunately, Ekiga’s dbus interface has been a bit stale since the 3.0 release, so I had to patch it up to add the hangup/answer events that would be useful to wire up to the buttons. It’s a bit hacky because it uses the reuses the private data that the call window is holding onto for itself, but it’s a lot more convenient than going through the call manager.

I hooked up a dbus perl script that I wrote to test my dbus changes to the hiddev script and voila, my CX200 device works properly with ekiga on linux, at least as far as answering and hanging up go. Patch to Ekiga and perl script here.

 

Google
 
Web anatifero.us
aggienerds.org

Powered by WordPress