jaredpar's WebLog
Code, rants and ramblings of a programmer.
Vim Emulator Editor For Beta2 Released
This is essentially the same release as the original but updated for some changes that occurred in...
Author: JaredPar MSFT Date: 11/16/2009
Type safety issue when assigning CComPtr instances
Recently while making a bug fix to our selection tracking code I discovered an unexpected behavior...
Author: JaredPar MSFT Date: 11/04/2009
Speaking at Dev Connections in Las Vegas Next Week
Next week I will be speaking at Dev Connections in Las Vegas. I will be running the following...
Author: JaredPar MSFT Date: 11/03/2009
Using F# Discriminated Unions in C# (Beta2)
While updating my VsVim editor extensions for Beta2 [1] I got hit by a change in the way F# exposed...
Author: JaredPar MSFT Date: 10/27/2009
Vim Emulator Editor Extension Released
I just released version 0.5.0 of VsVim: a vim emulation editor extension for Visual Studio 2010...
Author: JaredPar MSFT Date: 09/08/2009
Why is LINQ absent from debugger windows?
As the owner of the VB.Net portion of the overall debugging experience, I frequently hear the...
Author: JaredPar MSFT Date: 08/26/2009
Code Smell: Psychic classes
Psychic classes have the appearance of ignoring data provided to it in an attempt to provide you...
Author: JaredPar MSFT Date: 06/18/2009
Test-ItemProperty utility function
I was playing around in the registry the other day and found the PowerShell API lacking in a key...
Author: JaredPar MSFT Date: 06/12/2009
Understanding the is, was and will of programming
When using an API you must take care to understand not only what it returns, but also for how long...
Author: JaredPar MSFT Date: 04/27/2009
Questions not to hinge a C++ interview on
People love to chat about how to conduct a C++ interview on newsgroups. Eventually these...
Author: JaredPar MSFT Date: 04/21/2009
Immutable vs. Mutable Collection Performance
One argument I commonly hear against immutable collections is they are slow. I’ve held the...
Author: JaredPar MSFT Date: 04/06/2009
Is it Serializable?
I’ve recently run across several APIs that have a dependency on only dealing with objects that are...
Author: JaredPar MSFT Date: 03/31/2009
Building a WeakReference Hashtable
Recently I ran into a situation on a personal project where I needed a hashtable like structure for...
Author: JaredPar MSFT Date: 03/03/2009
A more usable API for a mutable thread safe collection
In my last post we discussed the problems with designing a safer API for mutable thread safe...
Author: JaredPar MSFT Date: 02/16/2009
Why are thread safe collections so hard?
Writing a collection which is mutable, thread safe and usable is an extremely difficult process. At...
Author: JaredPar MSFT Date: 02/11/2009
Simulating Closures in PowerShell
Previously I blogged about PowerShell’s lack of closure support within a script block. This...
Author: JaredPar MSFT Date: 02/02/2009
BclExtras Library
I published a .Net utility library on Code Gallery today called BclExtras. It’s a set of...
Author: JaredPar MSFT Date: 01/23/2009
PowerShell LINQ: Take-Count and Take-While
The Take pair of functions are very similar to the Skip functions. The Take expression does...
Author: JaredPar MSFT Date: 01/16/2009
If you implement IEquatable you still must override Object’s Equals and GetHashCode
CLR 2.0 introduced IEquatable<T> which is an interface that allows for type safe equality...
Author: JaredPar MSFT Date: 01/15/2009
PowerShell LINQ: Skip-While
Next up in the PowerShell LINQ series is SkipWhile. This LINQ function takes an enumerable...
Author: JaredPar MSFT Date: 01/14/2009
LINQ like functions for PowerShell: Skip-Count
The PowerShell pipeline, is fairly similar to C#/VB’s LINQ. Both filter a group of elements...
Author: JaredPar MSFT Date: 01/13/2009
Dvorak keyboard … is it really faster ???
Most people discover I’m a Dvorak user because they’re in my office, attempt to drive during a...
Author: JaredPar MSFT Date: 01/12/2009
I broke down a few weeks ago and joined Twitter. If you’re not familiar with Twitter, it’s a...
Author: JaredPar MSFT Date: 01/09/2009
Script Blocks and Closures (or lack there of)
Script blocks are a concise way of representing an expression or statement group in...
Author: JaredPar MSFT Date: 01/08/2009
Case Sensitive vs. Case Insensitive Languages
Just had a random thought while I was looking at some code today. It’s yet another argument in...
Author: JaredPar MSFT Date: 01/06/2009
Count-Object
With all of the great built-in commands for processing pipelines the absence of a good command to...
Author: JaredPar MSFT Date: 12/19/2008
NotImplementedException vs. NotSupportedException
In responding to a recent blog post, one of the readers, Jeremy Gray, noted that I was using a...
Author: JaredPar MSFT Date: 12/12/2008
Extension Methods and ByRef targets
One of the seldom used, and often unknown, features of VB extension methods is that the argument of...
Author: JaredPar MSFT Date: 12/11/2008
Immutable Collections and Compatibility with Existing Frameworks
When developing my immutable collections library, I spent a lot of time on usability. After all, if...
Author: JaredPar MSFT Date: 12/10/2008
Mapping LINQ to F#
In my projects with F#, I often find that I know exactly what type of sequence transformation I want...
Author: JaredPar MSFT Date: 12/02/2008
Sorting out Binary Files
I constantly get tripped up in my powershell scripts/commands because I run them against a binary...
Author: JaredPar MSFT Date: 12/01/2008
Comparing Continuations in C# and F# Part 3: Double wrong
Is it better to be wrong once or to be right then think you’re wrong but find out you were right but...
Author: JaredPar MSFT Date: 11/13/2008
Comparing Continuations in C# and F# Part 2
In my last post I went over the differences between using a continuation in F# and C#. As it turns...
Author: JaredPar MSFT Date: 11/11/2008
Properly Incrementing an IntPtr
Just as native pointer types are moved around with pointer arithmetic in native code, it can also be...
Author: JaredPar MSFT Date: 11/11/2008
Comparing Continuations in F# and C#
Lately I’ve been playing quite a bit with F#. I have several hobby projects I’m working on...
Author: JaredPar MSFT Date: 11/10/2008
Dereference a double IntPtr
A common PInvoke question is how to deal with a double pointer. More specifically, how can one...
Author: JaredPar MSFT Date: 11/05/2008
PInvoke and COM objects
I've occasionally found the need to mix COM interop and PInvoke. For certain scenarios it's...
Author: JaredPar MSFT Date: 11/04/2008
Stop the Beeping!!!
Recently I was working on a PowerShell script which involved translating byte arrays into strings...
Author: JaredPar MSFT Date: 11/03/2008
Presentation Follow up
Thanks to everyone who showed up at the presentation on monday. For those interested, I've...
Author: JaredPar MSFT Date: 10/29/2008
Properly handling a WinForms Timer event
The WinForms Timer class allows the user to perform a particular action at a set interval. ...
Author: JaredPar MSFT Date: 10/27/2008
Redefining Success
Spent about an hour debugging a bit of code today. I was attempting to read data from a...
Author: JaredPar MSFT Date: 10/24/2008
Presenting at Net Developers Association Meeting Oct 27
I will be presenting at the Net Developers Associating meeting this upcoming Monday. If you're...
Author: JaredPar MSFT Date: 10/23/2008
When can you catch a StackOverflowException?
Answer: When you're the one who threw it. Starting with the CLR version 2.0, the policy for...
Author: JaredPar MSFT Date: 10/22/2008
Program Files, I just want the 32 bit version
As part of my transition into using 64 bit windows I keep running into a problem with some...
Author: JaredPar MSFT Date: 10/21/2008
Custom Exceptions: When should you create them?
I think the best answer is: rarely. It's really hard to go straight to a justification...
Author: JaredPar MSFT Date: 10/20/2008
Community Interview
Recently I did a community interview with Microsoft MVP Alessandro Del Sole. The Italian...
Author: JaredPar MSFT Date: 10/17/2008
Powershell and 64 bit windows helper functions
Recently at work I started using Windows 2008 64 bit edition. Mainly for hyper-v but...
Author: JaredPar MSFT Date: 10/16/2008