disney + marvel

Oh, man.  Sucktitude.

From the PR, “This transaction combines Marvel’s strong global brand and world-renowned library of characters … with Disney’s creative skills …”  That’s what worries me.

Makes sense, though.  I was actually surprised that Marvel wasn’t bought out sooner by a big studio, considering that DC was purchased by Warner Bros. a while ago, who have, IMO, done a marvelous job of putting out really good content.

I would have expected them to go with Fox though (who produced the X-Men movies) instead of Disney.  Oh well.  Another interesting legacy is going to be flushed down the toilet.

Although, I wouldn’t mind seeing a Mickey Mouse vs. Magneto game.

common alsa issues

I started a thread on the Gentoo Forums the other week, trying to get users to post what are common issues that they run into collectively. I’m hoping to see if I can find some patterns and either update the documentation or write a FAQ. If you have anything to share, please do.

And for the record, here is my first line of defense that I will tell anyone when they have no sound / wrong driver issues:

– Use latest ALSA (and kernel) in the tree. In this case, it’s 1.0.20, and we’ve cleaned up a lot of crap that was causing issues.

– Compile everything sound-related in the kernel as a module. Yes, everything. No, not just the stuff that you *think* you can statically compile in — *ev-e-ry-thing.* Once you’ve done that, run alsaconf. If your card doesn’t show up, it’s either completely unsupported (unlikely) or you didn’t pick the right drivers. Go back in and flip on more stuff. As modules.

– If the correct drivers are loaded (aplay -L works), and you have no sound, then your mixer levels are probably wrong.

Apologies for coming across so heavy-handed, but that’s the approach that has always worked for me, and works for most everyone when I tell them to do that: latest kernel, latest ALSA, everything as modules, alsaconf, then mixer.

Edit: Just as a postscript, the reason for the bluntness is that I recently started taking a more active role in the ALSA herd. Normally, I would just do version bumps and leave it at that. But, I’m trying to get practical issues resolved, and the one common thread I see over and over and over again on the forums and IRC is people just going off on their own little path and stabbing in the dark to see if they can get their sound to work, and then acting surprised that some random configuration didn’t work.

I want to very much find both the source of this disinformation and correct it, and make sure that setting up sound is a really simple process. The *problem* though, is that it’s always been pretty extremely easy for me, and so I am having a really difficult time understanding *why* people are hitting these issues — hence, the reason for the forum post asking people why they are running into problems, and what thoughts and conclusions lead to that direction. Once I figure that out, then I can go back and tweak the docs to clarify situations and attack the common confusion.

I keep getting the idea that we could use a really simplified version of the ALSA doc, one that is a quick basic howto get setup for people with one soundcard, and then include examples using the most popular hardware out there right now (intel-hda). Then, have a separate doc for more advanced issues, for people who need help and information on alsa plugins, or have multiple sound cards and things like that. I think that lumping them together into one, as it is now, makes it hard for people who just want to get up and running.

So, apologies if it feels like I’m browbeating here, but the reality is that I’m really motivated to streamline the process of getting sound in Linux. Nothing but love, yo.

tromping around mythvideo code again

I’m still trying to decide where I wanna go with my media browser/frontend solution — if I’m going to write my own or keep hacking on MythVideo. I only have one really nagging issue left now, and that is that the file structure presented is static once you enter the “Watch Videos” menu. I’d like it to be dynamic (that is, upon entering a new folder, check the contents again) so that I can add stuff like symlinks to series that I’m currently watching, or whatever. Doing that is pretty tricky.

I spent a few hours last night digging through the code, trying to find out exactly how the code is operating and what it’s doing. What I learned was that, well Myth was doing exactly what I thought it was — it builds a file list upon first entering, and then it doesn’t examine it at all until you re-enter the video browser through the main myth menu. (I wish I had a decent screenshot about now, it’s a bit confusing if you don’t know what I’m talking about.)

There’s a couple of problems with this approach, in my mind. First of all, the time it takes to actually load the mythvideo plugin grows in relation to how much media you have that it needs to parse. That is, it iterates over *every* single file that is in your media storage, and adds it to one variable. It’s essentially like running find on your filesystem, saving it into one variable, and then when browsing, just using that snapshot that you took.

The simpler way, in my opinion, would be to just refresh the directory structure and metadata for the directory you are in. While I was poking at it, one thing I tried was to get the directory scan to not go more than one level deep. That reduced the startup time from about 8 seconds to less than one. Nice.

Ideally, I’d like to change it so it just updates the directory scan as it enters a new one, progressively growing the variable as you jump around the directory tree, but I couldn’t figure out how to do that in the code (and if someone wants to help, that’d be awesome). MythVideo calls fetchVideos() only when first entering, and not anytime after that. The real problem is that it in turn calls about eight other levels of functions that eventually get to scanning the directory tree. I could probably hack it together to pass the current directory I’m in and update the directory scan from there, but again, I’m so limited in my C++ skills, at this point it’s just code and guess. So, I can find and explain the problem, but not fix it myself.

