Andrew Siemer's Blog

Enterprise Web Applications, ASP.NET MVC, C#, SQL Server, Architecture, & Writing
posts - 61 , comments - 145 , trackbacks - 0

My Links

News

Twitter












Tag Cloud

Archives

Post Categories

Friends

My Other Blogs

My public profiles

Monday, June 11, 2012

Today is my first day in the land of backbone.js

I am semi-excited to say that today is my first day into the land of backbone.js.  This will of course take me into many other new javascript-y areas.  As I have primarily been focused on building backend systems for the past many years…with no focus on client side bits…this will be all new ground for me.  Very exciting!

I am sure that this endeavor will lead to writing about many new findings along the way.  Expect the subject of near future postings to not be related to MVC or server side code.

I am starting this journey by reading through the online book “Backbone Fundamentals”.  http://addyosmani.com/blog/backbone-fundamentals/  Has anyone read this yet?  Any feed back on that title.

I have read though Derrick Bailey’s thoughts here and here…also very good.

Any suggestions on other nuggets of learning backbone?

Posted On Monday, June 11, 2012 2:02 AM | Comments (0) |

Thursday, May 24, 2012

NDepend v4 is out

In the next few days I will be taking a look at NDepends latest greatness!  You should too. 

http://www.ndepend.com/NDependV4.aspx 

A big feature for me that is quite interesting is LINQ to CQL.  Very exciting.  Good job guys.

Posted On Thursday, May 24, 2012 9:28 AM | Comments (0) |

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 On Thursday, July 15, 2010 8:27 PM | Comments (5) |

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 On Monday, April 19, 2010 1:46 PM | Comments (5) |

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 On Wednesday, February 17, 2010 11:07 AM | Comments (0) |

Friday, January 15, 2010

Can you help me formulate a TOC for an ASP.NET MVC Cookbook

Hey there everyone.  I was recently tasked to pitch a book to my publisher.  As a first step I need to come up with an outline for the Table of Contents.  This book is the standard cookbook style with an added focus on the MVC side of ASP.NET.  I have been poking about at other similarly styled books to get some ideas.  I think comparing ASP.NET Web Forms to ASP.NET MVC would provide some folks with a good reference point when looking at the two ways of doing things. 

(Thanks to my friend James Shaw for this idea…made my life easier)

Below is what I have some up with so far.  Can you please take a quick look to make sure I haven’t missed anything?  Perhaps more important than missing a topic…am I including too much?  Feel free to contact me directly with any comments at asiemer@hotmail.com or leave a comment below.

Thanks!

1. Working with the View

1. Discovering the problems of a non-strongly typed view

2. Creating a strongly typed view

3. Working with a ViewModel

4. How to use strongly typed input builders

5. Create a custom input builder

6. Consolidating view code into a partial view

7. Using the Spark view engine

8. Using the FubuMVC view engine

9. Exposing a view that returns an image

10. Creating a JSON result

11. Consuming a JSON view

12. Exposing a view that returns a PDF

2. Actions

3. Controllers

4. Routes

5. Master Pages

1. How to create a master page

2. Controlling which master page is used with a custom base page

3. Working with Spark View Engine master pages

6. Working with data in the view

1. Reintroducing for and foreach

2. Displaying data from an xml file

3. Displaying an array as a group of check boxes

4. Displaying an array as a group of radio buttons

5. Creating a page-able set of data

6. How to sort data

7. Navigating to a specific page of data

8. Deleting a record from a data set

9. Adding a javascript delete confirmation pop-up

10. Adding a modal window delete confirmation pop-up

11. Displaying a modal window to show a records details

12. Adding a totals row to the bottom of a set of data

13. Using the free telerik grid

7. Working with Forms

1. Posting a form to the appropriate action

2. Setting the field tab order

3. Setting a default button

8. MVC and templating

1. Plugging in a new skin from the template gallery

2. Using T4 to create strongly typed helpers

3. Using T4MVC to destroy magic strings

4. Creating a view template

9. Validation Recipes

1. Validating with Data Annotation Validators

2. Reporting validation errors with ViewData.ModelState

3. Using Html.ValidationMessage to display validation errors

4. Summarizing validation errors with Html.ValidationSummary

5. Using the xVal validation framework

6. Using Castle Validator for validation

7. Client side validation with JQuery Validation

8. Making a required field

