multimedia codecs

One of the main reasons I originally got hooked on Gentoo was because of its awesome support for multimedia applications. I think that support is still evident and strong. When I first started trying out Linux distributions in 2001, my goal was to have it replace Windows as my primary desktop. One big thing was that I wanted to play MP3s. I remember Red Hat didn’t ship with lame, and it really bugged me that I had to go to some other site, download an RPM and install all this stuff manually. I thought that was just about the dumbest thing in the world. Then I tried Mandrake and liked that a lot, and the same thing happened. It got even worse, though. I wanted to play around with some of the cool multimedia applications like MPlayer and Xine that I had heard so much about, and to do that I had to fiddle with repositories like PLF (which is a great resource, btw). I was still a linux noob, so setting all that stuff up was really annoying, especially since I was still reinstalling quite a bit to get things working right.

And then I remember I tried Gentoo. What a breath of fresh air that was. I remember how cool it was that I could set use flags and automatically pull in support for MP3s with XMMS. I couldn’t believe it was that easy. And then I got Xine and MPlayer working too, I just had to emerge them. It was great! The more I played around with multimedia, the more I realized how nice Gentoo was treating me. It was easy to install support for all these codecs so I could playback QuickTime and RealPlayer movies. Good times.

I still love working and playing around with multimedia stuff. In fact, the first team that I joined after becoming a Gentoo developer (aside from user relations) was the media-video herd. I did that so I could help out with the multimedia applications and support on Gentoo, which I think is already pretty darn good. Even if I had to cut back my responsibilities, I think the video team is one that I would never abandon. I love working on the stuff. There’s a lot to improve, but for the most part it is minor.

As far as proprietary formats, and codecs, Gentoo has excellent support for those that I don’t think you’d really find elsewhere (although I don’t know, as I haven’t really looked). Isn’t it nice that you don’t have to add all these external overlays just to play a movie? When it comes to the matter of licensing, I hate the patents and the unethical terms that they come packaged with, but I believe first in the principle of giving users the choice to decide. I help out on RealPlayer, mplayer, binary codecs and ivtv, all of which use proprietary drivers or firmware.

Don’t get me wrong — I’m certainly not in favor of using proprietary software at all. I firmly believe that users who know their stuff need to get off their butts and help reverse engineer these things, so that we don’t have to rely on them anymore. Just as ffmpeg (and MPlayer) got support to playback WMV codecs from a Google Summer of Code project, other formats and projects need time, dedication and support to make some progress. Consider getting involved if you can.

In the meantime though, I’m happy to help users get the multimedia support they want and need. If you have any problems, as always, feel free to ping me.

cleaning up realplayer support, part three

I submitted another revision bump to RealPlayer in the portage tree, and this one again just has minor changes which hopefully will help out.  All I did was make symlinks of some of the codecs to the older versions, so that when you use mplayer (or mplayer-bin) it will use the (latest) real libs to playback the file.

The reason this is an issue is because when you compile MPlayer with support for Real’s libraries, it will first look in the directory you configure for theirs alone, and then fallback on the directory for where your 32 bit binary codecs are.  Some of the binary codec files though exist in both the RealPlayer package and the win32codecs one.  mplayer-bin was whining when it couldn’t find some in real’s directory, but it could in win32’s, so I symlinked the new ones to their older versions.

I’m sure I just confused everyone, but all I’m trying to say is that I fixed a minor issue which might be bugging a small amount of people on a limited amount of streams. :)

I’m also working on bumping mplayer-bin if you haven’t noticed already.  Building emulation packages is new for me, so don’t be surprised when I screw up royally and it doesn’t work.  It’s a work in progress.

superman ii: the richard donner cut

I rented and watched Superman II: The Richard Donner Cut last night from Netflix. It was really cool to watch how the film was originally intended, though I have a lot of mixed feelings about the things that have changed.

