First time here? You are looking at the most recent posts. You may also want to check out older archives or the tag cloud. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS. Thank you for visiting! (hide this)

February 2011 Blog Posts

Beginning ASP.NET MVC 1 is now available as a DRM-free PDF ebook

Since the current version of ASP.NET MVC is version 3 you might wonder why I am still promoting my Beginning ASP.NET MVC 1.0 book.

The reason is that since a few week it is also available as DRM-free eBook at a discounted price directly from the Wrox site (together with many other books from Wrox). For the moment you have to enter the code FROST to get a 35% reduction on the standard price, but soon the prices on the site will be updated to reflect the reduced price.

After you buy the MVC 1.0 book, you might also want to buy the upgrade to MVC 2: What's New in ASP.NET MVC 2?

Ruby on Rails vs ASP.NET MVC slides, demos and video are online

During last Saturday’s UGIALT.Net Conference in Milano I shared a talk together with Italian RoR expert Sandro Paganotti: “RoR vs ASP.NET MVC”.

We had 20 minutes each to build a super easy conference registration page and also explaining to the audience what we were doing. The goal of the talk was not to choose the best platform or the most productive one, but to show the steps needed to setup and create a simple but fully functional web application. It was a very nice experience and I think it showed how similar the the web frameworks are.

To bring the conference to those who were not able to come, here I am posting the video, the slides and the code demos.

The Video

The session is in Italian, but I think that the live coding and the process can be understood even if you don’t understand Italian.

The Slides

The Code Demo

You can download the demo of the JoinTheConf mini app:

And the RoR version is also available online if you want to play with it.

Let me know what you think of it.

Introducing FeedTso, a social news reader for Windows Phone 7

logo In the last few months you have probably noticed a few posts about Windows Phone 7, about my experience using it and about some little problems I found using the web browser.

The reason is that, together with Daniela, we were working on a news feed reader for Windows Phone 7, called FeedTso.

Today I’m happy to announce that after a few months of coding nights, yesterday we released the first version of FeedTso on the Zune Marketplace.

What is FeedTso?

FeedTso is a news feed reader that works as Google Reader client. We call it “social” because it puts a lot of emphasis on what the people you follow have shared.

It also lets you share, like, star posts on Google Reader as well as sharing them on Twitter (and on Facebook in the future) or saving them to a bookmarking service to read them later when you have time (currently supports Read It Later and Instapaper, and will support the new Readability in the future).

If you don’t have the Zune client installed, you can see some screenshots and a video on the FeedTso web site, or go to the app’s page on the web version of the Marketplace.

Latest News with dark background BlogList Latest News with light background


User Experience first

But this post was not supposed to be a press release, as I wanted to share with you some of the design decision we made when developing FeedTso.

We decided that our news reader had to be designed with usability and user experience as most important features: we hope we managed to build an application that not only works well, but that also has a beautiful user interface and a entertaining user experience.

Another feature we have started baking into FeedTso is customizability: you can choose which bookmarking service to use, if you want to open links inside the post view or in the external browser, if, when you open a post in the external browser, you want to see the normal site or a text-only version of it (and you can also choose which text-only processor to use). And in the future versions there will be more ways you can customize your reading experience.

A bit more of tech talk: libraries I used

How does FeedTso connect to Google Reader and to all the other connected services?

I developed a Google Reader client library that I will publish as open source project as soon as I find the time to clean it up a bit and implement the last missing features. It was a nice fun ride as there is basically no official documentation: just a few bit outdated blog posts and a lot of time spent with Fiddler and FireBug to reverse engineer the calls made by the official Google Reader web client. I’ll probably write more blog posts about it.

The parsing of the json results to CLR objects is done using the awesome Json.NET library by New Zealander James Newton-King.

The other communications, to Twitter, Read It Later, Instapaper and url shortening are done using the Open Source library Hammock for REST. This is really a well designed and implemented REST library: if you have never used I really recommend you give it a look. I was also thinking about moving my Google Reader library from my custom Http calls to Hammock as it handles disconnected clients, cache and retries in a very nice way. I will probably write some posts about Hammock as well.

Which MVVM toolkit?

Probably you are also wondering about which MVVM library I used: the truth is that I didn’t use any. This was my first project using Silverlight and XAML, and we wanted to push the first version of FeedTso out as quickly as possible. So I implemented a very rough Poor’s Man MVVM and Dependency Injection, and probably also it is not even very testable: but I finally understood what is the difference between developing with goal to push out a product as quick as possible and developing on a long-term project that can be developed thinking about maintainability and extensibility from the first line of code. Obviously now I’ll go back refactoring the code to make it less crappy, but learning yet another pattern and library while I was already learning a completely new technology and building a product on it at the same time would have delayed the release even more.

Actually I’m a bit undecided about which MVVM library to use: MVVM Light built by my friend Laurent Bugnion, which is a bit more lightweight, or Caliburn Micro, which seems to include a bit more features specifically targeted to WP7, like the automatic handling of Tombstoning? Which one would you recommend?

Now, go get the app!

