<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>(w)asp.net - technology</title><link>http://www.robychechi.it:80/roby/Tags/technology</link><description>(w)asp.net - technology</description><item><title>AppFabric &amp; "Protocol Buffers"</title><link>http://www.robychechi.it:80/roby/appfabric-protobuffer</link><description>&lt;p&gt;In the last few days I've been struggling with a quite hard task: introducing some caching mechanism in an existing and complex infrastructure, which is already using &lt;a target="_blank" title="AppFabric" href="http://msdn.microsoft.com/en-us/library/ff383731.aspx"&gt;AppFabric&lt;/a&gt; caching (aka: Velocity) in some other areas.&lt;/p&gt;
&lt;p&gt;It's been natural to think about using AppFabric again, but due to the peculiar nature of the problem, we had to design a custom caching algorithm, which prepares several blocks containing thousands of objects in a "dictionary" structure (simplified description) and then stores them in AppFabric. That introduced a big serialization problem, which was causing a serious overhead. We were fighting against a scenario where certain tasks took at least 2 minutes to complete (or even more, depending on database response time), and with caching we improved reaching a 50 seconds lower limit, but that was not enough.&lt;/p&gt;
&lt;p&gt;So we thought to slightly change the serialization phase introducing &lt;a target="_blank" title="protobuf-net" href="http://code.google.com/p/protobuf-net/"&gt;protobuf-net&lt;/a&gt;, a .NET implementation of the "protocol buffers" mechanism from Google. It is a quite complex library, I mean, it sets up a few constraints over things you want to do with it, like using definition files (.proto) or marking your data structures with custom attributes. Even more, I had to change my DTO because the library did not like a field defined as "object", and I'm sure it has good reasons to behave like that (but I had no time to dig it yet), so I thought it was ok to rewrite some code in order to use it, and after a couple of hours the library was there... and the execution time went down to 14 seconds in the worst case! :) Now we are almost 4 times faster compared with standard serialization.&lt;/p&gt;
&lt;p&gt;Definitely, protobuf-net saved my day :)&lt;/p&gt;</description><pubDate>Tue, 12 Jul 2011 17:54:16 GMT</pubDate><guid isPermaLink="true">http://www.robychechi.it:80/roby/appfabric-protobuffer</guid></item><item><title>Do you like "parrots"?</title><link>http://www.robychechi.it:80/roby/do-you-like-parrots</link><description>&lt;p&gt;Yesterday I had an interesting chat with my colleague and friend &lt;a target="_blank" title="Felice" href="http://www.felicepollano.com/"&gt;Felice&lt;/a&gt;, from the famous "Fatica Labs", about an idea I had a couple of months ago.&lt;/p&gt;
&lt;p&gt;This idea has an ancestor in something simpler I did about 4 years ago, and it evolved in what I'm trying to achieve now. It is in a very early stage so I will not talk too much about it, not because I want to keep some secret, but because I already chatted about &lt;a target="_blank" title="a nice idea" href="http://blogs.ugidotnet.org/WASP.NET/archive/2007/01/18/67671.aspx"&gt;a nice idea&lt;/a&gt; promising to keep woorking on it, but I did not. Briefly, the idea is to introduce some automation in generating "mocks" for unit tests (for .NET).&lt;/p&gt;
&lt;p&gt;The idea stretches a little some common concepts, so I need to find some theoretical support to it, but Felice told me that it is a nice idea and gave me a couple of advices, and I trust him a lot, so I'll keep on working on it.&lt;/p&gt;
&lt;p&gt;Curious? I give you a hint... do you like "parrots"? :)&lt;/p&gt;</description><pubDate>Tue, 12 Jul 2011 17:04:13 GMT</pubDate><guid isPermaLink="true">http://www.robychechi.it:80/roby/do-you-like-parrots</guid></item><item><title>Orchard + WebMatrix + Sql Compact</title><link>http://www.robychechi.it:80/roby/orchard-webmatrix</link><description>&lt;p&gt;Ok, I decided to build a web site for my blatherings, so I had to decide how to manage it. There are tons of blog engines and content management systems (CMS) out there, but I decided to go with &lt;a target="_blank" title="Orchard" href="http://www.orchardproject.net/"&gt;Orchard&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I did some tests and I found it easy to use and very interesting from a "techie" point of view. It has been built on top of MVC 3, it uses Razor, and it is based on many best practices and design patters I know and I like. It should be easy to extend (if I will ever need to), and it has a quite big library of modules and themes. I think it is a nice and up-to-date alternative for someone who is used to work with ASP.NET MVC and C#.&lt;/p&gt;
&lt;p&gt;At the same time I tried &lt;a target="_blank" title="WebMatrix" href="http://www.asp.net/webmatrix"&gt;WebMatrix&lt;/a&gt; as a tool to customize my web site. Its approach is quite new for a Microsoft developer, it is a very simple development environment, and it is interesting because it connects to lots of open source modules you can use to enrich your web site. Do you want to list your twits in your home page? It is as easy as entering in the administration area of your site, selecting the appropriate module, configure it and place it in the page area you want. Zero code. You may think: a developer who does not like writing code... :)&amp;nbsp; I love writing code, but this kind of code is something that I think is "a waste of time". In Microsoft arena (the one I know a little) it is always been quite hard to build websites using "plugins", it was something you would have done googling around, downloading pieces of codes or markup, assembling them in Visual Studio (or Notepad... well, no, not Notepad please...)... WebMatrix greatly simplifies the scenario. You have a nice editor which understands Razor syntax, you can plug modules form inside WebMatrix, and when you really need Visual Studio you just invoke it from the toolbar up there. You never leave the editor until you deploy your website, and then an "xcopy deploy" will be enough, no setup is required as soon as the host machine understands MVC 3. And after you have deployed it, you can go on customizing it online via the administration area, where you can manage contents, styling and additional modules.&lt;/p&gt;
&lt;p&gt;But you would need a database to store settings, customizations and so on, wouldn't you? Well, in WebMatrix you have a simple radio button list where you can select to use a Local Database, and your website will be configured to use the "in process" &lt;a target="_blank" title="http://blogs.msdn.com/b/sqlservercompact/" href="Sql%20Compact"&gt;Sql Compact&lt;/a&gt; engine. No need to have a server, you just xcopy a .sdf file in App_Data and that's all. Sql Compact as an embedded database for PC is a quite new addition, but it is very interesting.&lt;/p&gt;
&lt;p&gt;I definitely like the approach, which enabled a lazy person like me to build his website in a matter of minutes. Good job :)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;address&gt;&lt;em&gt;"Next, Next, Yada, Yada, Yada, Finish."&lt;/em&gt;&lt;/address&gt;
&lt;p&gt;&lt;em&gt;Scott Hanselman, &lt;a target="_blank" title="@shanselman" href="http://twitter.com/shanselman"&gt;@shanselman&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description><pubDate>Sun, 10 Jul 2011 21:44:24 GMT</pubDate><guid isPermaLink="true">http://www.robychechi.it:80/roby/orchard-webmatrix</guid></item><item><title>Back to the web</title><link>http://www.robychechi.it:80/roby/profile</link><description>&lt;p&gt;
	Hello, my name is Roberto Vespa (aka: wasp), I was born in 1968, and I&amp;#39;ve been working in Information Technology area since 1995. I&amp;#39;ve been consulting on several different projects and for many customers, and since last year I&amp;#39;m working in Switzerland. You can find more details about my career &lt;a href="http://www.linkedin.com/pub/roberto-vespa/39/719/897" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	Computer Science and IT are evolving faster and faster, and I think that being curious about what you use (or you have to use, or maybe you should use, or you like to use) it is mandatory in order to do a good job in such an area. I love to learn new things and then share them with people as curious as me. This website exists mainly for this goal, describing what I constantly learn, and hoping to have someone learning something from me.&lt;/p&gt;
&lt;p&gt;Disclaimer - This site includes personal opinions, and does not reflect the opinions of &lt;a href="http://www.umanova.com" target="_blank"&gt;my present employer&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 18 Apr 2012 21:30:08 GMT</pubDate><guid isPermaLink="true">http://www.robychechi.it:80/roby/profile</guid></item></channel></rss>