The Next 20 People .NET Developers Should Follow on Twitter

My previous 20 People .NET Developers Should Follow on Twitter blog post seemed to have gained quite a bit of buzz around the Twitterverse. I initially had a hard time narrowing down my list to only 20 people, so I thought I would include the next 20 several people that I wanted to add, but didn't.

Note: My list of top 40 (last post and this one) aren't necessarily the most popular or famous twitter people around (although many of them are). Rather, they are top notch developers that I highly value their contribution and tweets and find them to be very beneficial in learning and my day to day work.

Here are the Top 21-40 .NET Developers You Should Follow on Twitter

Steve Andrews
Jason Barile
Jeff Blankenburg
Marc Brooks
Michael Feathers
Justice Gray
Steven Harman
Evan Hoff
Scott Koon
Boyan Kostadinov
James Kovacs
Dan Mohl
Craig Murphy
Chad Myers
Ted Neward
Tommy Norman
Robert Pickering
Matthew Podwysocki
Alan Stevens
Chris Woodruff

Ohh, and you are welcome to follow me as well on Twitter :)

Read More »

20 People .NET Developers Should Follow on Twitter

I have been tweeting for quite some time now and I have found it to be a very interesting way to stay top of the technical pulse of .NET, jQuery, and numerous other technologies and tools.

For those of you developers that have recently started using Twitter, here is a brief list of 20 people that I think you would gain a lot of insight from by following.

Please understand that there are many others that I could list, but for brevity I chose only the top 20. The following individuals are in alphabetical order.

Please feel free to add a comment with your favorite top developer twitter individuals. I would love to follow them and I'm sure others would as well.

*Note: My interests mainly revolve around Microsoft ASP.NET, ASP.NET MVC, ASP.NET AJAX, other .NET Technologies, jQuery, JavaScript, XHTML, CSS, XML, etc...

Read More »

VSTS 2010 Local Microsoft Event

Last night I went to a local Microsoft Event demonstrating the cool new features of VSTS 2010 presented by Mark Mydland (Principal Group Manager of VSTS Test).

Mark demonstrated numerous new features of VSTS 2010 such as...

  • Allowing the tester to automatically capture data to eliminate no-repro bugs
  • Allowing the developer to immediately navigate to the problem code
  • Creating automating test cases with coded UI test
  • And much more...

In addition Mark demonstrated some products that have recently come out of Microsoft Research...

  • Pex
    "Right from the code editor, Pex finds interesting input-output values of your methods, which you can save as a small test suite with high code coverage. Pex performs a systematic analysis, hunting for boundary conditions, exceptions and assertion failures, which you can debug right away."

    If you are new to Pex, you might want to check out the following resources...

    "CHESS is an automated tool for finding errors in multithreaded software by systematic exploration of thread schedules. It finds errors, such as data-races, deadlocks, hangs, and data-corruption induced access violations, that are extremely hard to find with current testing tools. Once CHESS locates an error, it provides a fully repeatable execution of the program leading to the error, thus greatly aiding the debugging process."

    If you are new to CHESS, you might want to check out the following resources...

Feel free to download Visual Studio 2010 and .NET Framework 4.0 CTP and start playing with it today.

Note: If you were unable to make this talk, then there is a PDC video covering most, but not all of the content entitled Microsoft Visual Studio Team System: A Lap Around VSTS 2010 by Cameron Skinner (Product Unit Manager on the VSTS team). Here is a brief description of the video...

"In the spirit of an agile sprint, see how to use the next version of Visual Studio Team System to manage user stories and re-factor existing architecture. Learn how to diagnose real production problems, debug in-production virtual labs, capture test data to eliminate the no-repro bugs, transparently plan, monitor, and adapt software projects."

Thank you Compuware for sponsoring the event!

Read More »

Tech Twitterings via jQuery & Twitter

Several weeks ago, I decided to start a weekly blog entry compiling a list of my technical tweets from Twitter. After the second week, I noticed that it was taking me much too long to compile the list, so I decided to create a tool to make it easier.

