About‎ > ‎Latest News‎ > ‎

How I got started developing for Mythbuntu (or how you can help too)

posted Jan 16, 2013, 11:42 AM by Thomas Mashos
I wrote this blog post after having a conversation on IRC with someone (snippet below)

* sabhain wants to be laga in his next life and restore the diskless stuff to its awesomeness of 10.04

<tgm4883> sabhain, then the first step, would be joining #ubuntu-mythtv-dev

<sabhain> tgm4883, lol then step 0 would be to have time and learn programming beyond F90

<tgm4883> sabhain, possibly. I didn't know python though before I started helping out

Back in late 2006, I was what I like to think the average "computer guy". Whether they are purchasing a new computer or having computer issues friends and family all came to me with their questions. I knew a fair amount about the latest video cards, processors, RAM, and hard drives. I knew the best places to buy these things online, and I had built my previous two desktops. I had been exposed to Linux a few times previously, but hadn't really used it as a long term solution. I had been hopping back and forth between Windows XP and Fedora Core (4 - 6). This all changed at the beginning 2007.

At the end of 2006, I was finally fed up with the reformat and reinstall everything loop that is the maintenance cycle of Windows (although I had customized my install disk, so it was pretty quick). I made the decision to try and use Linux as a full time solution. Now I don't recall the reason I left Fedora (I have a vague recollection it was some issue I had with Yum), but I installed Ubuntu 6.10 in early 2007 on my Dell Inspiron 5100. I chose Ubuntu probably because of a Google search, but possibly also DistroWatch (previously, I had installed and tested Redhat 9, Mandrake, and SuSe). As I recall, it was also the first distro that didn't make my fan run at full speed 100% of the time. As I could now run Ubuntu on my laptop and not have it sound like a jet engine (and the battery ran considerably longer too), I was free to see what else I could do with Linux.

I had an old TV Tuner card laying around, so I looked into what software was available to make a DVR. This led me to MythTV and the #ubuntu-mythtv channel on IRC. This was around April 2007 and pre-Mythbuntu. As this was pre-Mythbuntu, MythTV was still a pain to setup. On top of that I was recording from a cable box, so I was recording over firewire (since my tuner was a crappy software encoder). I received a lot of help from someone who went by the handle majoridiot. As most of this was knowledge people had from installing it, I decided I was going to help out where I could. At this point, I didn't know any programming languages. I was a senior in college getting a BS in Information Systems, but we were required to take 2 Java programming classes, and the only thing I remembered was that I could define how to draw a circle and then just call drawCircle() whenever I needed it (oop ftw).

I started helping with documentation as it seemed the easy thing to do. Since Mythbuntu was just starting up there was much stuff to do, so I helped where I could. If the website needed updating I helped update it. Something needed tested, I installed it in a VM and tested it. Website needed completely rebuilt from Google cache because the host that Mythbuntu used went down and our contact would completely ignore every attempt we had to contact them (yes that actually happened in the early days. No I will not name who it was), lets get to rebuilding it. Eventually it came that there were things missing that would need to be developed. As most of the other developers knew Python, it seemed like a good thing to learn. So I started learning Python and making my first program. Where did I learn how to program in Python? From http://docs.python.org/ and superm1, the lead Mythbuntu developer.

So now I'm one of the main Mythbuntu developers and have been for some time. I've gotten both of my post-college jobs, been sponsored to go to UDS (2x), and am now working on the MythTV integration for Ubuntu TV, all because of my involvement with Mythbuntu. I point this out not as a "look at how awesome I am" but a "look what you can do just by investing your time in something you like".

If you want to help out in a project you love (whether it is Mythbuntu, MythTV, or anything else), we really do mean it when we say "No programming experience necessary". There are many different areas to help in, so come and talk to us and we can find a good fit for you. Everyone has to start somewhere, and the time spent can help you in other areas of your life/career.

TL:DR - You don't need programming experience if you want to help create something awesome. You can help in non-programming ways or learn it on the way. Come talk to us in #ubuntu-mythtv-dev and we'll help find you something to do.

I'd also like to thank superm1, daviey, rhpot1991, mrandr, majoridiot, foxbuntu, davemorris, and anyone else that has helped me along the way. I wouldn't be where I am now without the help from these people.