If you have Windows Phone 7, please have a look at the application and it’s would really be great if you could write here or on our GetSatisfaction community your comments and suggestions: a free full-featured Trial mode is also available if you want to try the application and see if it’s worth the introductory price of 0.99$ (or 0,99€ if in Europe). The only limitation is that it doesn’t save your credentials and that you have to enter them every time you open the application, but apart from that, it is exactly the same as the full version.


Migration completed

If you are reading this post it means that you are now reading my blog from the new server. Please let me know if you find it faster, slower, if you spot errors or something like that. That will be really appreciated.

It has been ages since I last installed a new server, especially with so little resources: 30 Gb are great if it's just a shared hosting, but on VPS, 20 of these 30GB are used by the operating system itself.

Now I also have to setup some kind of backup strategy to avoid loosing all my posts in case of problems. I think I'll probably adopt the Dropbox approach suggested by Rob Conery for the websites files, and will setup a weekly backup of the database that goes in a dropbox folder as well.

Probably I'll also think into moving all my static files (CSS, images, code downloads) somewhere in the cloud (like Amazon) just to reduce the disk usage and also the bandwidth consumption on the server.

Tags: ,

Agenda and prizes for the 6th Conf

The 6th conference starts in 15 days, and here is a quick update on the agenda and the prizes.


Thanks to the donation of 21 out of 175 registered we gathered around 350€. If you want to help us cover the costs of the conference but didn’t donate when you registered you do it now on the site and clicking on the button “Donazione”.


The agenda of the day is ready: 4 rooms x 5 slots, for 19 sessions in total.

Really pleased by the fact that this time most of the sessions have been proposed by the attendees, so, the road is open for the next, BarCamp only, 7th conference

Please note the return of the super speaker mitico Fabio Santini, and to special guest from abroad Fabio Maulo, in remote connection from Argentina.

  • 9:00 – Registration
  • 10:00 - Keynote
  • Patterns:
    • 10:30 - “Layered Expression Trees: una terza via (idiomatica) verso il DDD”, di Andrea Saltarello
    • 11:45 - “CQRS Mettiamoci in discussione”, di Alessandro Melchiori
    • 14:15 - “MEF + MVVM = MefedMVVM”, di Federico de Grandis
    • 15:45 – TBD, di Brandolini (qualcosa su Scrum e Kanban)
    • 17:00 - “Utilizzo delle best practice nello sviluppo del software”, di Gianluigi Salvi
  • Code Kata + New in .NET:
    • 10:30 - Code kata: 2 ore di hands on code gestito da Antonio Lucca
    • 14:15 - “Incominciare con F#”, di Marco Parenzan
    • 15:45 – “Tutto quello che avreste voluto sapere su Windows Phone 7 e non avete osato chiedere”, di Lorenzo Barbieri
    • 17:00 - “Sviluppare nel cloud ? Perchè e come sfruttare al massimo le risorse di Windows Azure”, di Fabio Santini
  • Not.NET
    • 10:30 - “Sviluppare plugin per google Chrome”, di Marco Moscaritolo
    • 11:45 - “HTML5 Un anno dopo”, di  Cristiano Rastelli
    • 14:15 - “OpenId: avere una sola password, fra miti e leggende”, di Samuele Reghenzi
    • 15:45 – “Come io uso Git”,  di Alessandro Cinelli
    • 17:00 - “Ruby on Rails vs ASP.NET MVC”, con  Sandro Paganotti, Alberto Barrilá e Simone Chiaretta
  • Data Persistence:
    • 10:30 - “EF Code First e NH, due ORM a confronto”, con Pietro Libro e Martino Bordin
    • 11:45 – preparazione pranzo
    • 14:15 - “Tutto quello che avreste voluto sapere sui database e non avete osato chiedere – Reprise”, di Davide Mauri
    • 15:45 – “ConfORM Live Show”, di Fabio Maulo (live from Argentina)
    • 17:00 - “NH Q&A”, di Fabio Maulo (live from Argentina)

More info with the abstract of all the sessions are available on the site.


As usual, thanks to the various sponsors and to being awarded as best community in Italy for the FY 2010, we will have quite a few prizes for the final raffle.

  • A WP7 SmartPhone (probably LG Optimus 7) and some TFS licenses by Microsoft
  • R#, dotTrace and dotCover licenses offered by JetBrains
  • NDepend from Patrick Smacchia
  • NHProf by Ayende
  • Some books about NH3 from PackPub
  • Some subscrition to TekPub

If you like the prizes and the agenda, but have not registered yet, 5 seats are still available.

See you on February 19th.

Migrating Server and DNS

If you are following me on twitter, you might have read that due to a series of circumstances, the hosting provider when I'm hosting all my sites and domains is shutting down this weekend.

In the next days I'm going to migrate all my sites and domains to a new hosting and to avoid loosing comments, I'm going to disable them till my blog is up and running on the new server (in Subtext it means both that you will not be able to post and to read old comments... I guess I just found a bug).

Also, since I have the fear that the guys of Aruba are going to screw up things again when they have to deal with my NS change and new DNS registrations, if you have to send me an email and you get an error back, please contact me via twitter @simonech.

Hope everything goes smoothly, but just in case...