Freigeben über


jaredpar's WebLog

Code, rants and ramblings of a programmer.

Using Live Mesh to Synchronize Favorites

I'm a huge fan of customizing my environment.  As a developer my productivity is tied to access...

Author: JaredPar MSFT Date: 05/15/2008

Reserved words: Good for your sanity

Paul Vick posted a recent entry exploring the necessity, or lack there of, for having reserved words...

Author: JaredPar MSFT Date: 05/13/2008

Equality isn't easy

After my recent postings on the rules of Equality, I thought it would be a good idea to post a...

Author: JaredPar MSFT Date: 05/12/2008

IEquatable(Of T) and GetHashCode()

This is a bit of a follow up to a previous post we discussed how to properly implement equality in...

Author: JaredPar MSFT Date: 05/09/2008

Saved by PowerShell

Recently I made a very large update to our code base.  Our code base lacked a standard way of...

Author: JaredPar MSFT Date: 05/07/2008

C++ Programming Books

I was reading a post on Coding Horror the other day about programming books and how developers don't...

Author: JaredPar MSFT Date: 05/01/2008

RantPack - A utility library

I often post code examples, samples and snippets on this blog. Many of these samples are a part of a...

Author: JaredPar MSFT Date: 04/30/2008

Properly Implementing Equality in VB

Many developers want to implement equality functions for their objects.  DotNet made equality a...

Author: JaredPar MSFT Date: 04/28/2008

Me, MyBase, MyClass and MyPost on the subject

Recently we had a good discussion on an internal alias about the use of Me, MyClass and MyBase in...

Author: JaredPar MSFT Date: 04/25/2008

Gotcha: CComAutoCriticalSection and copy constructors

While investigating a crash during a suite run I found the stack walk included the destructor for a...

Author: JaredPar MSFT Date: 04/24/2008

Get-TfStatus

Been far too long since I blogged about a new PowerShell script. This is not to say I've stopped...

Author: JaredPar MSFT Date: 04/23/2008

Immutability and ReadOnlyCollection

I am a huge fan of read only/immutable collections and data. Hopefully the increased exposure...

Author: JaredPar MSFT Date: 04/22/2008

Thread Local Storage template

Thread local storage is another method of synchronization between threads. It is different that most...

Author: JaredPar MSFT Date: 04/21/2008

What's the purpose of this blog?

I've had a couple people ask me this question about my blog.  The simple answer is: to explore...

Author: JaredPar MSFT Date: 04/17/2008

Gotcha: Generic overload resolution when called generically

Both VB and C# have a feature of generic overload resolution that is fairly helpful and yet a source...

Author: JaredPar MSFT Date: 04/14/2008

Design Guidelines: Provide type inference friendly Create function for generic objects

Really this guideline is a bit longer but putting it all in a blog title seemed a bit too...

Author: JaredPar MSFT Date: 04/11/2008

Have an IComparer but need an IComparable?

Previously we discussed the opposite problem.  This is a lesser but often more frustrating...

Author: JaredPar MSFT Date: 04/09/2008

Gotcha: CComPtrBase assignment

Today what started out as a crash due to a pure virtual call turned into finding a gotcha in...

Author: JaredPar MSFT Date: 04/08/2008

BinaryInsert Part2

Previously I discussed a potential missing API in List(Of T).BinaryInsert. One of the items I...

Author: JaredPar MSFT Date: 04/07/2008

Reference values in C++

Reference values are a powerful feature of C++ but I find they have one significant detractor. A...

Author: JaredPar MSFT Date: 04/03/2008

Have a IComparable(Of T) but need an IComparer(Of T)?

IComparable(Of T) is an interface saying "I can compare myself to other objects of the same...

Author: JaredPar MSFT Date: 04/02/2008

Short Post

In an effort to post more often and with greater effect, I've been trying to divide my posts into...

Author: JaredPar MSFT Date: 04/01/2008

Missing API: List(Of T).BinaryInsert

One API that seems to be missing from List(Of T) is a BinaryInsert method.  Especially since...

Author: JaredPar MSFT Date: 03/31/2008

ActiveObject

I've been busy lately and neglected my series on Active Objects.  It's been a fairly busy time...

