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)

December 2008 Blog Posts

Best of 2008: 5 most popular posts

Less than a month ago I reviewed my 2 years of blogging and I listed my top 10 posts ever. Looking back at 2008, I noticed that I blogged a lot about ASP.NET MVC. But looking at the stats probably this is not yet a popular topic, since it’s too early in the product lifecycle: in fact the most popular post of the year is about jQuery. And since my figures are not that high, it’s enough to have a post on the homepage of non .NET social bookmarking site (like reddit) for one day, that the number of views that this post gets are enough to make it one of the top 5 posts of the year.

The most popular posts of 2008

1. How to manage ASP.NET validation from Javascript with jQuery – This post explains how to trigger ASP.NET client side validation from a custom javascript function, and shows a example using jQuery.

2. ASP.NET MVC Link collection – This is a list of posts on ASP.NET MVC Preview 1, but contains also links to less API-related posts and podcasts, so still a valuable lists of links.

3. C# vs Ruby – Shows a interesting comparison between C# and Ruby, based on the day of the week people look for the two terms on Google. Thanks to Andrea Balducci for giving me the inspiration for the post.

4. .NET vs PHP in the Enterprise comics strip – This post went on the home page of Reddit, and raised a nest of angry hornets. Too bad people always take things too seriously and are too religious about their programming language of choice.

5. Beware the $(...) in jQuery: $("#elementId") != document.getElementById("elementId") – That’s probably one of the less understood things of jQuery: the jQuery wrapper, when asked for a element id, doesn’t return the element itself, but an array that contains only that element.

It’s worth noticing that even if I wrote only 5 posts about jQuery, 2 made the top 5, while only one of the 41 I wrote about ASP.NET MVC.

Something else

I’m pretty happy to see that my post announcing the book Keyvan and I were starting to write on ASP.NET MVC got a bit of exposure, even if it didn’t make the top 5.

Looking at 2009

In the last months all my writing time has been dedicated to the book, but now the it is almost done (just need to update it with the RC and the RTM will come out), so expect to see more posts about ASP.NET MVC in the months to come. And I’m also planning a few tutorials and post series for the next year. Also expect a book giveaway when our book is published.

If you haven’t already, consider subscribing to my free updates via RSS

And since it’s the last day of 2008, I want to wish a Happy New Year to all my readers.

PS: Thanks to Dave Ward for providing a good source of inspiration for this post.

kick it on DotNetKicks.com

Technorati Tags: ,,,

Microsoft® .NET: Architecting Applications for the Enterprise

photo(2)

A bit late for my Xmas present, but today I received my copy to the book written by Andrea Saltarello and Dino Esposito: Microsoft® .NET: Architecting Applications for the Enterprise.

I’m not sure when I’ll be able to start reading it, but given the synopsis and excitement with which Andrea announced his book (in Italian, sorry) I think it’s going to be a great book, a must have for every .NET developer and architect out there.

Too bad I’ve to wait next year to have Andrea sign my copy of the book.

Technorati Tags: ,,

Looking at Oxite the “glass half full” way

Today is a sunny (even if damn cold) day in Milano so while I was coming to work I decided I wanted write something good about Oxite, the CMS built by the MIX Online team.

The point I want to make is: Oxite is the best example to show how bad WebForms are when it comes to rendering standard compliant HTML.

There has been a lot of  negative talking about Oxite: it’s not working out-of-the-box, it’s not such a good example of how to implement something with the ASP.NET MVC framework, people looking at it as state-of-the-art  will learn bad practices, and so on.

But its 200 lines long controller actions and its ‘99 spaghetti style views state a great point: you can reuse your skills from “Classic” ASP.NET webforms (and probably even some code) and just by using the the ASP.NET MVC framework you can get a clean and standard HTML. And for public facing websites and web applications this is incredibly important.

Sure, the at the moment Oxite is not exploiting all the possibilities that framework gives you to allow you to build a maintainable, testable web application, but hopefully it will get better now that Rob Conery started to help them refactoring to a best practice application, hopefully by the time ASP.NET MVC RTMs before MIX 09 it will be a good example of MVC.

kick it on DotNetKicks.com

Technorati Tags: ,,

Xbox 360 and Apple Cinema Display

Last October, at my first MVP Open Days, I won a XBox 360, but I was not able to use it since my only display is an Apple Cinema Display. The problem is that the XBox can send the signal out with HDMI, Composite, Component and VGA: unfortunately the Cinema Display only accepts DVI.

