Thursday, July 15, 2010 #

Building Distributed Applications in ASP.NET MVC at MvcConf 2010 on 7/22/2010

Next week Thursday I will be speaking at MvcConf.  This is a virtual, free conference that has attracted some very heavy hitters MVC hitters to come and chat about their voodoo.  This should be interest sting.

http://mvcconf.com/

Below is the abstract and TOC for my presentation.  If you think I missed something or am watering down the presentation please feel free to contact me to give me your suggestions.

Abstract

In this session we will take a look at a handful of common ways that MVC applications are created along with each approaches pros and cons. We will start with a very simplistic, not so flexible, ecommerce application. This will then be followed by several iterations of refactoring to embrace different design patterns, easier code management, loose coupling, better testability, more flexible deployment options, etc. Our final iteration will put us in a place where we can easily scale the system to include the ability to plug in a distribution layer for remote processing with a little IoC and MVC.

We will start by looking at the traditional demo style application where business logic, data access, and everything in between is handled in a controller – not much different than the bloated code behind of WebForms days. Then we will take a look at how to slowly refactor that type of application into something better. We will take a look at how to move towards the single responsibility principle. Next we will take a look at moving to logical separation of our code using namespaces (creating layers). Then we will move towards physical separation with different class library projects (creating tiers). Once our code is pushed into appropriate buckets we will look at removing tight coupling by implementing dependency injection. Then will be ready to plug in an IoC container (StructureMap in this case) which will allow us to easily swap out our concrete implementation as requirements change with little ripple affect felt by our application. At this point our application will be ready to easily support distributed processing on an as needed basis.

The map from start to finish

  1. Standard MVC demo application
    1. All code in a controller/action, or the view
      1. Domain model
      2. Business logic
      3. Data access (LINQ to SQL)
    2. b. Why is this bad?
      1. Causes code duplication and increased complexity
      2. Tight coupling results in less flexible code
      3. No abstractions and/or leaky abstractions cause unforeseen ripple effects
      4. Not easily testable
      5. Refactoring is more difficult
      6. Deployment options are fairly fixed
      7. Versioning specific parts of the application is not easy
      8. Not compose-able
      9. Not easily distributable
  2. Separating our concerns
    1. Putting code into small singularly focused classes
    2. Why is this better?
      1. More testable
      2. Easier to manage
      3. More reusable
      4. Refactoring gets better
  3. Logical separation (layers)
    1. Moving classes to appropriate namespaces
    2. Why is this better?
      1. Easier to manage
      2. A required step to getting closer to tiers
  4. Physical separation (tiers)
    1. Moving classes into appropriate physical assemblies
    2. Why is this better?
      1. Deployment options become more flexible
  5. Refactoring for dependency injection
    1. Achieving loose coupling with interfaces and constructor injection
    2. Why is this better
      1. Loosely coupled
      2. More compose-able
      3. Easiest to test
  6. Using an IoC container for flexible composition
    1. Implementing an inversion of control (IoC) container – StructureMap
    2. Why is this better?
      1. Dynamically compose-able.
      2. Ultimate flexibility for the developer
      3. Easy to seamlessly slip in new functionality
      4. Capable of supporting distributed processing
  7. Adding a WCF service client and services to support seamless application distribution
    1. Why is this better?
      1. Ability to distribute specific pieces of our applications to other servers
      2. Supporting horizontal scalability gets easier
      3. Vertical scalability can be applied to areas of your application rather than being forced to beef up the entire application

posted @ Thursday, July 15, 2010 1:30 PM | Feedback (0)

Monday, April 19, 2010 #

ASP.NET MVC Cookbook – public review

I have recently started writing another book.  The topic of this book is ASP.NET MVC.  This book differs from my previous book in that rather than working towards building one project from end to end – this book will demonstrate specific topics from end to end.  It is a recipe book (hence the cookbook name) and will be part of the Packt Publishing cookbook series.  An example recipe in this book might be how to consume JSON, creating a master /details page, jquery modal popups, custom ActionResults, etc.  Basically anything recipe oriented around the topic of ASP.NET MVC might be acceptable. 

If you are interested in helping out with the review process you can join the “ASP.NET MVC 2 Cookbook-review” group on Google here: http://groups.google.com/group/aspnet-mvc-2-cookbook-review

