Friday, July 03, 2009 #

Why ASP.NET MVC C# Developers Should Learn Ruby on Rails

As I had mentioned way too many times, I have been learning Ruby and Rails in my spare time.

I think I had mentioned my reasons why:

  1. ASP.NET MVC was inspired by Rails and in order for me to be a smarter ASP.NET MVC Developer I feel like I need to know Rails.
  2. IronRuby is well on its way to being released which has got me excited about learning a new language, Ruby.
  3. I really, really like Cucumber and RSpec and would love to use them for BDD via IronRuby on my ASP.NET MVC C# Projects.
  4. I think it would be cool to develop ASP.NET MVC Web Application using Ruby via IronRuby.

This is cool stuff, folks. And I can tell you for a fact that learning Ruby and Rails has made me a much, much smarter Microsoft Developer. Ruby has made me so much smarter in how I look at C# and what it can and could bring to the table as well as why certain features are being added. Rails has made me a lot smarter as to why ASP.NET MVC was built the way it was, how it will continue to evolve, and helped me think of ways it can be better.

For example, having started the Tampa ASP.NET MVC Developer Group, I can't tell you how many times Rails Developers ask me questions or “challenge“ me with Rails Features. Had I not learned Rails, I would still be sitting there with a “deer in the headlights look” like I did at the beginning. Now I can intelligently respond to those questions and discuss implementations in ASP.NET MVC.

So, the question really isn't why am I learning Ruby and Rails, but why aren't you? In order to be the best developer you can be you need to look around at other development communities and sample what they are doing.

Now, of course, replace Ruby, Rails, and ASP.NET MVC in my blog post with whatever might make sense for you. But, know this, you have to expand your comfort zone to get better as a developer. Fail to do that and you will become obsolete.

 

David Hayden

 

Related Posts:

 

posted @ 9:50 AM

IronRuby 0.6 Released - Better Performance and Cucumber Enhancements

Really excited about IronRuby. IronRuby 0.6 has better performance and works better with Cucumber, which is what I am most excited about.

According to Jimmy Schementi, IronRuby 0.6 has had a lot of effort done on:

  • Lazy method compilation
  • CLR member enumeration
  • Generic-Method Parameter-Inference
  • Testing C# with Cucumber
  • Silverlight building and updated binaries
  • Samples

Cool stuff. Looking forward to an IronRuby 1.0 release in the near future. Download IronRuby here.

 

Related Posts:

 

posted @ 9:15 AM

Monday, June 29, 2009 #

Ruby on Rails for Microsoft Developers Book Review

Ever since the ASP.NET MVC Framework was released I have had this passion for learning other web frameworks that implement the MVC pattern. I have been steadily learning Rails in particular as I think a lot of what has been added to the ASP.NET MVC Framework is largely in part due to Rails.

During the past week I read Ruby on Rails for Microsoft Developers published by Wrox and I really, really enjoyed it. For me, there were 4 chapters in particular that really stood out:

  • Chapter 5 - A Working Sample
  • Chapter 7 - Object-Relational Mapping with ActiveRecord
  • Chapter 8 - Handling Requests with ActionController
  • Chapter 9 - Rendering the User Interface with ActionView

Chapter 5 takes you through the popular “blog example“ that so many Rails books and screencasts seem to use as their defacto example. What I liked about the coverage in Ruby on Rails for Microsoft Developers was that it was really detailed. The author explained each piece clearly and concisely, leaving nothing to question.

Chapter 7, Object-Relational Mapping with ActiveRecord, demystified ActiveRecord outside of Rails. I thought this was really cool, because I started writing Ruby code using ActiveRecord for the first time in a simple TextMate document without Rails. Felt liberating for some reason :) The chapter is pretty detailed about migrations, CRUD operations, associations, validation, and other topics associated with ActiveRecord.

Chapter 8 and Chapter 9 talked about the processing of actions and rendering of views that is crucial to understanding Rails. Just like with ASP.NET MVC, Rails has a process for determining which action and view is chosen to fulfill a request. Rails also has the concepts of filters ( before, after, and around filters ) similar to ASP.NET MVC as well as the ability to use render ( like View in ASP.NET MVC ) to specify what is to be rendered back to the client. Rails also has Flash, which is similar to ASP.NET MVC's TempData. In general, there is a lot of good stuff in these two chapters that help you understand how Rails processes actions and renders views.

