# Wednesday, August 18, 2010

image

Heute hatten wir unser erstes .NET Coding Dojo. Auch wenn Ilker es nicht zu uns geschafft hat, war es ein voller Erfolg und hat allen Teilnehmern viel Spass gemacht.

Hier das Slide: http://www.lennybacon.com/download/Events/2010/2010-08-NET-Coding-DoJo.pdf

Und der Code von Philip: http://github.com/philipproplesch/NetugNiederrhein/tree/master/src/2010-08/FizzBuzz/

Wednesday, August 18, 2010 10:26:14 PM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, August 09, 2010

Last week I did talks on ASP.NET MVC and ASP.NET Controls at the .NET Developer Group Braunschweig and Dotnet User Group Dortmund. This way I’d like to thank Lars Keller and Paul Mitzel as well as all attendees for joining and havig such a great time!

Slides will be up on the user group pages soon as I submitted them today to Paul and Lars.

Monday, August 09, 2010 4:50:55 PM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 

I just went over to itunes to get the black keys album brothers. What an amazing experience again. Let’s crunsch some numbers:

The album has 15 tracks

itunes crashed 22 times until all downloads finished.

WTF #1

 

Last but not least… itunes did not add the tracks to my purchases or my library. damn. A look into the the file system shows what’s going on.

image

WTF #2

Ok so I tried to start the download again as it seems it had not finished, but…

image

Fail, Apple, Fail, Fail

Monday, August 09, 2010 1:02:54 PM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, August 05, 2010

The last days proved what I was telling a lot of people in the last years on training and coaching  gigs…

Ayende praises “The return of the secretary”. Donald writes about “the brownfield mess”.

I’m so with these guys! I feel the pain too.

 

In my opinion there have been some *dark places* in the framework since ever: DataSet, ViewState, SqlDataSource, yada yada yada…

 

Same as it ever was!

 

On the other side it must be said, that you do not start developing at a hundred. And as I believe in the good I hope It really might be a bridge and that some of the users of these *things* will become real developers.

Thursday, August 05, 2010 11:18:53 PM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, June 15, 2010

After I saw what Dennis was preparing (from his messenger status) I decided to give our neighbors in the Netherlands a visit and join his Session …
image
about “Command Query Responsibility Segregation” at the DotNED user group.

He talked about how this style differs from the classic architecture. The audience had a lot of fun discussing on the differences, cons and pros.

image image

It has been quite a while that I had architecture discussions in such a big circle and I really enjoyed the topics that were hit.

As I expect Dennis to give a talk at the NRW Conf I won’t go in the details any further… I really liked it and you should give it a try on the 10th of September this year in Wuppertal.

 

You can find his Sample here: http://thecqrskitchen.codeplex.com/
CQRS in de keuken ;-)

 

The NRWConf registration will open next weekend - get your seat: http://www.nrwconf.de

Tuesday, June 15, 2010 9:50:06 AM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, June 10, 2010

This is *real* value:

image

The “Add References Dialog” modified by Visual Studio 2010 Pro Power Tools Pro.

I really love the “Search” box!!!

Thursday, June 10, 2010 9:35:10 PM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, May 27, 2010

I’m proud to announce our first open source project released on GitHub.

The Docx2UnitTest Code Generator is based on an idea of Thomas Bandt. You can read his blog post here.

Philip Proplesch started out with a T4 template (of course edited with Tim Fischer’s fabulous tangible T4 Editor). After he told me about it I had the idea of doing it with a code generator (Visual Studio custom tool). The advantage is that you do not need to copy the T4 files around.

Spend the last few nights pair coding (thanks to my girlfriend for the time to build this amazing stuff!!!)…

Docx2UnitTest
A Visual Studio 2010 custom tool to generate unit tests from Microsoft® Word® 2007/2010 documents.

Supported frameworks are:
- MsTest
- NUnit
- XUnit

