Warning: Invalid argument supplied for foreach() in /home/jared/jaredquinn.info/public_html/wordpress/wp-content/plugins/head-meta-desc.php on line 56
Jared Quinn :: Technical
Jared Quinn

IT Consulting :: Design :: Events Management

Technical


The Entertainment System…


I collect things, videos, audio files, documents, images. Managing my collections is always something that is time consuming and tedious.

About two years ago I first started playing with Freevo. I was impressed, and started building up fxd files with loads of info about all my media. I figured i’d keep the work from then and build upon it, building a full blown media PC running Freevo.

The hardware:
Dual Core AMD 64bit
1 gig RAM
80 gig SATA Seagate Disk
CD/DVD-R
cx88 based TV Tuner

First attempt at getting this off the ground was with the 64 bit version of Ubuntu.. Which as ubuntu often does, frustrated me to no end.

Moving past this I stuck in FreevoLive, based on Mandriva. I gave up on Mandrake at version 10, before the Mandriva thing happened… the Live based distro based on Mandriva’s live thingie reminded me why I don’t like it. Package management is horrible (i’m a Gentoo user, and Debian on my production servers, so most package management annoys me. Hail mighty apt, praise thee, emerge.)

enter OpenSUSE, stage left

The install is neat, flexible, but unobtrusive. It has been one of the most enjoyable new distro installs i’ve used in along time. I’m installing 10.3 - I had the media handy.

The install timed out a fair bit on package and repository info; but my internet connection has been a little flakey the last few days. Manually having to retry when it did meant the install wasn’t entirely unattended for the most part.

No Gnome.

People who know me know that I like feet. Thats all feet except for the Gnome-foot, and the rest of Gnome in general. The ones made of clay with red hats are however quite nice to have around. So I selected xfce in the install. xfce is a good compromise - i’ve just gone back to IceWM on my primary desktop.

The default login picked fvwm for me… ehh. shrugs.

Thats where I am now… I’ve added the 3rd-party Packman repository, the package management system has let me pick freevo and the bits I want… I’m about to configure the TV Tuner… wish me luck…

libnotify with irssi over ssh


I’m an avid IRC user, sitting 24×7 usually connected to 5 server and 12 regular channels, and the only client I’m completely satisfied using is irssi. I run irssi on a remote server so I can easilly connect to it via ssh from wherever I am. I run it under screen so that I can re-attach to the same session from where ever I am and even have the same session shared across all my home PCs so i can look in and see whats happening whenever I want.

Recently I began playing with dbus alot, including libnotify. I found some irssi plugins for people running irssi locally to integrate with libnotify, but all the solutions by people for doing this remotely involved re-establishing ssh connections for each message and various other overheads that I was not comfortable with. The solution was obvious, to me - ssh needed dbus forwarding support. Well I don’t have the time nor experiece with the ssh code base to do it, a workaround was needed.

It didn’t take long for one to become apparent.

Nobody I know uses a relatively unheard of terminal capability known as terminal printing. This allows control characters sent to your terminal to turn on/off a locally connected printer. The content isn’t displayed by your terminal, but captured. Excellent, we could utilise this functionality for carrying a payload to the local machine, the connection is already there and the facility should be available in most terminal emulators (I’m a purist and use basic xterm which supports it).

What do I need?

  • You need a terminal emulator that supports local printing. I’m using xterm 229
  • libnotify and libnotify-bin, this includes the notify-send package
  • a libnotify daemon (I’m using notification-daemon-xfce)

Obviously you’re already using irssi as an IRC/IM client, and you’re probably running it over ssh (and hopefully screen too if you are). But that is outside the scope of this article.

How is it done?

First thing we do is install the local handler script. This is the script that we configure xterm to pipe the content to be “printed” to.

Here is the script:

#!/bin/bash
cat - | {
nt_icon=”gtk-dialog-info”
nt_time=5000
nt_head=”Notify”
nt_text=”Error Occured”
nt_type=”Message”
while read k v
do
case $k in
TYPE) nt_type=$v;;
ICON) nt_icon=$v;;
CONTENT) nt_text=$v;;
TIMEOUT) nt_time=$v;;
SUBJECT) nt_head=$v;;
esac
done
notify-send -i “$nt_icon” -c “$nt_type” -t $nt_time — “$nt_head” “$nt_text”
}