My current solution involves several Firefox add-ons, jQuery, and Twitter. Eventually, it would probably be much easier if I used the Twitter APIs directly, but for now I have found this solution to be a fun learning exercise :)

Steps to Create the Tech Twitterings Entry<ol><li>Search for my technical (#tech) tweets from Twitter</li> <li>Use the Firefox AutoPager add-on to automatically load the next several pages to capture all the tweets from the last week.</li> <li>Use the Firefox Greasemonkey add-on and run the Load jQuery Library script to load the jQuery library onto the Twitter search page</li></ol>Load jQuery Library<pre>
// ==UserScript==
// @name Load jQuery Library
// @namespace
// @include
// ==/UserScript==

//Code taken from
var GM_JQ = document.createElement(‘script’);
GM_JQ.src = ‘’;
GM_JQ.type = ‘text/javascript’;

function GM_wait() {
if (typeof unsafeWindow.jQuery == ‘undefined’) {
} else {
$ = unsafeWindow.jQuery; letsJQuery();

function letsJQuery() {
unsafeWindow.console.log(‘The jQuery Library has been loaded’);
</pre><ol start="4"><li>Use the Firefox Firebug add-on and use it’s console (F12) to run the jQuery Twitter Script</li></ol>jQuery Twitter Script<pre>
$(‘li.result .msg .msgtxt .expand’).remove();
var categories = new Array();
var categoryKeys = new Array();
$(‘li.result .msg .msgtxt’).each(function(i,tweet) {
var tweetText = $(tweet).text();
var regularExpression = new RegExp(‘.
#tech.(#\w+).’, ‘gi’);
var matches = regularExpression.exec(tweetText);
if (matches != null) {
var match = matches[1];
if (categories[match] == null ) {
categories[match] = new Array();
for (var i = 0; i var categoryKey = categoryKeys[i];
console.log(‘<h3>’ + categoryKey + ‘</h3><ul>’);
var category = categories[categoryKey];
for (var j = 0; j console.log(‘<li>’ + category[j] + ‘</li>’);
</pre><ol start="5"><li>Copy & Paste the contents from the console into Blogger</li> <li>Surround the auto-generated HTML content in a div and prepend the JavaScript to convert Text to Hyperlinks.</li></ol>Text to Hyperlink JavaScript<pre>


Read More »

New F# SyntaxHighlighter Brush

Ever since my previous blog about Code Highlighters For Your Blog, I have heard several people interested in implementing the SyntaxHighlighter on their blog. If so, there is a good article by Guogang Hu about integrating it into your Blogger blog.

One of those individuals was my friend, Daniel Mohl (via twitter... @dmohl). However, Daniel had a need to support F#, which is not one of the out-of-the-box languages that is supported by the SyntaxHighlighter. I saw this as a fun side project to support this language for him.

F.Y.I. If you like F#, his blog is definitely one you should check out!

Here is an example F# program that is only a proof of concept that Dan put together for me to exercise the F# brush sufficiently... it doesn't actually work! :) I am just starting to learn the language, so please give me some slack!

If you find any areas that I missed while supporting the language, please let me know and I'll fix it. Feel free to download and use the F# SyntaxHighlighter Brush and provide any suggestions or comments.

Note: The JavaScript file has been minimized with JSMin, so it might be a little difficult to read.

I'd like to contribute the F# Brush to the Google Code project, but I am not yet a contributor on the project. If I am able to become a contributor, then I will post the code as part of the main project.

namespace testforElijah
module testModuleForElijah
open System
let multiple x = x * x
val CalculateSeqExample: seq -> int
type ICustomerDao = interface
abstract GetById: int -> ICustomer
type CustomerDao = class
new: unit -> CustomerDao
interface ICustomerDao
[for x in list -> expr]
type 'a option =
| None
| Some of 'a

//This is a test
let showSomething (name, something)
match name with
| Some (some, thing) -> (* do something*)
| None

type node =
{ Name : string;
Links : list list;}
and link =
| Dangling
| Link of node
Read More »