If you are new to Ruby and worrying about not understanding the code, the book also has an introduction to Ruby at the beginning of the book to familiarize yourself with the Ruby Language used in the later chapters. However, at some point you will want to get a more detailed book on Ruby.

All in all, Ruby on Rails for Microsoft Developers is a nice starter book for learning Rails. I now need to find a more advanced book that builds on its teachings.

 

David Hayden

 

posted @ 5:26 PM

Saturday, June 27, 2009 #

Windows 7 Beta will Start to ReBoot Every 2 Hours

Hopefully, you have moved away from the Windows 7 Beta and have downloaded and installed Windows 7 RC.

Starting July 1st, the Windows 7 Beta will start to reboot every 2 hours and completely expire on August 1st.

Do yourself a favor and immediately backup any important data you have on Windows 7 Beta and install the Windows 7 RC. Of course, hopefully you are not putting any important data on pre-release software :)

 

David Hayden

 

Related Posts: VMware Fusion and Windows 7 with Visual Studio 2010

 

posted @ 11:45 AM

Thursday, June 25, 2009 #

NHibernate in Action Book Review

I have used NHibernate on several projects, but sadly had to hunt and peck for good information on how to use NHibernate in my projects. There are just no books, other than NHibernate in Action, and the content as a rule is spread across blogs, screencasts, wikis, etc. and this is truly no way to learn best practices and O/R Mapping fundamentals on probably the most difficult O/R Mapper to understand - NHibernate. As a rule people don't want to spend a lifetime learning a persistence framework, which is why I think NHibernate has not received wide adoption.

Finally, however, those looking to learn NHibernate have been rescued from this utter torture of finding good guidance with NHibernate in Action. I could have used this book a long time ago as it not only explains the fundamentals of NHibernate, it also dives into:

  • O/R Mapping in General
  • Domain Modeling in General
  • Adding NHibernate to Your Persistence Layer
  • NHibernate's Solutions for Complex and Legacy Scenarios

I think the book hits a really nice balance at

  1. Teaching the ideas behind O/R Mapping, Domain Modeling, and Persistence Patterns to help people understand the value and importance of an O/R Mapper like NHibernate
  2. Showing you the myriad of options on configuring and using NHibernate, which makes the book a good reference
  3. Plugging NHibernate into your applications so you can get it up and running

The only downside to the book is that it only covers NHibernate v1.2 and there are some really neat features in NHibernate 2.0. However, this is really only a problem if you are very familiar with NHibernate and already know and understand the fundamentals of NHibernate. My guess is that the book is geared to those completely new to NHibernate and possibly O/R Mapping. Before you can truly use and appreciate the features of NHibernate 2.0, you need to understand the basics.

My hope is that the authors are already busy working on a second edition that covers NHibernate 2.0, Linq to NHibernate, and some of the spin off projects like Fluent NHibernate, Sharp Architecture, and other pieces that help you implement NHibernate.

If you are serious about learning NHibernate, you want NHibernate in Action.

 

David Hayden

 

posted @ 2:10 PM

MvcContrib Grid and Pager Helpers for ASP.NET MVC Framework

Kudos to the developers who have helped create the MvcContrib CodePlex Project. We introduced the MvcContrib Project at the last Tampa ASP.NET MVC Developer Group Meeting where I showed how to easily use the strongly-typed Grid and Pager Helpers to display a list of contacts / customers. You simply use Html.Grid to display the list of items in a table and Html.Pager to display the pager bar. All-in-all it will take you about 15 minutes, if not less, to get it up and running in your ASP.NET MVC Web Application.

Here is some code using this month's homework assignment that implements the Html.Grid and Html.Pager Helpers from MvcContrib.

 

ASP.NET MVC Sample Code

 

In the Customer's Index View I simply added the Grid and Pager Helpers in MvcContrib. Notice the use of lambda's in Html.Grid to specify what properties will be displayed for each customer in the Table. I also have the ability to add custom ActionLink's, etc. Make sure you specify DoNotEncode so the links get rendered correctly in the browser. Even better is that you also get the wonderful value of intellisense!!

 

