GNOME+Mono hackfest day 1

It’s now the morning of day 2 and people are slowly starting to arrive at the Hackerspace.be room we call home during the GNOME+Mono hackfest.

On day one we were so busy that the first task of day in fact is posting the update.

Olivier demoed his TV show support for Banshee and the code is now at a stage where wider testing and feedback would be useful from people who know how to compile from git though it does still depend on gio-sharp from git which is broken (hence no instructions or ppa is available presently). Aside that Olivier spent most of day one familiarizing himself with the gir output and working on implementing the foundations for our new binding generator with Alan.

Bertrand worked on adding unit tests to dbus-sharp to ensure stability and compatibility.

Rodrigo, one of the SGen garbage collector developers, decided to join us unannounced and has been very helpful in debugging issues and figuring out solutions to some of the problems we have encountered so far. He mostly worked on SGen but has been an invaluable help due to his deep understanding of Mono.

Lluis, one of the MonoDevelop developers, is another unexpected visitor and while he only stayed till lunch time. Normally he works on MonoDevelop and today we grossly abused his presence to fix MD as work uncovered problems with our tools. Lluis’s stay with us was short but surprisingly fruitful.

Jérémie does all kinds of things around Mono, the OMG crowd is likely  to know him mostly as being the maintainer of the new DBus-sharp bindings. Work he continued today. It now seems that dbus-sharp is the horse are going to bet on, the porting effort for developers is minimal and allows for a lot of workaround code to removed while adding stability.

Alan needs no introduction. He fixes Moonlight for a living, and does magic things to portable players so they work with Banshee in his spare time. All through the hackfest he has been working hard to get the bindings generator to completely handle one small test case library. A lofty goal which was reached late on day one when gdk.pixbuf was fully bound and generated C# code which compiles. Gdk.pixbuf represents about 4000 lines of gir xml, whereas gtk’s 80.000 lines of gir xml still generates 150 errors and 25 warnings when we compile the generated code. The aim for day two is to reduce these numbers to as close to zero as humanly possible.

Tim is a newish face around F-Spot, he has been working on making F-Spot run on Windows and improving F-Spot considerably by removing the last remaining bits of C and adding a Community Extensions framework like Banshee has. On day one of the hackfest he has been ripping out the last problematic bits of C code from F-Spot. This will F-Spot to work fully within MonoDevelop and allow new contributors to approach the codebase with greater ease.

On the last night of FOSDEM we also went out for dinner and beer with a lot of the Mono gang so I got to meet Jo Shields, Aaron Bockover and Ruben Vermeersch as well as a bunch of other cool people. Sadly I have no pictures as all my equipment ran out of power on the trip to Belgium (and you try to find an available power plug at FOSDEM and time enough to recharge with all those great talks).

Day two has started and while Lluis has left us, we are joined today by Jonathan Ernst who works on media-player-info. Together we are all trying to find a good solution for getting media player devices (mp3 players, phones, etc.) working with close to zero effort on the part of the user when the device is not supported. The current plan is to write a little helper application which will collect the required information and let us upload some test files for confirmation of format support (since devices typically do not export this).

With thanks to GNOME for sponsoring the event

Related posts:

  1. The GNOME+Mono hackfest is here, officially
  2. Banshee: Video, TV shows, Windows and hackfest, oh my!