I was busy with other things so I never looked for a way to solve the problem, as I thought that finding a converter would have been easy. And in fact it was: with 20€ I bought a media adapter that finally allowed me to connect the XBox to the Cinema Display.

But it was not the simple: even if the physical connection is possible, the XBox 360 probably sends a signal that is not compatible with what the Cinema Display can accept.

I immediately started to think about buying a display just to play games, and that can work also with the Wii, but after a bit of searching I found out the only monitors that can be used both for the XBox 360 and for the Wii are Televisions. The Wii can only use component or composite, and I didn’t find any LCD display that can use that input: why are they thinking everyone owns a TV? I don’t want to buy a TV (in Italy if you buy a TV you have to pay an annual fee of more than 100€ because you might watch the National channels, even if you don’t watch them).

Can anyone suggest me a way to solve this problem? Does anyone know of a monitor that can handle Composite or Component but that doesn’t have a TV tuner? Or a way to connect the Wii to normal PC monitor?

Thank you.

Technorati Tags: ,,

Xmas present from DZone: my first article resyndicated to DZone .NET Zone

Last month Alvin Ashcraft sent me a email notifying that I was selected as MVB (Most Valuable Bloggers) by DZone. Actually I forgot to thank him when it happened so: “Thank you Alvin!”.

And on the day of Christmas one of my posts about ASP.NET MVC has been resyndicated on the .NET Zone: How to Call Controllers in External Assemblies in an ASP.NET MVC Application.

Actually it’s not exactly the same article I posted: all the code is displayed using SyntaxHighlighter, a javascript syntax highlighter. I was thinking about using it on my blog instead of the Insert Code plugin for Windows Live Writer since it works with any blogging tool, and not only with WLW, and now that I’m mainly on my Mac, it could help a lot.

Technorati Tags: ,

Mac vs PC: the ultimate fight

Not the usual "I'm a Mac, I'm a PC" spot. This is the ultimate fight. Who is going to win? Watch the movie and you'll find out.

New Features in ASP.NET 3.5 SP1

ASP.NET 3.5 SP1 has been released a few months ago and everybody (including me) talks only about Entity Framework, Dynamic Data and Routing. But there is more.

But Sir Wally came to help and wrote a book (actually a Wrox Blox) about the New Features in ASP.NET 3.5 Service Pack 1, which are more than just EF, DynData and Routing: there are new features also on the Ajax side, ADO.NET Data services and caching.

So, what are you waiting for, it's only US $6.99, go and buy yourself a copy of this eBook: New Features in ASP.NET 3.5 Service Pack 1

Merry Christmas and Happy New Year

3120600187_d1ca839746

Merry Christmas and Happy New Year!

When Nature shows its power

imageTonight it should have been my first night in Cogne, Val d'Aosta, a pretty small town in the Gran Paradiso national park. But unfortunately I’m still at home, in Milano.

What is the reason?

No, it’s not because of some last minute deadline at work, but because most of the valleys in that part of the Alps are isolated: more than 3 meter of snow accumulated over the last week, and now that the sun is shining and the temperature is raising, spontaneous avalanches are starting to fall down, also one the road that connects the main valley to the villages. So the road are closed, and Cogne, together with many other ski-areas like Gressoney, are unreachable.

Hopefully tomorrow the weather is expected to be colder, and going on the road is less risky: but even if I get to Cogne, I think doing ice climbing in these conditions will be too dangerous (usually ice falls are where avalanches come down). So probably my week of vacation will only be cross-country skiing.

Technorati Tags: ,,

Hot new features coming with ASP.NET MVC RC in January 09

ScottGu just wrote about the new features that are coming with the release candidate of ASP.NET MVC V1 that is going to ship in January.

  • Views without code-behind: all other view engines works that way, and having an additional file just to specify the type of the model is pretty overwhelming. Good for this enhancement.
  • HtmlHelpers now expose the model of the view: this is strictly related to the new feature above. Since you cannot create view-specific helpers anymore, we needed a way to supply the model of the view to HtmlHelpers.
  • UI Scaffolding: when you create a view, now you can ask Visual Studio to create the HTML of the UI to edit/create/delete/list/show the model supplied to the view. The pages are created using the T4 code-generation engine that comes with VS.
  • More support for validation: till now the only reason why the binding of the HTML form to the view could fails was if there was a inconsistency of the types of properties. With RC you’ll be able to add more validation options.
  • New ActionResults: the BinaryResult that was in the MVCFutures is now included in the core, and renamed to FileResult.