ASP.NET MVC Sample Code

 

 

IPagination and AsPagination in MvcContrib

What might also blow your mind is how easily it is to set-up pagination in the controller and view. Here is the Index Action on the Customers Controller:

 

public ActionResult Index(int? page)

{

    return View(Customer.FetchAll().AsPagination(page ?? 1,2 ));

}

 

AsPagination is an extension method that comes with MvcContrib that will help you with pagination. Here I am specifying that Customers will be paged 2 at a time for demonstration purposes. This actually returns IPagination<Customer>, so with a strongly-typed view the ViewPage must be ViewPage<IPagination<Customer>> in this case.

 

Conclusion

A lot of other cool stuff in MvcContrib, too, like custom controller factories and view engines. As luck would have it, we will be talking about creating custom Html Helpers, controller factories, and view engines at next month's meeting: ASP.NET MVC Extensibility.

 

David Hayden

 

ASP.NET MVC Book Reviews

 

posted @ 10:25 AM

ASP.NET MVC Screencasts

The Tampa ASP.NET MVC Developer Group has had 3 meetings thus far this year and I have attempted to create a screencast after each presentation that discusses at least 1 aspect of what we talked about during the meeting.

If you can't make it to the group meetings, hopefully you can learn something useful from these screencasts:

You can check out screencasts created by others in the community, too:

 

Hope this helps,

David Hayden

 

posted @ 9:14 AM

Tuesday, June 23, 2009 #

Download Spark View Engine 1.0

One of the great benefits of the ASP.NET MVC Framework is that you do not have to use the Webforms View Engine. There are plenty of other view engines, like Spark, Brail, NHaml, NVelocity. XSLT, etc.

Personally, I think one of the cooler view engines is Spark, which was just released as 1.0 on CodePlex.

You can download the Spark View Engine here. Learn more here.

 

Related Posts:

 

posted @ 9:18 AM

Entity Framework Feature - Self Tracking Entities - Poco Template - Code Only

The Entity Framework Team released the Entity Framework Feature CTP 1, which appears to give you a less invasive Entity Framework in the domain layer of your applications by allowing you to use the Entity Framework using POCO Entities without a visual designer while still getting the benefits of self-tracking. I haven't tried this as of yet, so I cannot comment on the implementation. Unfortunately this will not be a part of the .NET Framework 4.0. This will require a separate download when everything is fully released.

The features included in this CTP are :

  1. Templates for Self-Tracking Entities (N-Tier support)
  2. Templates for POCO (Plain Old CLR Objects) Entities
  3. Code-Only Programming Model that allows you to write Entity Data Model based applications without requiring external artifacts

Download it here.

 

posted @ 9:06 AM

Wednesday, June 17, 2009 #

ASP.NET MVC Ajax Helpers Screencast

ASP.NET MVC Ajax Helpers ScreencastThe third meeting of the Tampa ASP.NET MVC Developer Group was on building UI applications for your ASP.NET MVC Web Applications:

Although the meeting title mentions jQuery, we talked about so much more than jQuery. We actually discussed:

  • ASP.NET MVC Ajax Helpers - Ajax.BeginForm and Ajax.ActionLink
  • MvcContrib Grid and Pager Helpers
  • ASP.NET MVC Futures Assembly Controls and various ActionFilters
  • jQuery Selectors, UI Controls, and AJAX

I put together a screencast on the ASP.NET MVC Ajax Helpers , Ajax.ActionLink and Ajax.BeginForm:

The screencast comes in at a whopping 25 minutes, which is about 15 minutes longer than I intended. However, the screencast is a pretty good overview of the presentation and will come in handy for this month's homework! Enjoy the screencast. The homework assignment will be uploaded soon.

 

Related Post: ASP.NET MVC with Ajax - Ajax.BeginForm and PartialViews

 

ASP.NET MVC Tutorials

 

posted @ 9:48 AM

Sunday, June 14, 2009 #

Named Routes in ASP.NET MVC like Ruby on Rails

Ruby on Rails has named routes with cool helpers that allow you to take advantage of them in your views, etc. By doing something as simple as map.resources :projects, for example, in your routes.rb file:

 

Named Routes Rails

 

