Taming Portable Class Libraries and .NET Framework 4

If your project is a Portable Class Library and you want it to run with the .NET Framework 4 well, you are in for a few surprises. Especially so if you are using InstallShield for building your deployment package. We’ve been going through this a few days ago and it’s been kind of a wild ride. I thought I could pin the whole thing down so that others might enjoy a painless journey through all this mess. Portable Class Libraries and .NET Framework 4 The first thing you should know is that while the .NET Framework 4 does support PCLs, in fact it won’t run them without a patch. For whatever reason, Microsoft decided that PCL compatibility wasn’t a worth a 4.0.4 update. That leaves us with the need to not only make sure that target machines are running the up-to-date .NET4 release (v4.0.3) but also that they’ve been updated with KB2468871. You might be wondering why this is an issue in the first place. We could simply install the .NET Framework 4.5 which is backward compatible with the .NET4 and includes the afore mentioned KB2468871. Even better, we could just target the .NET 4.5 on our PCL. Problem is that besides iOS, Android, WinPhone and Silverlight we also want our libraries to run seamlessly on as many Windows editions as possible, Windows XP included. Here is the catch: .NET4 is the last framework version to run on Windows XP. And yes, we got the memo, Microsoft officially abandoned Windows XP a while ago so why bother? Well it turns out that millions of users are still running XP, especially so in the enterprise and SMB. These PCL are targeting exactly that, precisely the accounting software segment, and believe me there’s a huge number of users happily invoicing and accounting on their old-fart-but-still-splendidly-doing-its-job-for-cheap boxes. Oh and the .NET Framework 3.5 is not an option as it doesn’t support Portable Classes at all. ...

August 28, 2014 · Nicola Iarocci

Eve 0.4 and Cerberus 0.7 Released

Eve 0.4 adds cool features like Document Versioning and Coherence Mode. Cerberus 0.7 allows regex validation amongst other niceties. Make sure to check the official v0.4 announcement for all the details.

July 10, 2014 · Nicola Iarocci

Eve 0.3 Released

Today we released Eve v0.3. It includes customizable Files Storage support (on GridFS by default), a lot of fixes, several breaking changes and a lot of love. Head over to relevant blog post and/or to changelog to know more about it.

February 14, 2014 · Nicola Iarocci

REST APIs for Humans at FOSDEM

Yesterday I gave a talk at FOSDEM 2014 in Brussels. The conference itself was amazing, with over 5000 attendees literally swarming and taking over the ULB Campus. I was stoked at how smoothly everything was going on despite the incredible number of simultaneous sessions and the number of attendees continuously flowing between buildings and conference rooms. Everybody involved, volunteers and attendees, has been very welcoming, charming and helpful. In short, I had a blast....

February 3, 2014 · Nicola Iarocci

Giving back to my community

A few days ago I tweeted: Now the project is out in the wild and I’m very excited about it. It’s all italian yes, but do know that CoderDojo is a global movement, and starting a kids coding club in your own town would probably be great idea. Come meet me next week. I will be giving a short talk about CoderDojo Ravenna and, most importantly, we’ll have a good pizza afterwards....

January 11, 2014 · Nicola Iarocci

Cerberus 0.5 is out (and it breaks stuff)

The new release changes the way validation errors are reported. Please note that these changes will also affect future releases of Eve, the Python REST API Framework. What we had before was basically a list of human-readable errors. Each item in the list, while perfectly fine for human reading, wasn’t really ideal for algorithmic parsing. Why would you want to parse the errors with an algorithm? A common case would be when your client is using business objects to represent API resources (think a client-side ORM), and would have a hard time binding validation errors to the objects themselves. ...

December 10, 2013 · Nicola Iarocci

On Why I Still Prefer Traditional Books to eBooks

I’ve been using a Kindle for a long time now, and I love it. But I keep buying paper books. Lots of them. Actually I buy a lot more books than ebooks and it doesn’t even stop there. Admittedly, I am guilty of repeatedly buying paper editions of ebooks I’ve read on the Kindle. For a very long time I’ve not been able to tell the precise reason why I keep going back to traditional books....

December 2, 2013 · Nicola Iarocci

MongoDB and REST API go for a picnic (video and slides)

I had the opportunity to give my RESTful WeB APIs and MongoDB Go For A Picnic talk at both MongoTorino and NoSQL Day. The folks at PUG Friuli where so nice to record all the NoSQL Day sessions, so here you have it: the full length video of yours truly speaking to a fully packed room crowded with 120 very attentive attendees. Unfortunately audio is horrible and while all MongoTorino talks were in english, NoSQL Day was an italian-only event....

November 19, 2013 · Nicola Iarocci

My interview on being a MongoDB Master

So I’ve been interviewed by Laura Czajkowski on my experience and role as a MongoDB Master. The interview actually covers more angles than that and I guess that, if you really don’t have anything better to do, you might even want to check it out. How did you get involved in open source? I’ve been an avid developer delivering desktop applications in the .NET/MSSQL closed source ecosystem for so many years that open source wasn’t even on my radar....

September 4, 2013 · Nicola Iarocci

Eve with Python 3.3 Support

Another Eve release is out and I’m particularly proud about it since it brings full Python 3.3 support (among other things). Check out the relevant blog post: Eve 0.0.9 is out!

August 29, 2013 · Nicola Iarocci