For more details, have a look at Scott’s post: ASP.NET MVC Design Gallery and Upcoming View Improvements with the ASP.NET MVC Release Candidate

Looking forward to get the bits in January. The only bad thing is that now I’ve to rewrite parts of our (Keyvan’s and mine) book on ASP.NET MVC V1.

Technorati Tags:

Windows Live Writer 2009 RC Released

wlw2009-icoTonight the Windows Live Writer team announced the release of WLW 2009 Release Candidate.

It’s part of the Windows Live Essentials that includes also MSN Messenger and some other “Live” stuff.

The good news is that now the install kit doesn’t check for the OS anymore, or, at least, they include Windows 2008 among the allowed OS (even if the system requirements don’t list it as supported platform).

The new version includes a new icon (shown here on the left), and fixed the usability issue I reported one month ago: now the right sidebar scrolls and works even on my small 1280x800 screen size.

The new version includes some bugfixes and new features: for more info read the official announcement.

Technorati Tags: ,

Second birthday for CodeClimber

Last week it was exactly two years since my first post on this blog, and it’s time to draw some conclusions on these 2 years.

First some numbers: 460 posts, 1056 comments, 350k page views, 225k unique visitors, almost 1000 RSS subscribers.

But the numbers alone don’t say a lot: it’s better to see the charts with the trends of visitors and subscribers over the years as provided by Google Analytics and Feedburner (the spikes are related to some posts that got lots of view). During the last months, I averaged around 700 page views per day.

weekly-views-chart

rss-subscribers

Now same more charts. The number of posts per month:

posts-comments-per-month

Interesting to notice that months with most posts were the ones I spent in NZ, and the ones with least posts are Sept and Oct 08, two of the most busy months for my book writing process.

One last chart: the number of posts compared to the number of view.

view-cumulative-posts

Most of my visits come from search engines, and it’s interesting to notice that the number of view follows the number of post accumulated over the months.

And finally the list of my top 10 posts, using Ayende’s formula:

  1. How to make a Gmail-like loading indicator with ASP.NET Ajax – 45369 views
  2. How to refresh an UpdatePanel from javascript – 35067 views
  3. Ajax TreeView – 22175 views
  4. Rss2BlogML: export any RSS feed to a BlogML file – 18333 views
  5. .NET Ajax Survey results – 13452 views
  6. How to manage ASP.NET validation from Javascript with jQuery – 13545 views
  7. How to add a required validator to a CheckBoxList – 11928 views
  8. Vista Gadget for CruiseControl.NET - CC.NET Monitor for Vista Sidebar 0.5 – 10983 views
  9. How to enable an ASP.NET WebService to listen to HTTP POST calls – 9313 views
  10. ASP.NET MVC Link collection – 7814 views

What do I get from this? That people look mainly for Ajax/javascript related topics and look for “How tos” and not about opinions and theoretical posts.

What’s next? I’m almost at the end of my book, and in the future expect to see some posts about jQuery, ASP.NET MVC, Ninject and possibly even something about iPhone development (which might be my next project at Avanade).

Technorati Tags: ,,,

Italian ALT.NET Conference take 3

It took us a while to organize it, but finally we made it: the 3rd Italian ALT.NET Conference will take place in Milano on January 24th 2009.

conf3med

We will have Ivan Porto Carrero, author of IronRuby in Action, come down from Bruxelles and talk about IronRuby, and then there will be some talk on TDD, DDD, user stories, mocking and that kind of stuff. You can help shape the meeting: just go to ugialtnet group and vote at the poll.

If you want to attend, please register at altdotnet.org/events/italy.

I want to thank David Laribee for setting up the registration page while he was recovering from a surgery: I really appreciate it, thank you!

Bloggers Holiday Charity Challenge

Not all blog memes are about your youth or gadgets you like. The one started by Scott Watermasysk is also going to help to World: Bloggers Holiday Charity Challenge.

It started as eBay challenge, but other made it into a more general money raising challenge.

[...]James, he's decided to sweeten the deal by donating his portion of revenue of any blogger in The Lounge who does the same thing. That's pretty cool.

So I’m doing the same: I’m going to donate my December revenue from The Lounge to Greenpeace NZ.

The 3rd step of the blog meme was “Tell others to do the same”. I’m not pointing anyone of the my fellow bloggers, but if you have some revenue from you digital presence in the blogosphere, it would be great if you do the same: it’s Christmas, everyone should be nicer.

Technorati Tags: ,,,

Oxite: OpenSource CMS from Microsoft built on ASP.NET MVC