you can use these cool named routes in your views to simplify links, etc. in your Rails Applications. Shown below you can see something like new_project_path which is essentially a named route that is automatically generated by the simple map.resources :project mentioned above. As you might expect, there are others generated like projects_path, edit_project_path, etc. You can also get url's by replacing “path“ with “url“, like projects_url.

 

Ruby on Rails

 

So what does this have to do with ASP.NET MVC?

Well, the ASP.NET 2.0 RoadMap discussed Strongly-Type Link Helpers to avoid magic strings to help with compile-time safety, refactoring, etc. The ASP.NET MVC Futures Assembly already has strongly-typed helpers to avoid those magic strings today. However, the helpers use expressions that are rather ugly IMHO, a pain-in-the-butt to type, and apparently have performance issues according to Brad Wilson and reported by Phil Haack.

Interesting enough, David Ebbo has done a little of his code generation magic that he does so well, and came up with a prototype solution using build providers that looks better, but still doesn't seem as cool and intuitive as Rails.

In the end, I think it would be cool to get something similar to the self-documenting and intuitive style of named routes found in Rails, but gives us the compile-time safety and refactoring support. Not sure it is completely possible, but I like the idea of just typing something as simple as new_project_path in an action link helper to generate a link as opposed to the expression builders found in the ASP.NET MVC Futures Assembly.

I guess we'll see.

 

David Hayden

 

Ruby on Rails Posts

 

posted @ 1:39 PM

Saturday, June 13, 2009 #

Cucumber and RSpec for Rails Development is Elegant - ASP.NET MVC Inspiration

I spent a couple of hours this afternoon using Cucumber and RSpec to develop a Rails Application very similar to the ASP.NET MVC Web Application we have been studying as part of the Tampa ASP.NET MVC Developer Group.

Although I was introduced to Cucumber at the Tampa Day of Ruby, it didn't really click for me because I was completely new to Ruby, Rails, and developing on my MacBook. However, things have changed a bit since then:

With all of this behind me now and the fact that I have watched the very excellent Beginning with Cucumber Railscast, I am much more confident ( yet still a noob ) at developing Rails Applications and completely amazed as to the elegance of Cucumber and RSpec for Behavior-Driven Development ( BDD ) of Rails Applications.

I am convinced that to be a better ASP.NET MVC Developer, one really needs to spend time in the Rails world. The Rails Community has been doing MVC Development so much longer and really have the Behavior-Driven Development ( BDD ) and Test-Driven Development stuff down.

If you are learning ASP.NET MVC Development, I highly recommend watching the Beginning with Cucumber Railscasts to see a very elegant way to develop your applications using BDD.

 

David Hayden

 

posted @ 9:26 PM

Friday, June 12, 2009 #

jQuery and ASP.NET AJAX at Tampa MVC Developer Group

You gotta respect 70 hardcore developers spending their free time at the Microsoft Office in Tampa learning the ins and outs of jQuery, ASP.NET AJAX, MvcContrib, and a few things in the ASP.NET MVC Futures Assembly. Many of them battled a major accident on I 275 to make it to the meeting.

 

Tampa ASP.NET MVC Developer Group

 

Hopefully everyone learned a little something about UI design / development with the ASP.NET MVC Framework.

Next month we start to ramp it up a bit now that everyone has 3 meetings under their belt. Time to lift up the hood and learn a bit about ASP.NET MVC Extensibility. Bring your toolbelts.

 

David Hayden

 

posted @ 12:42 PM

Tuesday, June 09, 2009 #

Download ASP.NET MVC Installer and Code Snippets for Visual Studio 2010 Beta 1

This is great news from Haack.

The ASP.NET MVC Installer for Visual Studio 2010 Beta 1 is now available. If you remember, ASP.NET MVC 1.0 miss the cut for Visual Studio 2010 beta 1 so it is not included by default.

However, now you can get a stand-alone installer just for installing ASP.NET MVC 1.0 for Visual Studio 2010 Beta 1. When Visual Studio 2010 Beta 2 comes along you won't have to do this extra step.

Dowload the installer here. While you are in there, make sure you download the Code Snippets for ASP.NET MVC 1.0 as well. The download is on the same page.

 

David Hayden

 

ASP.NET MVC Tutorials

 

posted @ 2:23 PM

