another update

I only worked on ‘bend’ a little bit today. The main new feature is that ripping works 100% now, and I’ve cleaned up a lot of old bugs. Encoding is the last thing left, and then I can finish up dvd2mkv.

One interesting little feature I added is that now you can rip the same disc in one or more session at the same time. Something I don’t recommend in the least, since it increases the disc readtime quite a bit. However, sooner or later, I’ll have it so you can pass bend --rip in one shell, and bend --rip --dvd_device /dev/dvd1 in the other. That can come in handy if you have more than one DVD drive and want to rip more stuff at once.

big changes

I’m a little tired. I ended up working on my PHP DVD ripper scripts all day today. I got a lot of good stuff done though, and learned lots too.

I’ve done a rewrite this time with the whole interactive mode in mind. At first it got really tricky because I was having problems accessing stdin within a loop. The code wouldn’t wait for the user input, it would just keep going. Turns out that using handles to open and close it were the culprit, so now I just do $foo = fread(STDIN, 255); The php manual has a really good introductory chapter that covers that stuff (like say, important constants). It helped me get over the rough spots.

Another interesting part of the code is I’m using do … while control statements, which I’ve never had to use before. In this case, I need them because I can’t let them continue until the input matches a certain string or valid entry. Pretty interesting approach.

The code is coming along. I’d say its about halfway done overall, but the second half is going to be a snap since I don’t need to replace hardly any of it. I’ve got it setup so you can “archive” a disc. That doesn’t sound impressive at all, but the hard part was that all of it is completely driven by the user interface *and* you can do it either interactively through the console questions or with the argument flags. I like it. :)

All the other stuff is really simple, since it’s just a matter of rip track foo to location bar and encode with options x and y. All the settings are already in the user’s config file, and the functions are already working great, so it should go really fast from here on out. I’d just like to be able to use it again soon so I can watch some Brady Bunch.

cleaning up old code

I’m working on my ‘bend’ script tonight, cleaning up some old code that’s been irking me. Ugh. This is one of those projects that it would have gone a lot smoother if I had put all my pseudo code on paper first. Naturally, all my real planning is done at work while all my enthusiastic creativity is used at home. There’s gotta be some way to combine the two. Maybe I’ll reward myself in Twinkies for a good OSS program done right. :)

So, right now, I’m working on *simplifying* everything. I’m dumping everything in the class, making the functions more basic (doing one tiny thing) and other horrific “what was I thinking” code cleanup. Someday I’ll get a release out the door.

In the meantime, I just added a tiny still-not-perfect function I wrote to pull in options from stdin:

$ bend --rip   --debug
Your DVD is not in the database.
Would you like to archive it now? [y/N] yes
string(3) "yes"

Pretty funky … at least, I think it’s cool writing PHP shell scripts that are interactive. This certainly deserves a Hostess-brand sponge cake reward.

death to sql server (part 3)

It’s been a good while that I’ve ranted and raved against MS SQL Server. I’ve actually found a few bugs since then, I just haven’t documented them.

My beef this time around is that SQL Server 2000 doesn’t have a TRIM() function. What’s even more strange, is that they do have RTRIM and LTRIM functions. So, if you want to trim something you just run “UPDATE table SET foo = RTRIM(LTRIM(foo));” Brilliant!

Just another reason to love open source software — you get incremental bug fixes and feature upgrades. This would have been fixed in any other database a long time ago, but since new features == new versions released every five years with Microsoft, you’re just plain stuck with what you paid for the first time around.

Yes, I know I’m trolling but really … what defense do they have? I know I can create a UDF to do the work for me, but that’s besides the point that I’m right and prefer laziness. Plus, it’s one thing to say “MS suxxors” and another to point out why their software is so shoddy. And if there’s one thing I enjoy doing, it’s educating people on why they’re wrong and Gentoo is the extreme answer to everything.

Now go emerge postgres, ya jerk.

tv and dvds

I have been on an insane shopping spree lately, and buying up a lot of TV shows on DVD. Normally I buy maybe one or two a month, so it’s pretty extreme that I bought thirteen in one week. Well, not that extreme once you get to know me better. :)

Like my movie DVDs page, I created one just for my TV collection. Believe it or not, I actually have it online so I can call up my brother when I’m at the store, because I can sometimes never remember what I have and haven’t bought already. Good times. :D