lab_oxite_plane

I was on the mountains skiing during this last weekend so I might have missed some big announcement from the .NET blogosphere, but today I found on many “official” IT online magazines (thanks to aspdotnetmvc.com) that the team behind Channel 9 (and 8, 10 and Mix Online) just released on CodePlex the blogging/CMS platform they developed to build Mix Online: Oxite.

Oxite is an open source, standards compliant, and highly extensible content management platform that can run anything from blogs to big web sites. We know this because it runs MIX Online.

It’s developed with ASP.NET MVC and has been designed to provide the core functionalities for every blogging engine and to be a real-world sample written with ASP.NET MVC. At the moment this is not a end-user CMS.

Jeff Sandquist, the lead of the team that works on the abovementioned sites, announced this on his blog yesterday: Supporting Web Standards With Microsoft.

You can read more about this blogging engine foundation at:

As soon as I finish my book later in December, I’ll play around with it.

kick it on DotNetKicks.com

The winners of the 5 copies of Beginning ASP.NET MVC are

During the TechDays-WPC that happened in Milano in the last 3 days I distributed around 130 cards at the ASP.NET MVC related sessions, and yesterday, during the MVP Q&A session, we did the draw for the 5 numbers whose owner will receive a copy of Beginning ASP.NET MVC.

The winning numbers are:

  • 8
  • 48
  • 60
  • 78
  • 97

If you are own one of those lucky winners, please contact me.


My personal experience writing the book

Yesterday I wrote about the book writing process, how it’s structured and I said I would have written about my experience doing so.

First of all, I really liked the experience. But if you ask me if I’ll do it again, I’d probably say “no”, at least not now.

The main challenge for us was to keep up with all the other writers team that started they effort on their ASP.NET MVC books earlier last spring (and some even last winter): we (Keyvan and I) started writing the book at the beginning of August and last weekend we reached our 100% milestone. It means we completed the 20 chapters of book in 4 months (10 chapters each). And with only the author review missing, and with the ASP.NET MVC framework still to be RTM-ed I think we made it.

But the main point of this post should be “how I managed to be a book writer, a consultant, a husband, an opensource developer, a community speaker and an outdoor-loving guy”. And so it’s going to be.

First of all I want to thank Daniela for supporting me and for making this whole thing seems lighter than it really was. Unfortunately I’m not a freelance, so I couldn’t take hours off my job to write the book. I had to write it at night or during the weekends. And it turned out that I prefer working at night, maybe till 2-3am, but keep my weekends free (at least most of them) so that I could go biking, go at the lake, doing rock-climbing and trekking.

What else did I like about the whole thing? Pretty much everything besides the tight schedule. I liked having to really dive deep into some aspects of the technology in order to better understand and explain to users: this is something people don’t usually do just to “use” something. I liked testing the framework, reporting issues to the team, and see the problems reported fixed or at least “explained”. I also like helping the sales department marketing the book, at the events I took part at: the DotNetSide conference, the Agile Day (thanks to Pietro Brambati), the TechDays-WPC (thanks to Andrea Saltarello) and more I’ll be taking part in, in the next few months.

And what about being an opensource developer? Well, during these four months, I wasn’t really, and that’s one of reasons why Subtext is not going as fast as it should. But I’ve got plans for the next months, and they will be about opensource development, so, stay tuned.

If someone has specific questions about my experiences in writing the book, or the overall book writing process, just ask it in the comment section.

Technorati Tags: ,

The book writing process

158623094_35f9ec96c1_m As some of you might already know, in July I started writing a book for Wrox. It was a completely new experience for me, and I’ve to thank Keyvan and the guys at Wrox for helping me in understanding the book writing process.

During these months I received lots of question on this process from people that never wrote a book, but also from people that wrote a book in Italy: all asking how it is to write a book and how much I’m paid for the book. So here I’m, writing a blog post to answer all the questions

Book writing process

Writing a book can be seen as a 4 phases process:

  1. Book proposal;
  2. Writing phase;
  3. Author review
  4. Production.

Let’s see each of the phase in details.

Book Proposal

If you want to write a book, that’s the first step you have to take: the book proposal.

The proposal is all you are allowed to send to the book publisher in order to persuade him that your idea is great, and that you book will make them earn money.

The proposal can be around 10-15 pages long and must include information on the topic you want to cover, the target readership, the other books that are being written on the topic by other publisher, and the biography and previous writing experience of the author. Then a proposed table of contents must be included in the book proposal as well.

Actual book writing phase