Monday, June 08, 2009 #

Download Safari 4

Safari 4Apple released Safari 4 today. Over 150 new features.

You can download it here.

 

Related Posts:

posted @ 9:33 PM

Saturday, June 06, 2009 #

The Well-Grounded Rubyist Book Review - Manning

The Well-Grounded RubyistDuring my free time, I have been spending a considerable amount of time learning Rails and Ruby. Different than probably most developers, I am learning Rails and Ruby with a firm background on ASP.NET MVC and C#. The intial reasons for learning was mainly to intelligently respond to all the questions and comments from Rails developers who are attending my Tampa ASP.NET MVC Developer Group.

However, my interest is now different. I not only enjoy learning Rails and developing Rails Applications on my Mac, but I am really interested in the Ruby language itself. I know as developers we are “supposed to” learn a new language each year, but that is not an easy task and I often don't find much motivation given that .NET has been so VB and C# centric. However, given my interest in Rails, the Dynamic Language Runtime ( DLR ), and IronRuby, I now for the first time feel there are so many good reasons to learn another language and for me it is Ruby.

My first course of action was to purchase a book focused on Rails, because this gives me practical reasons and the motivation to apply Ruby today. However, Rails book usually just give you enough information on Ruby to get by on Rails, and one quickly finds that a more fundamental education on Ruby is necessary. I especially noticed this since Ruby is a completely different animal than C# in many ways, and I found myself struggling with a number of the operators and core classes / modules that were a bit foreign to me. Hence, I picked up what I think is a fantastic book on Ruby, The Well-Grounded Rubyist by David A. Black.

The Well-Grounded Rubyist is a solid book all around because it starts you with the fundamentals, moves you up to object-oriented programming for software development, and then hits you with a spattering of advanced topics for when you really want to take advantage of Ruby. You essentially have a beginning, intermediate, and advanced book on Ruby rolled into one.

For me, the fundamentals were critical to my understanding. Although I feel very comfortable with language features and concepts in general coming from C#, I have a whole new set of keywords, operators, and object hierarchy to understand. Personally, I think The Well-Grounded Rubyist excels at explaining the fundamentals which can be a nightmare to explain to new programmers and programmers coming from another language. It can be especially difficult to explain to me as someone who is carrying the baggage of a statically typed language like C# :) In the end, David does an excellent job getting me up to speed on the basics of Ruby and opening my eyes to the coolness of a dynamic language.

Of course, the fundamentals of Ruby will only get you so far. You really need to understand the various classes and modules in Ruby to do real software development. Here is where David does a good job of explaining not only the various classes and modules in Ruby, but those crazy things like, equality vs. identity, enumerability, enumerators, comparability, closures, etc., that are so crucial to understanding how things work in the real world. This is also where you get into so much of the syntatical sugar in languages that experienced developers take advantage of and new developers need to know :) Again, David does an excellent job going beyond the language and hitting those concepts in the built-in classes and modules that you need to know and will experience in the real-world.

Finally, you get into the dynamics and functional areas of Ruby which make Ruby so popular. Thankfully we started to see a lot of Functional programming in C# 2.0 and 3.0 which gave me a step up on anonymous functions, lambdas, and “Eval“. Functional and dynamic programming is important so it is good to see David hit these advanced topics in the book to round out our education.

I see it like this. If you are learning Rails and/or the Dynamic Language Runtime ( DLR ) and IronRuby coming out of Microsoft, you need a solid reference book on Ruby. The Well-Grounded Rubyist is an excellent reference book on Ruby. It is a language book and hence focuses on the language and various fundamentals of programming using the core classes and modules in your applications. For me it has been an excellent addition to various Rails books when I needed to understand how the various classes and modules worked as well as the syntatical sugar used by more experienced Rails Developers.

Learn more about The Well-Grounded Rubyist on Manning as well as Amazon. I highly recommend it.

 

David Hayden

 

posted @ 1:03 PM

Wednesday, June 03, 2009 #

Tampa ASP.NET MVC Developer Group Meeting: ASP.NET MVC with jQuery

Just a reminder that the next Tampa ASP.NET MVC Developer Group Meeting is on Thursday, June 11 at the Microsoft Office in Tampa, Florida.

