header image
 

Linq C# 3.0 Enumerable Extension Method Reference

General - Friday, July 25, 2008

Here is the first of many resources we will be posting on the must know aspects for .NET 3.5 and C# 3.0 best practices using Linq. We will covering Linq to NHibernate shortly in great detail for example.


Castle Project Founder Hamilton Verissimo Joins Microsoft in Another Stunning Microsoft PowerPlay

General - Wednesday, July 16, 2008

Microsoft’s Strategy is Clear for gaining Developer Mindshare now : Is this a good or bad series of actions for those of us dedicated to minimizing compromise like our counterparts in other frameworks take for granted? In a strategic move on Microsoft’s part that has the open source community buzzing, the well-known and respected founder of [...]


The Future for High Achievers in .NET Development

General - Wednesday, July 16, 2008

Expect sponsorships (we attract a great mix of deeply technical as well as 'suits who get it'). If you have any special requests for consideration on special topics, open source development ideas, or just to ping us, try : team@domaindotnet.com . Please include all relevant materials, ideas, etc. Your material will be respected as your intellectual property unless stated otherwise. Please do not send materials as we offer electronic media and web access to participants unless it is for preliminary feedback.




NHIbernate 2.0 Goes Beta 1 after Microsoft ‘Linq to Entities’ receives ‘vote of no confidence’

General - Monday, June 30, 2008

The first official beta for NHibernate 2.0 was released today. After the recent initiative against Microsoft ‘Linq to Entities’ in the form of a web-driven petition for a 'vote of no confidence’, the highly anticipated successor to the well-established NHibernate 1.2. We have been working with 2.0.X since the first alpha, and following the progress of the trunk. In our opinion this beta has the high quality of prior betas and we recommend it for non-critical systems immediately as your risk policy allows. We’re working on a more detailed analysis coming soon on some of the key improvements.


Master Generic Type Constrains : A critical success factor in Linq Development

General - Friday, June 27, 2008

An item we often see teams ‘leaving money on the table’ with is a failure to leverage (or leverage fully) generic type constraints. Now with Linq you cannot get away with it anymore as for now, although far more powerful, there are still long lines of complex generic delegate types to navigate.


Fun Code Challenge : C# 3.0 Linq APM Duplicate File Finder

General - Sunday, June 22, 2008

Submit an application that will identify and provide a way to remove duplicate files which exist on a user's computer system. Use your imagination and YOU ARE THE DOMAIN EXPERT as we all have a ton of damn duplicates. Make the app YOU WANT (but it must work)If you MUST bother the waterfall process people in this exercise (one of us pretending we just handed you a 500 page spec and NO CHANGES) simply email damon@domaindotnet.com. Technical requirements are: Code must be multi-threaded / Asynchronous in nature and safely show multi-thread access to shared data.For example, make the finding of files split into concurrent smaller executions (A recursive model for tree based traversal anyone?)Our reference solution shown after this challenge takes this approach Be careful about how you store this shared state and if indeed there MUST be contention Even though as stated below we expect at least one unit test proving thread safety if your application can meet the expected result with no change of shared data corruption good for you (hint) I recommend the recent focus of Jeffrey Richter's writings in using Linq Async Enumerators if you need more guidanceLinq in 3.5 (to objects) is requiredNo requirement on the view technology. A detailed Ajax front end will loose to a more efficient and correct console appCode can be submitted as follows:Simply point us to your SVN repository - best case - not requiredNo SourceSafe users allowed (just kidding)... If you use GIT, CVS, whatever that's cool toOr just email the damn bits already..


Update! CruiseControl.net Advanced Metrics - RC1 1.4 Build

General - Thursday, June 19, 2008

I finally had time to perform some much needed upgrades to the code base for the qualitative and quantitative metrics for Cruise Control.net continuous integration (a must have in my opinion). I'll be speaking more about it but here is the 'smoke mock/regression test' I just got running, and which all further regression-driven/verification-driven development will occur (not sure which I like better as a phrase but test-driven has got to go... It is so universally misunderstood, misapplied, and misconstrued. Can I get a witness?)... Anyway here's the framework API for now. This will evolve into a full Linq provider (I hope)...


Sharepoint 2007 Business Data Catalog API Import : Extended Options

General - Thursday, June 12, 2008

When 2007 MOSS was released I was a bit disappointed with the integration options provided in the BDC. Frankly, although they worked, they are a ‘lowest common denominator’ (which I do realize was likely the only choice Microsoft had). They could of however made the interface open, enabling a ‘provider/consumer’ style interface as they have so [...]


Advanced C# 3.0: Part 3 - New Language Features as ‘Domain Specific’ as well as General Purpose Extensions