Here’s some of the ones coming out soon that are notable:

Today: Justice League, Volume 2 and Superman, Volume 3.

I especially can’t wait to get my hands on Justice League. I love that show. They seriously kick butt in that cartoon unlike they do in any of the other Warner Bros. ones. I’ve also blogged about it the series before.

Superman, I’m not so stoked about, but I’ll buy it anyway. My first exposure to it was the cartoon movie about his origins (available as the first few episodes on the season one DVD set), which was very good by the way, but after that the score kind of bugged me so I ignored it. I haven’t really watched em since.

July 18th: The Incredible Hulk, Season One

This is the one that I am poop-in-my-pants oh-my-crap I can’t wait super-excited for. I looooove this show. I can’t wait to see the pilot either that explains how it all started. Very exciting.

The great thing is that it’s from Universal, which has been one of the best as far as releasing all their seasons on DVD on a regular basis, so I’m fully expecting to not see just season one and then the rest of them never materialize.

Plus, I hope this is a precursor to other great shows like this one coming along — The Six Million Dollar Man or the Bionic Woman. Man, nothing got me quite as worked up as a kid as those shows.

July 25th: Animaniacs, Vol 1 and Pinky and the Brain, Vol 1

I never really got into these shows when they were on the air (actually I don’t think I’ve ever seen a full episode), but I’ve always heard great things about them. It’s animation from Warner Bros., which already means there’s a very low chance of it being crappy. And that’s honestly the only studio I can say that about.

I’ll cover the August releases another time. I think that’s enough geek information overload for now. :)

the legend of why was this ever so popular

Boy, and I thought I had a lot of free time working on strange projects. Well, I still do, but this is equally cool — someone has created a timeline of all the Legends of Zelda projects. It’s actually an interesting read. At least the first page is, I didn’t make it past that.

It does bring back memories though. I remember going to my friend’s house when I was in 6th grade I think it was and he had the gold Legend of Zelda Nintendo cartridge, and I would watch him play. Then I would have a turn, and I’d quickly demonstrate how my hand-eye coordination skills are equal to that of your average garden slug. Naturally I blame it all on my parents who wouldn’t let us have any gaming consoles, and stunted my mutant thumb skillz for life.

That never stopped me from trying to dominate some games though. My favorite was always Super Mario Bros. 3. At least with that little squirrel costume I had a flying chance because I could soar over everything that was trying to pelt me with fireballs from its mouth. That was a great game.

Then, do you remember the Super Mario Bros. TV show? I must admit, in full honesty, I’m tempted to buy the entire series on DVD. I used to watch that show religously — whether it was to learn more of the eternal struggle between Mario, Luigi and Poomba (or whatever those green scepter-wielding turtle-dragon things are called) or just to maybe somehow pick up some mutant thumb trick moves that would miraculously carry over from the cartoon into real life.

My favorite part of the show was that every Friday they would have a Legend of Zelda cartoon. By this time, Dungeons and Dragons had been off the air for a few years (which, btw, should be on DVD sometime this year), so this was the only under budget fantasy-themed show on for kids at the time. I remember I really enjoyed it. So much, in fact, that I recently bought the entire series of them on DVD.

Watching it now, I’m starting to realize that maybe some memories from my childhood probably aren’t too reliable. Especially when it comes to my definitions of “delightfully entertaining.” Granted, it’s not that bad. It’s good for someone who is probably six or under, which is why I wouldn’t miss it for anything in the world at the tender age of eleven.

I will give you fair warning though — don’t watch the credits. There’s this awful theme dance (I kid you not) where they “do the Mario,” a dance which is surprisingly simple consisting of just swinging your arms side to side, and then moving your legs back and forth. I guess Mario’s been too busy jumping over man-eating vines to really get in shape to come up with some decent dance moves. Here’s to another childhood classic that I can’t talk about in public.

swiss family robinson

Sometimes I turn on my TV just to have some background noise going on. This morning I settled on the Hallmark Channel. They were running some kind of show about some people on deserted islands that was kind of boring. It seemed to me like the cast was made up more of models than actors that can genuniely evoke emotion.

But right after that, Walt Disney’s classic Swiss Family Robinson was on. I really like that movie, but I haven’t seen it all the way through until today. About 10 minutes into it, I remembered I had it on DVD, and so I popped it in and watched it in glorious widescreen (scope, even).

