Chris Smith's completely unique view

Algorithms, functional programming, CLR 4.0, and of course, F#!

Browse by Tags

Tagged Content List
  • Blog Post: F# No Longer Vaporware

    REDMOND, WA - Sadly, after nearly four years of stringing developers along with Microsoft's longest touted non-product, F# was accidentally checked into the Visual Studio 2010 source tree Microsoft sources report. This mistake killed what would have been one of Microsoft's most popular vaporware project...
  • Blog Post: Understanding Tail Recursion

    You may have heard of Tail Recursion before, in fact, you may have even written tail recursive functions before without even knowing it. Even so, why should you care? Safety. Functional programming relies on recursive functions heavily since imperative looping structures are frowned upon. However, recursion...
  • Blog Post: Some guidelines for readable F# code

    When learning a new programming language it isn’t enough to know the syntax, you must also take the time to learn the idioms and styles for the language. Unfortunately those idioms and styles develop over years and F# still hasn’t had its ‘official v1'.0’ release. So where do we start? We can begin by...
  • Blog Post: Improving current approaches of testing

    A while ago I said that a professional tester should split his or her time to testing the product and thinking about how to improve upon the current approaches for testing. Now that Orcas Beta1 is out the emphasis for many testers is on running and re-running all of there automated tests to ensure that...
  • Blog Post: Interactions between objects - Attributes and Interfaces

    One of the greatest features of NetHack was the ability to achieve a rich interaction between objects. · What happens if you use a candle on a scroll? It should start on fire. · What if you throw a potion on the ground? The potion shatters. · What if you dip a flaming long sword in water? It...
  • Blog Post: Unleash the power of .NetHack!

    In the beginning there was Rogue ( http://en.wikipedia.org/wiki/Rogue_(computer_game) ), then Hack ( http://en.wikipedia.org/wiki/Hack_(computer_game) ), and then a networked-king-daddy-of-all-text-based-RPGs NetHack ( http://en.wikipedia.org/wiki/NetHack ). An idea I have had in the back of my mind...
  • Blog Post: Who listens to the blogosphere?

    Who listens to the blogosphere? The question sounds simple enough, but unfortunately I haven’t been able to arrive at a conclusion. People talk about ‘Web 2.0’ and ‘The rise of the bloggers’ quite often, but seriously - who cares? And to be clear, I don’t mean to discount the value of blogs but I...
  • Blog Post: Finding Great Developers

    I've been using the new RSS capabilities in Outlook 12 to monitor some great blogs out there. Today's 'Joel on Software' was particularly insightful. Check it out at: http://www.joelonsoftware.com/articles/FindingGreatDevelopers.html Reading the article I couldn't help but think of my own background...
  • Blog Post: Directory crawling in VB.NET

    So the Indigo Tools QA team has a large set of 'tier services' for adding all sorts of crazy WCF services. Today I wrote a tool to scan the directory structure of our tier service machine and generate a strongly-typed object representing each service. I figured the code would be useful so I have posted...
  • Blog Post: Do you use Web References?

    So the Visual Studio Indigo Tools team met today to discuss the UI for the Add Service Reference dialog. This dialog is where you will add references to WFC services as well as standard, ASMX web services. A key question we all had was if we should drop the Internet Explorer control in favor of a...
  • Blog Post: How do I become a VP in five years and retire in 10?

    Today was day two of the Microsoft Engineering Excellence and Trustworthy Computing Forum , which is a rather verbose way of saying an all-day conference for Microsoft employees to discuss changes in the field. I went to two sessions today, Communicating for Success and Why don't more Vice Presidents...
  • Blog Post: LINQ CTP release

    I'll give a random shout-out to the folks working on LINQ, DLinq, XLinq, and even the really-awesome yet-to-be-announced- Linq product as well. You can check out the latest CTP at: http://www.microsoft.com/downloads/details.aspx?familyid=1e902c21-340c-4d13-9f04-70eb5e3dceea&displaylang=en Who...
  • Blog Post: And so it begins - any suggestions on where to start?

    The Visual Studio Professional Indigo Tools team has officially started our epic journey into the Orcas product cycle! Woot. What makes this team and product cycle so exciting though is that we (the Indigo team) are mixing things up and trying this ‘crazy new agile jazz' ( http://agilemanifesto.org/...
  • Blog Post: Leave no documents behind!

    So I have been working with some folks to help develop our design process in Orcas. ( Check out the Channel 9 video on MQ ) What I would like to talk (rant) about today is leaving formalized documents behind. That is specs, design docs, test plans, etc. In short: Formalized documents make no impact...
  • Blog Post: Bootstrapper SDK

    So now that the Visual Studio 2005 Generic Bootstrapper is 'out in the wild', I am spending a lot of time helping internal and external customers in creating custom Bootstrapper packages which is great! In order to help people develop packages, I am going to create a Custom Bootstrapper Package SDK...
  • Blog Post: Test Driven Development and VSTS

    I am involved in an 'experiment' of sorts here in the Developer Division at Microsoft, Mike Sampson and I have teamed up to see what the MSF Agile development process would like like on the Deployment Team. This serves as a data gathering mission for how we should structure SDE and SDET work here at...
  • Blog Post: Summary results file for VSTS Generic Tests

    So I am using Visual Studio Team System for prototyping some new Orcas features and am just loving it. What I would to do today is share some code I used to generate a 'Summary results file'. When a VSTS Generic Test has completed, VS looks for an optional XML file to display a test summary. There...
  • Blog Post: VS Tricks: How to load test files from within a Unit Test

    It is a little-known secret that I moonlight as a computer-Go programmer. ( What is the game of 'Go' you ask? ) Anyways, I am writing my Go-bot using Visual Studio Team System to take advantage of all the great Unit Testing tools it offers. What I would like to share here is a trick that I use to...
  • Blog Post: Managed DirectX Bootstrapper package

    Today I release a Managed DirectX Bootstrapper package on GotDotNet. (You can also find a previously released Bootstrapper package for deploying the 1.1 Framework as well.) You can check it out here: http://www.gotdotnet.com/workspaces/workspace.aspx?id=7e8e8cbd-b447-4a9d-a984-9379d1a0c190 This...
  • Blog Post: .Net Goodness - Enumerating through an enumeration

    The other day a friend of mine was asking if there was a simple way through reflection to list all the items in an enumeration. I figured I would share that answer here in case you need it too. Have a great day! public enum DayOfWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday...
  • Blog Post: VMs thumbnail image via the Virtual Server COM object

    So the first week of App Building has gone well. I'll write more about my app as soon as it is finished, but I figured I would share a code snippet which you may find helpful. The Virtual Server 2005 COM API allows you to do a great many things, even get a thumbnail image of the virtual machine's...
  • Blog Post: Neat nuggets of .NET - The Conditional attribute

    Ever wanted different behavior between DEBUG and RELEASE builds? But without having to fork your code or have to result to preprocessor directives? Well let me introduce you to the Conditional attribute. The Conditional attribute is simple: the method isn't executed unless a particular string is defined...
  • Blog Post: Windows Installer, The .NET Framework, The Bootstrapper, and You

    When I was in college I believed in the notion of bug free software. You heard me, bug FREE. If you could write one line of bug free code, you could write two lines of bug free code. And if you could write N lines of bug free code you could write N + 1 lines of bug free code. Proof by induction! But...
  • Blog Post: Managed DirectX Rules

    So I am looking to get back into graphics programming and purchased a copy of Managed DirectX 9: Graphics and Game Programming by Tom Miller. In a word: wow. The book itself is well written, but what amazes me is the subject matter. ( http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?isbn=0672325969...
  • Blog Post: Software quality vs. Perspective

    Last week I took a trip to Texas to visit my girlfriend. It was a pretty nice way to unwind after shipping Beta2, but I am not really capable of 'relaxing' without focusing on doing some sort work. So I started to think about some of the ways we could improve our development process, in particular reducing...
Page 1 of 1 (25 items)