jaredpar's WebLog

Code, rants and ramblings of a programmer.
Posts
  • jaredpar's WebLog

    Vim Emulator Editor For Beta2 Released

    • 3 Comments
    This is essentially the same release as the original but updated for some changes that occurred in the APIs between Beta1 and Beta2.  Link: http://visualstudiogallery.msdn.microsoft.com/en-us/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329 The biggest change...
  • jaredpar's WebLog

    Type safety issue when assigning CComPtr<T> instances

    • 1 Comments
    Recently while making a bug fix to our selection tracking code I discovered an unexpected behavior with CComPtr<T> instances.  The crux of the fix included creating a new tracking mechanism exposed via COM in the type ISelectionTracking. ...
  • jaredpar's WebLog

    Speaking at Dev Connections in Las Vegas Next Week

    • 1 Comments
    Next week I will be speaking at Dev Connections in Las Vegas.  I will be running the following sessions VMS02: Future Directions for Visual Basic VMS04: Microsoft Visual Basic IDE Tips and Tricks Both of these talks will spend a bit of time talking...
  • jaredpar's WebLog

    Using F# Discriminated Unions in C# (Beta2)

    • 5 Comments
    While updating my VsVim editor extensions for Beta2 [1] I got hit by a change in the way F# exposed discriminated unions in metadata.  My extension consists of a core F# component with a corresponding set of unit tests written in C#.  It’s mostly...
  • jaredpar's WebLog

    Vim Emulator Editor Extension Released

    • 17 Comments
    I just released version 0.5.0 of VsVim: a vim emulation editor extension for Visual Studio 2010 Beta1 written in F#. This is a hobby project I’ve been working on for awhile now. I expect to continue updating this release as time goes on as I use it on...
  • jaredpar's WebLog

    Why is LINQ absent from debugger windows?

    • 9 Comments
    As the owner of the VB.Net portion of the overall debugging experience, I frequently hear the request from customers to add LINQ support into the Watch / Immediate and Locals window. Virtually every other type of expression is available in the debugger...
  • jaredpar's WebLog

    Code Smell: Psychic classes

    • 0 Comments
    Psychic classes have the appearance of ignoring data provided to it in an attempt to provide you with an answer they predict is better for the situation.   It’s impossible to look at a the data provided to an instance of the class and understand...
  • jaredpar's WebLog

    Test-ItemProperty utility function

    • 0 Comments
    I was playing around in the registry the other day and found the PowerShell API lacking in a key area.  There does not appear to be a good way to detect the presence of a Registry Name/Value pair.  All of the operations such as New, Delete,...
  • jaredpar's WebLog

    Can you @bing it?

    • 1 Comments
    Today Microsoft announced a new search engine called bing .  I’ve been dogfooding this engine internally for some time now and from my experience it’s a step up from the previous engine in both functionality and appearance.  It’s definitely...
  • jaredpar's WebLog

    Understanding the is, was and will of programming

    • 6 Comments
    When using an API you must take care to understand not only what it returns, but also for how long the data returned will be valid.  This is very important to consider because programs must make either be making decisions on valid and predictable...
  • jaredpar's WebLog

    Questions not to hinge a C++ interview on

    • 7 Comments
    People love to chat about how to conduct a C++ interview on newsgroups .  Eventually these topics will shift into a discussion about what questions a candidate must know in order for them to get a hire from a particular interview.  Unfortunately...
  • jaredpar's WebLog

    Immutable vs. Mutable Collection Performance

    • 6 Comments
    One argument I commonly hear against immutable collections is they are slow.  I’ve held the opposite belief for some time but shamefully had yet to look at actual numbers on the CLR.  Tonight I decided to change that by benchmarking one of my...
  • jaredpar's WebLog

    Is it Serializable?

    • 3 Comments
    I’ve recently run across several APIs that have a dependency on only dealing with objects that are serializable (in the binary sense).  Unfortunately determining if an object is serializable is a non-trivial task and rife with problems.  These...
  • jaredpar's WebLog

    Building a WeakReference Hashtable

    • 9 Comments
    Recently I ran into a situation on a personal project where I needed a hashtable like structure for a set of WeakReference values.  When poking around for an existing implementation I saw found several versions which were very thin, type safe wrapper...
  • jaredpar's WebLog

    A more usable API for a mutable thread safe collection

    • 17 Comments
    In my last post we discussed the problems with designing a safer API for mutable thread safe collections that employ only an internal locking system. The result was an API that was more difficult to mess up, yet pretty much unusable. Lets take a look...
  • jaredpar's WebLog

    Why are thread safe collections so hard?

    • 52 Comments
    Writing a collection which is mutable, thread safe and usable is an extremely difficult process. At least that’s what you’ve likely been told all through your schooling. But then you get out on the web and see a multitude of thread safe lists, maps and...
  • jaredpar's WebLog

    Simulating Closures in PowerShell

    • 0 Comments
    Previously I blogged about PowerShell’s lack of closure support within a script block.  This presents a significant hurdle in developing a LINQ like DSL for powershell which I’ve been working on.  Imagine the following syntax $a = from it in...
  • jaredpar's WebLog

    BclExtras Library

    • 2 Comments
    I published a .Net utility library on Code Gallery today called BclExtras .  It’s a set of classes meant to be used in addition to the standard .Net base class libraries (BCL).  The main focuses of the library are functional programming, multi...
  • jaredpar's WebLog

    PowerShell LINQ: Take-Count and Take-While

    • 2 Comments
    The Take pair of functions are very similar to the Skip functions .  The Take expression does essentially the opposite of the Skip functions.  Skip is useful for getting elements further down the pipeline.  Take is used for getting elements...
  • jaredpar's WebLog

    If you implement IEquatable<T> you still must override Object’s Equals and GetHashCode

    • 0 Comments
    CLR 2.0 introduced IEquatable<T> which is an interface that allows for type safe equality comparisons.  Previously, the best available method for comparing equality was the virtual Object Equals method.  The method is loosely typed since...
  • jaredpar's WebLog

    PowerShell LINQ: Skip-While

    • 2 Comments
    Next up in the PowerShell LINQ series is SkipWhile .  This LINQ function takes an enumerable instance and a predicate.  The function will skip the elements in the enumerable while the predicate is true.  The argument to the predicate is...
  • jaredpar's WebLog

    LINQ like functions for PowerShell: Skip-Count

    • 2 Comments
    The PowerShell pipeline, is fairly similar to C#/VB’s LINQ.  Both filter a group of elements through a series of transformations which produce a new series of elements.  The devil is in the details of course but I’ll get to that in a future...
  • jaredpar's WebLog

    Dvorak keyboard … is it really faster ???

    • 9 Comments
    Most people discover I’m a Dvorak user because they’re in my office, attempt to drive during a conversation and find they are typing gibberish. I take the keyboard, hit CTRL+LEFT_SHIFT and they’re on their way again. Well at least until they open up a...
  • jaredpar's WebLog

    Twitter

    • 1 Comments
    I broke down a few weeks ago and joined Twitter .  If you’re not familiar with Twitter, it’s a lot like sitting in a room with a bunch of people and thinking out loud.  Only, it’s done in IM form.  It’s interesting and I find myself musing...
  • jaredpar's WebLog

    Script Blocks and Closures (or lack there of)

    • 0 Comments
    Script blocks are a concise way of representing an expression or statement group in Powershell.  It’s the C#/F#/VB lambda equivalent for PowerShell.  One difference between C#/F#/VB lambda expressions and a scriptblock is the lack of lexical...
Page 3 of 13 (321 items) 12345»