Visual studio feeds

All Visual Studio blogs in one place


Enter your email address:

Delivered by FeedBurner

Increase your website traffic with



Anti-spam: How many eyes has a typical person?

Follow us on FB


Finding unused code (F#)

AddThis Social Bookmark Button
Coming from C#, I'm used to the compiler warning me about unused variables. Relying on the compiler to help me with checked exceptions in F#, I noticed that unused values (and functions) would go unnoticed. Having accidentally read earlier that Haskell has a compiler flag to check for unused bindings, I looked for the F# equivalent but failed to find it, until Scott Wlaschin pointed me in the right direction.

By using the --warnon:1182 flag, the compiler will warn you about unused bindings.

For example, compiling Paket.Core with
this flag enabled, outputs the following warnings.

Looking into these warnings revealed values and functions that can be deleted, but no apparent bugs. There are also cases where unused bindings make sense, for example when you pass in a function that does not use all of its arguments or when pattern matching. In these cases you can suppress the warning by prefixing the bindings with an underscore.

A useful compiler feature which strangely enough is opt-in. I plan on using it from now on.
...(Read whole news on source site)

Web Dev with Editors and IDEs

AddThis Social Bookmark Button
There are editors and IDE’s (Integrated Development Environments). I’ve often been asked which tools I prefer, so I decided to share how I view them. Your mileage may vary on your tool selection, of course. Influencing factors for me: speed of the tool speed of typing features extensibility Windows and OSX the “feel” and aesthetics Differences Editors offer super fast editing with many extension points for writing code. But first and foremost they are built for speed and they are usually highly tailored for keyboard use (not for mouse). Sublime, brackets, vim, and atom are editors. IDE’s also come with

Song of the Day: Press the Buzzer

AddThis Social Bookmark Button
Press the Buzzer is based on the infamous Milgram Experiment.  This brilliant song captures the entire essence of the experiment and the fall out from it, without ever losing its compelling folk rock rhythm. Like nearly all her music, this one … Continue reading → For the complete article and hyperlinks, please visit my blog at

Xamarin.Forms: Incremental Search

AddThis Social Bookmark Button
I recently posted about obtaining data for purposes of creating demonstration programs.   That actually was written in service to today’s post, which will use that data to create a list of “people” and then allow you to search incrementally, as shown in … Continue reading → For the complete article and hyperlinks, please visit my blog at

The Single Responsibility Principle under the microscope

AddThis Social Bookmark Button
Originally posted on:’s equally important and mysterious: the Single Responsibility Principle (SRP). And even though its originator Robert C. Martin tried to explain it again, I feel there is something lacking. Some concreteness, some tangibility. First the definition of the SRP in Martin’s own words: “The Single Responsibility Principle (SRP) states that each software module should have one and only one reason to change.” This is more informative than Wikipedia’s tautology: “In object-oriented programming, the single responsibility principle states that every class should have responsibility over a single part of the functionality provided by
the software, and that responsibility should be entirely encapsulated by the class.” But still… Martin’s definition is not crystal clear. It leaves much room for interpretation during TDD refactoring or code reviews. Even he admits this: “However it begs the question: What defines a reason to change?” To improve on this, he developed the notion of a “responsibility owner” as I’d call it: “When you write a software module, you want to make sure that when changes are requested, those changes can only originate from a single person, or rather, a single tightly coupled group of people representing...(Read whole news on source site)