Grab it from here and put it somewhere sensible and make it executable.

The next thing that is needed is to configure XTerm to locally print using the script above. I use X resources for this. Infact I define a class in my Xresources called irssi and start xterm with a ‘-class irssi’ option for my IRCing.

If you don’t want a seperate class for irc, you can use the following lines. If you do want a class specific for your IRCing replace XTerm with the class name you like. The printer command should also point to wherever you put the script above.

*XTerm*printerAutoClose: true
*XTerm*printerCommand: /home/jared/bin/notifier

The last thing you need is the irssi plugin. I’ve uploaded it and attached it to this document, you need to download it and run it with /script load notify.pl inside irssi.

It is written by Luke Macken and Paul W Frields, i’ve adapted it deliver it’s payload to STDERR wrapped with ESC[5i (turn printer on) and ESC[4i (turn printer off)

notify.pl.gz

Happy IRCing!

IPW2200 WPA Supplicant HOWTO Mirror


We’ve been looking at buying a new MiniPCI Wifi card for (’s Laptop), and we’ve decided on the Intel Pro/Wireless 2200BG (or similiar, maybe a 2915ABG, anything supported by the ipw2200) card, which seems to have really good Linux support.

One of our requirements is WPA-PSK, for use on the network where we are both working at the moment. There are a couple of references to a HOWTO for using wpa_supplicant with the ipw drivers (it has been at http://www.bughost.org/ipw/wpa_howto.txt) but the server appears to be down.

Google cache found a copy for me; which I will put up online as it would be very sad for a resource like this to be lost. You can find my mirror here.

New WordPress Theme: Muggles


Here is the first release of my first freely available WordPress theme, Muggles.

This theme was originally designed for a client, who decided it wasn’t what they wanted. I spent a bit of time working on this particular theme and wasn’t about to let that be wasted, so I hope you find a use for it.

Muggles - Screenshot

It features bright yellow, pink and blue and nice curves.

Stay tuned, as I have already started working on some new WP Themes that are destined straight for the website (not through potential client filters), which will be available free too.

This theme (as with most of this website) is released under a Creative Commons, Share and Share A Like license. See my Legal Information for full license details.

Download Muggles v.1.0

xorg.conf for Dell Latitude C610


I’ve spent some time recently tweaking ’s laptop’s X configuration.

The display is an ATI Radeon Mobility M6 LY, using a Synaptics TouchPad.

The system is currently running Gentoo, Kernel 2.6.16 (r12) and X.org 7.0.

The major changes to the configuration have been due to an upgrade to Xorg 7.0, the fact that the nipple (Trackpoint) was not working under the previous configuration, and a general clean up.

Xorg.conf

New WordPress Plugin - ATEM (Reverse Recurse Meta)


It’s crazy when the same thing pops up from two different sources within a day of each other, and in this case it was the need to be able to “inherit” Meta data from parent (and further ancestor) pages in WordPress.

I had already developed most of this plugin as part of another plugin specifically designed for a specific purpose, but this portion has been removed and genericised to form “ATEM” (pronounced ate-’em).

You can find download ATEM 0.1 here.

Xorg Configuration for ATI Radeon Mobility M6 LY


Here is an X.org configuration file for a Dell Latitude C610 Laptop using an ATI Radeon Mobility M6 LY video card. This configuration uses the stock standard X.org ATI driver, however an upgrade to the ATI closed-source driver shortly is anticipated. It’s running on ’s laptop.

Download atiradeon_mobility_m6.txt

Update: The configuration file has been updated and can be found here.

PHP Rapid Application Development Framework


I have decided to release a sneak preview of a PHP Rapid Application Development framework I have been working on, which is currently named fluidic. The name comes from the name of the application I was developing that spawned the framework, but seems more appropriate for the development framework.

Fluidic is designed to be used with PHP and MySQL and provides rapid List/Edit/View style interface which is extremely customisable. Filters/Search and custom buttons can be implemented easilly and with a little more coding subforms and sublists and other custom code components can be implemented.

It also currently supports pop-up calendar for date entry, customisable formatting and verification functions and an extenable framework for plugging into various interface events.

There is little documentation available for fluidic at the moment, but I intend to develop the documentation, including more working examples in the near future. It is currently aimed at experienced PHP developers who will be able to gain an understanding of how to implement systems utilising fluidic by reading the sample code.

If you are interested in contributing to the fluidic project, please contact me.

You can find information and the current code base at my fluidic page.

Essential Web Tools Collection


What tools do you recommend to help other Website Developers?

This is a particular tough question. My background is in UNIX administration, and all my web and development work is performed using Firefox and Vi1.

However I have come to rely on a few tools in particular, and found some others very usefull on occasion. All of these tools are browser based (and therefore cross-platform) and more importantly freely available. Please contact me if any are broken, shouldn’t be here or you have suggestions.

Standards Compliance
Site Layout
Search Engine Optimization
Spelling, Links etc.

Footnotes

  1. vi is a traditional UNIX text editor []

Giving xdm a Face Lift


Both my partner (Kate) and I enjoy a fairly minimalistic environment when it comes to our X setup/configurations. She got me hooked on Gentoo, while I got her rather attached to IceWM as a Window Manager.

IceWM has loads style for little cost, it all fits in minimal memory, it’s quick and very useable. We don’t need, nor particularly like the featureset of “desktop environments” and the Windows-wanna-be approach that Gnome and KDE tend to take. Taking this a step further, we both use xdm as a Display Manager, and yes - it is ugly. This is how I’ve made it a little more asthetically pleasing.

You should be able to find all of the configuration files for xdm in /etc/X11/xdm or somewhere similiar depending upon the distribution you’re using.

Firstly, make sure you’re actually using xdm (as opposed to gdm or kdm or one of the others), under Gentoo you can do this in /etc/rc.conf, look for the environment variable DISPLAYMANAGER, it should be set to “xdm”.

Starting with the /etc/X11/xdm/Xresources file, we first want to make the login box look a little prettier:

xlogin*greeting: Identify Yourself
xlogin*namePrompt: User ID:  
xlogin*passwdPrompt: Password:  
xlogin*fail: ACCESS DENIED!

xlogin*greetFont: -*-clean-bold-*-*-*-15-*-*-*-*-*-*-*
xlogin*font: -*-clean-bold-*-*-*-15-*-*-*-*-*-*-*
xlogin*promptFont: -*-clean-bold-*-*-*-15-*-*-*-*-*-*-*
xlogin*failFont: -*-clean-bold-*-*-*-15-*-*-*-*-*-*-*

xlogin*width: 300
xlogin*height: 120
xlogin*x: 10
xlogin*y: 10

xlogin*borderWidth: 2
xlogin*frameWidth: 0
xlogin*innerFramesWidth: 0
xlogin*shdColor: black
xlogin*hiColor: black
xlogin*background: #333333
xlogin*greetColor: yellow
xlogin*failColor: red
xlogin*promptColor: #ffffff
xlogin*Foreground: red
xlogin*Background: black

xlogin*useShape: false
xlogin*logoPadding: 0

You can leave the xlogin.translations bit as is, unless you particularly want to play with it), you can leave the Chooser section as is as well, unless you particularly want it customised.

Now to add a touch of interest to the root window while we’re waiting for someone to login. I decided to use the glslideshow component
to add some movement and interest. xdm generally runs as root, so you may want to copy your .xscreensaver file from your home directory to root’s to keep some configuration options (like the directory for glslideshow to pull it’s images from with xscreensaver-getimage).

Next setup your Xsetup_0 file, I tend to remove the xconsole entry, I find it annoying and if I want to check the console log, I’m more then capable of doing it myself. So I first black the screen, then start a glslideshow of images:

#!/bin/sh
# $Xorg: Xsetup_0,v 1.3 2000/08/17 19:54:17 cpqbld Exp $
xsetroot -solid black
/usr/lib/misc/xscreensaver/glslideshow -root -duration 26 
   -letterbox -zoom 50 -pan 4 -fade 5 -delay 0 &

You could of course replace glslideshow with anything, even tuxracer if you wanted to!

Enjoy your slightly prettier xdm configuration.