Currently the suggested TOC for the project is listed.  Also, chapters 1, 2, and most of 8 are posted.  Chapter 5 should be available tonight or tomorrow.

In addition to reporting any errors that you might find (much appreciated), I am very interested in hearing about recipes that you want included, expanded, or removed (as being redundant or overly simple).  Any input is appreciated!  Hearing user feedback after the book is complete is a little late in my opinion (unless it is positive feedback of course).

Thank you!

posted @ Monday, April 19, 2010 6:46 AM | Feedback (4)

Wednesday, February 17, 2010 #

$15 off C# in Depth 2nd Edition

If you like C# at all then you know that Jon Skeet (writings, blog, StackOverflow) is the man when it comes to this language.  Just look at his StackOverflow flair!!!  He is the top dude by a long shot in C# and has been for a long time.

image

His latest book “C# in Depth 2nd edition” is currently available in the Manning Early Access Program (MEAP) and ready for you to get your hands on! 

$15 off C# in Depth 2nd edition: use code dotd0217 at checkout. http://manning.com/skeet2/

posted @ Wednesday, February 17, 2010 5:07 AM | Feedback (3)

Tuesday, January 05, 2010 #

ASP.NET MVC 2 in Action conducting a public review

Since I enjoyed the first edition of the ASP.NET MVC in Action book I figured I would jump on this second edition of this book and framework as quickly as I could.  I just read this post from Jeffrey Palermo:

http://jeffreypalermo.com/blog/mvc-2-in-action-book-conducting-public-reviews/

Which basically states that they are actively working on the next edition of the book.  More importantly, the chapters that they have completed so far are in a publicly viewable location: http://github.com/jeffreypalermo/mvc2inaction

Here is a re-post of Jeffrey’s original post:

If you’d like to get an early glimpse of ASP.NET MVC 2 in Action, you can participate on the public email list athttp://groups.google.com/group/mvc2inaction-discuss.  The first bit of the manuscript is ready to review, and it consists of chapter 23, Data Access with NHibernate.  You can also access every bit of code, text, and image at the book’s GitHub repository.  With the first book, ASP.NET MVC in Action, Manning conducted an Early Access Program (MEAP).  Manning will still conduct it, but our program is a early, early access program.  In other words, you can have access to the unedited, perhaps dirty, manuscript and help as it drives forward to polish and completion.

As each piece of the manuscript is complete, we will post it to this list and ask for feedback.  Anyone who gives us constructive feedback on the list WILL be thanked in the acknowledgements section at the front of the book when it goes to print.  Also, you will have influence in shaping this book so that it is as good as it can be.

Our hope is that this book serves the .Net community that is working ASP.NET MVC 1 and ASP.NET MVC 2 applications.

The author team consists of:

If this book project interests you, and if you know people who should be involved, please blog, tweet, and otherwise post a link to this announcement.

posted @ Tuesday, January 05, 2010 7:55 AM | Feedback (44)

Wednesday, December 30, 2009 #

Scrum on a Page

Some while back I had a chance to work with the good folks at Neudesic.  They presented us with the concept of Scrum on a Page.  I never received the soft copy of this document and so I finally decided to create one.  Click the image below to get the full size image!

image

Scrum on a Page describes most of the really important details about Scrum, who is involved, the meetings, and what the process is.  This is a good doc to have if you are just now learning Scrum.  Please feel free to make suggestions if you like.

posted @ Wednesday, December 30, 2009 12:17 PM | Feedback (42)

Monday, December 28, 2009 #

Book review: Brownfield Application Development in .NET

The first question you may have in reading the title to this post is what is a Brownfield application?  The book opens up a discussion on this topic with this opening line:

“An industrial Brownfield is a commercial site contaminated by hazardous waste that has the potential to be reused once it’s cleaned up.  To a software developer, a Brownfield Application is an existing project, or codebase, that may be contaminated by poor practices, structure, and design but which has the potential to be revived through comprehensive and directed refactoring.”

I was able to review the book “Brownfield Application Development in .NET” very early on in it’s creation.  I am now the technical reviewer for the final stretch of this project. 