If you don’t know the backstory, basically what happened is that Superman and Superman II were filmed simultaneously, and they were going to be one epic movie arc story, flowing together pretty nicely. Somewhere along the way though, the producers decided to cut Richard Donner and hire another director to finish Superman II. The second director got credits for directing the film, even though he pretty much re-filmed a few scenes and the work was maybe 20% his or so. I could be botching up the details, but that’s how I remember things. Anyway, it’s Lester’s cut that was the theatrical version and the one that we’ve seen all our lives, until now of course.

The difference between the two films is amazing. Donner’s focuses a lot more on the character driven parts of the story, covers the plot holes, and focuses on the romance between Superman / Clark Kent and Lois Lane quite a bit. In short, it becomes a real personal movie again.

There were still parts that I didn’t like though, both about Donner’s restoration and how they edited the movie. It certainly felt choppy in areas, and it seemed like they in some ways they were trying to make it seem to have a bit more of a modern style. Some scenes would jump quickly without warning to another one, and we would be treated to three stories at once developing at the same time, instead of extending one scene and letting it play out. Plus, there was a lot of film cut out from the theatrical version that made some new inconsistencies, and kind of made it feel like we were being hurried along (an example being when the super villians show up in Houston — their encounters with the police and townspeople are extremely brief, and things move rapidly so that they can meet the President of the US). I don’t know if they were removed because they were Lester’s shots or they just didn’t like it in there anymore, who knows. The additional, lengthened stuff though (the fight scenes in Metropolis had a lot of extra trivial stuff, and the new Phantom Zone scenes were really killer) was nice, the only part I didn’t like was the added musical score when the drama or action could have held it’s own. I noticed a few parts where the audio was re-dubbed as well to change the dialogue. The most obvious one was where Superman showed up again after being restored, outside of the Daily Planet building, and says “Haven’t you ever heard of freedom of the press?” A really bad pun. The original was much better, where he simply says, “Would you care to step outside, General?” or something to that effect.

Superman coming back was a real minor annoyance for me in the original theatrical version. We are never treated to how it happens. All we see is he walks to the North Pole to his Fortress of Solitude, and finds the green crystal. Then we cut and never know what happens (or how). Superman is back, and that is all. It was a bit frustrating to a young geek like me who was really interested in the science fiction of the movie. Well, if that bothered you too, then this is the major area where The Richard Donner Cut really shines. In this version, the story is expanded greatly, and explains everything in a great story of personal drama and sci-fi. Really cool stuff. You’ve got to see this movie if only for those scenes.

Superman’s father also plays a large, large part in this cut, something I didn’t realize he had been removed almost completely from the theatrical one for some reason. It wasn’t until I was watching comparisions of the two cuts in a featurette, that I realized just how much he had been removed, and how integral his father was to the storyline. Good stuff.

Another classic moment was the very opening scenes of Donner’s cut at the Daily Planet. I won’t go into detail as to what happens, but it really gives Lois Lane some credit for finally seeing things, and adds some humor. That’s another thing I remember reading once, was that Margot Kidder (the actress who played Lois) was cut a lot from the movie for some reason or another. She definately makes much more of an appearance in this one.

Overall, I’m still undecided as to which version I like the most. If I had my way, I think the only thing I would have changed is not removed so much stuff from the theatrical version, and would have left the audio dubbing and rescoring alone. Both of those really bothered me. There are a lot of good lines in the theatrical versions that were cut unnecessarily, and I can understand if Donner wanted to get as much as his vision back in. I would have been more interested though in an editorial cut that took the good from both of them, but I’m glad we got to see this one all the same. It’s a hard choice if you had to pick between the two. If I did, I would probably cut my own version and put some things back in the way they were. The parts that mattered the most in Donner’s cut were the beginning and the middle (I didn’t like Donner’s ending at all), and of course all the scenes with Jor-El. I’m pretty nostalgic though (just look at my DVD collection), and I think in the end I would choose the original theatrical version, if only because that’s what I’m most familiar with. I don’t know. A mashup between the two is what I would really enjoy, and I’ll probably make one sometime just for me.

Great stuff, though. Check it out for all the cool new scenes. It’s really enjoyable. I’m glad that Richard Donner got to do this cut, as well. I can’t imagine how I would feel if I made almost an entire movie, and then someone came along and changed it around and took credit. I can understand that being a sore spot for him. One thing I’ve certainly learned from this movie though is that it can change quite a lot by the editing being done. It’s amazing they had that much extra film to begin with, enough to completely reshape the overall feel. Interesting stuff.

