Pretending to add new files with cvs

I was throwing together a patch for Firefox 3 and needed to add some files to CVS but I don't have add privs. If I don't add the files, then they don't show up in the diff. After a Google search, I bumped into fakeadd which tweaks the Entries file so that the new files show up in the diff. No clue if that's a good thing, but it certainly fixes the problem I was having.

status: week ending 12/11/2007

It's been a good-ish week.

Nathan finished up his changes for bug 9077, they were merged into the trunk and 1.0 branches, and Janet did some testing and came up with bugs 9334 and 9335. I fixed 9334 but I think I'm going to skip 9335--it involves changing the padding for those items in the item view and I'm not wildly excited about doing that and I think the issue is cosmetic. We only implemented CC metadata at the item scope--not the feed scope, yet.

I worked my way through some bonehead issues I had caused, finished up the patch for bug 303645 and submitted it. I'm a little apprehensive about submitting a patch to Firefox, but ... I'll suck it up. The important thing is that this patch populates the enclosures array for each FeedEntry item. That was a pre-requisite for bug 400059. I'm working on that one now. As a side note, the folks on #developer on the Mozilla IRC channel have been really helpful.

On Friday, I went to lunch with Dean, Chris Blizzard and John Resig--that was really neat. A little hard to quell the star-struck feelings--hopefully I didn't make a total ass of myself.

I created the "other packages" page for the download section of the getmiro web-site and changed around the download page, too.

I sent an email to Justin at Mozilla in response to his blog entry. I pointed him to the code for the timeline script and the script for migrating data from Trac to Bugzilla.

Looking forward to a Miro 1.1 release with all its libtorrent and CreativeCommons metadata goodness....

Status 12/07/2007