Fortunately, it’s a minor wish list item of mine, and so it’s not a show stopper. I can live with not being able to do it, and it’s probably just a matter of me learning how to code a bit more that I could figure it out. On the plus side, I’m learning more about the internals of the code, and each time I go in there, I find a few small inefficiencies that I can cleanup myself, which is fun. Making progress, I suppose. :)

swearing off radio

I’m not sure if I’m getting older and more cranky, or am just starting to wake up to the fact that so much of media that is presented is not really what I asked for or what, but this time it’s terrestrial radio that is on the chopping block.


One thing I am sure of, it’s a sign I’m getting older because I’m starting that phase where I’m unimpressed with music with arbitrary lyrics. I think to myself, “what the heck are they even talking about?” My tastes in music have always been a bit volatile though … every few years, I’ll completely shake up what I want to listen to, and I guess the turning point has finally hit again. I just didn’t think it’d hit me so hard.

I was on the way to work this morning, and had a CD in the player (more on hardware specs later), but I switched to the radio. First of all, listening to the radio in the morning is a huge gamble that you’ll find anything worth listening to. It is, of course, always that way since most of the airtime is devoted to commercials, but in the morning, there is also morning shows. I loathe morning shows on the radio. They are, in my opinion, the *lowest* form of mass media entertainment out there. A couple of DJs guffawing to themselves over the air, while running stupid contests and commenting on the stupid “news of the days” stories on the wire. Mostly, I just can’t stand the pretense, that they treat their audience like everyone is involved in this big insider’s joke and we are all just laughing along.

Anyway, that wasn’t the thing that ticked me off. What ticked me off is I switched to a different channel, and I heard the same song for the 800th time playing. I was so sick of hearing it even being played, again, that I just shut off the radio in disgust. For good, this time, I decided.

The whole business market around over the air radio is totally whacked, in my opinion. The only explanation I have for the reason they keep playing the *very same* songs over and over again is because they don’t want the idea of the top 40 songs to die off. Now, from a business standpoint, I can understand that approach IF it was easier on their supply and demand chain — that is, you want to produce a large number of records that will sell, and create them en masse so you can project good sales and get a good return on your investment. That would be well and good, but it’s totally out of sync with the way music works now. Thanks to the Internet, all music can be easily distributed and deployed to everyone on the planet at the same cost. So, the rationale should be — instead of selling as much as one album as possible, let’s sell as much *different music* as possible!

That is, in fact, one of the reasons I absolutely loved XM Radio when I first signed up for it years ago. They would constantly play new music I had never heard of, and I was always taking notes to write down what artist and song I had just heard so I can get myself a copy. But, XM was having serious cash flow issues, and it looks like the way they started to fix that problem was by bowing to the more traditional method of just playing the same songs over and over. I remember more than once finding the same song playing on three of my preset stations *at the same time*. That’s about when I knew it was time to jump ship. I don’t miss XM, I miss how it used to be.

Obviously, this whole situation could be solved if I had Internet access in my car, but I doubt that’ll be happening for the next 10 years or so, so it’s up to me to find a solution in the meantime. Right now, I’ve just got a CD player in my car, the stereo is the still the same one as the stock one that I bought it with. I’ve started looking around for stereos, but I was pretty pessimistic about the whole thing. The last time I looked at the idea, years ago, was when they were first starting to get support for iPods. I have an old Nano that I play with every now and then, but it only holds 4 GB of data, which is a drop in the bucket compared to today’s MP3 players. Plus, the hardware and the company is very much against sharing and openness, so syncing it with Linux is not worth the pain and hassle.

I’ve since found in my more recent research, that there are radios on the market now that you can directly plug in a USB stick. That would be awesome, since you can buy a 32 GB stick for not a lot of money. There are also some that have support for MicroSD, but they cap out in size limit pretty quickly right now too.

Either way, I gotta get something soon. I needs my music.

As a postscript, I wanna point a couple of things out. I don’t want to make it sound like I’m complaining, because I’m not. I’m more upset with the state of mass media in general than I am with anything else. Listening to the radio, like watching over the air television, is free, and I don’t expect too much out of them in the first place. It’s just my opinion, however, that things have gotten so out of control. They have been the dominant pipe for media input for so long, that they long ago stopped caring about what consumers wanted since there was no alternative. Thank goodness that the Internet is slowly breaking up those archaic fiefdoms, and I’m glad to see them go. If nothing else, choice is finally starting to drive market forces again. It’s obviously been painful to watch the old school businesses try and adapt, but they either will, or die. I can’t imagine I’m the only one bothered by the whole scenario.

The second thing that makes me sad is that I have to spend so much money just to avoid being constantly bombarded with advertisements and less-than-mediocre playtime. I realize that what I’m really doing is buying into luxuries, but the fact is, unless I wanna listen to classical music on the radio, there’s no station to tune into where I won’t hear a car dealer’s advertisement every 7 minutes.

There’s a lot of parallels to me building up my own library at home of TV shows to watch. Sure, it costs a lot more building up my own collection, but the convenience and reward of never having to hear another forced advertisement or commercial again is absolutely priceless. Plus, you can set the standard of quality yourself and cater to it how you want. The entire process is driven by personal taste.