Author: JaredPar MSFT Date: 03/30/2008

API Problems: CComObject::CreateInstance

CComObject::CreateInstance is a light weight method for creating instances of COM objects in your...

Author: JaredPar MSFT Date: 03/28/2008

Part of being a good programmer is learning not to trust yourself

... and to actively guard against yourself. Over the years I've found that I can be my own worst...

Author: JaredPar MSFT Date: 03/24/2008

Making PInvoke Easy

I very excited to announce we recently released a tool I've been working on to MSDN that will...

Author: JaredPar MSFT Date: 03/14/2008

PipeSingleReaderNoLock

Previously we discussed a multi-thread safe queue like data structure using locks as an internal...

Author: JaredPar MSFT Date: 03/03/2008

PipeSingleReader

Before we can get to building an Active Object implementation, there are some more primitive...

Author: JaredPar MSFT Date: 03/02/2008

SynchronizationContext and Higher Order Functions

It's often useful to ensure that actions occur on specific threads, in particular event...

Author: JaredPar MSFT Date: 02/24/2008

Factory Methods for Futures

Like most generic classes, I prefer to create Future instances through static factory methods which...

Author: JaredPar MSFT Date: 02/23/2008

Thread Affinity

Part of creating a multithreading program is understanding which threads objects live on. ...

Author: JaredPar MSFT Date: 02/22/2008

Multiple paths to IUnknown

ATL has a lot of great tools for COM programming and CComPtr is a good example. It's a smart pointer...

Author: JaredPar MSFT Date: 02/22/2008

Building a Future which returns no Value

In addition to Future<T> there is also the concept of Futures that don't return any...

Author: JaredPar MSFT Date: 02/18/2008

Building Future

The last post dealt with building the base Future class.  Now we'll build the child class used...

Author: JaredPar MSFT Date: 02/13/2008

Building the Base Future

In the end there are two basic types of Future implementations you can use. Futures which return no...

Author: JaredPar MSFT Date: 02/12/2008

Dealing with Exceptions in a Future

Besides waiting, the another important issue when dealing with Futures is how to deal with...

Author: JaredPar MSFT Date: 02/11/2008

The first part of building a Future is ... Waiting

Future's are a great abstraction for asynchronous programming. One of the items making them so good...

Author: JaredPar MSFT Date: 02/04/2008

Get-Content and File Names

Another day, another PowerShell feature discovered.  Unfortunately this time it was a feature...

Author: JaredPar MSFT Date: 02/02/2008

Active Objects and Futures

Herb Sutter gave one of my favorite and inspiring presentations.  It is called "The Free...

Author: JaredPar MSFT Date: 01/28/2008

Tuples Part 8: Finishing up

There are only a few missing features from our tuple implementation.  Mainly FxCop compliance,...

Author: JaredPar MSFT Date: 01/27/2008

Tuples Part 7: Mutable Tuples

Part 6 left us with comparable tuples.  At this point, the Tuple class is functionally...

Author: JaredPar MSFT Date: 01/23/2008

Tuples Part 6: Comparing

Part 5 produced equality tests for Tuples. This section will add comparison support through the...

Author: JaredPar MSFT Date: 01/22/2008

Tuples Part 5: Equality

Part 4 left us with a reusable, abstract and inference friendly Tuple class.  The next step is...

Author: JaredPar MSFT Date: 01/22/2008

A smarter Select-StringRecurse

Previously I blogged about a recursive select-string function. Recently I've extended it a bit. I...

Author: JaredPar MSFT Date: 01/21/2008

CLR Memory Model

Internally and externally I see a lot of questions about the .Net Memory Model. I think a lot of the...

Author: JaredPar MSFT Date: 01/17/2008

Mixing SEH and C++ Exceptions

Recently I had a half day adventure trying to catch a SafeIntException in code I was writing. The...

Author: JaredPar MSFT Date: 01/11/2008

Tuples Part 4: Interface

Now we have a decent tuple generation script which produces a very usable set of tuple classes....

Author: JaredPar MSFT Date: 01/10/2008

ISynchronizeInvoke ... now

ISynchronizeInvoke is an interface which allows you to execute a delegate synchronously or...

Author: JaredPar MSFT Date: 01/07/2008

<Previous Next>