[mythtv] Interesting Comparison
Chris Pinkham
cpinkham at bc2va.org
Fri Mar 3 09:21:58 UTC 2006
> I have just completed my web-based equivalent of MythTV.
I've just completed my soap-box derby equivalent of a Lamborghini.
> The only things missing at this stage are all the extras (which
> I can hardly see myself using since I have a computer) like phone,
> browser, etc.
The only things missing at this stage are all the extras (which I
can hardly see myself using since I ride the bus) like an engine,
comfortable seats, etc..
> It is interesting to make a comparison.
> MythTV has about 112,792 lines of code.
> My implementation has about 1731 lines of Perl.
It is interesting to make a comparison.
A Lamborghini has a few thousand bolts and weighs over a ton.
My soap-box derby car has a few dozen nails and weighs in just under
120 pounds.
> Additionally, my implementation has the following features:
>
> - the only interface is via browser (which I didn't have to write)
> - there is no database, only plain text files
> - there is no XML
> - it is fast
> - it is highly configurable with all configuration in plain files
> - the recording format can be whatever anyone chooses
Additionally my implemtation has the following features:
- It's cheap (cause I don't have any money)
- It's easy to drive (cause I have no clue what that pole sticking
out of the floor with the numbers and the letter 'R' in an H
pattern is for).
- It is fast (going down big hills that are straigth and don't have
any bumps)
- I get to wear a cool helmet while I drive.
- It's a convertible (this is why I want the helmet)
- Tires are cheaper since I have a few old lawnmowers rusting out
in the back yard.
- The stearing wheel is also made from an old tire, so it doubles
as a spare and a steering wheel.
- It doesn't use any gas at all.
- I don't have to worry about getting the doors dinged when I take
it to the playground with me.
> Some of the implementation details which have helped keep it simple are:
>
> - Hardware contention is only resolved at record time.
> I use a simple lockfile containing pid and priority.
> When a conflict occurs a lower priority job can preempt running job.
> Or a higher priority job will lock out a lower priority job, but
> it will still possibly run for a reduced duration.
> At scheduling time there is absolutely no possibility of conflict.
>
> - Instead of XML the program guide information is in simple
> column-delimited format, with first line being the column definitions.
> Times are in UTC. That is all that is needed.
>
> - All configuration data is simple "name = value" expressions.
> But to allow 1:n relationships I simply look for plural names.
> So that "guides = fta-%Y%m%d other-%Y%m%d", for example,
> generates a Perl array.
> Wont work for foreign languages but I reckon it would have
> been simpler for the whole world to convert to English rather
> that have every programmer die in agony anyhow.
Some of the implementation details which have helped keep it simple are:
- I got the wood from an old crate I found on the side of the road
the other day.
- My side-business repairing lawnmowers has left me with a huge number
of spare wheels so I never have to spend any money.
- Use of nails instead of bolts helped save me time because I didn't
have to turn any nuts with a wrench, I just hit the suckers with
a hammer and they went right in.
- I didn't have to spend any money an an alarm system because nobody
in their right mind would steal my ride.
> I intend to add a few more features, mainly with respect to the automated
> recording selection plus some alternate tv guide sources.
I intend to add a few more features, mainly with respect to the overall
safety and roadworthiness of the vehicle. I think that if I cut a big
enough hole in the floorboard, I can put my feet out through the hold
to both provide additional braking while trying to stop and useful
acceleration while going downhill. I am going to add spinners to my
wheels made out of some old lawnmower blades trimmed down and sharpened
up.
> KISS to all you MythTV developers.
KISS to all you losers who fly by me on the interstate.
More information about the mythtv-dev
mailing list