Now, get off my lawn.

traffic court

So, I have to go to traffic court next week, and I’m a bit freaked out about the whole thing. I got pulled over the other night for speeding (which doesn’t really bother me, I got ticketed for 10 over), but the real shocker was when the officer came back and said “You wanna explain to me why your license is suspended?” My jaw totally dropped and it took me a few seconds to even respond since I had no idea *why* it would be suspended to start with.

Turns out I made a stupid mistake — I need to send in a medical form signed by my doctor that states I can drive. The reason I need to do that is that I take some prescription meds, and when I got my renewal notice in the mail last year, they ask if you are taking anything regularly, so I answered yes and put my info down. I figured that was the end of that. Except that I got a longer form in the mail asking for more specifics and demanding that the doctor sign it, and I had to send it in before I could get my license. Well, poop, more paperwork. I took care of that, and got my license okay.

What happened, though, and I had no idea, is that you have to send one in every year after that, too. I probably would have known that except that my address on my driver’s license was still at my old address — I had moved a few months after getting it renewed and forgot to update it. The officer kept saying, “they would have sent you something in the mail if it was suspended,” and I just replied, “I’m pretty sure I wouldn’t have missed something like that.”

So, I have two charges against me — speeding, and driving with a suspended license. Getting my license reinstated was simple. I just had to go to my doctor the next day, have her fill out a new form, and dropped it off at the driver’s license division and was cleared to drive again right away. Oh, and I updated my address at the same time.

I have to go to court now, and I have no idea what I’m gonna plead (probably either guilty or no contest), but I hope I at least get a chance to explain myself. I’d never *intentionally* drive without a suspended license (it was revoked back in March), it’s just that I had no idea, and I probably would have if I had my address updated. So, I have no idea what to expect, and of course, being the nervous type that I am, all these fear-mongering scenarios race through my head. Not really looking forward to this one.

On the plus side, my driving record is mostly really clean — I’ve never been in an accident before and I think this is only the fourth or fifth ticket I’ve ever gotten for speeding ever since I started driving, so maybe it won’t be that bad. I just hope I can explain to the judge that I’m a dumb cluck who forgot to do some paperwork, and it’s probably not a good idea to demote me to just skating to work after that.

helping out planet gentoo

I’m looking for a someone to help out with Planet Gentoo if they are interested.  Specifically, we host a deployment of b2evolution and use it for the developer blogs.  As a maintainer of planet services for Gentoo, that’s part of my job to take care of it … but it drives me a bit nuts and I’d like to rip it out and tell people to use something else.

But, people do like it, and I’m losing interest in taking care of it, so what I’d like to do is give the opportunity to someone else if they are interested.  If you wanna help out with Gentoo a bit as a staffer (not a developer), I can help you take the quiz and get started.  Email me at beandog@gentoo.org and lemme know why you’re interested, etc.  Main responsibilities would initially just tweaking our b2evolution install, getting some things cleaned up, maybe helping out with documentation, small patches.  Nothing major or stressful, just minor tasks that need to get done.

alsa cleanup: non-optional midi support, cleaner confd

Some more stuff that has happened recently with cleaning up ALSA ebuilds.  We (as in me, mostly) decided to drop support for the optional MIDI support in the alsa-lib and alsa-utils packages.  It originally was implemented as a hack on our end, always caused headaches when disabled, and a whole lot of ebuilds required that it be implemented anyway, so it wasn’t so optional to start with.

With alsa-1.0.20, I ripped out the midi use flag completely, but instead of fixing the reverse dependencies to check for an either/or scenario, instead it was decided to just go back and change all versions of the alsa-lib/utils ebuilds and to force it on, and then drop the check on those using it.  Thanks to Samuli (ssuominen) for fixing all the applications that were using it.

If you run into any ebuilds that are failing to merge because of the dependency, that are in the main portage tree (sorry, I can’t take responsibility for overlays), try syncing your tree again — it’s possible your last one was during the transition.  If you still find one that isn’t working, feel free to file a bug report at bugs.gentoo.org and assign it to alsa-bugs@gentoo.org.

Another change that has needed to happen for a while, though not nearly as dramatic, is that I ripped out the really old config options in the alsasound init script: KILLPROC_ON_STOP and UNLOAD_ON_STOP which would kill process using ALSA, and unload its modules, respectively.  Like before, they caused more problems than they solved (both of which, I might suggest, could be implemented in local.stop if you really needed something like that), and I’m glad to say they are gone.

That’s about all the major growing pains for now — that is, I certainly don’t have anything else on my plate for ALSA or its related applications, other than getting 1.0.20 stable and everything previous to that version removed from the tree.

As always, we appreciate any help people would like to give.  There’s still old bugs open, and it’d be good to know if they are solved or not in the latest release.

I realize some of these changes may be minor bumps for users, and if so, I apologize … but Gentoo is always changing goals and directions, and I’m quite glad that we have the flexibility to change things, instead of being stuck with one method.  Part of growth is just shedding the stuff that doesn’t work.