Hello. My name is John Werner. By trade, I am a Software Engineer / Architect. I have been coding professionally for over 15 years, and on my own for over 25 years. That makes me... well old enough.
For years, I have been following Linux. In 2004 I broke down, and built an exclusively Linux machine for myself. I had played at installing Linux on the family computers, but this was the first machine that Bill Gates was not going to have any revenue from.
When I built that machine, I pulled out an old Hauppauge frame grabbing TV card that I had acquired from what used to be a security system DVR. Looking around at various ways to watch TV and capture video on a Linux box, I came across MythTV and installed it and got it running. I liked it. From there, things have grown...
- 1 John's Current Myth Setup (22-Oct-2008)
- 1.1 Backends
- 1.2 Front Ends
- 1.3 Special MythTV Setup Tweaks & Customizations
- 2 Some of My Other Interests
John's Current Myth Setup (22-Oct-2008)
It started with one machine. Now I have just built my first slave backend, and I have 3 front ends running off of it.
This machine is my personal machine. It has served as the master backend for MythTV in the house while also doing all my other fun stuff, including playing games, since I built it. Up until November of 2007, it also did all recording and storing files. Since the card being used was just a dumb TV-Tuner without any special encoding, when something started to get recorded, I stopped using it. That's changed a bit since I built the new slave backend.
- 3.0G Celron
- 512M RAM
- 250G HD for Root FS, recordigs, home directories
- 120G HD for doing video editting
- Hauppauge "WinTV" style card (not much info, got from old CCTV DVR)
- Mandrake Linux 10.2 with lots of updates and rebuilds of stuff
New Slave Back End
For a while (Jan 2007) the 650 MHZ Athlon motherboard out of the DVR served as my wife's office computer. I finally upgraded here substantially, and had an extra motherboard sitting around. What better use could I put it to except to turn it back into a DVR on steroids...
- 650Mhz Athlon
- 384M RAM
- 500G HD (20 G system, 480G storage space)
- 4x Hauppauge PVR-150 (<== added 2 more 19-Oct-2008)
This isn't a myth machine, but it does serve up videos and music files.
- 400 Mhz AMD K6-2
- 256M RAM
- 120G HD for serving Files
- 40G HD for everything else
- Mandrake (pre Mandriva) 10.2
This machine doesn't even have a monitor hooked up anymore! Before having to restart it after a power failure, it had an uptime of 450 days!
I currently am running three front ends in my MythTV setup.
John's Computer (also the Master Backend)
Yep, I still watch some TV on the Master Backend
The Wife's Office Computer
In early 2007, my wife's Windows machine stopped being able to boot into Windows. After working for a couple of weeks on it, I finally did another install. Then about October of 2007, the new install stopped working. That was enough. I installed Ubuntu 7.10 and haven't looked backed (much). We did end up installing a VM (VirtualBox) running a Windows install so we could get Quicken running, but that's the limit of Windows usage.
Since the machine has Linux on it, she now runs a Myth Frontend and watches all of the shows she records.
The Kids Computer
For many years, my kids have had their own computer. It has always been hooked up to the TV using a TV out card. For years, I used an ATI All=In-Wonder. When I decided to build the kids a new computer last year, I threw out Windows and went with Ubuntu. This required that the AIW also go. Into this box (a refurbished HP/Compaq Deskpro), I put an NVIDA chipped graphics card with VGA, DVI, and TV out. The card is currently driving both the TV and a VGA monitor. I usually run the two displays as clones of each other.
I addition to being the kids computer, it is also our primary Myth TV Frontend and Media Center. Our DVD player sits unused as we watch DVD through MythTV. It also gives us full access to my recorded Videos and Music files.
The computer has two different IR Remotes. The first one I paid $5 from a place in Hong Kong that sells on eBay. It uses a credit card size remote that is designed for Windows Vista MCE. The second remote, I also bought on eBay, is also an MCE remote. It is a silver "full size" remote that cost around $15, but it has better range and a built in mouse control. Both remotes come in as HID inputs, and can be accesed through /dev/input/eventX with lirc. The tricky part on the silver remote is that it uses two different "event" devices -- one primarily for the mouse, and one for all of the rest of the stuff, except certain buttons.
- P3 1.0 Ghz
- 512G RAM
- 2x HID IRC
- NVIDIA 5500 chipset VGA / DVI / S-Video output Display card
For using the computer as a MythTV box, I have created a special login, "tv". It starts a very lightweight X manager (xfce) and drops right into mythfrontend. When mythfrontend leaves, it logs out automatically. To keep things safe, "tv" has virtually no permissions.
For the longest time, logging in as "tv" required interaction with a real keypad. I finally solved this by doing two changes. First, the password for "tv" is now a long series of digits (all available from an IR Remote). Second, I switched from the default Ubuntu GDM Login to one that allowed selecting the user from a displayed list of users. The important note here is that instead of showing all of the users on the machine, I limited it to a subset that I felt safe to expose.
Special MythTV Setup Tweaks & Customizations
I've always been a twiddler. Give me something, I'll try to make it better. Here's what I have done on my MythTV setup.
Which MythTV Version
About a year ago, I gave up on the release versions of MythTV, and since then, I have been chasing the tip of the SVN. About once a month (or sometimes once every couple of months), I grab the latest SVN and then rebuild it specifically for each machine running MythTV. With four machines, it is time consuming, but it works.
The File Server also hosts a webserver that is poked through to the outside world. On this, I can access my MythTV stuff through MythWeb. Unfortunately, I have not been able to get the streaming of videos to work, but at least I can program things to record if I forget to do it at home.
The file server also hosts a web based X10 interface (or 2). I have customized the MythTV menus on the Kids Computer to allow me to control the lights through the web interface on the file server. Basically, I have created menu items that use "EXEC" to tell "wget" to fetch the correct webpage with the correct options to tell the X10 web interface to change the light settings. [I should add something to the feature request that exists for this saying how I did it in detail.]
NVIDIA Driver Control From MythTV
Just after I hacked in control of the X10 lighting in the house from MythTV, I decided to add the ability to turn the TV Out on and Off from inside MythTV. While it is not completely automatic, now have a menu item that will start the "nvidia-settings" program. I still have to click around with the mouse, but atleast everything can be done with a remote (the silver one). I hope to find a way to programmaticly do it with out user intervention, but I haven't yet. I sure it can be done, I just have to find out how.
I've added a few special menus to the setup on the kids' machine.
Extra Games Menu
In August of 2008 I bought my daughter a pair of Dance Mats and installed some software (pyDance & StepMania) to allow her to play Dance Dance Revolution style games. To make it as seamless as possible, I decided to re-work the games menus. Now, "Play Games" opens a new game menu where there are about 15 Linux games available, including "Arcade Games" (MAME).
One of the major hurdles here was getting the games to correctly user the correct joysticks. As it stands now, the interface for the Dance Mats takes up the first joystick position (/dev/input/js0). The USB gamepads take up the next two joystick positions (/dev/input/js1, /dev/input/js2). While playing Extreme Penguin Racer with a Dance Mat might be interesting (I will have to try it), it doesn't work well for other games. After a bit of research, I finally found the secret to telling SDL based games what joystick to use, the "SDL_JOYSTICK_DEVICE" environment variable. The menu options that invoke the games now look like this:
<button> <text>Extreme Tux Racer</text> <action>EXEC SDL_JOYSTICK_DEVICE=/dev/input/js1 etracer</action> </button>
My kids like to listen to some kids radio dramas from the internet. After playing around, I found the best way to enable them was to setup a menu of the programs. When a program is selected, firefox is launched at the appropriate address. I had to use a web browser for these as the choice of episodes is done through the sites' web interfaces.
Some of My Other Interests
Here is some information about some of my other hobbies.
While I autocross in the summer, my real motor sport is Rally, particularly brisk TSD events.
Of late, I have also been doing some instructing at the Street Survival Schools. These are a great place to learn how to drive safely. While "Driver's Ed" (in the US) teaches kids how to pass the driver's test (multiple-guess, then 5 minutes in the car), Street Survival School gives kids (and adults) practical knowledge and experience. Check it out.
The other big part of my automotive side comes from my rally experience. I run the Internet's oldest FAQ about Snow Tires, the The Snow Tire FAQ.
I come from a very musical family. Everyone plays an instrument or two or sings. Even my kids.
Right now, I have my own little MIDI studio using Rosegarden in my basement.