March 2010

Monthly Archive

The Morning Brew #571

Posted by on 31 Mar 2010 | Tagged as: .NET, Development, Morning Brew

Software

Information

  • Strengthening your domain: The double dispatch pattern – Jimmy Bogard continues his series of posts on building a better domain model with a look at the Double Dispatch Pattern, showing how it can be used to help integrate services into the domain model
  • Cleaner HTML Markup with ASP.NET 4 Web Forms – Client IDs (VS 2010 and .NET 4.0 Series) – Scott Guthrie continues his series on the improvements to ASP.NET 4 with a look at the improvements in HTML generation in the framework controls and exploring the new options for clientside id generation affording better control of the generated IDs and making code that consumes those IDs easier to write and maintain.
  • Using HtmlUnit on .NET for Headless Browser Automation – Steve Sanderson explores using the Java tool HtmlUnit from within .NET (via the IKVM library for running Java in .NET) to allow headless browser testing of HTML output from web applications
  • Your JavaScript goes WHERE? – Chris Brandsma discusses why JavaScript code should be placed at the end of your HTML page for best performance, along with sharing pointers to other things you may want to do to esure your applications are performing the best they can be.
  • Data Annotations in the Entity Framework and Code First – Jeff Derstadt of the Entity Framework Team talks about the Data Annotation Attributes, and their role in Entity Framework Code First approaches, outlining a possible solution and soliciting feedback on the plans.
  • Some Rough Draft TDD Demonstration Videos – Brett Schuchert shares the start of a series of video posts on Test Driven Development using Java and Eclipse. The first two videos covering getting started and adding operators are available now, and Brett outlines the rest of the series which looks pretty interesting, and despite being Java based probably of interest to .NET Devs too.
  • A C# implementation of the CallStream pattern – Bertrand Le Roy picks up and idea from Dusan Jovanovic which was implemented in JavaScript and looks at porting the implementation into C# providing an interesting way of chaining methods togehter.
  • Combating ClickJacking With X-Frame-Options – Eric Lawrence talks about the X-Frame-Options Header Directive which was introduced in Internet Explorer 8 (and has since spread into a number of other browsers) which allows content authors to declare if their content is allowed to be loaded into frames, providing an additional security to help prevent phishing attacks.
  • Your testing tendencies – Dahlia Bock is carrying out a small survey on automated testing tendencies, and is looking to gehter as much feedback as possible. If you have 5 minutes please help out and fill in the simple short questionnaire.
  • Events get a little overhaul in C# 4, Afterward: Effective Events – Chris Burrows continues his series on .NET 4 Eventing changes with a look at some Do and Don’t recommendations for using the new features safely and effectively.
  • RDBMS vs NoSQL – Mark Rendle shares his thoughts on the NoSql discussion, looking initially at the concepts of the NoSql database, and sharing a ‘discussion’ on the notion of which is better RDBMS or NoSql.
  • Cassandra Jump Start For The Windows Developer – Nick Berardi works through the steps involved in setting up the Cassandra NoSql database as a Windows based developer looking at installing on Windows and installing in a Linux Virtual Machine.

Community

  • mvcConf the Virtual ASP.Net MVC Conference – The C4MVC community are organising a virtual conference on ASP.NET MVC, currently planning for the event to be some time in July. Having attended a number of the C4MVC User Group sessions this virtual conference will almost certainly be worth virtually attending.
  • OpenSource on .net at Microsoft TechDays – Seb Lambla announces an evening event to occur during the Microsoft Techdays week which will focus on the best of breed Open Source software available for the Microsoft Stack with sessions on Open Rasta, Castle, CouchDB, etc.

The Morning Brew #570

