Found this over on Noam Lampert’s blog, originally form monologue.
I remember running into this bug when writing a rather trivial outlook add-in that registered a toolbar on all new explorers. At the time I was so far under time pressure that I just caved and changed the toolbar installer to install it on all toolbars by default (worked around the bug). I didn’t think that it might be a garbage collection issue. Good spot by Noam and co.
Short version: Any new explorer callbacks will get garbage collected unless you actually create an explicit reference to the Application.Explorers that you manage in your add-in.
So you would replace this:
Application.Explorers.NewExplorer += new ExplorersEvents_NewExplorerEventHandler(Explorers_NewExplorer);
Explorers explorers = Application.Explorers;
explorers.NewExplorer += new ExplorersEvents_NewExplorerEventHandler(Explorers_NewExplorer);
Found this interesting link on this post over on monologue.
Basically it’s a PHP toolkit to get access to the data exposed by ADO.Net Data Services, which exposes data in a RESTful manner.
Over on Miggie’s blog, a post about a line-by-line port of Sqlite to C#.
It obviously takes a performance hit (something like 5 times slower) but think of all the opportunities it opens up. I’m thinking mainly about Windows Phone development using Compact Framework and no longer needing the external Sqlite dll linkage (figuring out which one to use was a nightmare).
Miggie mentions using it in Silverlight apps, which is an awesome idea, or in medium trust ASP.Net servers. The Silverlight use will have to wait till they pull all the P/Invokes out of it, which doesn’t seem to be too far off, as is the possibility for some performance improvements by capitalising on the .Net Framework features instead of being a line-by-line port from C.
Over on Scott Gu’s Blog, Silverlight 3′s release has been announced.
Highlights include better font support, accelerated video and 3D support and bit-stream manipulation allowing you to right custom codecs. As well Silverlight 3 now supports H.264, MPEG-4 video and AAC audio.
Silverlight 3 also sports out-of-browser capabilities as well as a whole plethora of new UI controls, and whole lot more business application development focused features.
Chris Toshok over on monologue post’s about minvoke, a tool to retarget p/invokes out of unmanged land and into managed code.
The potential of this tool is absolutely awesome. As I understood it, the primary reason is to enable the guys to shoe-horn portability onto .Net apps with over-zealous p/invokes into windows api calls. Makes sense.
But that’s not the only reason you’d use it. You could use this tool to force managed applications that call into native land to be completely managed, enabling you to ensure that the .Net security model is applied to every aspect of the code, or simply freeing yourself of the need to have developers around that can develop in more than just .Net.
As stupid as that sounds, it’s getting increasingly hard to find developers around that understand more than one language/framework. Even those that do, generally only understand multiple web-development languages. So if you ever find yourself in a situation where you are working on a Winforms app that needs to interface with a device of some sort you’d be shit out of luck.
So I’ll be on a panel at ReMIX 09 titled, “Sibling Rivalry or Love: Microsoft and Open source.“.
Should be an interesting discussion, totally looking forward to it.
Mono 2.2 has been released with a plethora of updates. One of the more interesting updates is the increase to performance they seem to have gotten from changing the code generation engine.
According the Miguel, Mono gets support for accessibility using ATK in linux as the underlying framework.
A great, relatively brief post over on monologue that oulines which of the equality methods/operators to override when.
This is an old but a goodie from Albert over on his blog. It uses delegates to allow inline sorting of Generic collections based on the specific types without having implemented IComparable in the type being sorted.