I have to say up front that I never considered myself a Brownfield application enthusiast in the least!  I didn’t really even know that a Brownfield application as defined above actually had a name other than FUBAR.  And to be quite honest the whole concept of a Brownfield applications is something that I have always tried to avoid.  However, after having read this book a few times I must say that while I don’t consider myself a Brownfield developer I think we all come across them and interact with them more often than we might think.  While not wanting to identify with the Brownfield developer myself…I have to swallow the lump at the back of my throat and admit that we are all Brownfield developers from time to time during our careers.

We have all heard the expression that code not under test is legacy code and have all worked on code bases without tests. 

We have all probably been to a dev shop that didn’t have proper source control.

We have all seen deployment processes that require all hands to be on deck in the wee hours of the night to push and pull and tweak the code through to production.

If any of these statements ring a bell with you (and probably many other examples as well) then you have been involved with a so-called Brownfield project. 

If you are anything like me, you probably show up to the first day of work at a new contract and find at least one “are you serious?” feature of your new work environment in the first 30 minutes to an hour…with many more that follow closely behind.  If you are anything like me you see problems…sure…but you also know that there is a better solution or an industry standard way of dealing with each and every one of those problems.

This book does a great job of not only laying out a road map for locating each of the various types of pain points offered by a Brownfield application but it also does a great job of suggesting how to deal with each of those pain points.  And while the book is entitled “Brownfield Application Development in .NET”, don’t think that this book only deals with the technical side of this problem.  It does a great job of covering all the aspects of these sorts of problematic applications and the culture and company that is ultimately responsible for allowing them to be created in the first place. 

This book offers up ways to deal with some of the political aspects of fixing this type of application.  It provides suggestions for how to deal with the people on these types of projects.  Rules around broken builds are provided.  A definition of what a “check in dance” is and how it changes when an additional feature is added to the big picture.  And of course many of the tools that are out there to deal with these sorts of problems are covered too.

Here is a great blurb from the book:

“Maintenance of the application does not begin once it has been released into production.  From a developer’s perspective, each line of code you write enters maintenance mode immediately after it is written.”

And then you have lines such as this:

“Then words like “spaghetti” and “minefield” start to enter the project’s lexicon.”

Whether this topic is old hat to you, or something that you have never thought of I find that this book is very easy to read and quite clear when making it’s points.  I will share more as I read more.  I really can’t wait for this book to be published.  I think that this is going to be one of those books that every developer and software shop should own.  It clearly defines what should be required by our industry…but rarely is.

posted @ Monday, December 28, 2009 10:26 AM | Feedback (30)

Sunday, December 06, 2009 #

Podcast 3b – Interview with Javier Lozano – part 2

In this show Andrew continues his interview with Javier Lozano. Javier is a .NET consultant in Des Moines, Iowa. He's an ASP.NET MVP and MCSD specializing in ASP.NET, system architecture, and training. Javier is also a co-founder of the Iowa .NET Users Group.

On his blog you can find posts on ASP.NET, architecture, design patterns, .NET, XML and Indigo (WCF). Javier enjoys giving back to the community by speaking at user groups, local/regional .NET events, being active in forums and by writing articles for Code Project.

In his spare time, Javier enjoys spending time with his wife, newborn son , two golden retrievers and writing about himself in the third person.

You can read more about Javier Lozano on his website at lozanotek.com.

In this show we discuss...

Send me your questions and comments!
If you would like to submit a question to be answered in the next show, please record an audio file and email it to podcast@dotnetradio.com. All you need is a telephone! Call (646) 200-0000, talk, then navigate to http://cinch.blogtalkradio.com/YOURPHONENUMBER to retrieve your recording. Then send it my way.

Talking about ASP.NET MVC, Red Gate is currently offering a free poster on the ASP.NET MVC Request Handling Pipeline. You can grab your free copy by clicking on the Red Gate logo. And if you care about the performance of your app. and you need an accurate way of measuring code execution time, I recommend you try out their ANTS Performance Profiler tool. It’ll save you hours fumbling around in the dark chasing performance issues.

Listen Now!

Download the Podcast

Podcast in MP3

Podcast in WMA

Podcast in AAC

Transcript
Coming soon...

posted @ Sunday, December 06, 2009 7:50 PM | Feedback (16)

Tuesday, November 24, 2009 #