scale, bugs, blah

I’m extremely tired, but I just feel the need to write, and so I will. In fact, I have a lot of stuff I want to write about, but just have not either found the time or made it yet.

I’m really bummed about not being able to make it to SCALE last weekend. I really wanted to go. It just boiled down to the fact that I was feeling really behind work, and when I finally realized I was serious about going, it was too late to make real preparations. I couldn’t decide if I wanted to fly or drive, and instead of doing either (flying’s too expensive, driving is a looong trip), I settled on staying home and catching up on rest. Which was a good idea in itself, I had a good weekend here. In fact, I went driving really, really fast, which you can read all about in my friend Jason’s blog. I also got to hang out on Friday with some other local PHP geeks and go to lunch. It was good to meet some more nerds from round here. I’m still sore on missing out though, and I’ve already promised myself I’m going to make it to the next expo in the U.S.A., no matter where it’s at (sorry, flying to Europe is a bit spendy).

Anyway, in other Gentoo news, I saw on Simon’s blog (blubb) that we are finally down to less than a hundred bugs assigned to the amd64 team. That is freaking incredible. Simon deserves an enormous amount of credit for not giving up and pushing through until we break the barrier of getting a manageable number. I did a lot on bugday last week, and a lot on the week before that, and it almost burned me out completely. I’m still a little tired from all the whirlwind of activity, and I’ve been trying to take it easy since then so I don’t completely lose interest. Still lots to be done, and in fact the media and video teams need just as much love and attention. So if you don’t see me being as crazy busy as I have been lately, it’s because I’m trying to take it slow for a little bit so I don’t pass out.

Well, I’m mumbling so I better head off to bed.

work, work, work

I don’t think I ever wrote about this, but I started a new job about four weeks ago. Actually, I rarely, if ever, write about work. I’ve found it’s best to separate my two lives and not get them too intermingled. I have a lot of opinions on that subject, but I’d probably better not get into them. I tend to not get into too personal things on this blog, either, but I do think that this time I could benefit from some outside advice, if anyone had some.

One thing that’s depressing me a little bit is that looking back at all my computer jobs I’ve ever had since 1999, I’ve never really enjoyed them as much as I had hoped. I’ve been in good company, made some great friends, worked on some really interesting projects that have taught me a lot of stuff, and learned a lot about business, different industries, and computing. In general though, I find it all just a little bit boring. Sometimes I have to wonder if I’m in the completely wrong field.

One issue that I have to deal with in life is that I have a lot of passion for everything I do that I am interested in. This in turn generates a lot of creativity and dedication towards working on goals that fascinate me and drive me to learn more and push my limits of understanding. The flipside of that is I can get extremely bored by stuff that doesn’t interest me at all, and mundane tasks really make my skin crawl. It gets frustrating for me because professionally, I’m always working on someone else’s dream projects.

I can still be passionate or indifferent about my work though. Problems come from both approaches, though. If I really get involved in the process, I tend to take it personally when things don’t work out how I think they should. I know it’s crazy, and I’m working on getting over that, but it’s an issue for me. If I am completely indifferent about the process, it allows me to detach myself emotionally, but then I feel like I’m nothing more than a drone (which is how most corporations probably envision me anyway), and I spend my time being effective, but I feel completely unfulfilled.

What I would really like is a job where I can effectually produce change, and find a business where I agree with their model and their purpose. That’s one reason I get sucked into open source projects so easily and especially spend so much time on Gentoo — it’s because I really believe in the ideals and I’m happy to help push it along. I think that the balance I’m probably looking for would be working for a non-profit organization where I agreed with their mission statement. In that way, I could give more of myself both personally and professionally, and really feel like I was firing all on cylinders.