The meeting will be 2 hours of bliss focused on the UI of your ASP.NET MVC Web Applications and cover an introduction to:

  • MvcContrib
  • ASP.NET MVC Futures Assembly
  • ASP.NET AJAX in ASP.NET MVC
  • ASP.NET MVC and jQuery

Make sure you register. I look forward to seeing you there :)

 

David Hayden

 

posted @ 10:52 AM

Tuesday, June 02, 2009 #

Ruby Optional Parameters and Default Values Like C# 4.0

Although I think as .NET Developers we can probably get by with just knowing C# or VB, what would be the fun in that? :)

We have to remember as C# Developers that a lot of the features in our language are being borrowed from many languages. Hence when I talked about C# 4.0 Optional Parameters and C# 4.0 Named Parameters, this is new to us and not new in general.

 

Ruby Optional Parameters and Default Values

I won't pretent to be a Ruby guru as I just started learning the language, but Ruby has optional parameters right now. A simple screenshot shows an example similar to the previous C# 4.0 tutorial. I can specify default values in Ruby which makes them optional parameters. Notice how city and state have default values and I can optionally provide a value that overrides the default value.

 

Ruby Optional Parameters

 

Pretty slick!

The thing I don't understand at first glance is why doesn't Ruby have named parameters? Ruby does have starred parameters and the neatness of hashes, but seems like named parameters has a place in the language.

Anyway, as you can see, optional parameters with default values is new to C# 4.0 but not a new language feature in general.

 

David Hayden

 

posted @ 12:34 PM

C# 4.0 Optional Parameters and C# 4.0 Named Parameters

I have to say I absolutely love the C# Language and am so happy that I decided to learn and embrace C# when .NET came on the scene and I transitioned from VB6. It is not to say VB is bad or inferior to C#, but that I really enjoy the tidiness and expressiveness of C#. It just speaks to me :)

With Visual Studio 2010 and the .NET Framework 4.0 we get a new version of the C# Language, C# 4.0.

 

C# 4.0 Optional Parameters and Named Parameters

A few of the interesting features in C# 4.0 are Optional Parameters, Default Values, and Named Parameters. The idea is that the arguments on a method may have “Default Values” and therefore it is unnecessary to supply those arguments in a method call if you are willing to accept those default values. This helps in those cases when we overload methods several times to help alleviate the caller from having to provide all values in a method. With Optional Parameters and Default Values you can now set Default Values to arguments on a method:

 

static void Write(string name, string address, string city = “Sarasota”) { ... }

 

In the method above we have assigned the city parameter a default value of “Sarasota”, which means it can now be used optionally by the caller of the method:

 

Write(”David Hayden”, “1234 Broad Street”); city not specified, accept default.

 

or I can override the value by passing in the city as usual:

 

Write(“David Hayden“,“1234 Broad Street“,“Tampa“); // Overriding Default

 

Sometimes you may have multiple optional parameters:

 

static void Write(string name, string address, string city = “Sarasota”, string state=“Florida“) { ... }

 

and the question becomes how do you specity a value for the state without specifying a value for the city? Named parameters, of course! We can now do the following:

 

Write(“David Hayden“,“1234 Broad Street“, state: “Hawaii“); 

 

Using the new “[parameter]:“ syntax is mind blowing and quite neat, no? :)

 

The only real convention here with optional parameters is that optional parameters must come at the end of the list of method arguments. Hence, you specify all your required arguments in the method first and then list the optional arguments last just like we did above.

The intellisense is pretty cool in Visual Studio 2010 for Optional Parameters, Default Values, and Named Parameters. Notice below how Visual Studio 2010 shows you the default values as well as pops-up the named parameter choices available for you to choose. Also notice in the screenshot that I chose to also use the named parameter syntax on the required zip parameter for kicks. That offers a bit of self-documenting code so you know what the values represent in the method call.

 

C# 4.0 Optional Parameters

 

Cool Stuff!!

 

Conclusion

Download Visual Studio 2010 Beta 1 and try out the C# 4.0 language features yourself.

 

David Hayden

 

posted @ 11:01 AM

Monday, June 01, 2009 #

Internet Explorer 8 Accelerators - Map with Live Search

