Mono
TlsException on Mono
For reference, if you’re using Mono and trying to use HttpWebRequest and friends to make a connection with a client certificate and you get an exception, it’s because you don’t have any trusted root certificates in the Mono certificate store (even if you are bypassing server certificate validation using the old trick of having a Validation handler returning true). You can fix this by doing
sudo mozroots --import --machine --sync
Gnome Developer Experience Hackfest 2013
After finally getting rid of a really bad cold, here I am reporting about the DevX hackfest that took place right before FOSDEM, at the Betagroup Coworking Space, a very nice coworking place in Brussels with excellent access and great facilities.Looking back, going forward
May 11, a sunny day in my little corner of the world, was my last day at Xamarin. I’ve spent an amazing 9 months working on Mono for Android, but more than that, Xamarin was a continuation of my work in the Mono team that started in 2006 back at Novell. So, in a sense, this is an end of a cycle.
These past 6 years have been life-changing; I dove into professional open source development head first, worked with an amazing team, met a ton of great people, and learned and did so many things that sometimes it’s hard to believe it’s only been 6 years. Some projects were successful, some not so much, but nothing was ever routine or mundane. Moonlight was a particularly amazing experience, working with C#, C/C++ and JS inside a browser with bridges and refcounting and all sorts of crazy hacks to build an UI toolkit from scratch, and Mono for Android was a inspiring challenge that taught me more about mobile development than I thought possible. Impossible is not a word that the Mono team use much ;-)
Ooops, Is It FOSDEM Time Already?
I guess it is! As always, FOSDEM is great fun, and once again we had a Mono room with lots of great talks! Especially enjoyed Mark Probst and Jo Shields talks, now I know what happens when the deb folks get a hold on our packages, and why we never get our finalizers called in order in Moonlight!
As for my talk, the important bits were that I didn’t go over the time, nobody snored, and I made sure there were plenty of lolcats! Get the slides here.
A small Fosdem wrapup
The other weekend I was in Brussels for FOSDEM. As you know, this year we had a Mono room on sunday, thanks to the amazing efforts of Ruben Vermeersch and Stéphane Delcroix. The conference was great, as it always is, although as usual as didn’t get to see much of the talks on saturday - busy preparing my own talk about Moonlight, and meeting people, which is one of the parts I enjoy most at FOSDEM. Sunday was awesome, full of Mono talks in a nicely packed room. People were very interested, we had great feedback, and everything went very well, including my demos - it was a very good day, and all in all, a great event. On monday we had a special Mono hackday, where we got together and, well, hacked. I sat down with Lucas Meijer of Unity and we went through some of the issues they have embedding Mono, similar to what Moonlight has to do. Lucas decided to stay an extra day just for the Mono hackday, after a lot of chatting and quite a few beers the day before, and I’m so glad he did, it was a very productive, if somewhat short, day.
Mono Developer Room for FOSDEM 2010!
Some excellent news out of Brussels today, there is going to be a Mono Developer Room at FOSDEM 2010! Call for participation is now open, so come and join us put together an awesome Mono day at FOSDEM!
Thank you so much to Ruben Vermeersch for spearheading this effort, together with Stéphane Delcroix. You guys rock!
Don’t forget, send in your talk!
Binding C++ APIs, the COM way
A couple of days ago, during a routine “aaagh, we still don’t have a nice way to do C# bindings for C++ APIs” discussion, Miguel asked me how hard would it be to leverage COM to bind C++ APIs. I’ve been known to mess around with COM, as when I did Mono.WebBrowser/Gecko C# bindings, but I never did get around to do little test apps to try and streamline the whole process of using COM to bind a C++ API, so I jumped at the chance and got some interesting results.
Gtk# on Windows - now with more Tomboy flavour!
If anyone missed it, a new shiny Gtk# 2.12.8 installer for Windows is available. As Miguel noted yesterday, it’s a nice small package with the full stack so you have everything you need to develop in an awesome cross-platform way.
And speaking of cross-platform development, in case you missed that one as well, a new version of Tomboy is out now, with full Windows and Mac OSX support, for your note-taking pleasure! I’ve been using Tomboy forever, and it’s one of those little apps that you just can’t go without once you have it!
Moonlight shining on Ubuntu
This morning the first thing on the channel was the following excellent news, that I shall now reproduce directly as-read:
<directhex> it's official, moon binaries are now trivially installable on any ubuntu 9.04 system
<directhex> the 1-click url is [apt:moonlight-plugin-mozilla](apt:moonlight-plugin-mozilla)
Awesome stuff directhex, many thanks ot you and everyone else that helped shine a bit of moonlight on jaunty!
PS: directhex also noted that the build servers are busy building, so not all architectures might be available right now, just give it a bit of time :)
A little browser sample
By popular demand, here is the sample that I used at the ENEI presentation - a browser in 12 lines of code.
Some busy days ahead
As Mono 2.0.1 is rolling out, I’ll be having a few busy days ahead talking about it.
First, at ENEI'08 in Aveiro this sunday October 26, where I’ll be doing a presentation on Mono and integrating a roundtable on mobility and convergence.
On November 8th, it’s back to Aveiro for the GLUA TechSessions, where besides me talking about Mono, there’s going to be talks about Gnome, WebKit and much more.

