Welcome to MSDN Blogs Sign in | Join | Help

jaredpar's WebLog

Code, rants and ramblings of a programmer.

Syndication

News

Now Reading

Expert F#

What's a better book to read when learning F#?

Essential WPF

Thus far the best book I've read on WPF. Gets right down to working with WPF and the goals/history.

Purely Functional Data Structures

Reading this book makes me feel like I'm back in college. It will really get your mind going and is best read with a whiteboard handy.

Blog Roll

Eric Lippert
Dustin Campbell
Jon Skeet
Coding Horror
Brian McNamara
Hub FS
Full List

Browse by Tags

All Tags » API Design   (RSS)
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 the data returned will be valid.  This is very important to consider because programs must make either be making decisions on valid and predictable Read More...

Posted Monday, April 27, 2009 8:00 AM by Jared Parsons | 6 Comments

Filed under: ,

Is it Serializable?
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 Read More...

Posted Tuesday, March 31, 2009 8:00 AM by Jared Parsons | 3 Comments

Filed under: , ,

Building a WeakReference Hashtable
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 Read More...

Posted Tuesday, March 03, 2009 8:00 AM by Jared Parsons | 9 Comments

Filed under: ,

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 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 Read More...

Posted Monday, February 16, 2009 8:00 AM by Jared Parsons | 17 Comments

Filed under: , ,

Why are thread safe collections so hard?
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 Read More...

Posted Wednesday, February 11, 2009 8:00 AM by Jared Parsons | 52 Comments

NotImplementedException vs. NotSupportedException
In responding to a recent blog post , one of the readers, Jeremy Gray, noted that I was using a NotImplementedException where I should have been using a NotSupportedException .  At first I did not agree.  There was a method on an interface which Read More...

Posted Friday, December 12, 2008 8:00 AM by Jared Parsons | 5 Comments

Filed under: , ,

Immutable Collections and Compatibility with Existing Frameworks
When developing my immutable collections library , I spent a lot of time on usability. After all, if a library is not useful then what’s the point? A big portion of usability is being able to work with existing frameworks and technologies. For .Net and Read More...

Posted Wednesday, December 10, 2008 8:00 AM by Jared Parsons | 3 Comments

Custom Exceptions: When should you create them?
I think the best answer is: rarely.   It's really hard to go straight to a justification here though.  I find that answering a different question will eventually shed led on when to create a new exception. "What are the benefits of Read More...

Posted Monday, October 20, 2008 8:00 AM by Jared Parsons | 5 Comments

Immutability and ReadOnlyCollection<T>
I am a huge fan of read only/immutable collections and data. Hopefully the increased exposure through the blogosphere alerted users to the advantages of this type of programming for the appropriate scenarios. I wanted to discuss ReadOnlyCollection<T> Read More...

Posted Tuesday, April 22, 2008 8:42 AM by Jared Parsons | 1 Comments

Filed under: , , ,

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 much.  The full guideline should read: "If a generic class constructor arguments contain types of all generic parameters, provide a static method named Read More...

Posted Friday, April 11, 2008 8:24 AM by Jared Parsons | 3 Comments

Reference values in C++
Reference values are a powerful feature of C++ but I find they have one significant detractor. A developer can not look at an API call and determine if a parameter is being passed by reference or value (VB has the same problem). IMHO this is one item Read More...

Posted Thursday, April 03, 2008 10:24 AM by Jared Parsons | 2 Comments

Filed under: , ,

API Problems: CComObject::CreateInstance
CComObject::CreateInstance is a light weight method for creating instances of COM objects in your code. Unfortunately the design of the API makes it easy to introduce subtle errors into your code. The two problems are it encourages manually ref counting Read More...

Posted Friday, March 28, 2008 7:38 PM by Jared Parsons | 2 Comments

Filed under: , ,

Page view tracker