Podcast #3 – interview with Javier Lozano – part 1

In this show Andrew sits down with Javier Lozano. Javier is a .NET consultant in Des Moines, Iowa. He's an ASP.NET MVP and MCSD specializing in ASP.NET, system architecture, and training. Javier is also a co-founder of the Iowa .NET Users Group.

On his blog you can find posts on ASP.NET, architecture, design patterns, .NET, XML and Indigo (WCF). Javier enjoys giving back to the community by speaking at user groups, local/regional .NET events, being active in forums and by writing articles for Code Project.

In his spare time, Javier enjoys spending time with his wife, newborn son , two golden retrievers and writing about himself in the third person.

You can read more about Javier Lozano on his website at lozanotek.com.

In this show we discuss...
  • How and why was ASP.NET MVC created?
  • What are the pain points of ASP.NET Webforms?
  • What can a WebForms developer expect when moving to ASP.NET MVC?
  • MVC is like BizTalk – it can do anything – it just can’t do anything out of the box!
  • What did ASP.NET MVC get right…what did it get wrong?
  • What are the differences between WebForms and MVC with regards to saving state and workflow?
  • What sort of validation is provided with MVC 1 or MVC2?
  • What is a strongly typed view and how does that work?
  • Creating strongly typed views and why that is important
  • What is the difference between a Model and a ViewModel and why would a developer want to use that?
  • What does the term “magic string” mean and why is that bad?
  • How do magic strings relate to MVC 1, MVC 2, and what tools are provided by MVC Contrib to help remove magic strings from an MVC application?
  • What are MVC Contrib Input Builders and how do those work?
  • How would you use templating in ASP.NET MVC?
  • How does Dynamic Data work in ASP.NET MVC?
  • How do you create inject-able controllers via an MVC Contrib Controller Factory?
  • Using inversion of control containers in the MVC framework
  • What is painful about the WebForms view engine used in ASP.NET MVC?
  • Why are there so many view engines available for MVC?
  • How does nVelocity make working in the View easier?
  • Why are code behind files the ultimate evil?
  • How is the workflow different in the WebForms view engine compared to other MVC view engines such as SPARK or nVelocity?

Send me your questions and comments!
If you would like to submit a question to be answered in the next show, please record an audio file and email it to podcast@dotnetradio.com. All you need is a telephone! Call (646) 200-0000, talk, then navigate to http://cinch.blogtalkradio.com/YOURPHONENUMBER to retrieve your recording. Then send it my way.

Talking about ASP.NET MVC, Red Gate is currently offering a free poster on the ASP.NET MVC Request Handling Pipeline. You can grab your free copy by clicking on the Red Gate logo. And if you care about the performance of your app. and you need an accurate way of measuring code execution time, I recommend you try out their ANTS Performance Profiler tool. It’ll save you hours fumbling around in the dark chasing performance issues.

Listen Now!

Download the Podcast

Podcast in MP3

Podcast in WMA

Podcast in AAC

Transcript
Coming soon...

posted @ Tuesday, November 24, 2009 6:36 AM | Feedback (16)

Monday, November 16, 2009 #

Send in questions for upcoming guests and get DotNetRadio SWAG

Gil Zilberfeld from TypeMock: As you may know by now (from my tweeting or by looking on the DotNetRadio schedule listed on the site) there is an upcoming interview with Gil Zilberfeld from TypeMock.  He will be on the show at 5am PST.  Please send in your TypeMock and unit testing questions for him.  The submitters of any questions that I use on the show will get some DotNetRadio swag!

Jeffrey Palermo from Headspring Systems: What you may not know is that I am scheduling an interview (possibly tomorrow) with Jeffrey Palermo from Headspring Systems (creator of MVC Contrib and author of ASP.NET MVC in Action).  We will be discussing MVC Contrib and application architecture using that project.  Send your questions for him soon as that interview may be taking place as early as tomorrow evening if things work out.

Feedback: In addition to sending in questions, please also send in your feedback.  As this is a new podcast I am testing out the show format, music, ad spaces, etc.  If you have any feedback, good or bad, please send it to me at podcast@dotnetradio.com.