The movie is comfortably long (a little over 2 hours) and entertaining all the way. They briefly cover in the beginning how they got shipwrecked (and not very well, I thought … I should read the book sometime) and soon they are moving to the island and making a new life there. Great movie, good stuff. I love the classics.


There are some things I don’t want to be doing at 11:13 at night when I’m tired and cranky and just want something to work. Calculating cron jobs is one of them. Once again, KDE comes to the rescue.

Now, I don’t use KDE as my desktop, but their tools are absolutely amazingly nice, practical, and easy to use. I just searched the portage tree for cron, and kcron came up in the list. Thanks to Gentoo’s split KDE ebuilds, I got to emerge just that file, which took 2 minutes and 47 seconds.

Then, I ran the little sucker and instead of using my tired head to figure out my freaky cron job schedule, I just used the nice little friendly GUI and it did everything for me. It even works with fcron, which webmin can’t do (seems to only work correctly with vixie-cron).

KDE rocks.

tv tuners

I haven’t been able to sleep tonight, and one thing that’s been keeping me up tonight is that the AV on my myth recordings tonight are mysteriously out of sync. I’m not the one to blame this time, though, I really haven’t touched anything in a good while. I am curious what’s throwing it off, though.

Well, I started playing with my TV tuner card in my desktop (a Lifeview Flyvideo 3000), and recorded a few 30-second spots on the same channel to see if it was still doing it. Well, everything seemed fine, so I guess it was just a fluke or those shows.

Well, I was recording the TV using MEncoder instead of Myth because I’ve been having problems with my tuner card and MythTV not recording the audio. That idea lead me to start thinking why I don’t use my TV tuner card instead of my Plextor ConvertX. Now, I love my little USB MPEG4 hardware recorder, but it does have its drawbacks. The USB2 requirement is one, which really isn’t a big deal unless you want to stick it in an older computer. Even then, you’d buy a USB2 PCI card, which is easy enough to do, but if you’re running low on PCI slots it becomes a hassle. The second thing is that it *only* works with MythTv. That of course is noone’s fault, it’s just that myth is the only project that has written software that will interface with the device.

The problem is that it gets frustrating sometimes with myth being my *only* option. If I was using a TV tuner card I could easily switch between mythtv and freevo and mencoder plus a cron job and tweak and play around with it much easier and have far more options when something is going wrong.

So now I’m starting to think about swapping out my TV tuner card to be my main recording device. I think the main reason I got the Plextor was to take the recording load off of the computer. Well, with an amd64 box, the CPU usage is not even noticable. It runs between 15 to 55 percent depending on how high a quality I’m recording to and the resolution. A thirty-second clip of using mencoder to record to MPEG4 at 2200 video bitrate, and MP3 VBR audio with 720×578 resolution (the highest my card supports) hovers at around 40 percent. That’s really good. Especially considering you can record this stuff at 320×240 for much lower CPU usage (about 13%) and that will still be really good quality for watching it on a standard TV display.

I gotta say, too, that the video quality on this card rocks. It’s the best I’ve ever seen. I daresay it’s even better than the Plextor, even though they both use the same Philips tuner … dunno why, just seems that way. Plus, my card records in stereo. And I don’t need a stupid audio cable from my TV tuner card to my audio input to record sound. Not to mention I bought this thing years ago, and it *still* runs like a champ.

Sometimes I wonder why I make things so complex.

mplayer 1.0pre8 released

I saw a post on Planet Gentoo about a new release of MPlayer — after a year wait, no less.

Actually, Luca is nice enough to provide us with development snapshots which is really cool. But check out some of these changes in the changelog. I’m really stoked:

  • Flash Screen video decoder via lavc
  • libdvdread updated to v0.9.4
  • support for some more MythTV NUV files
  • support for variable framerate Ogg/OGM files
  • MPEG-1/2/4 and H.264 decoder speedup
  • ported to GTK2
  • AAC (FAAC) audio encoding
  • encoding zones, DivX profiles support, luminance masking, multi-threaded encoding for XviD
  • configure check and compiler optimizations for VIA C3, C3-2 and Pentium-M
  • configure check and compiler optimizations for AMD-64 extended
  • configure can now run with cross compiling, new configure option –enable-cross-compile
  • Audio/Video synchronisation fixes

Isn’t FOSS great? It’s all about the minor improvements that as a whole make it incredibly much better.