Once the proposal has been approved, and the contracts signed, the real book writing phase begins. It’s the longest phase of the whole process, but probably the less complex.

At this point a new figure enters the scene: the Development Editor (DE). He/she is a mix between a project manager and a book editor.

With him the deadlines are established: usually the writing timeframe is divided in 4 dates (in our book this phase lasted 4 months, so one deadline per month, but with single authors or longer books this phase could last also 6-8 months, so one deadline every 1,5-2 months).

And now the fun begins. For each chapter there are 3 steps:

  • Chapter is written by author and submitted to the DE
  • The DE “develops” the contents (makes changes to sentences, fix the text formatting, change titles of paragraphs and so on)
  • The content is reviewed by the Tech Editor

The Tech Editor (TE) is an external person, usually an expert in the matter of the book, that verifies the contents is correct and that it’s easy to understand, and nothing important has been forgotten.

When all chapters have been completed by the author the Author Review (AR) phase starts.

Author Review

In this phase the author addresses all the issues raised by the DE and TEs during their review. This usually results in the chapters being changed, new contents added. And in book on a beta technology like ours, changes are incorporated as well (the first chapters have been written based on P4, and now they need to be changed, also adding new concepts, to be in-line with the latest version).

At this point the chapters are marked as Final.

Production

The DE does the final cleaning on the chapters and then it’s sent to the Production department:

  • it’s copyedited (figures are cropped and diagrams are redrawn in house)
  • it’s proofed
  • it’s indexed

Then the books goes to layout. And this is the last time the authors are going to review the book before it goes to print.

And after it’s printed, the books are shipped and 3-4 weeks later it’s on the shelves.

Writing Revenues

Another question I always get is: how do they pay you? Actually this is asked more then the one about the writing process.

Obviously I’m not going to tell you my figures, but I’ll tell you how payment is distributed, at least at Wrox.

The payment is divided in two: one amount for the initial book writing and then the sales’ royalties.

At Wrox they pay you 1/3 of the initial amount when you sign the contract, 1/3 when you reach the 50% deadline (half of the chapters submitted) and the last 1/3 when you reach the 100% deadline (all contents submitted, at the beginning of the AR phase). This amount depends on how much they expect to book to sell, the skills of the author and how many book you already wrote. Then, when the book is published, you start earning revenues on the sales. The first amount actually is an anticipation on the revenues, so you start getting more money when the sales are enough to cover this amount.

Imagine you are given 1000 as first part of the payment, the book costs 10 and you have 10% revenue on the sales: you get 1000 upfront, so the book has to be sold in 1000 copies before this advance is covered and you start getting the rest of the revenues.

How this all compares to Italy

This is a kind of heaven compared to Italian book writing: the people I spoke to told me that in Italy there are no such things as the TE, copyeditor, proofreader. There is only a kind of DE that connects the author to the publisher. And the payment is only based on revenues paid after the book is sold.

And the things get even worse with smaller publishers, that ask you to pay part of the cost of the production of the book.

And what about me?

To all the people that asked my personal experience writing the book and how I managed to be a book writer, a consultant, a husband, an opensource developer, a community speaker and an outdoor-loving guy I’m going to answer in a future post. If you want to get it straight to your newsreader, subscribe to the blog feed.

UPDATE: The followup is available here: My Personal Experience Writing the Book

[Photo on top by Lo83, on Flickr: I’ve Started to Write a book]

kick it on DotNetKicks.com

Technorati Tags: ,,

Giving out 5 copies of Beginning ASP.NET MVC

Tomorrow is the starting day of TechDays-WPC, a conference for developers and IT professionals held every year since more that 10 years, in the Congress Center of Assago, just outside of Milano.

IMG_0190I’ll be there, at the Ask The Expert booth, answering questions about ASP.NET MVC, ASP.NET 3.5 and the “ALT.NET stack”. I still don’t know my schedule there: I guess I’ll find it out tomorrow morning when I arrive there.

And for all the length of the conference I’ll distribute cards with the cover of our book “Beginning ASP.NET MVC” and with a number on them.

The last day of the conference, in the afternoon of the December 4th, I’ll do a random draw, and I’ll pick up 5 numbers. The owners of those numbers will win a copy of our book, “Beginning ASP.NET MVC” when it will be published next year.

If you are coming to the event, please drop by at the ATE booth to say Hi and to have chance to win a copy of the book.

For those that cannot attend the draw, I’ll publish the winning number here on my blog on Friday 5th.

Technorati Tags: ,,,