Guest Ideas?  Also, I have a long list of guests that I am trying to get on to the show that I think would be fun to hear from.   But I am sure that there are many listeners out there that may have a different idea of who would be a good guest on the show.  If you have some ideas please feel free to send them my way to podcast@dotnetradio.com!

posted @ Monday, November 16, 2009 6:43 AM | Feedback (5)

Friday, November 13, 2009 #

Podcast #2 – interview with Atif Aziz creator of ELMAH

Andrew sits down with Atif Aziz. Atif Aziz is a senior IT business analyst at Cargill International and an ex-Microsoftie. His primary focus is helping customers move to the .NET Framework. He speaks regularly at Microsoft conferences and can be reached through his web site. You can find out more about Atif Aziz by visiting his web site www.raboof.com.

  • Raboof.com = FooBar!!
  • Atif describes to us what ELMAH is and the history behind it. He then goes into detail as to how to get ELMAH installed and running. Atif then outlines the types of storage that are supported and how to implement a custom storage provider. Next we get into how ELMAH handles exceptions, how it works with the .NET runtime, and what the appropriate way to handle exceptions with ELMAH is. He then gets into the details of how to signal ELMAH about exceptions that occur as the filtering that ELMAH provides.
  • OrbitOne ASP.NET Exception Reporting (based on ELMAH) – a good example of centralized exception logging and extending ELMAH
  • ELMAH has earned Veracode Application Security rating and has earned OWASP top 10 and SANS-CWE top 25 placements
  • What is Fizzler? A .NET based CSS selector built on top of HTML Agility Pack to parse nodes of HTML by CSS selector. Using LINQ with Fizzler. How does jQuery (client side selector) compare to Fizzler? How is Fizzler able to select out nodes, make changes, and put those changes back? Fizzler and HTML Agility Pack is very powerful when paired together for parsing and modifying HTML nodes
  • How does Jayrock fit into a web developers world? Jayrock is an easy to use way for JavaScript to communicate with back end web services using JSON as the wire format and JSON-RPC as the procedure invocation protocol. Jayrock can generate the client code that is needed for you. Jayrock works with .NET 1.0!! Jayrock is considerably easier to use compared with WCF. Jayrock follows the Duct Tape Programmer mentality of simple and easy to use with rock solid stability
  • BackLINQ "was a pretty bad start" ...but a good story
  • LINQBridge provides LINQ capabilities to .NET 2.0 framework
  • Unit testing is awesome…but not worth updating older codebases that are based on infrastructure
  • MoreLINQ, by Jon Skeet, StackOverflow super star, and author of C# in Depth. MoreLINQ provides 22 additional really useful LINQ methods such as Zip(), ToDelimitedString(), TakeLast(), etc.
  • Open Source works when everyone contributes little bits, be it code, documentation, writing blog posts and articles, etc.

Send me your questions and comments!
If you would like to submit a question to be answered in the next show, please record an audio file and email it to podcast@dotnetradio.com. All you need is a telephone! Call (646) 200-0000, talk, then navigate to http://cinch.blogtalkradio.com/YOURPHONENUMBER to retrieve your recording. Then send it my way.

Talking about ASP.NET MVC, Red Gate is currently offering a free poster on the ASP.NET MVC Request Handling Pipeline. You can grab your free copy by clicking on the Red Gate logo. And if you care about the performance of your app. and you need an accurate way of measuring code execution time, I recommend you try out their ANTS Performance Profiler tool. It’ll save you hours fumbling around in the dark chasing performance issues.

Listen Now!

Download the Podcast

Podcast in MP3

Podcast in WMA

Podcast in AAC

Transcript
Coming soon...

posted @ Friday, November 13, 2009 9:24 PM | Feedback (85)

Podcasting has been more fun than I had anticipated

Going into the whole podcasting adventure was something that I didn’t know if I was ready for or not.  I won’t lie, it has taken a LOT more time than I had initially estimated.  But getting the opportunity to meet and interact with the people that I have has been wonderful.  I thought setting up interviews, given that the site is new, would be difficult.  As it turns out getting people to come on the show has worked out quite well.  So much so that people are now asking to come on the show directly.  Wonderful.

So far I have interviewed Ben Schierman, Javier Lozano, Atif Aziz, and Sara Chipps (in that order). 

Ben’s interview, which largely discussed ASP.NET MVC and surrounding technologies, is already posted