One of my dream jobs (that I can imagine, I’m sure there’s more possibilities I haven’t thought of, and suggestions are welcome) would be either working for PBS or my Church organization. If either one of those two offered me a job anywhere in the world, I’d almost guarantee that I’d take it in a hearbeat. Practicality and salary have always taken a back seat to personal satisfaction on the job. I’m really indifferent as to how much I get paid (although a nice salaried job is nice, I won’t dispute that), but I can get along being poor and contented.

The thing I enjoy the most is effecuating actual change in people’s lives or the communities. That’s something I’m really looking for. Business has never interested me, nor has the pursuit of money, and so I find it really hard to get involved into anything involving capitalism. You make money? That’s nice. You help someone learn something? That’s freaking awesome.

Another idea I’ve come up with is teaching, and again, another big personal problem raises its head. I suck at school. I really suck. I managed to be good and sit through high school, and that’s where my success ended. I have been in and out of college so many times since I graduated that I’ve lost count. The only effective means of me getting an education is by taking one night class per semester and focusing really hard on that. I realize that education is key to doing pretty much anything these days, and so it gets rather depressing for me when I think I’m pretty much screwed.

I don’t have any degrees, and I’ve actually only taken one class even remotely connected to Computer Science (Introduction to Object Oriented Programming) and I withdrew from that. The only area of study that really fascinates me is psychology. Everything about it just a complete marvel about it, and I could see me using that as a real stepping stone to something else, or help me to understand other things better and work harder at helping others. Great stuff. That’s currently what I’m working on studying in school, too. It’s been the only area of education that throughout the years I’ve held onto as an interest, and I still want to pursue.

So, there’s my personal little story on work. Please don’t fire me. For the record, I love my job that I’m at now, it’s just that I don’t see myself working with computers professionally for the rest of my life. I want to move onto something else within the next few years, but I’m just not sure towards what or how to get there. It would almost be a fun little mystery if it wasn’t so serious.

sqlite auto incrementing index

I’m still working on organizing my music, and one thing I decided to do was to put everything in a tiny sqlite database instead of storing it all in XML and shifting arrays around (yuck).  I went to create an auto-incrementing index column in my tables though, and I couldn’t figure it out.

SQLite’s page on the matter says to use INTEGER PRIMARY KEY AUTOINCREMENT, though that order didn’t work for me.  What did work was INTEGER AUTOINCREMENT PRIMARY KEY.  Weird.

And for the record, SQLite is incredibly fast, assuming you are using transactions to insert, delete and update stuff.  Wow.

alan one: the adventure begins

The other week in our local PHP group IRC channel, the topic came up of hosting, and someone threw out a mention of these guys: Server Pronto. I checked it out, and they have an amazing deal — for $30/month you get a *dedicated* box of your own that is also colocated. Freak. That is much better than the same amount I’m paying for a virtual server with no swap!

So, I switched. I just barely got it setup this weekend, and they install Gentoo for you as one of the optional operating systems on there. For some reason it took a while to setup my account (about a day and a half), but I could not be more pleased with the outcome. The box they gave me is an AMD Sempron 3000, and it’s pretty darn fast. Not only that, they actually installed some extra stuff on the box for me. Apache and PHP were pre-installed, and the network already setup with my two static IP addresses and everything else. I’m not sure what else they manually configured (and I really haven’t bothered looking, anyway), but that was a nice touch.

It’s going to be nice to finally have a box on a fat network pipe that I can store all my services on, and migrate all my webpages. I love having a server at home, but let’s face it, the upload speed is not that great. It’s Comcastic.

I already named my box, too. It’s going to be Alan One. Another throwback to the movie TRON. Right now I’m still in the process of migrating everything over — my blog, planet larry, space paranoids, and Lots to do really, and it’s probably going to take me some time. I’m thinking about setting up my own mail server there as well, even though I hate the idea of running one, it’d be nice to not have to pay for someone else to host one anymore.

The only thing that scares me out of my mind is that this box is remote, and if I foob it up, I get to own all the little pieces myself. That makes me really nervous. Right after getting ssh’d in for the first time, I upgraded my portage tree and rebuilt glibc and other system deps up to the stable tree, and rebooted it nervously. Normally I wouldn’t be worried, but some times I tend to forget the simple things with Gentoo because I’ve been using it so much. Like setting my root password on a new install. That’s only happened 13 dozen times.