9. Setting an acceptable range

10. Requiring the password and password verification fields to match

11. Using a regex pattern to validate data

12. Forcing a choice to be made in a drop down menu

10. Managing large applications with Areas

1. Creating a separate project as an area

2. Creating an area in the same project

3. Using areas to manage segments of your site

4. Creating portable areas to compartmentalize functionality

11. Maintaining state

1. Working with application wide information

2. Maintaining a user’s information during their session

3. Using cookies to remember a user

4. Managing state in a web farm scenario using SQL Server

12. Error Handling

1. Handling errors in your code

2. Handling errors for a view

3. Handling errors in your application

4. Showing friendly error information

5. Using Error Logging Modules and Handlers (ELMAH) to deal with unhandled exceptions

6. Reporting caught exceptions to ELMAH

13. Security

1. Using membership and roles to manage users

2. Using windows authentication

3. Restricting access to all pages

4. Restricting access to selected pages

5. Restricting access to pages by role

6. Restricting access to a controller

7. Restricting access to a selected area

14. Profiles and Themes

1. Using profiles

2. Inheriting a profile

3. Using an migrating anonymous profiles

4. Managing user profiles

5. Using themes

6. User personalized themes

15. Configuration

1. Adding custom application settings in web.config

2. Displaying custom error messages

3. Maintaining session state across multiple web servers

4. Accessing other web.config configuration elements

5. Adding your own configuration elements to web.config

6. Encrypting web.config sections

16. Tracing and Debugging

1. Uncovering page level problems

2. Uncovering application wide problems

3. Writing trace data to the event log

4. Sending trace data via email

5. Using a breakpoint to stop execution of an application when a condition is met

17. Caching

1. Caching a whole page

2. Caching pages based on route details

3. Caching pages based on browser type and version

4. Caching pages based on developer defined custom strings

5. Caching partial pages

6. Caching application data

7. Caching object data

8. Installing MemCached Win32 as an alternate cache provider

9. Using the MemCached Enyim client to cache application data

10. Installing Microsoft Velocity

11. Using Velocity to cache application data

18. Localizing your application

1. Providing multiple language support

2. Using resource files to manage display data

3. Managing currency display based on selected language

19. HTTP Handlers and Modules

1. Tracking access to your resources with an HTTP Handler

2. Create a file download HTTP Handler

3. Control leeching of your resources with an HTTP Module

20. Making ASP.NET even more powerful

1. Making controllers testable by implementing a ControllerFactory

2. Implementing inversion of control with StructureMap

3. Install MVC Turbine and write less code

4. Creating testable views

5. Creating testable controllers

Posted On Friday, January 15, 2010 5:17 PM | Comments (0) |

Tuesday, January 5, 2010

VirtualDNUG.com a virtual .net users group

Hey all!  I am finally going to put my full steam into setting up my VirtualDNUG users group.  With the help of the good folks over at ineta (they are providing a LiveMeeting license for us) I am hoping to host a great environment for learning.  I will probably start off with topics on ASP.NET MVC and the various side projects that surround that world (Turbine, Spark View Engine, FubuMVC, etc.) but I am totally open to just about any other cutting edge .net topics as well.

If you are interested in attending our initial meetings, would like to present, or have a topic that you would like to be covered, please contact me directly at asiemer@hotmail.com.

Posted On Tuesday, January 5, 2010 3:33 PM | Comments (0) |

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 On Tuesday, January 5, 2010 1:54 PM | Comments (1) |

Monday, January 4, 2010

NBuilder article just submitted to DotNetSlackers.com

I just finished the first article to a two maybe three part mini-series on NBuilder for DotNetSlackers.com.  NBuilder is a great little tool for generating your objects for you.  Often times you will create an application that is dependent on data or a set of hydrated objects for it to work or for you to be able to test your application’s UI, etc.  Sometimes you are not in charge of the data portion of the application.  In that case you might find yourself creating mocks with complex scenarios of spinning up new instances of objects and hydrating them with all sorts of test data. 

This article series will highlight the new open source project NBuilder and show how to streamline the creation and management of this type of scenario using the features of NBuilder.  We will also take a look at how you can use NBuilder in a testing type scenario which often requires a similar style of data mocking.