This one is organized by the excellent guys at the University of Aveiro’s Linux user group, which brought you such great hits as the OpenSuse meetup last September. That one went so well that they decided they just had to organize something more technical this time around - apparently, me talking for more than an hour last time was not enough :)
Slides from ENOS 2008 Mono Session
By popular demand, I’m putting up the slides from my afternoon session on the Mono project, presented last weekend (September 6) at ENOS 2008, Instituto Superior de Engenharia do Porto.
The talk covers our platform architecture, development status, and takes a look at some of the leading desktop applications built on Mono technology.
A big thank you goes out to all who attended and made this great event possible, and especially to Carlos Gonçalves, who organized it all and did an awesome job!
Generating C# interfaces the lazy way
Since all this Winforms WebBrowser control / Mono.Mozilla / gluezilla business started, there’s one thing that’s been nagging me at that place in the brain where I store stuff I’d rather not think about at the moment (and yes, it’s a place that quite resembles those junk-filled attics you see in movies where the kids go to play and occasionally encounter old moth-eaten dresses, the occasional treasure map or your garden-variety skeleton of the aunt nobody had seen in 50 years - a stuffy, moldy place where you can’t take a step without tripping on something…)…
Some busy days ahead
I had written this huge post about how awesome the Mono Summit in Madrid was, how great it was to meet everyone (some again, some for the first time face-to-face), how much I learned from talking and sharing ideas and watching the presentations… and then @#$@$% synergy went and turned on control again and when I scrolled, the entire page was gone!
gnnngnnnngnn
Of course, the autosave function didn’t work either, so I was left with the title and the first line…. sigh and I had pretty pictures in too sigh
Microsoft disponibiliza código fonte
Como já devem ter lido por aí, a Microsoft anunciou que irá disponibilizar o código fonte da maioria das bibliotecas do .NET 3.5. O código estará disponível para download, e estará integrado no Visual Studio 2008, pelo que passará a ser possível fazer debug ao .NET, tal como, aliás, o pessoal do Java já pode fazer há uma data de anos.
Já houve muitas reacções e comentários a esta notícia. Como parte integrante da equipa do Mono, não posso deixar de frisar o seguinte aviso:
Mono.Mozilla on Windows
Alexandre Gomes posted on his blog his experiences getting Winforms+Mono.Mozilla building and running on Windows.
First of all, I’d like to thank him for taking the time to try this out; I’m building regularly on Windows and I try to keep things simple, but things do always slip past unnoticed (especially when trying to keep linux, win+vs2k3 and win+vs2k5 in synch), so it’s great to have an external pair of eyes looking at your stuff :)
Windows Forms WebControl and Mozilla
It’s been a while since I’ve blogged about the status of Mono’s MWF WebControl - I kept adding stuff, then I wanted to settle it down on the tree, and then I went on vacation and ran out of net (but not out of fish.. yum!). So now that I’m fed up with fish and my net is back, let’s talk about the latest webcontrol milestone.
The code is split up into three components: the WebBrowser and related classes inside MWF (Mono’s winforms implementation); Mono.Mozilla, a new class library on the tree that gets called from MWF; and xulbrowser, a c/c++ library that actually does all the talking to mozilla.
Slowly but surely...
… things end up working.
The last blog entry spoke of a successful embedding of xulrunner into a mono winforms app, on windows, and I had hoped that one or two days later I would be blogging about it working on linux as well. Unfortunately, it turned out not to be as simple as that. It actually turned out to be really complicated.
First, while on windows I only had to feed xulrunner with the windows hwnd handle and voilá, it worked, on linux xulrunner uses gtk by default. The xlib xulrunner would be quite nice to use, as it would hopefully be just like windows, feed it a winforms handle and that’s that. Unfortunately, the xlib xulrunner code has been bitrotting for quite some time, and would not work at all. :/
A little browser glue
It’s a real pity I didn’t have this to blog about yesterday, it would be a really nice way of celebrating Portugal day (which was yesterday, June 10th :) yay for us!). If it weren’t for some pesky bugs yesterday…
Anyway, great blog-worthy news today, got the Mono WebControl -> Gecko thing going, and it’s alive and drawing! Check out this screeny of the mozilla engine rendering a webpage inside Mono…
Focusing on cue
One of the challenges of implementing the Winforms behaviour from scratch is emulating all the little quirks that have accumulated over the years on Windows and that show up in .NET.
One of these little thingies that make for big headaches is the visual focus cue. You know, that little rectangle that appears in controls whenever they have focus. Well, it turns out this apparently simple thing as showing a rectangle drawn on a button is not so simple at all, because it doesn’t show up every time a control has focus… there are certain rules that control when it should appear (the headache part :p)
New job, new open source project, happy little coder
As the title says, I have a wonderful new job, working full time at Novell on my favourite open source project, Mono. What more can I say? :D happy little coder does happy little jiggly dance