I just finished the rough edit of Atif’s interview which was fantastic (he is reviewing that now).  He has a wealth of untapped knowledge that would take several interviews to get out of him.  We discussed some of his open source projects which touched ELMAH, Fizzler, Jayrock, LINQBridge, BackLINQ, and MoreLINQ among many other interesting things.

The next interview I will be posting will be the interview I had with Javier Lozano.   That interview took us through quite a few details of the ASP.NET MVC framework.  We discussed the existing MVC framework, new features of ASP.NET MVC 2 (preview 2), the MVC Contrib, Javier’s MVC Turbine project (which is awesome),  the MVC controls provider by such vendors as as Telerik and Syncfusion, followed by a quick discussion of the Community for MVC (C4MVC) which I personally attended this last time around and loved!  C4MVC is a must for any MVC developer. 

Then earlier this week I had a chance to speak with Sara Chipps from GirlDeveloper.com.  Sara covered ideas about how to make personal projects a reality.  We discussed her personal project bundl.it which is similar to tinyurl.com except that it gives you one shortened url that points to a container (or bundle) of URLs!  We then discussed some agile practices, jquery, async web pages, and architecting for speed and scalability.  She then told me about a developer chat she created on tinychat.com called WAN party (which was Super WAN Party last night) where several big names in our industry get together for a round table to discuss todays trends.  The key here is that everyone can interact with this folks.  I attended last night and have to say that I was quite impressed.  This was really quite a fun interview and I can’t wait to get it in front of you all!

If you are waiting for the next interview, watch for my tweet from @dnetradio tonight.  I will be posting Atif Aziz’s interview later this evening.

posted @ Friday, November 13, 2009 11:26 AM | Feedback (0)

Wednesday, November 11, 2009 #

Interviewing Sara J Chipps 11 Nov 2009 (tomorrow) at 7am