Post a comment or leave a trackback: Trackback URL.
  • Akshat Jain

    More Yay!

  • http://pulse.yahoo.com/_ZWOIIEEVXJ7FMNPUI4453BKDPQ Mark

    How about ditching Mono and programming in Vala or something lightweight?

    • http://half-left.deviantart.com/ Sean

      Because it’s about choice, so let people use what they want. You have the power to not use Mono, so if you don’t like it, remove it.

    • http://twitter.com/me4oslav Georgi Karavasilev

      On please don’t start that!
      If you don’t wanna use mono just remove mono-runtime, leave the people use whatever they want, seriosly!

    • Akshat Jain

      Please don’t troll.

    • http://twitter.com/mickstep Michael Stephenson

      This is the unfairness of having ‘like’ and no ‘dislike’, he is being pushed to the top of the page by the idiots.
      The only solution is to ‘like’ every other thread starting comment.

      • Akshat Jain

        I have the banhammer ready if he trolls too much.

      • https://launchpad.net/~davidnielsen David Nielsen

        Well would we not just see them disliking every comment that opposes their views and liking those that do not, for the same net effect?

        Honestly I think the best possible reaction is what happened here. Ridicule and verifiable correct information.

        I find that most see that the syntax between say C# and Vala are similar and assume that they have similar functionality, which is simply not the case. Vala is a very narrowly aimed tool with no real advanced features whereas C# is but one of many languages built on .NET and one that has very advanced features such as proper generics, LINQ, ParallelFX and so on.

        • http://twitter.com/mickstep Michael Stephenson

          You honestly think their numbers match those of the mono ambivalent?

          • https://launchpad.net/~davidnielsen David Nielsen

            I try to be realistic, I don’t think a dislike button would make a huge difference. What I do is simply like every question I answer (questions should be encouraged).

            Badmouthing Vala, I don’t think I am. I am realistic in it’s limitations and honest about my intentions to work outside GNOME as well. I am though really annoyed when people tell me I have to replace my powerful tool with one that is comparatively much less so. It’s not just about being tied to GNOME but Banshee e.g. makes use of LINQ which is a feature to my knowledge which does not exist in any realistic alternative.

            I also find it curious that people supposedly worried about Mono due to Microsoft patents recommend using Vala, since that appears to infringe on patents covered by the Microsoft Community Promise since unlike Mono, Vala does not implement all the required specifications to qualify for coverage. Now I don’t think MS will actually do anything to Vala, the language is clearly there to ensure that anything that wants to claim being .NET lives up to some base requirements, not to make life hard on anyone. There might also be prior art for these patents but till that is proven in court, which is likely to be costly, infringement does appear to be happening.

            As for numbers, I like to think that you are right but I have just never seen that actually work to guide debate.

    • http://twitter.com/mickstep Michael Stephenson

      This is the unfairness of having ‘like’ and no ‘dislike’, he is being pushed to the top of the page by the idiots.
      The only solution is to ‘like’ every other thread starting comment.

    • http://twitter.com/TuxDotKing Avichi Suite

      Well dang, considering it’s the GNOME + *Mono* hackfest. I hope they’re programming in Mono!

      As for you, you are entirely free to go and start a GNOME + Vala hackfest. No, I’m not being condescending; the more hackfests, the more FOSS development, the better in my opinion.

      • https://launchpad.net/~davidnielsen David Nielsen

        Everyone is welcome to organize a hackfest. In fact was what Paul Cutler told me when I bugged him about organizing a hackfest to improve the .NET experience with GNOME. So I kinda got suckered into doing the legwork.

        And yes, we are indeed pumping out a lot of C# code. Progress is stunning, I am really impressed with how much work we have been able to do in just 1½ days. Even if there isn’t anything coming out of it that I can screenshot for you all.

    • http://www.google.com/profiles/panajotis pH7

      -1

    • Anonymous

      How about we go back to hand-fed punchcards? They’re very lightweight, and a lot more code efficient than those non-machine languages. And Microsoft doesn’t own paper patents (yet)! It’s win-win!

    • http://pulse.yahoo.com/_LOR655GR4ZFHCMSV7FW5ROPSAA Cliff W

      How about ditching English and writing all your comments in something else?

      Try to remember that *developers* choose the language to write in. They do it for various reasons, some of them functional, some of them aesthetic, some of them market-driven.
      While most programmers know a handful of languages, very few are fluent in more than one or two. What you are suggesting is that they ditch years of learning and experience in order to satisfy your personal preference for… well it doesn’t matter. If you want code written in Vala, write it yourself.

      I say this as someone who doesn’t like .NET and tries to avoid .NET-based applications, but understands the amount of effort it takes to change programming languages (not to mention ditching tens of thousands of lines of working code).

      I also understand that most of the people writing open source software are volunteers and we are fortunate to have their work. If you want them to write in something else, try contacting them and offering to fund that change. I’m sure the quoted cost will reflect the challenge of doing so, and you might gather a more tangible idea of what you are suggesting.

      • http://pulse.yahoo.com/_3YATP2IRIAY3Z5F5IJATPVDD3E Juan

        Totalmente de acuerdo ;)

  • https://launchpad.net/~brettcornwall Chauncellor

    I very much appreciate all of you guys’ work. And thank you, Mr. Nielsen, for keeping up with the never-ending onslaught of unfair and often unfounded screamage.

    • https://launchpad.net/~davidnielsen David Nielsen

      Thank you

  • http://twitter.com/mickstep Michael Stephenson

    Going to compile Oliviers TV show support ASAP, is it in a seperate git repo? or does it just need a configure flag?

    • https://launchpad.net/~davidnielsen David Nielsen

      You need his github tree and remember to checkout the video branch. Also checkout gio-sharp from git and revert the FileAdapter changes to avoid crashing.

      • http://twitter.com/mickstep Michael Stephenson

        commit 86bde46eff37d855766dbc4360dd11e28cebbf3a
        Author: Gabriel Burt
        Date: Fri Sep 17 12:27:01 2010 -0500

        Allow calling FileAdapter.Dispose multiple times

        This?

        commit d264425e9a89ffcde80c9561eb6290ceafa44083
        Author: Rico Tzschichholz
        Date: Fri Sep 17 17:09:53 2010 +0200

        Fix FileAdapter leak

        Implement Destructor and Dispose in FileAdapter, so the GC is able
        to free the memory.
        FileFactory: call GetObject with owned_ref=true to prevent bumping
        reference count.

        Signed-off-by: Gabriel Burt

        This aswell?

        • https://launchpad.net/~davidnielsen David Nielsen

          all of these from 2010-09-17:

          Allow calling FileAdapter.Dispose multiple times

          Remove trailing whitespace

          Fix FileAdapter leak

          You should also revert in that order to ensure that the source is correct.

          • http://twitter.com/mickstep Michael Stephenson

            Thanks.
            In case anyone else is interested, that’s:
            86bde46eff37d855766dbc4360dd11e28cebbf3a 73442d0ea8d4ef7026c40303dad9048d9f894807
            d264425e9a89ffcde80c9561eb6290ceafa44083

          • zekopeko

            Any screenshots?

          • http://twitter.com/mickstep Michael Stephenson

            This isn’t my main machine, just my laptop so I only actually have some TV shows I stole from Usenet just now.
            Let me warn you, as far as I can tell all it can do so far is determine the season and episode number.
            And it doesn’t actually group videos in different categories depending on their type yet, so ‘Movies’ and TvShows just contain all the videos in your library and the Season field shows regardless of category.

            So don’t get too excited yet…

            https://dl.dropbox.com/u/215587/bansheetv.png

            Also I believe it is intended that Olivier will grab the TV show name from thetvdb.com and fill in the show name and episode name.
            Interestingly though the Two and a Half men artwork was not distributed with the episode so Olivier must have coded it to fetch artwork already.

            Just a few thoughts though on the handling of the categories.
            Audio is being handled differently to video here, where Video is divided into playlist style categories audio has its own “Source”.
            Which is odd.

  • http://twitter.com/mickstep Michael Stephenson

    Going to compile Oliviers TV show support ASAP, is it in a seperate git repo? or does it just need a configure flag?

  • http://twitter.com/mickstep Michael Stephenson

    please delete this comment, threading mishap

  • https://launchpad.net/~davidnielsen David Nielsen

    Before anyone asks, since I added a picture from after our lunch (some what delicious kebabs).

    Left to right:
    Tim, Bertrand, Rodrigo, Jérémie, Jonathan, me and in front, Olivier

    Jonathan is new since yesterdays introduction. He does media-player-info and has helped us define a quick to do list for reporting and handling unknown devices. A short visit since he already went back home, but very useful and great to meet another person facing hardware enablement issues.

    • Anonymous

      Caption the images with the names, it really isn’t feasible to scroll up and down to match the name with the faces. Same goes for the previous post.

      • https://launchpad.net/~davidnielsen David Nielsen

        I will do that after the fact I suspect. Right now I would rather work on feeding a constant stream of all the cool stuff that is going on here.

        • Anonymous

          Yes, of course! Hackfest is the deal right now, but just making a point about the articles. All’s well as long as you take note of it. Sorry to draw away your attention to this comment.

  • http://apopas.myopenid.com/ Apopas

    Mono… just to divide our already small and extremely fragmented community, as if there aren’t other solutions that won’t dynamite the people. Pity, so pity…

  • Anonymous

    @David Nielsen : Last time when I tried to sync songs on my Nexus one phone using banshee it didn’t give the option to select folder where I wanted my songs to be saved instead all songs were placed in the root directory of my SD card. Can this be fixed ?

    • https://launchpad.net/~davidnielsen David Nielsen

      The folders are defined in the media-player-info package, you can overwrite them using a .is_audio_player file but that is a hack. If it does not work still, then file a bug (www.banshee.fm/file-bugs) and I will stick Jonathan or Alan on it depending on what the issue turns out to be. It is likely just that at the time, your Nexus One did not have correct data in mpi.

      As for Clementine, I am not going to install it, I have no time available for the kind of fair in-depth trial it should have to really determine it’s strengths and weaknesses but I will look at the screenshots and such. If you miss specific features or details please do file bugs (see above) and request them. I could even imagine that one could implement that UI on top of Banshee (since we allow multiple UIs on the same database).

      That being said, it is like Amarok, which is in a different direction than Banshee UI wise. I doubt many of the features would naturally fit into Banshee’s default UI but as I said one could do it as a new UI experience.

      I am not seeing anything in there that I really like or must have but tastes and use cases do vary. Luckily you don’t have to be tied into one experience with Banshee.

      • Anonymous

        Well since Banshee is developing rapidly with features like video playback and TV streaming I would like to stick with Banshee and that is precisely why I wanted you to have a look at Clementine since they have few thing right. I guess I will make those feature requests at appropriate place instead of commenting here.

        • https://launchpad.net/~davidnielsen David Nielsen

          It is hard for me to know exactly which features you like, but I will be happy to help you narrow those down to specific feature requests. I am also happy to see that you want to use Banshee and I hope we continue to earn that spot.

          However due to the hackfest I am, extremely, pressed for time. But please to shot me a mail, I am interested in this, after the 13th I’ll be able to take a closer look.

          • Anonymous

            I will soon write you a detailed email. Thank you for your quick responses !

          • Anonymous

            David can you please give me your email ID ? I would like to write you a detailed email this weekend. Thank you!

  • http://twitter.com/Afrodiseum N.C. Weber

    Busy as bees. :)