Disclaimer: This is a personal web page. Contents written here do not represent the position of my employer.
domingo, mayo 08, 2011
#gtk#
The title of this post is the name of the GimpNet IRC channel that some people are recently using to talk about the .NET bindings of gtk+.
I had never seen this channel with people in it at all in the past. I guess the recent interest comes from the fact that gtk-sharp master is already targeting Gtk+ 3.x API and some people are starting to use it to port things.
One example is Hyena, the awesome library that Gnome projects F-Spot, Banshee and PdfMod use (am I missing some other?). I started the port some weeks ago and all I have received is positive feedback, encouragement, and also a lot of help! For example Olivier Dufour (which I guess he will be recently known as one of the superstars that brought DVD support to Banshee -- work finished but still unmerged) who helped with accessibility and warnings, and Mike Kestner (father/maintainer of all these GAPI-based *-sharp bindings) which helped reviewing my patches to the binding and fixing other issues I reported (and of course for making huge efforts, in the first place, to have the bindings ready for the 3.x cycle, with even some GObject-Introspection experimentation, which I guess is still in the early stages and not enabled yet).
Stay tuned for the progress! (as new contributors have expressed interest in helping out soon). Branches are being created so you can join the effort if you feel like (bugs in bugzilla too, to track what's pending).
I had never seen this channel with people in it at all in the past. I guess the recent interest comes from the fact that gtk-sharp master is already targeting Gtk+ 3.x API and some people are starting to use it to port things.
One example is Hyena, the awesome library that Gnome projects F-Spot, Banshee and PdfMod use (am I missing some other?). I started the port some weeks ago and all I have received is positive feedback, encouragement, and also a lot of help! For example Olivier Dufour (which I guess he will be recently known as one of the superstars that brought DVD support to Banshee -- work finished but still unmerged) who helped with accessibility and warnings, and Mike Kestner (father/maintainer of all these GAPI-based *-sharp bindings) which helped reviewing my patches to the binding and fixing other issues I reported (and of course for making huge efforts, in the first place, to have the bindings ready for the 3.x cycle, with even some GObject-Introspection experimentation, which I guess is still in the early stages and not enabled yet).
Stay tuned for the progress! (as new contributors have expressed interest in helping out soon). Branches are being created so you can join the effort if you feel like (bugs in bugzilla too, to track what's pending).
Etiquetas: CSharp, General, Mono, Programacion, SoftwareLibre
lunes, abril 11, 2011
Calling hackers who care about Android+Banshee
If you care about the neat feature about synchronizing metadata to your device using Banshee, and you have an Android device, you may be interested to hear that I created a patch for it, and it was recently reviewed requesting some changes here.
Unfortunately my Android phone broke completely (don't ask me the details...) so I cannot work on the patch anymore. Anyone wants to continue the work?
If yes, go ahead and ask me anything you want, I'm usually in irc://irc.gnome.org/banshee with the "knocte" nickname, or you could also ask the question on the channel if I'm not there, there are usually awesome contributors there that will try to help. If you haven't ever coded for banshee, check the Contributing page first.
BTW, kudos to all the people involved in the Banshee v.2.0 release!
Unfortunately my Android phone broke completely (don't ask me the details...) so I cannot work on the patch anymore. Anyone wants to continue the work?
If yes, go ahead and ask me anything you want, I'm usually in irc://irc.gnome.org/banshee with the "knocte" nickname, or you could also ask the question on the channel if I'm not there, there are usually awesome contributors there that will try to help. If you haven't ever coded for banshee, check the Contributing page first.
BTW, kudos to all the people involved in the Banshee v.2.0 release!
Etiquetas: CSharp, General, Mono, Programacion, SoftwareLibre
domingo, abril 10, 2011
WTF reduction
My first patch to FluentNHibernate was just merged upstream!
What it basically does is a bit of what I call WTF reduction: you will no longer get a confusing message like "For property 'Foo' expected 'Bar' of type 'Bar' but got 'Bar' of type 'Bar'" when unit testing your entities' properties.
AFAIK the next release will include this, and will be the first one to link to the new version of NHibernate, 3.0, which I've found that works very well.
What it basically does is a bit of what I call WTF reduction: you will no longer get a confusing message like "For property 'Foo' expected 'Bar' of type 'Bar' but got 'Bar' of type 'Bar'" when unit testing your entities' properties.
AFAIK the next release will include this, and will be the first one to link to the new version of NHibernate, 3.0, which I've found that works very well.
Etiquetas: CSharp, General, Mono, Programacion, SoftwareLibre
domingo, marzo 27, 2011
RT: MEF vs MonoAddins
Just re-posting in my blog an interesting email that was sent to the MonoAddins list, comparing these two Addin frameworks:
> Can you give a short summary on why you replaced MEF with Mono.Addins?
Basically it came down to maturity. Mono.Addins seems far more stable and mature than MEF. The MEF documentation was lacking, inconsistent and out of date in a lot of places. But all that could be worked around, and for the first few internal versions of our app, MEF was servicing us just fine.
Then our addins became a bit more complex. We needed to package them up with multiple files, ideally distribute them as an archive, host them online in a plugin exchange, allow them to be discovered and installed easily. Essentially this page covers features in Mono.Addins that made us switch rather than implementing a lot of the same things using MEF ourselves:
http://monoaddins.codeplex.com/wikipage?title=Creating%20and%20Managing%20Add-in%20Packages&referringTitle=Programming%20Guide
At the time as well MEF had issues on Mono on linux. This might have been a problem with how we were using it, but it just turned out easier to plonk Mono.Addins in instead. Was an easy migration and has a lot more power and features straight out of the box (and it worked on Linux).
Your millage may vary, and your needs are probably different. MEF might be an awesome tool for your requirements. It is a little simpler to get up and running and requires less engineering to support it (which was one of the reasons we used it first off).
Hope that helps,
Michael
> Can you give a short summary on why you replaced MEF with Mono.Addins?
Basically it came down to maturity. Mono.Addins seems far more stable and mature than MEF. The MEF documentation was lacking, inconsistent and out of date in a lot of places. But all that could be worked around, and for the first few internal versions of our app, MEF was servicing us just fine.
Then our addins became a bit more complex. We needed to package them up with multiple files, ideally distribute them as an archive, host them online in a plugin exchange, allow them to be discovered and installed easily. Essentially this page covers features in Mono.Addins that made us switch rather than implementing a lot of the same things using MEF ourselves:
http://monoaddins.codeplex.com/wikipage?title=Creating%20and%20Managing%20Add-in%20Packages&referringTitle=Programming%20Guide
At the time as well MEF had issues on Mono on linux. This might have been a problem with how we were using it, but it just turned out easier to plonk Mono.Addins in instead. Was an easy migration and has a lot more power and features straight out of the box (and it worked on Linux).
Your millage may vary, and your needs are probably different. MEF might be an awesome tool for your requirements. It is a little simpler to get up and running and requires less engineering to support it (which was one of the reasons we used it first off).
Hope that helps,
Michael
Etiquetas: CSharp, General, Mono, Programacion, SoftwareLibre
miércoles, septiembre 08, 2010
Version Tolerant Serialization with Mono
(Zoot Woman - Lonely By Your Syde)
During the last months I've kept working {with|on} Mono, but not working for Novell anymore.
Today I'm proud to blog about a bit of work I've done on Mono towards a better Binary Serialization experience:
- mono-api-info command now can output ABI instead of API if you append the flag --abi. It has been useful for us in LindenLab while working on binary serialization compatibility between versions (already upstream!, so will be available in Mono v2.8, even with a new man page).
If you ever wondered why your .NET code is no longer capable of deserializing some old binary object you had in your servers, instead of fixing the problem in a case-by-case basis, you can now see the whole picture by just diffing the output of mono-api-info --abi from your current and old codebase! A small TODO that I haven't completed yet is to deal with automatic properties (because we still don't use them) so that would be an exercise for the reader! - Fix for upstream Mono to act as .NET in regards to Version Tolerant Serialization, a patch to which I have just added a lot more unit tests (soon to be pushed hopefully).
You can see the patch of this quite old mono bug here. Disclaimer: to be honest you will only need the previous --abi tool if you use a Mono version prior this fix, because from my testing VTS in MS.NET works as if every new field had an [OptionalField] attached! (At least the BinaryFormatter, the TODO here for the reader is to test the SoapFormatter ;) )
On a totally unrelated note: kudos to the MonoDevelop team for making such a great releases lately (and fixing the bugs I report so promptly). I've been testing it the last months on Windows and I can say it's a great experience to see your favorite IDE working cross-platform and making you not depend on VS anymore if you need to work on Windows from time to time (I know the Express versions are free, and are great! but they do not support plugins :( ). BTW, I've been lately experimenting with the C language support in this IDE, and have had some problems, but the real culprit seems to lay behind some wierd behaviour of my gdb in opensuse. Taking advantage that I'm in opensuse planet, can I do a couple of lazyweb requests?:
a) If you're quite familiar with gdb, can you take a look at these 2 bugs in case it rings any bell for you? BNC#588175, BNC#459274
b) Can you try to reproduce those bugs in openSUSE 11.3? (I haven't migrated yet from 11.2 because I fear about the HALlessness of it :) )
PS: Wondered why the video on the top? Well, I like the trend that some people have about posting random photos in their blog posts even when they may be completely unrelated, but in my case I love music so I figured this would suit better. Of course I would rather embed a WebM video or, even better, something that can preview a song (without video) in a "normally-lower-quality-than-what-you-can-buy" way, so if you have any hints, those are welcome! I especially mention the latter in this case because the Album version of the song above is much much better (synth pop FTW!).
Etiquetas: CSharp, General, Ingenieria, Mono, Programacion, SoftwareLibre
martes, julio 06, 2010
Mono? What?
Really sad to read this:
.NET Culture Shock: Why .NET Adoption Lags Among Startups
Especially sad to find that Mono is not mentioned in the article.
Especially super sad to find that Mono is mentioned in the comments, but in a negative way.
Hey Mono community, help me reply all this nonsense.
.NET Culture Shock: Why .NET Adoption Lags Among Startups
Especially sad to find that Mono is not mentioned in the article.
Especially super sad to find that Mono is mentioned in the comments, but in a negative way.
Hey Mono community, help me reply all this nonsense.
Etiquetas: CSharp, General, Ingenieria, Mono, Programacion, SoftwareLibre, WebDev
sábado, febrero 06, 2010
3G Roaming
Spanish providers:
Movistar. Summary: 50€ monthly, 50 MB limit, every country. Pending question: what is the 10€ connection fee?
Vodafone. Summary: 75€ monthly, 100 MB limit, only some countries. Pending question: what if the country is not listed in the coverage list?
Orange (example: Belgique). Summary: 30€ monthly (mobile internet connection, not USB powered), 100MB limit, limited coverage (URL is example for Belgique, other countries may have different conditions).
Yoigo (no info on the web about 3G roaming, yes from their customer service: 1705): 0.003 € per KB in EU and other european countries, 0.009 for the rest; that is, no plain fare.
Dear lazyweb: any better 3G roaming rates with the providers in your country?
Movistar. Summary: 50€ monthly, 50 MB limit, every country. Pending question: what is the 10€ connection fee?
Vodafone. Summary: 75€ monthly, 100 MB limit, only some countries. Pending question: what if the country is not listed in the coverage list?
Orange (example: Belgique). Summary: 30€ monthly (mobile internet connection, not USB powered), 100MB limit, limited coverage (URL is example for Belgique, other countries may have different conditions).
Yoigo (no info on the web about 3G roaming, yes from their customer service: 1705): 0.003 € per KB in EU and other european countries, 0.009 for the rest; that is, no plain fare.
Dear lazyweb: any better 3G roaming rates with the providers in your country?
Etiquetas: General, Miscelanea

Translate to English