General - Tuesday, May 27, 2008

One of the compelling directions beyond 'the basics' of domain-driven development is the advent and increasing use of 'DSL' (Domain Specific Language) technology in .NET. We have had a rich set of features since the 2005 release of Visual Studio in the Guidance Automation Toolkit and the DSL Toolkit and these have become even more compelling. However for some needs, the language now may provide enough for many smaller cases. Now that new .NET 3.5 C# 3.0 features are allowing us to make the Framework API of .NET work in ways not present 'out of the box' the scope of what is possible can be deep and broad.


Advanced C# 3.0 : Part 2 - Everyday Tasks with New Solutions

General - Thursday, May 22, 2008

In this post I'll be digging deeper into doing things I've always wanted to have in .NET yet didn't. For example, I know I am not alone in wanting an IList (be it an IList or a simple non-generic IList) to provide me a .foreach method as you get in a List). This is just one of many things we address here (and more).


Domain Frameworks : C# .NET 3.5 Generic Extension Methods & Lambadas

General - Thursday, May 15, 2008

This content assumes you understand the basics of the new C# 3.0 language features in .NET 3.5. I use a 'pretend pair programming' approach with continued refactoring as this is how I would discuss it if you were coding with me. I'll start with a fairly trivial, yet important example (I use it every day). Many times when comparing Strings I want to ignore case and culture (the InvariantCulture). This is provided by an overload as such as you likely know:


NUnit - New Alpha 1 2.5 Release - Some Cool Newness to an old friend

General - Thursday, May 15, 2008

NUnit 2.5 Alpha 1 Release - April 18, 2008 Note: Since this is an alpha level release, the features are not complete and some features present in this release may be removed or changed in future releases. General There are no longer separate distributed packages for .NET 1.1 an 2.0. Both the binary zip and msi packages contain [...]


ReSharper 4 — Latest Status Update from Ilya Ryzhenkov

General - Wednesday, May 14, 2008

Well, overall time scope for ReSharper 4 release is about a month. Thank you for your patience, we really appreciate your participation in our early access program! We are doing our best to deliver smart and quality product. And while we are here, what is *single* most important thing you want to be fixed/changed before release?


Daniel Cazzulino’s Blog : Statically-typed reflection with LINQ

General - Thursday, May 08, 2008

With .NET 3.5 and C# 3.0 released now, it was time for an update. As part of the update, I also improved the API a little bit. Usage now is: MethodInfo toString = Reflect.GetMethod(x => x.ToString());The renamed Reflect class receives the type you want to reflect as a generic parameter. Then you can use GetMethod, GetField or GetProperty.


The Collision of Software Project Management and Agile

General - Thursday, May 08, 2008

“How do we get people to commit to something when everyone has a different perspective based on role or even political leanings for larger companies”“Nobody will commit to a final decision for fear they will not be able to modify it!"


ReSharper 4.0 EAP Notes - JetBrains.net

General - Thursday, May 01, 2008

From ReSharper’s EAP Site I’ve been using the 4.0 EAP (pre-beta) since the first preview and it’s awesome… Rocky at times, but I’ve never lost any code (however you should use at your own risk!). There is something very comforting in auto-creating an anonymous delegate and having it convert automagically to lambata syntax…. For example, here is [...]


Framework Usage Patterns - Next Generation Software Engineering

General - Tuesday, April 15, 2008

Language Oriented Programming or LOP is a novel software development approach which employs domain specific languages. A domain specific language is a language which is designed to deal with one specific kind of tasks within a specific domain. One of the patterns of LOP usage, namely "framework-usages" is discussed.


A .NET Developer who would rather be on Linux..

General - Wednesday, February 27, 2008

What has become painfully obvious is that any technically savy individually is doing a terrible disservice to themselves by ‘living’ in the world created for them by Microsoft and the various flavors of Windows (even 2008 Server now in manufacturing and latest and greatest Vista. Comparatively they have a lot to catch up to). Microsoft [...]


Why Mono is a Must for All .NET Developers

General - Saturday, February 02, 2008

The love affair between the .NET community and business stakeholders is in an interesting phase. The business stakeholders have become far more mature in their understanding in software development while most Microsoft .NET developers have no plan to support cross-platform development. This could be a fatal blow as the domain experts now expect it due [...]


torrent freaks be aware on windows for this critical registry tweak

General - Monday, January 07, 2008

When you try to connect from TCP ports greater than 5000 you receive the error ‘WSAENOBUFS (10055)’ This one kind of hit me as why would they limit the max TCP port range at 5000! The default maximum number of ephemeral TCP ports is 5000 in the products that are included in the ‘Applies to’ section. A new [...]