Anyway, it rebooted just fine and came up great. Well this morning I was playing around with the clock settings, and it was way off. Instead of just installing ntp and running the client, I get it in my head to do something else. I modify my clock settings to use UTC time instead of local, and then for some stupid reason I restarted the service. Bad mistake, since that’s a boot runlevel one, and that can kind of screw things up. Well, the init script knew this, and it started shutting down other boot services. I cancelled it halfway, and then for another odd reason decided to just run reboot since that would fix everything magically for me, right? Maybe.

As it was shutting down, I closed down my terminal sessions, and waited about a minute before trying to ssh in again. Nada. So I slapped on -v to my ssh command to see what it was doing. It just sat there staring at me, and eventually timed out. Crap. Fortunately, Server Pronto will manually reboot your computer for you once a month (you can pay extra for more, which is fine, I’m sure most people don’t paint themselves into corners like me), so I shot off a support ticket sheepishly explaining that I was playing around with init scripts and clock settings and that it probably got hung while shutting down.

About five to ten minutes later, I got a response back on my ticket — sure enough, it had hung on shutting down the net lo device. Whoops.

And so, the adventure begins …. me, my new server, remote access, and all the fun that a forgetul Gentoo user can bring. I dunno about you, but I’m pretty excited. Besides, if my SSH connection goes down again, I can just use my identity disc in an I/O tower to communicate. That never fails. :)

individualizing the album

This morning on my way to work, I was listening to an Enya album of mine, and three songs in a row played that I really liked (and remembered well), and I asked myself, “wow, which CD is this?” It was “Shepherd Moons” in case you were wondering.


The same thing happened to me last week, while I was looking for some music to listen to. I have five albums from a band called Llewellyn, all of which are amazingly good. When I bought them, I purchased four CDs at the same time. I discovered I liked the first one quite a lot, then quickly gave the other three a quick run-through on iTunes (the only thing that application is good for anyway — previewing music) and made sure that I would like those as well. It’s a cool thing to find some good music really quickly, but the problem it caused is that I effectively mushed them together into one lump of similar music instead of taking the time to discover each album individually.

Back to my experience of last week, I wanted to listen to some Llewellyn, but not having it clear in my head which one was which, I did what I normally do, and picked one randomly. I got back to work and had it playing in the background, but after a while I started to realize that I really enjoyed this certain album, and it’s individual theme and style really started to shine through. I didn’t like just their music, I really liked this particular one album.

I know it’s probably hard to understand the point I’m making, but it’s basically that things tend to get blurred when I have too much of the same thing, and I don’t give each one a chance to stand all alone. One habit I’ve been in for a long time, which is very helpful, is to never buy more than one CD at a time. The reason is because I need to give each one a chance to be enjoyed and give it kind of it’s own little familiarity. When I don’t do that, things like this happen with both Enya and Llewellyn — they all blur together, and I randomly pick one of their albums instead of knowing and expecting which one will have what. When I get to know them individually, though, I enjoy them far more, and I can get into the music. Then I can say something like, “Mysts of Avalon is a great album.”


gentoo bug funness

Gentoo’s bugday was this weekend, and I think it went off rather well. I got to scractch a lot of itches of mine, mostly cleaning up amd64 bugs, and beating them down from an incredibly insane level to an embarrassingly behind one. There’s still a lot I didn’t get done, like bumps of mplayer-bin, wordpress, oxine and ogmrip, the first two of which are really needed (I would really appreciate an ebuild of wordpress).

Anyway, I’m pooped and I’ll be taking it easy this week, and maybe a bit longer than that. Too many other things going on that need my attention right now as well, like organizing my music. I still don’t have a frontend to all my albums (aside from gnump3d, I meant to bump that too, dang it), so it makes it a bit of a pain when I want to listen to something.

It was a lot of fun though to work with other devs in realtime to get a lot of these issues fixed, and I’m looking forward to meeting some this weekend as well. Thanks to everyone who participated and pitched in. Now fix all the bugs I filed, ya jerks. :)