Posted by on 30 Mar 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • New debugger extension for .NET, Psscor2, released – Tom highlights the availability of a new WinDbg extension which builds on SOS to provide further debugging capabilities for diagnosing problems with ASP.NET. The Debugger works with .NET 2, 3 and 3.5
  • A tool to switch project files between using Visual Studio 2008 and 2010 – Steve Dunn shares a simple tool which provides round trip support for converting Visual Studio project files between VS2010 and VS2008 format alowing you a means to supporting developers using a mix of versions on a single project. This command line utility also supports changing the target .NET framework version.

Information

  • The Jacobi Relaxation: an Instance of Data Parallelism – James Rapp explores the concept of data parallelism which allows you to divide up work based on the input data rather than tasks that need to be performed, looking at an example of this in use when performing Jacobi Relaxation in two dimensions.
  • That No SQL Thing – Key/Value stores – Ayende continues his discussion of NoSQL Databases with a look at the simplest case of a key value store, discussing how the the core principles of a data store (concurrency, queries, schema, transactions, etc) are supported
  • NoSQL For The Rest Of Us – Karl Seguin discusses how a lot of the focus on using NoSQL databases is on performance aspects, and instead focuses on some of the benefits this style of storage can afford the ‘average’ developer, looking at how the data is stored in a object database, and the corresponding reduction in data access code, looking at ColumnFamily storage and document storage.
  • NoSQL is not about object databases – Bertrand Le Roy weighs in on the NoSQL debate, suggesting that NoSql isn’t the only solution to your non-RDBMS data storage, that there are plenty of other storage options that we commonly use from the simple file system, XML, Excel Files, etc. and talks about using multiple formats of store with a common index for your querying.
  • Looking for a little help moving from WinForms to WPF? How about a "toolbox-centric" Quick Reference Guide? – Greg Duncan highlights a quick reference card from Michael Sorens which aims to provide an easy way of translating between the controls in the toolbox that achieve the same end result, showing the versions of .NET they are available in. Be sure to check out the article from Michael which goes along with the reference card for more tips and resources on making the Winforms to WPF swtich.
  • Putting a base in the middle – Eric Lippert takes a look at an interesting instance where changes to a middle class in an inheritance hierarchy when classes are distributed over assemblies doesn’t do what you might think unless you recompile the top of the hierarchy, along with a good explanation why it works this way and the design decisions which lead to this.
  • CSS: Designers are doing AOP? No way! – Ajaxian highlights some thoughts from Jonny Tran comparing CSS and HTML to Aspect Oriented Programming, looking at the core concepts of AOP (join point, pointcut, advice and aspect) and showing that they have direct correspondence in CSS
  • Creating a dynamic proxy generator with c# – Part 4 – Calling the base method – Sean McAlinden continues his series on building a Dynamic Proxy implementation with this 4th part looking at giving the ability to call the methods on the real implementation
  • Adventures with C# 4.0 dynamic – ExpandoObject, ElasticObject, and a Twitter Client in 10 minutes – Anoop Madhusudanan explores the new Dynamic functionality of .NET 4 in this CodeProject article looking at the basics of the dynamic keyword, DynamicObject, ExpandoObject and ElasticObject, exploring the capabilities of each, and finishing up with showing them in use in a simple ASP.NET MVC Twitter search example.
  • Small Basic : Optical Illusions – ‘vijayeg’ shares some SmallBasic programs which generate optical illusion images sourced from a thread on a Small Basic discussion forum.

Community

  • DDD Southwest 2 – Session Voting – DDD Southwest will be taking place in 5th June 2010, and now all the session proposals have been gathered, the session voting can begin. There looks to be a great selection of sessions available on a wide range of topics, so if you are thinking of attending now is your chance to influence the content of the conference. Get Voting.

The Morning Brew #569

Posted by on 29 Mar 2010 | Tagged as: .NET, Development, Morning Brew

Software

  • posh-git Release v0.1 – Keith Dahlby shares the 0.1 release of his project ‘posh-git’ a PowerShell environment for working with the git version control system