Posted On Monday, January 4, 2010 11:34 AM | Comments (0) |

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 On Wednesday, December 30, 2009 6:18 PM | Comments (0) |

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 On Wednesday, December 30, 2009 6:17 PM | Comments (0) |

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 On Monday, December 28, 2009 4:26 PM | Comments (2) |

Wednesday, November 25, 2009

Javier Lozano’s interview for DotNetRadio is now available!

Hey all.  Just wanted to let you know that the interview that I did with Javier Lozano (lozanotek.com) is now available on DotNetRadio!  This was a pretty hefty interview so I had to cut it in half.  In the first half of the interview we discussed the following points.

  • 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?

    Subscribe to the podcast!

    Please feel free to let me know if you have any feedback.  In the next post I will put up the second half of Javier Lozano’s.  And after that I will post the Sara Chipps interview!

    Upcoming interviews will include include Jeffrey Palermo, Ayende Rahien, Gil Zilberfeld, Bill Pringle, Patrick Smacchia, Scott Belware, and many more!  Stay tuned.

    Follow me on Twitter at @asiemer and follow the show at @dnetradio.

  • Posted On Wednesday, November 25, 2009 12:18 PM | Comments (0) |

    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 On Monday, November 16, 2009 12:44 PM | Comments (1) |

    Saturday, November 14, 2009

    DotNetRadio.com - Podcast #2 – interview with Atif Aziz creator of ELMAH

    http://dotnetradio.com/archive/2009/11/13/podcast-2.aspx

    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.

    Posted On Saturday, November 14, 2009 3:47 AM | Comments (0) |

    Friday, November 13, 2009

    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 On Friday, November 13, 2009 5:26 PM | Comments (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 On Wednesday, November 11, 2009 8:46 PM | Comments (0) |

    Sunday, November 8, 2009

    Just interviewed Atif Aziz for the DotNetRadio podcast

    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 On Sunday, November 8, 2009 11:04 AM | Comments (0) |

    Saturday, November 7, 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 On Saturday, November 7, 2009 4:26 PM | Comments (0) |

    Interviewing Javier Lozano 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 On Saturday, November 7, 2009 4:24 PM | Comments (0) |

    Interviewing Javier Lozano 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 On Saturday, November 7, 2009 4:23 PM | Comments (0) |

    Thursday, November 5, 2009

    Interview with Ben Scheirman co-author of ASP.NET MVC in Action on DotNetRadio.com

    I recently sat down with Ben Scheirman (co-author of ASP.NET MVC in Action) for my first interview on my new show DotNetRadio.  It was quite a talk!  We covered the following points:

    • 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 trustReSharper
    • 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.

    Check it out at http://dotnetradio.com/.  You can follow the show on Twitter at DNetRadio.

    As this is a new show the format is not entirely worked out just yet!  I am still trying to work out the music, the format, guest lineup, advertisers, etc.  Also, since I am a coder by day and a coder/writer at night – pro-audio is a totally foreign concept to me.  I am all ears if after listening to the show or visiting the site you come up with a WTF moment or just some good general advice.  Shoot it my way!

    Posted On Thursday, November 5, 2009 9:56 PM | Comments (0) |

    Wednesday, November 4, 2009

    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 On Wednesday, November 4, 2009 5:52 PM | Comments (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 On Sunday, October 18, 2009 10:16 PM | Comments (3) |

    Tuesday, October 13, 2009

    DotNetRadio.com

    I decided to start a podcast.  I am going to host it under the name of DotNetRadio…sounded appropriate!  I am in the early stages of getting things set up which means that there is still some flexibility in how things are done.  I was wondering if anyone out there is willing to share some input regarding the creation of a podcast, how they might like to see the show format take shape, who they would be interested in hearing an interview of, etc. 

    I initially did a test recording using a standard analog mic.  Totally sucked!  So I upgraded to a better quality USB mic.  This certainly made things sound better but it still sounded like I was talking through a can.  Tomorrow I should be receiving the Behringer podcaststudio.  I am hoping that this will be an exceptional upgrade (though still not pro-audio).  This package comes with a good mic, head set, mixer, usb interface, etc.  I also got a pop filter that clips on to the mic (everyone said it is a must).  We will see how it goes.

    Take a look at DotNetRadio.com.  Let me know what you think and more importantly if you have any suggestions send that my way too!

    Posted On Tuesday, October 13, 2009 12:43 AM | Comments (0) |

    Powered by: