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 » Gotcha   (RSS)
Type safety issue when assigning CComPtr<T> instances
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.  Read More...

Posted Wednesday, November 04, 2009 8:00 AM by Jared Parsons | 1 Comments

Filed under: ,

Code Smell: Psychic classes
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 Read More...

Posted Thursday, June 18, 2009 10:00 AM by Jared Parsons | 0 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: , ,

Properly handling a WinForms Timer event
The WinForms Timer class allows the user to perform a particular action at a set interval.  Timer objects fire a Tick event at the set time which users can easily respond to.  This is very useful if a developer wants to check for a particular Read More...

Posted Monday, October 27, 2008 8:00 AM by Jared Parsons | 4 Comments

Filed under: , ,

Redefining Success
Spent about an hour debugging a bit of code today.  I was attempting to read data from a particular source and kept getting back failure codes.  After some debugging I discovered the data didn't actually exist in the source I was reading from.  Read More...

Posted Friday, October 24, 2008 8:00 AM by Jared Parsons | 1 Comments

Filed under: ,

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 handling a StackOverflowException was changed.  User code can no longer handle the exception[1].  Instead the CLR will simply terminate the process.  Read More...

Posted Wednesday, October 22, 2008 8:00 AM by Jared Parsons | 0 Comments

Filed under: , ,

Regular Expression Limitations
I'm struggling with an introduction line to this blog post so I'm just going to go for bluntness:  Regular expressions are limited and it's important to understand these limitations.  Ok, now that the premise is out of the way, lets go to a Read More...

Posted Wednesday, October 15, 2008 8:00 AM by Jared Parsons | 0 Comments

Filed under: ,

A Lesson in Serialization
A few days ago, I recklessly added a [Serialization] attribute to a few of my immutable collection types.  I needed to pass data between AppDomain's and adding [Serialization] was the quick and dirty fix.  Compiled, ran and I didn't think much Read More...

Posted Tuesday, September 02, 2008 8:00 AM by Jared Parsons | 2 Comments

Filed under: , , ,

Don't mix using statements and lambda expressions
Title pretty much says it all but what good is a rule without any explanation. The main issue here is that at the core, using statements and lambda expressions both alter variable lifetimes. Unfortunately they alter the lifetime in different directions. Read More...

Posted Wednesday, July 16, 2008 8:00 AM by Jared Parsons | 15 Comments

Filed under: ,

Bit by void*
Recently I got bit by void* again because of another C++ quirk I didn't think through.  I had a class which wrapped a void* which could be one of many different structs.  The structs were POD and didn't have any shared functionality hence I Read More...

Posted Monday, June 16, 2008 8:00 AM by Jared Parsons | 6 Comments

Filed under: ,

Gotcha: CComAutoCriticalSection and copy constructors
While investigating a crash during a suite run I found the stack walk included the destructor for a CComAutoCriticalSection . This is a fairly reliable class so I immediately suspected my code. I did a couple of quick checks for a double free and didn't Read More...

Posted Thursday, April 24, 2008 8:00 AM by Jared Parsons | 0 Comments

Filed under: ,

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: , , ,

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 of gotchas. Lets say you have two methods with the same number of arguments. One method has arguments with generic types and the other does not. For Example: Read More...

Posted Monday, April 14, 2008 8:30 AM by Jared Parsons | 1 Comments

Filed under: , ,

Gotcha: CComPtrBase<T> assignment
Today what started out as a crash due to a pure virtual call turned into finding a gotcha in CComPtrBase<T>. Essentially the code in question boiled down to the following. Can you spot the problem? void GetAStudent(CComPtrBase<T> &spStudent) Read More...

Posted Tuesday, April 08, 2008 11:44 AM by Jared Parsons | 2 Comments

Filed under: , ,

Get-Content and File Names
Another day, another PowerShell feature discovered.  Unfortunately this time it was a feature that made me think I had a bug in my script.  The script read through some directories, did some file parsing and created a data object for every directory Read More...

Posted Saturday, February 02, 2008 1:55 PM by Jared Parsons | 1 Comments

Filed under: ,

More Posts Next page »
Page view tracker