Went out to lunch with Chris Blizzard, John Resig and Dean (who I don't think has a blog). That was pretty cool. We talked about a bunch of stuff and the hamburgers at Christopher's in Porter Square (Cambridge, MA, USA) are really good.

I continued working on adding enclosure viewing support to the subscribe preview page in Firefox 3.0. I've almost got Yahoo MRSS support in. Mental note: one wastes less time if one double-checks the tests to make sure they're testing correctly. Oops.

I'm doing some minor mentoring for GHOP mostly on PyBlosxom related tasks. I'm on both of the mailing lists for GHOP-PSF and it's hard to keep in mind that the people working on these tasks are students in high school and early undergrad. It's like an army of really able, but not very experienced, bodies hungrily munching large bites out of project todo items. PyBlosxom had 4 tasks in last week and 4 in this week. It's great because the help is fantastic and it's forcing me to get around to work on organizing the project and development for PyBlosxom 2.0.

If you're in high school or college and want to do some Python-related work, definitely take a look at GHOP! If you're a Pythonista or Pythoneer and have some spare cycles, definitely come help us mentor. If you have a Python project and need help with screencasts, documentation, testing and other small tasks, take a look at GHOP. Titus has more on his blog.

PyBlosxom 2.0 is going to be a huge overhaul from PyBlosxom 1.4. I'm getting lots of help from the people who hang out on #pyblosxom on IRC, Ryan, Michael and various other people who pop on, ask questions and help identify issues. Progress is excellent so far.

In PCF land, I have a blog focused on PCF work and Miro development. It's at https://pculture.org/devblogs/wguaraldi. I figured I'd keep it separate. It runs on WordPress so that's giving me some WordPress experience.

Whoever fixed NetworkManager for Ubuntu Gutsy should get a gold star. I did an update on 12/4 and picked up a new set of packages and my perpetual wireless networking problems all went away. Bless you!

Also, if you've got young children in your life, definitely take a look at Bee Careful Marvin It's geared towards children up to around 6 or so. You can get a professionally printed version at Lulu, but you can also download a PDF for free. It's released under a Creative Commons BY-NC-SA 3.0 license and "the source" is all at that link. Print it out, copy it, give it to your young friends, translate it, rewrite it with Star Wars dialogue, etc.

Nose and coverage

I'm working on improving the PyBlosxom testing situation and in the process of doing that ran into a problem with nose (version 0.10.0) and coverage (version 2.77). Both installed with easy_install.

When running:

$ nosetests --verbose --with-coverage --cover-package=Pyblosxom --include unit
$ nosetests --verbose --with-coverage --cover-package=Pyblosxom --include functional

I bumped into the problem described here (nose.python-hosting.com) and here (code.google.com). The solution is to either:

  • remove coverage.py from /usr/bin, or

  • change the filename from /usr/bin/coverage.py to /usr/bin/coverage

status: week ending 12/4/2007

I've been super busy this past week.

I spent the brunt of my time on the Firefox patch. I've solved most of bug 303645, though the output isn't pretty and it doesn't support Yahoo's MRSS or iTunes enclosures. I think I'll have it figured out in the next couple of days and submitted to the Mozilla folks. Once I've populated the enclosures and they're available in the FeedWriter, I can work on what we really want to do. I still need to figure out how to associate applications with different feed types. Mozilla froze the trunk today for the upcoming beta 2, so none of the changes I've done will be available until beta 3 at the earliest.

I spent several hours looking for enhancements or bugs that lend themselves to being small 1-5 day tasks for high school/college level people in the PSF section of the GHOP. I didn't find any that I thought were promising. This is a bit unfortunate as it'd give us some good exposure, gets us some help, and would be good for the project. Still, there's a certain amount of work that would need to be done to be part of the GHOP. The contest lasts until February, so I'm hoping I can figure something out before the end.

On Friday, Dean and I talked with Henri of CivicActions. They work with clients who produce content and we talked about various directions our groups can take to help each other. He's particularly interested in how Miro could interact with mobile and embedded devices. I'm pretty interested in that, too. I plan on working on that when I get a Nokia n810. I've written about that in previous posts.

Also, I've been working with Nathan of Creative Commons to get Miro to understand and work with licensing metadata (bug 9077). He's done most of the work so far; I've been providing feedback and working out the implementation issues. This is really useful since it allows content producers to embed licensing data in the feeds that Miro will display to users viewing the content.

And I've spent some time doing bug triage and talking with users about various issues, mostly related to packaging.

Current deadlines:

The CreativeCommons birthday is 12/15, so we need to have the 9077 work done by then.

The Mozilla folks told us that we need to get the patch done before the end of the month.

We were thinking of doing a Miro 1.1 release mid-month. I want to fix the packaging scripts so that we can name tags and branches Miro-x.y instead of Democracy-Player-x.y. I'll probably look into that later this week.

status: week ending 11/27/2007

Short status this week....

I took Wednesday through Saturday off.

On Monday, I fiddled with my Windows build environment and finally got it working (again) on Tuesday. I was having problems getting fasttypes to compile. I was getting all kinds of errors when going through the boost stuff. After some skulking through Google results regarding boost compilation problems, I decided to try installing Visual Studio 7.1 without installing the service pack. That worked super--though I'm not entirely sure why. I updated the WindowsBuildDocs page with new urls and tried to break up the instructions into something that's more digestible.

I also continued to work on the Firefox patch.

status: week ending 11/20/2007

I spent Wednesday, Thursday, Friday and part of Saturday watching new bugs, helping users out with 1.0 issues, continuing to build a Windows VM (I've almost got it working again) and working on Mediabar.

I checked in a minor overhaul of Mediabar. There are two big issues with Mediabar that need to be fixed that involve architecture changes (I've been talking about this for a month now). I figured since I'm overhauling the code for that, I might as well overhaul the code and fix namespace issues and tighten up the existing architecture to make it easier to fix the big issues. In the process of making the changes, I noticed the flv extraction code doesn't work. I'm not sure how it's supposed to do what it does, though, so I'm not sure if it's something I did or something that was pre-existing or something I'm misunderstanding. When I work on Mediabar again, I'll talk to NPR and Dean about how it should behave and what kinds of things it should be picking up and write it down into an ad hoc specification. On a side note, anyone have any idea how to do agile-like development with Firefox extensions? Where does the testing code go and how do you kick it off?

On Sunday, I got worried that I'm going to miss the deadline for the Firefox patch I'm working on. The work is under bug #400059 in the Mozilla Bugzilla db. I spent Monday and Tuesday working on adding enclosure detection to the FeedProcessor and then adding enclosure support to FeedWriter so that you can see enclosure links on the feed subscribe preview page. When I get this working, I'll submit it as a patch against bug #303645. Making those changes paves the way towards adding support for distinguishing between video, audio and text feeds and supporting applications for handling those different feed types.

I will be off of email and IRC for the rest of the week but I'll be studying.

I hope you all have pleasant holidays or work days (depending on where you live)!

"there's no good content" == utter hogwash

One of the things I keep reading in comments of various Miro-related reviews is something along the lines of "there's no good content". I think that's utter bunk. There's a lot of good content listed in the Miro Guide. The channel starter packs that we added to the first page when you start up Miro 1.0 make this painfully clear. This doesn't even include all the content that's not even listed in the Miro Guide.

I don't have cable tv anymore because it doesn't make sense to waste my money on it.

I also don't watch a ton of shows with Miro. However, here's the list of shows I do watch (some of them while testing):

  • Ask a Ninja (Add to Miro) - Occasionally there's an annoying show, but mostly I think it's pretty funny. I saw the Recipe For Disaster episode just before a family reunion--couldn't have had better timing. I first discovered Ask a Ninja when one of the NPR programs I listen to periodically (I forget which one it was) had their movie critic off for the week and they played the audio from the Ask a Ninja episode reviewing Pirates of the Caribbean: Curse of the Black Pearl. (Disclaimer: I have ninjas on my business card.)

  • Make Zing :: Blog MAKE Podcast (Add to Miro) - I love this channel. The projects are really interesting and it covers a very wide variety of topics. Dean, my brother and I met Bre at PodCamp Boston 2 and my brother secretly thinks that the t-shirt cannon project was influenced by his story of kids launching potatoes at a river from a cannon in their chimney (long story--very odd).

  • Galacticast (Add to Miro) - I met Casey at PodCamp Boston 2 and after hearing about Galacticast decided to look it up. It's a great show!

  • What you ought to know (Add to Miro) - The shows are almost all under 3 minutes long and they cover a variety of topics. It's thoroughly educational in tiny bite-sized chunks.

  • Wired Science | PBS (Add to Miro) - This is a great general science channel.

  • WebbAlert (Add to Miro) - Morgan Webb and her crew do a really good job of distilling "tech news" down to a 5 to 6 minute program Monday through Thursday. I find watching this saves me the trouble of flipping through the series of blogs I used to flip through.

  • Google Tech Talks (Add to Miro) - Some of the Google Tech Talks aren't wildly interesting to me, but I've learned a lot from the ones I have watched. This channel is based on a Google Video search and so you're going to want to set the Auto-download to OFF. Otherwise it's likely you'll pick up old videos you've already seen.

  • Onion News Network (Add to Miro) - I usually test with ONN because it's fantastic. The "Ninja parade slips through town unnoticed again" episode got a lot of play time on my systems--it makes me smile every time. (Disclaimer: I have ninjas on my business card.)

I think there's a lot of other great content out there both to watch and to participate in.

So to people who shrug Miro and Internet video off because "there's no good content" I say, "Buddy--this is 2007 and you're missing the boat".

What shows do you like and why? Toss your thoughts in the comments.

Updates:

11/16/2007: Fixed a grammar issue and somehow I managed to misspell Galacticast.

status: week ending 11/13/2007

I did a bunch of release-management stuff, some minor bug triage work and some minor Gutsy work.

I passed a bunch of email back and forth with BDK and James regarding problems between Miro and the sun-java*-plugin packages on Gutsy and Feisty (bug 8444 and now bug 9064). BDK looked into it further but in the end either the test we're using to determine whether the problem exists or not is bogus or we didn't fix the issue. Regardless, after much discussion it was decided that the package conflicts were worse than the problem so we removed the conflicts for 1.0 final.

I got in touch with Dean's friend Ben (not to be confused with BDK or my brother Ben), and he and I are going to go through our Gutsy and Feisty packaging and fix any outstanding issues (like bug 8716). I think this is pretty cool and hope that this is the first of many Boston-area Miro hack-fests.

I also worked on Mediabar. I've been doing a pass at cleaning up namespace issues and code cleanup. After I'm done with that, I'll work on the tab rearchitecture and the rss discovery problems. Neil and I traded some email and he's eager to work on things again. I'm currently the bottleneck on further Mediabar progress--I'll be spending the rest of the week fixing that. I want to get back to working on the Firefox patch, too and get that done ASAP.

On a side note, I was selected for the Nokia n810 device program. I want to look into porting Miro over to the device and do some other development, too. It'll be a good system for figuring out how Miro could work on "smaller devices" and what a slimmed down version of Miro can do. I also want to look into what it would take to get Miro working with Conduit so that Linux users can move video content to their n810 and other portable video playing devices.

As a side note, I live in Somerville, MA. If anyone (users, testers, developers, ...) is interested in getting together to triage bugs, working out issues, fix problems, add features, ... let me know. I'm totally game for hack-fests and getting together.

Miro 1.0 released!

Miro 1.0 has been released! Yay!

I've only been with PCF since July (or maybe it was June--I forget), but since I came on board we've been working hard on stability and honing the feature set. Working on stability is hard because there are a near infinite number of combinations of library versions, video card drivers, operating systems, ... out there and all of them are slightly different. Writing software that works on multiple platforms is non-trivial. It's a huge testament to the community of users and testers and developers that Miro is at the point it's at now.

One thing about 1.0 that I want to mention is that this is a snapshot in time of a continually evolving piece of software. If you look at Bugzilla, there are dozens of interesting features that we're all interested in that range from starting Miro as a daemon process to viewing video as it's downloading.

Chris, Nick and Ben are working on post-1.0 development already. There's been discussions on the develop mailing list regarding reworking the user interface to use native widgets and make it much faster and more responsive. Paul is continuing work on the Miro Guide. Janet is working on making community testing easier for everyone involved and produce better testing data. I'm switching off to work on Mediabar. Dean and the Team Miro folks are working on honing the documentation and they're doing a fantastic job of testing and identifying issues for release candidates and versions.

Miro development is moving along and its momentum is a direct result of us all working towards a common goal: building an Internet video player using Open Source and open standards that will enable the current generation of media content to flourish.

One other thing I want to mention is that we ditched the conflicts between the miro package and the sun-java*-plugin packages for Gutsy and Feisty. The problem between the packages still exists and it's intermittent, but several conversations with people caused me to rethink adding the conflicts. So this doesn't fix anything--it's just trading one set of problems for another, however I've come around to agree that the conflict is more of a pain in the ass than occasional intermittent crashes.