Hey all.  I wanted to let you know that I am going to be interviewing Sara J Chipps (of www.girldeveloper.com) tomorrow at 7am.  We will be discussing all sorts of programmer goodness from making your personal projects a reality (such as Sara’s http://bundl.it project), agile development, commenting your code, and your responsibility as a developer to the next person reading your code.  We will also be looking at jQuery, asynchronous processes, and architecting for speed and scalability.  And of course, being that we are talking with a …or “THE”… girl developer we will also touch upon what it is like to be a lady working in mostly male dominated industry.

Send in your questions and comments!

If you have any questions for Sara prior to the interview or during it please twitter your question my way and include #DNetRadio in your post. 

You can also record an audio file and email it to podcast@dotnetradio.com. All you need is a telephone! Call (646) 200-0000, talk, then navigate to http://cinch.blogtalkradio.com/YOURPHONENUMBER to retrieve your recording. Then send it my way!

Technorati Tags:

posted @ Wednesday, November 11, 2009 2:40 PM | Feedback (2)

Sunday, November 08, 2009 #

Just interviewed Atif Aziz

I just got through interviewing Atif Aziz (@raboof on twitter – foobar spelled backwards!) probably most known (at least to me) for his ELMAH (Error Logging Modules and Handlers) contribution.  We discussed ELMAH, ELMAH’s Veracode Application Security Rating which made OWASP top 10 in 2007 and SANS-CWE top 25, Fizzler, Jayrock, BackLINQ, LINQBridge, and MoreLINQ.  Atif is a very smart guy and you can truly hear his passion for sharing with the development community when speaking with him.  This was a great interview that I think any .net developer could learn a thing or two from.  Look for this interview in the near future on the DotNetRadio podcast. 

Subscribe to the podcast feed here: http://feeds.feedburner.com/Dotnetradio

And follow the show on twitter here: http://twitter.com/dnetradio

posted @ Sunday, November 08, 2009 5:00 AM | Feedback (20)

Saturday, November 07, 2009 #

Interviewing Javier Lozano 7 Nov 2009 (tonight) at 8pm PST

Hey all.  I wanted to let you know who was slated for the next interview - Javier Lozano

Javier is a .NET consultant in Des Moines, Iowa. He's an ASP.NET MVP and MCSD specializing in ASP.NET, system architecture, and training. Javier is also a co-founder of the Iowa .NET Users Group.

On his blog you can find posts on ASP.NET, architecture, design patterns, .NET, XML and Indigo (WCF). Javier enjoys giving back to the community by speaking at user groups, local/regional .NET events, being active in forums and by writing articles for Code Project.

In his spare time, Javier enjoys spending time with his wife, newborn son , two golden retrievers and writing about himself in the third person.

It is my plan to interview Javier tonight and get the podcast ready for release by the middle of next week.

Got Questions for Javier?

If you have any questions about ASP.NET MVC, Turbine, or anything else you think appropriate for Javier feel free to send them my way at podcast@dotnetradio.com.  The interview will be tonight at 8pm (PST).  Feel free to send your questions in real time via twitter to @DNetRadio.

posted @ Saturday, November 07, 2009 10:26 AM | Feedback (28)

Wednesday, November 04, 2009 #

Podcast #1 – interview with Ben Scheirman co-author of ASP.NET MVC in Action

Andrew sits down with Ben Scheirman, a software developer based in Houston Texas. He is a Microsoft MVP, Microsoft ASP Insider, and certified Scrum Master. His current interests lie in C#, Ruby, Boo, and objective C. When not programming, Ben enjoys speaking, blogging, spending time with his wife and five wonderful children or voiding warranties on his latest gadgets. Ben is a principal consultant with Sogeti. You can read his blog online at flux88.com. Also be sure to check out his recently published book ASP.NET in Action from Manning Press as well as his upcoming Guitar tabulature application for the iPhone – Pocket Tabs. You can find Pocket Tabs at pockettabs.com.

  • An introduction to Ben Scheirman and how he got into web development
  • Bens path through various web technologies such as ColdFusion, PHP, Ruby, and ASP.NET
  • A brief discussion on code testability
  • Working with ASP.NET web forms using the model view presenter pattern
  • How ASP.NET MVC simplifies the testing process
  • Ben informs us of how you can sell test driven development to a client…or sneak it in
  • Regression testing
  • We run through the process of refactoring and how you really should trust ReSharper
  • We briefly touch upon the concept of Continuous Integration
  • Ben discusses a new way of testing using MSpec to create documentation out of your unit tests
  • This leads us into behavior driven development and context specification
  • Next we discuss how twitter can be used as a developer tool
  • Ben describes to us how he got involved with co-authoring ASP.NET MVC in Action and the process involved with writing a book based on “preview” code.

Send me your questions and comments!
If you would like to submit a question to be answered in the next show, please record an audio file and email it to podcast@dotnetradio.com. All you need is a telephone! Call (646) 200-0000, talk, then navigate to http://cinch.blogtalkradio.com/YOURPHONENUMBER to retrieve your recording. Then send it my way!

Subscribe or Download

Talking about ASP.NET MVC, Red Gate is currently offering a free poster on the ASP.NET MVC Request Handling Pipeline. You can grab your free copy by clicking on the Red Gate logo. And if you care about the performance of your app. and you need an accurate way of measuring code execution time, I recommend you try out their ANTS Performance Profiler tool. It’ll save you hours fumbling around in the dark chasing performance issues.

Listen Now!

Download the Podcast

Podcast in MP3

Podcast in WMA

Podcast in AAC

Transcript
Coming soon...

posted @ Wednesday, November 04, 2009 6:43 PM | Feedback (16)

Just finished editing the audio for the Ben Scheirman interview

Hey all.  I wanted to take a moment to let you know that I just finished editing the interview with Ben Scheirman as well as piecing together the over all DotNetRadio podcast.  I will write the summary post that goes with the podcast and get it up and available this evening.

Andy

posted @ Wednesday, November 04, 2009 11:50 AM | Feedback (0)

Sunday, October 18, 2009 #

Interview with Ben Scheirman coming soon to DotNetRadio.com

This morning I had the chance to speak with Ben Scheirman.  We chatted for roughly an hour or so discussing how he entered into the web development industry, going on the road to teach ASP.NET MVC in its early days, his book ASP.NET MVC in Action, and his thoughts on the use of the MVC framework.  We discussed some patterns and tools for testing, tools for development in general such as ReSharper, and the use of the Spark View Engine.  Watch for this podcast to be posted within the next couple of days. 

Being the first podcast for DotNetRadio and the first podcast I have ever done I am hoping that my listeners will share any ideas to improve the show.  I am all ears!  Feel free to share your feedback with me at podcast@dotnetradio.com

Tell your friends about DotNetRadio!  You can also follow us at twitter.com/DNetRadio.

posted @ Sunday, October 18, 2009 3:14 PM | Feedback (1)

Thursday, October 15, 2009 #

I finally got my Behringer Podcastudio working

It is not the fault of the equipment that it has taken me this long to get this set up and working.  The package was actually very quick and easy to get setup and configured.  I just haven’t had a whole lot of time with starting a new job, starting back to school, writing for DotNetSlackers.com, and tinkering with the idea of my second book.  But now that the Podcastudio is working well with Audacity and Skype I am ready for my first interview.

BEHRINGER PODCASTUDIO USB

I have been thinking a lot about who to interview first.  I am slowly starting to wonder if I even need to interview anyone to get started?  I have invited a handful of people and interesting companies and most of the people that I have asked have been very responsive.  However, I have been listening to a lot of the already popular podcasts and I keep hearing a very steady under tone.  Topics such as is software engineering too complex, are we shutting out the new guys, have we killed off the hobbyist programmer, where does the duct tape programmer fit, etc. 

I am wondering if there is room in the industry at the moment for a quick series on the ABC’s of programming (in .NET of course).  I know that a lot of the people that I work with, software engineers, web developers, what ever their titles may be, they don’t know about concepts such as what an interface is for, why would I use abstract classes, what is polymorphism, how does dependency injection help me, and many others.  I tried to explain how cool Structure Map was the other day and the looks I received told me that I needed to start on a totally different level.

For that reason I am thinking that I will put together a quick focused talk on object oriented principles.   Perhaps we can start off talking about a not so complex subject and slowly introduce new concepts as we introduce new features of a theoretical system.  With any luck this will help the person that is just getting started.

Feel free to send me suggestions and/or questions at twitter@dotnetradio.com.

posted @ Thursday, October 15, 2009 7:23 PM | Feedback (4)

Monday, October 12, 2009 #

The DotNetRadio.com site is UP!

I have been thinking about putting up a podcast ever since as I started listening to podcasts such as HanselMinutes, .NET Rocks, PolymorphicPodcast, and many more.  I finally carved out some time to stand up the framework (using the SubText engine) and added a little bit of dev-sign (which is why it isn’t super pretty!) to give me a platform to blog too and post podcasts too. 

Dry Run

I also did a test run using the equipment and software that I had on hand.  I didn’t like my initial recording with the microphone that I had so I immediately went out to pick up a GREAT USB headphone.  NOT GOOD ENOUGH EITHER!  For this reason I took the next step and purchased the PodCastStudio kit from Behringer which has a bunch of great reviews.  That should be in my hands tomorrow.  I am hoping that it’s quality is what I need to get started.  Regardless of how well that kit works though I will be recording my first podcast some time this week!

Guests

With help from the guys over at DotNetSlackers.com I am hoping to quickly get this podcast up and in front of many developers.  Fortunately for this podcast, DotNetSlackers.com has a lot of great folks contributing to that community already.  We are hoping that they will be open to contributing in a similar fashion although through a different platform.  If there is an author in the DotNetSlackers.com community that you would really like to listen too please by all means drop me a note at asiemer {at} hotmail {dot} com (I will get a DotNetRadio.com email address set up shortly).

Community

This is meant to be a community effort.  For that reason, please feel free to let me know of any suggestions that you might have – pro or con!  I have chosen the shows music (which I will post for your review shortly) but I am totally open to a new direction with regards to that.  With any luck we will get my friend Scott Bennett and his band to contribute a custom catchy tune.  A good recognizable intro tune seems to be what all the great shows have in common (other than a great host of course).

Show Format

Along with being open to the tunes played on the podcast I am also interested to hear from anyone regarding the format of the show.  What do you like about other shows?  Do you like the lesser known framework feature on .NET Rocks?  Would you be interested in a bit of gossip from the past week?  A news section?  If you have ideas I am currently formulating what the format for the show will be.

Talk to you soon.

Andrew Siemer

posted @ Monday, October 12, 2009 11:33 AM | Feedback (0)