Cool stuff: DelphiSpec library, inspired by Cucumber. It runs on top of DUnit.
via DelphiSpec Library Announce « Роман.Янковский.me.
A similar one in the .NET realm: SpecFlow – Pragmatic BDD for .NET.
–jeroen
Posted by jpluimers on 2013/12/22
Cool stuff: DelphiSpec library, inspired by Cucumber. It runs on top of DUnit.
via DelphiSpec Library Announce « Роман.Янковский.me.
A similar one in the .NET realm: SpecFlow – Pragmatic BDD for .NET.
–jeroen
Posted in .NET, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 3.0, C# 4.0, C# 5.0, Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2013/12/17
The Mono.Options single .cs source file seems very well suited for arguments parsing of (especially) console application:
https://github.com/mono/mono/blob/master/mcs/class/Mono.Options/Mono.Options/Options.cs
so it is on my research list, like some other .NET/C# based command line parsing libraries (:
–jeroen
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2013/12/10
Some things you have done for ages, are already phrased so nicely, the only thing you can do is quote.
Thanks Dave Coulter:
You can attach the Visual Studio debugger to a process by:
Debug > Attach to Process > Attach Read the rest of this entry »
Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development, Visual Studio 11, Visual Studio 2002, Visual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2013/12/05
From my link archive:
–jeroen
Posted in .NET, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 3.0, C# 4.0, C# 5.0, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2013/11/28
There are a few more messages in the “Missed Schedule” backlog, and I really hope that WordPress is going to address this really annoying bug soon as I have to recheck my blog multiple times a day now.
Back on topic:
I’m taking Delphi and Bitbucket here as an example, but this holds for many more development tools and version control tools.
Ultimately, you want changes to be as simple as this one: only the relevant changed lines show up as an actual change.
But often changes include convoluted non-relevant information.
A few things development tools should not do: Read the rest of this entry »
Posted in .NET, C#, Delphi, Development, DVCS - Distributed Version Control, Software Development, Source Code Management, Visual Studio and tools | 2 Comments »
Posted by jpluimers on 2013/11/27
As of Visual Studio 2010 SP1 (I think it was there in the original non-SP1 version of VS2010), Microsoft has hidden the addition of classic ASCX webservices as they favour WCF over ASPX (there are quite a few differences).
It is easy to workaround though as Stack Overflow users User Cyberherbalist and User Alejandro Martin have shown, with a little bit post-editing from me: Read the rest of this entry »
Posted in .NET, .NET 4.0, .NET 4.5, ASP.NET, C#, C# 4.0, C# 5.0, Development, SOAP/WebServices, Software Development, Visual Studio 11, Visual Studio 2010, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2013/11/12
You can pass anonymous types to a method, if that method has a generic parameter type. I regularly use this to Resolving a parameter name at runtime using the Generic Type Cache technique described by Rinat Abdullin.
The other way around however is impossible, as return types cannot, as Alexander M. Batishchev writes in his StackOverflow answer:
You can’t.
You can only return object, or container of objects, e.g. IEnumerable
Jared Par does a bit more elaboration:
You cannot type any method in C# to be the explicit type of an anonymous types. They cannot be “named” so to speak and hence cannot appear in metadata signatures.
If you really want to return a value which is an anonymous type there are 2 options
- Have the return type of the method be System.Object. You can then do evil casting hacks to get a typed value in another method. This is very fragile and I don’t recommend it.
- Use a generic method and a type inference trick to get the return type correct. This would require a very interesting signature definition for your approach.
Anonymous types were not really meant to be passed around in this fashion. At the point you need to pass them around between your functions in this manner, you’re better off explicitly defining a type.
Bummer (:
–jeroen
via:
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2013/11/07
Wow, I’ve been living under a stone (:
Just discovered the online Cyber-Dojo by Jon Jagger. It is an online manifestation of a Coding Dojo. Both have been there for years, and I think both are brilliant.
They take the concept of a Dojo as being a place to practice sports like martial arts in a pair or group setting with a series of Katas or practices.
Katas in a Dojo are a means for performing deliberate practice in order to learn new things. For instance, acquire new movement techniques, learn about your balance, gain strength, all in both a physical and mental way.
A Coding Dojo takes this concept into the programming world focussing at learning new programming skills. Watch the How do you put on a coding dojo event? – YouTube
The Cyber Dojo goes a step further and brings it on-line (a 2010 example video is Roman Numerals Coding Kata in Ruby using CyberDojo website on Vimeo).It is easy to get started: either join an existing Dojo by entering the practice ID, or setup a new Dojo where you get a practice ID that others can join.
The aim of both is do more deliberate practice.
When performing Coding and Cyber Dojo, you should use Test Driven Development using pair programming and BabySteps. Those help you to slow down, as one of the Dojo Principles is for Katas to slow down. It reminds me of the “if you are in a hurry, sit down” mantra and is a key part of the Coding/Cyber Dojo Principles too.
The aim is to learn, and part of that is to first un-learn and open you to new thoughts. That’s why it is so cool that the Cyber-Dojo provides you with:
You’d think they speed you up, but that is not their aim. Like a regular Dojo it gives you an pre-set environment and gives you piece of mind to get started.
The Cyber Dojo does without a Sensei, whose purpose in a Coding Dojo is to ask questions in order to guide the participants.
That’s why it is good to use the Cyber Dojo as part of a Coding Dojo: basically the Cyber Dojo provides a standardizes set of tools to quickly setup a Coding Dojo.
(a prime number, so the table is a bit distorted)
| C | Go | PHP |
| C# | Haskell | Perl |
| C++ | Java-Approval | Python |
| Clojure | Java-Cucumber | Ruby |
| CoffeeScript | Java-JUnit | Ruby-Rspec |
| Erlang | Javascript |
Many of the practices come from rosettacode.org.
| 100 doors | Harry Potter | Print Diamond |
| Anagrams | LCD Digits | Recently Used List |
| Bowling Game | Leap Years | Reversi |
| Calc Stats | Mine Field | Roman Numerals |
| Count Coins | Monty Hall | Tennis |
| Diversion | Number Names | Unsplice |
| Fizz Buzz | Phone Numbers | Verbal |
| Game of Life | Poker Hands | Yahtzee |
| Gray Code | Prime Factors | Zeckendorf Number |
–jeroen
via:
Posted in .NET, Agile, C, C#, C++, Development, Java, JavaScript/ECMAScript, Perl, PHP, Scripting, Software Development, Unit Testing | 3 Comments »