Features:
- It keeps the implementation of tests during re-generation.
- It keeps test methods attributes

image

Just add a *.docx file to a project in Visual Studio. The test classes will be generated immediately.

image

So give it a try and give us some feedback – I bet the regex to keep the existing code can be improved :-)

Btw: The colorful things in my IDE are TestLint from Typemock and ReSharper from JetBrains.

Get it here on GitHub…

Thursday, May 27, 2010 3:06:17 PM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 
# Sunday, May 23, 2010
An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
System.InvalidOperationException: An exception was thrown in a call to a WSDL export extension: System.ServiceModel.Description.DataContractSerializerOperationBehavior
 contract: http://devcoach.com/services//:ICollectionService ----> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.Serialization, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. The system cannot find the file specified.
   at System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type)
   at System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
   at System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
   at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg)
   at System.Reflection.CustomAttribute.IsCustomAttributeDefined(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, RuntimeType attributeFilterType, Boolean mustBeInheritable)
   at System.Reflection.CustomAttribute.IsDefined(RuntimeType type, RuntimeType caType, Boolean inherit)
   at System.RuntimeType.IsDefined(Type attributeType, Boolean inherit)
   at System.Runtime.Serialization.CollectionDataContract.IsCollectionDataContract(Type type)
   at System.Runtime.Serialization.CollectionDataContract.IsCollectionOrTryCreate(Type type, Boolean tryCreate, DataContract& dataContract, Type& itemType, Boolean constructorRequired)
   at System.Runtime.Serialization.CollectionDataContract.TryCreate(Type type, DataContract& dataContract)
   at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.CreateDataContract(Int32 id, RuntimeTypeHandle typeHandle, Type type)
   at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type)
   at System.Runtime.Serialization.DataContract.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type)
   at System.Runtime.Serialization.DataContract.GetDataContract(Int32 id, RuntimeTypeHandle typeHandle, SerializationMode mode)
   at System.Runtime.Serialization.DataContract.GetDataContract(RuntimeTypeHandle typeHandle, Type type, SerializationMode mode)
   at System.Runtime.Serialization.DataContract.GetDataContract(Type type)
   at System.Runtime.Serialization.DataContractSet.GetDataContract(Type clrType)
   at System.Runtime.Serialization.DataContractSet.GetMemberTypeDataContract(DataMember dataMember)
   at System.Runtime.Serialization.DataContractSet.AddClassDataContract(ClassDataContract classDataContract)
   at System.Runtime.Serialization.DataContractSet.InternalAdd(XmlQualifiedName name, DataContract dataContract)
   at System.Runtime.Serialization.DataContractSet.Add(XmlQualifiedName name, DataContract dataContract)
   at System.Runtime.Serialization.DataContractSet.Add(DataContract dataContract)
   at System.Runtime.Serialization.DataContractSet.Add(Type type)
   at System.Runtime.Serialization.XsdDataContractExporter.AddType(Type type)
   at System.Runtime.Serialization.XsdDataContractExporter.Export(Type type)
   at System.ServiceModel.Description.MessageContractExporter.ExportType(Type type, String partName, String operationName, XmlSchemaType& xsdType)
   at System.ServiceModel.Description.DataContractSerializerMessageContractExporter.ExportBody(Int32 messageIndex, Object state)
   at System.ServiceModel.Description.MessageContractExporter.ExportMessage(Int32 messageIndex, Object state)
   at System.ServiceModel.Description.MessageContractExporter.ExportMessageContract()
   at System.ServiceModel.Description.DataContractSerializerOperationBehavior.System.ServiceModel.Description.IWsdlExportExtension.ExportContract(WsdlExporter exporter, WsdlContractConversionContext contractContext)
   at System.ServiceModel.Description.WsdlExporter.CallExtension(WsdlContractConversionContext contractContext, IWsdlExportExtension extension)
   --- End of inner ExceptionDetail stack trace ---
   at System.ServiceModel.Description.WsdlExporter.CallExtension(WsdlContractConversionContext contractContext, IWsdlExportExtension extension)
   at System.ServiceModel.Description.WsdlExporter.CallExportContract(WsdlContractConversionContext contractContext)
   at System.ServiceModel.Description.WsdlExporter.ExportContract(ContractDescription contract)
   at System.ServiceModel.Description.WsdlExporter.ExportEndpoint(ServiceEndpoint endpoint, XmlQualifiedName wsdlServiceQName)
   at System.ServiceModel.Description.WsdlExporter.ExportEndpoints(IEnumerable`1 endpoints, XmlQualifiedName wsdlServiceQName)
   at System.ServiceModel.Description.ServiceMetadataBehavior.MetadataExtensionInitializer.GenerateMetadata()
   at System.ServiceModel.Description.ServiceMetadataExtension.EnsureInitialized()
   at System.ServiceModel.Description.ServiceMetadataExtension.get_Metadata()
   at System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.InitializationData.InitializeFrom(ServiceMetadataExtension extension)
   at System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.GetInitData()
   at System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.TryHandleDocumentationRequest(Message httpGetRequest, String[] queries, Message& replyMessage)
   at System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.ProcessHttpRequest(Message httpGetRequest)
   at System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.Get(Message message)
   at SyncInvokeGet(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

 

Even redirecting the version by config doesn’t work:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Runtime.Serialization" publicKeyToken="b77a5c561934e089" />
      <bindingRedirect oldVersion="2.0.5.0" newVersion="4.0.30319.1" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

Grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr

Sunday, May 23, 2010 6:19:22 AM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, May 13, 2010

I’m proud to announce our first open source project released on GitHub.

The Docx2UnitTest Code Generator is based on an idea of Thomas Bandt. You can read his blog post here.

Philip Proplesch started out with a T4 template (of course edited with Tim Fischer’s fabulous tangible T4 Editor). After he told me about it I had the idea of doing it with a code generator (Visual Studio custom tool). The advantage is that you do not need to copy the T4 files around.

Spend the last few nights pair coding (thanks to my girlfriend for the time to build this amazing stuff!!!)…

Docx2UnitTest
A Visual Studio 2010 custom tool to generate unit tests from Microsoft® Word® 2007/2010 documents.

Supported frameworks are:
- MsTest
- NUnit
- XUnit

Features:
- It keeps the implementation of tests during re-generation.
- It keeps test methods attributes

image

Just add a *.docx file to a project in Visual Studio. The test classes will be generated immediately.

image

So give it a try and give us some feedback – I bet the regex to keep the existing code can be improved :-)

Btw: The colorful things in my IDE are TestLint from Typemock and ReSharper from JetBrains.

Get it here on GitHub…

Thursday, May 13, 2010 1:55:40 AM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [7]  | 
# Thursday, May 06, 2010

Heute haben wir mal ein richtig spannendes Thema in der Usergroup: “.NET mit Maschinen”

Klaus Eichhorn und Christian (a.k.a. Olaf) zeigt wie in seiner Firma (KES) .NET in der Entwicklung zum Einsatz kommt. Das Interessante daran ist, dass hier mal die Software nicht in der *virtuellen Welt"* bleibt. Die KES macht Steuerungstechnik und hat z.B. eine Maschine für Reibschweißen zusammen mit der Hochschule in Magdeburg entwickelt. Sowohl Siemens, als auch Bosch werden mit einem ganzheitlichen Ansatz bedient.

image

Was ist eine Speicher Programmierbare Steuerung (SPS)? Was sind die Vorteile?

image

Vom Stromlaufplan über  KOP und  FUP zu AWL!

image

Die Sinumerik 840D! Die Plattform ist ein Windows XP mit installiertem .NET Framework…

image

G01 X100 Y10 F1000

image

Und dann in .NET :-)

Thursday, May 06, 2010 9:24:08 PM (W. Europe Daylight Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  |