I prefer Firefox and Safari as my browser, but I thought I would try out Internet Explorer 8 after installing Windows 7 RC. At first glance, the IE8 Accelerators look pretty cool. I browsed over to the Tampa ASP.NET MVC Developer Group website, selected the Microsoft Office in Tampa address where we have our meetings, and chose the Map with Live Search Accelerator to see a cool map of the location:

 

Internet Explorer 8 Accelerator

 

 

Very cool. Got a nice map of where we have our meetings without leaving the page.

Unfortunately, I tried the Weather.com IE8 Accelerator and it didn't work for me very well. When I highlighted the zip code on the website and chose the Weather.com Accelerator I couldn't actually see the weather for the area. All I saw was the top part of the page and I couldn't find anyway to resize or scroll the page to actually see the weather.

 

Internet Explorer 8

 

Could have been a user error as I didn't stick around long enough to solve the problem. The idea of Accelerators is pretty cool, however.

Learn more about IE8 here. Check out some of the Internet Explorer 8 Accelerators here.

You may want to Download Windows 7 RC as well as Download Visual Studio 2010 Beta 1, too.

David Hayden

 

posted @ 8:58 AM

VMware Fusion and Windows 7 with Visual Studio 2010

Windows 7I successfully installed Windows 7 RC and Visual Studio 2010 Beta 1 on WMware Fusion on my MacBook without a hitch. Mind you I have only been playing with it for a couple of days so there may be some gotchas sitting around waiting for me to hit them.

Although VMware Fusion does not officially support Windows 7 RC, I downloaded the ISO and installed it like any other version of Windows. The VMware Fusion Team Blog has a step-by-step procedure for creating a new virtual machine for Windows 7 here.

I then went ahead and installed Visual Studio 2010 and .NET Framework 4.0 beta. All went fine. I received the expected compatibility issue with SQL Server 2008 and followed the appropriate actions by installed SQL Server 2008 SP1. I installed Visual Studio 2010 Team Suite but you can also install Visual Studio 2010 Professional.

You gotta love being able to run Windows 7 via VMware Fusion on the Mac.

Good Luck!

David Hayden

 

posted @ 8:08 AM

Saturday, May 30, 2009 #

Rails for .NET Developers Book Review - Pragmatic Programmers

Inspired by the really cool ASP.NET MVC Framework coming out of Microsoft I wanted to at least test the waters with Ruby and Rails for a couple of reasons:

  • One, it is apparent that a lot of the inspiration for ASP.NET MVC came from Rails
  • Two, many people keep asking me how ASP.NET MVC compares to Rails

I hate not being in the know so I bought a book called, Rails for .NET Developers, with the hopes that it would give me a good and concise overview of Rails that would speak to me with my C# and .NET background.

As luck would have it, I really, really enjoyed Rails for .NET Developers as it provided just the right amount of background on both Ruby and Rails to get me up and started quickly. The key is that I did not want to have to learn the entire Ruby Language, which I knew nothing about, to get started on Rails. I wanted to learn just enough to appreciate and understand what Rails was doing for simple forms-over-data web applications and then, if Rails spoke to me, continue my education on Ruby and Rails. Rails for .NET Developers hit that balance perfectly.

Another cool reason why I liked the book is that it compared and contrasted Ruby with C#. Rails for .NET Developers, for example, would show you how to do something like create an array in C# and then show you how to do it in Ruby. But more importantly, you could see some of the more interesting comparisons like, partial classes and automatically implemented properties, that we just got in C# 3.0 and see how Ruby does it. Really wakes you up a bit as to how excited we get about new language features in C# or VB and see that they are not so new to others :) Of course, we realize C# is borrowing those features from other languages, but it is another thing to experience it :)

If you are an ASP.NET WebForms developers, you will really be excited about the fact that Rails for .NET Developers shows you examples of how you do something in Rails compared to WebForms. You see WebForms and Rails code right next to each other with great explanations. I enjoyed seeing the code immensely, but personally, I would have loved to see the comparisons between Rails and ASP.NET MVC. Now realistically I don't know how well they could have done that since ASP.NET MVC hadn't been released in 1.0 yet when the book was being written, so I can't really fault them on this. It would have just been really cool is all. I suspect we will be seeing books comparing ASP.NET MVC and Rails very soon :)