Information

  • How to write custom static code analysis rules and integrate them into Visual Studio 2010 – Duke Kamstra shares some work by Todd King of the Code Analysis Team looks at how Visual Studio 2010 Premium and Ultimate edition users can create custom Static Code Analysis rules for inclusion in the static test VS performs.
  • Querying the Future With Reactive Extensions – Phil Haack talks about enumeration over computed collections, and shares some of his introduction to the Reactive Extensions for JavaScript (from non-other than Matthew Podwysocki) and shows how adding Rx to existing code to simplify it is very achievable.
  • F# async on the client side – Brian McNamara takes a look at using F#’s Async capabilities to help make programming on the UI thread easier, illustrating with two examples, a clock, and a visual effect of text chasing a cursor.
  • Time Flies Like An Arrow in F# and the Reactive Extensions for .NET – Matthew Podwysocki follows on from Brian’s post with a look at solving the same Text Follows the Cursor example using only F# events and the Reactive Extensions for .NET
  • F# async on the server side – Brian follows on from his own post, returning to more familiar async territory, looking at how F# makes Async programming on the server side, comparing with similar implementations in C#
  • Functional Dependency Injection == Currying – Mike Hadlow talks about the familiar Dependency injection in OO languages like C#, and compares it to the functional programming equivalent, which, it turns out, is currying
  • In TDD Red is not ‘does not compile’ – Ian Cooper takes a look at one of the myths of TDD, explaining that the ‘Red’ state in Test Driven Development is actually a very important stage, and discusses why it is not simply that the code does not compile.
  • Don’t Give Up on the State Pattern Just Yet – Revisited – Jan Van Ryswyck continues exploring the state pattern, taking another look at how it can be improved upon, this time utilising duck typing, and shows how you don’t have to wait for .NET 4 and the dynamic keyword to experiment with this stuff.
  • Creating an OData API for StackOverflow including XML and JSON in 30 minutes – Scott Hanselman puts his money where is mouth is (in a coding sense) and shows how to create an OData API for the popular StackOverflow site (in just 30 minutes). Scott also has another interesting post on the improvements to .NET 4 Web Application Startup Time, comparing the startup time of a number of common .NET applications running on ASP.NET 3.5 and 4.
  • LINQ: Single vs. First – Paulo Morgado discusses the correct use of the Single method in LINQ, and how its behaviour of throwing exceptions if there is more than one item is useful in certain circumstances.
  • Using Delegates in C# (Part 1) & Part 2 – Raj Kaimal gives an overview of the delegate implementations in .NET, starting from the basics in the first part, and moving on to look at the more advanced topics of predefined delegates, lambda expressions and the var keyword in part 2
  • That No SQL Thing – Ayende talks about the strong hold that Relational Databases have over data storage, and talks about how No SQL database provide a valid solution to a number of shortcomings in RDBMS. Interesting discussion in the comments. Ayende also outlines his criteria for evaluating No SQL databases in his post That No SQL Things – How to evaluate?

Community

  • Retlang – ThoughtWorks Manchester GeekNights – This Wednesday (31st March) sees the latest instalment of the Manchester GeekNight Series, with Ian Cartwright talking on the .NET Concurrency Framework Retlang, and how it allows you to work in a multi threaded way with Winforms. The event is free, but registration is required.
  • Techniques in Advanced .NET Debugging with John Robbins – Kirk Evans highlights a half day event to be held in Microsofts Alpharetta office, which will be simulcast on the web allowing non-local attendees to take part. The event sees John Robbins talk on moving your debugging skills to the next level, and takes place on 13th April from 1pm-5pm Eastern (evening here in the UK)
  • Introduction to Application Development With Silverlight 4 – Scottish Developers welcome Jesse Liberty to two events in late April. This one takes place in Dundee on the evening of 19h April, and is followed the next day with Silverlight 4, MVVM and Test-Driven Development to be held at Microsoft’s Edinburgh office on the evening of the 10th April.

Next Page »