At the end of the book there are some advanced topics on TDD, BDD, and Integrating Rails with .NET via web services. It is amazing to see how vital and integrated TDD and BDD are in the Rails Community, which you really don't see in the .NET Developer Community. I think this wakes you up a bit, too.

In summary, I loved Rails for .NET Developers. I think it is a great starter book to have for those .NET Developers interested in Rails.

 

David Hayden

 

posted @ 1:13 PM

Thursday, May 28, 2009 #

JetBrains RubyMine 1.1 Released - Ruby on Rails IDE

I have been enjoying JetBrains RubyMine for Ruby on Rails Development the past few weeks and they have just released a new 1.1 version with the following enhancements:

  • Rails (2.3.x) support
    • Application Templates
    • Localized Views
    • Code Insight
  • HAML syntax highlighting
  • Cucumber BDD framework support
    • .feature files syntax highlighting
    • GUI Test Runner for Cucumber
    • Running Cucumber Tests.
    • Run Configurations
  • Remote Debug for Ruby and Rails
  • DRb server support for RSpec
  • Other IDE improvements
    • Create New Ruby Class option
    • Platform specific IDE Help

 

JetBrains RubyMine - Rails IDE

 

Check out the What's New and Download.

 

David Hayden

 

Related Posts

 

posted @ 1:57 PM

Sunday, May 24, 2009 #

Free iPhone Development Training - Learn iPhone Application Programming

For those developers looking for something new to learn over the summer, I finally found that free iPhone Developer Training Course on iTunes-U from Stanford University I kept hearing about.

Looks like there are 14 video lectures available right now from a course called iPhone Application Programming.

  • Introduction to Mac OS X and Cocoa Touch : Evan Doll provides an overview for the Stanford Computer Science department course, iPhone Application Programming.
  • Using Objective-C, Foundation Framework : Alan Cannistraro provides an overview of object oriented programming, the objective-C programming language, and common foundation classes.
  • Custom Classes, Memory Management, and ObjC Properties : Evan Doll discusses custom classes, object lifecycles, autorelease, and properties.
  • Interface Builder, Controls, Target-Action : Alan Cannistraro discusses the interface builder, controls, and target-action.
  • Views and Drawing, Animations : Alan Cannistraro covers views, drawing, and animation.
  • View Controller Basics : Evan Doll outlines designing iPhone applications, goes on to discuss the model-view-controller paradigm, and explores view controllers.
  • Navigation Controllers : Evan Doll covers navigation and tab bar controllers.
  • Table Views : Guest lecturer Jason Beaver from the Apple User Interface Kit (UIKit) team covers scroll views and table views.
  • Dealing with Data: User Defaults, SQLite, Web Services : Evan Doll discusses data in your iPhone application.
  • Performance and Threading : Alan Cannistraro covers application performance.
  • Text Input, Presenting Content Modally : Evan Doll covers text input and presenting content modally.
  • Address Book: Putting People in Your App : Alex Aybes discusses interfacing with contacts in the address book.
  • Debugging Tips, Searching, Notifications, KVC/KVO : Alan Cannistraro covers searching and notifications.
  • Touch Events and Multi-Touch

Click on the following link, which should bring up iTunes and allow you to download the videos and any PDF's.

Nice!!

 

David Hayden

 

posted @ 3:34 PM

Saturday, May 23, 2009 #

ASP.NET MVC and Visual Studio 2010 Beta 1

For all you smart developers using ASP.NET MVC to build your web applications, you will notice that ASP.NET MVC 1.0 is not included with Visual Studio 2010 due to a timing issue as to when ASP.NET MVC 1.0 was released and when features were locked down for Visual Studio 2010 beta 1.

If you try to open an ASP.NET MVC Project using Visual Studio 2010 beta 1, you are greeted with some error. No worries as Haack mentions the work around to get an ASP.NET MVC 1.0 project to open on Visual Studio 2010 beta 1 and points to this blog post for the fix.

There are some gotchas with it, however, as mentioned in the post.

Hope this helps,

David Hayden

 

Related Links: Tampa ASP.NET MVC Developer Group

 

posted @ 3:05 PM

Main

News

Green Tea

.NET Development

Enterprise Library

Patterns & Practices