The Curious Engineer

All blogs / C# / .NET

jaredpar's WebLog

learn.microsoft.com/en-us/archive/blogs/jaredpar

Code, rants and ramblings of a programmer.

C# / .NETDev tools / editors / IDEsFunctional / PL theoryMicrosoft blogsMSDN archive

’05’10’15’20’25
Posts
312 from 2 Sep 2004 to 12 May 2014
Posting
archived, read-only
Kind
personal blog
Feed
https://learn.microsoft.com/en-us/archive/blogs/jaredpar/feed.xml

2014 2

  1. Blog Moving
  2. Interviewing College Candidates

2013 3

  1. Round tripping a VSIX project
  2. Immutable isn’t just for parallel code
  3. Don’t mix await and compound assignment

2012 2

  1. Not all “true” are created equal
  2. Authoring a Utility Library for Visual Studio

2011 7

  1. VsVim 1.0 Released
  2. DebuggerDisplay attribute best practices
  3. VsVim Update Released (Version 0.9.5)
  4. Yet another way to defeat C++ const
  5. Interesting Late Binding Scenario with ToString
  6. VsVim Update Released (Version 0.9.4)
  7. Why the debugging difference between C# and VB.Net return values?

2010 29

  1. VsVim Update Released (Version 0.9.3)
  2. Discriminated Unions in C++
  3. Automatically loading DLL’s in the debugger
  4. VsVim Update Released (Version 0.9.2)
  5. Improving the display of F# seq<T>’s in the debugger
  6. Converting System.Func<T1..TN> to FSharpFunc<T,TResult>
  7. Advanced Multitargeting in VB.Net
  8. Extension Methods and the Debugger
  9. VsVim Update Released (Version 0.8.2)
  10. Do not throw a NullReferenceException when validing “this” in an extension method
  11. Avoiding automation bugs when implementing IOleCommandTarget
  12. Newlines in the immediate window
  13. My next adventure
  14. Using lambdas to create generic factories
  15. Why is LINQ absent from debugger windows (Part 2)?
  16. VsVim Update Released (Version 0.8.1)
  17. Metablogging – changes to my blog
  18. Nothing is private in the debugger (part 2)
  19. Nothing is private in the debugger
  20. Making Equality Testing Simple
  21. Dictionary<TKey,TValue>.TryGetValue and Anonymous Types
  22. VsVim Update Released (Version 0.7.2)
  23. Flattening class hierarchies when debugging C#
  24. VsVim Update Released for RC (Version 0.7.1)
  25. VsVim Update Released (Version 0.7.0)
  26. Having fun with events in F#
  27. Easier script deployment in PowerShell 2.0
  28. The many cases of ByRef
  29. VsVim Update Released (Version 0.6.0)

2009 31

  1. Making F# type inference friendly for C#
  2. VsVim Update Released (Version 0.5.4)
  3. The File System is unpredictable
  4. VsVim Update Released (Version 0.5.3)
  5. Dev Connection Talk Slides and Code
  6. VsVim Update Released (Version 0.5.2)
  7. Vim Emulator Editor For Beta2 Released
  8. Type safety issue when assigning CComPtr<T> instances
  9. Speaking at Dev Connections in Las Vegas Next Week
  10. Using F# Discriminated Unions in C# (Beta2)
  11. Vim Emulator Editor Extension Released
  12. Why is LINQ absent from debugger windows?
  13. Code Smell: Psychic classes
  14. Test-ItemProperty utility function
  15. Understanding the is, was and will of programming
  16. Questions not to hinge a C++ interview on
  17. Immutable vs. Mutable Collection Performance
  18. Is it Serializable?
  19. Building a WeakReference Hashtable
  20. A more usable API for a mutable thread safe collection
  21. Why are thread safe collections so hard?
  22. Simulating Closures in PowerShell
  23. BclExtras Library
  24. PowerShell LINQ: Take-Count and Take-While
  25. If you implement IEquatable<T> you still must override Object’s Equals and GetHashCode
  26. PowerShell LINQ: Skip-While
  27. LINQ like functions for PowerShell: Skip-Count
  28. Dvorak keyboard … is it really faster ???
  29. Twitter
  30. Script Blocks and Closures (or lack there of)
  31. Case Sensitive vs. Case Insensitive Languages

2008 121

  1. Count-Object
  2. NotImplementedException vs. NotSupportedException
  3. Extension Methods and ByRef targets
  4. Immutable Collections and Compatibility with Existing Frameworks
  5. Mapping LINQ to F#
  6. Sorting out Binary Files
  7. Comparing Continuations in C# and F# Part 3: Double wrong
  8. Comparing Continuations in C# and F# Part 2
  9. Properly Incrementing an IntPtr
  10. Comparing Continuations in F# and C#
  11. Dereference a double IntPtr
  12. PInvoke and COM objects
  13. Stop the Beeping!!!
  14. Presentation Follow up
  15. Properly handling a WinForms Timer event
  16. Redefining Success
  17. Presenting at Net Developers Association Meeting Oct 27
  18. When can you catch a StackOverflowException?
  19. Program Files, I just want the 32 bit version
  20. Custom Exceptions: When should you create them?
  21. Community Interview
  22. Powershell and 64 bit windows helper functions
  23. Regular Expression Limitations
  24. PInvoke and bool (or should I say BOOL)?
  25. stackoverflow: a new addiction
  26. VB Catch ... When: Why so special?
  27. Functional C#: Providing an Option Part 2
  28. Unfold
  29. When is a LONG not a long?
  30. Learching: Definition to live search
  31. Euler #2
  32. PInvoke Interop Assistant on Channel 9
  33. Debugging F# list's
  34. Euler and F#
  35. Where does the * go?
  36. F# CTP First Impressions
  37. A Lesson in Serialization
  38. F# CTP Released
  39. Disabling JIT optimizations while debugging
  40. 5 things Hollywood thinks computers can do
  41. Comments
  42. Simple class for tests involving a SynchronizationContext
  43. CLR Changes in 3.5 SP1
  44. Don't speak geek to your family
  45. ImmutableStack in F# Part 2
  46. First MSDN article
  47. ImmutableStack in F#
  48. Learning a new Language: F#
  49. Vacation
  50. RantPack Update 2.0.0.2
  51. Live Mesh accepting more users
  52. Don't mix using statements and lambda expressions
  53. Yet another rule for Equality
  54. Book Review: The Pragmatic Programmer
  55. To name a tuple value: A or Item0?
  56. Making code display better on your blog
  57. Enums vs. Adapters
  58. PInvoke Interop Assistant now on CodePlex
  59. Bit by void*
  60. Using PowerShell to make sure your XP machine is defragmented
  61. Is there anything in that pipeline?
  62. Book Review: Facts and Fallacies of Software Engineering
  63. Code is not self documenting
  64. Making Equality easier
  65. RantPack Update
  66. Inkpot Color Scheme
  67. do {} while(0) what?
  68. Outdated Comments are better than no Comments
  69. Switching on Types
  70. Using Live Mesh to Synchronize Favorites
  71. Reserved words: Good for your sanity
  72. Equality isn't easy
  73. IEquatable(Of T) and GetHashCode()
  74. Saved by PowerShell
  75. C++ Programming Books
  76. RantPack - A utility library
  77. Properly Implementing Equality in VB
  78. Me, MyBase, MyClass and MyPost on the subject
  79. Gotcha: CComAutoCriticalSection and copy constructors
  80. Get-TfStatus
  81. Immutability and ReadOnlyCollection<T>
  82. Thread Local Storage template
  83. What's the purpose of this blog?
  84. Gotcha: Generic overload resolution when called generically
  85. Design Guidelines: Provide type inference friendly Create function for generic objects
  86. Have an IComparer<T> but need an IComparable<T>?
  87. Gotcha: CComPtrBase<T> assignment
  88. BinaryInsert Part2
  89. Reference values in C++
  90. Have a IComparable(Of T) but need an IComparer(Of T)?
  91. Short Post
  92. Missing API: List(Of T).BinaryInsert
  93. ActiveObject
  94. API Problems: CComObject::CreateInstance
  95. Part of being a good programmer is learning not to trust yourself
  96. Making PInvoke Easy
  97. PipeSingleReaderNoLock
  98. PipeSingleReader
  99. SynchronizationContext and Higher Order Functions
  100. Factory Methods for Futures
  101. Thread Affinity
  102. Multiple paths to IUnknown
  103. Building a Future which returns no Value
  104. Building Future<T>
  105. Building the Base Future
  106. Dealing with Exceptions in a Future
  107. The first part of building a Future is ... Waiting
  108. Get-Content and File Names
  109. Active Objects and Futures
  110. Tuples Part 8: Finishing up
  111. Tuples Part 7: Mutable Tuples
  112. Tuples Part 6: Comparing
  113. Tuples Part 5: Equality
  114. A smarter Select-StringRecurse
  115. CLR Memory Model
  116. Mixing SEH and C++ Exceptions
  117. Tuples Part 4: Interface
  118. ISynchronizeInvoke ... now
  119. Tuples Part 3: Type Inference Friendly Constructor
  120. Tuples Part 2: Basic Structure
  121. Tuples Part 1

2007 59

  1. Ternary: Reducing code
  2. C# Lambda Type Inference
  3. Filtering get-psdrive to all Local Drives
  4. Types of Immutability
  5. Getting my Fortune
  6. ViEmu and Suites
  7. Calling Extension Methods on Null Objects
  8. Tuples in PowerShell
  9. Piping elements of a String
  10. Type Inference and IEnumerable
  11. AutoSize and DockStyle.Fill don't mix
  12. VS2008 Ships
  13. Lambda Unexpected Behavior
  14. Extension Methods without 3.5 Framework
  15. Names of Anonymous Type Members
  16. C++ Refactoring: Default booleans and pointers
  17. C++ Placement New: Tracking down a crash
  18. C++ Placement New and Allocators
  19. C++ New Operator and Placement New
  20. Debugging PowerShell
  21. Select-StringRecurse
  22. IEnumerable and IEnumerable(Of T) 2
  23. IEnumerable and IEnumerable(Of T)
  24. .Net Framework Source Code
  25. Casting to an Anonymous Type
  26. Customizing Displays in the Debugger for System Types
  27. C++ Literal Number Grammar
  28. Testing your code
  29. C# Keyword Identifiers
  30. Singleton Pattern
  31. DebuggerNonUserCode and Properties
  32. C++ Frustration: Unions and Constructors
  33. C# Type inference change for Orcas
  34. Closures in VB Part 6: Limitations
  35. PowerShell Simple Tricks: Number to Hex
  36. Expression Evaluator Sample Released
  37. Detecting if you are an Admin
  38. Coding Quiz: Anonymous Type Types
  39. IMetaDataImport::GetParamForMethodIndex
  40. Closures in VB Part 5: Looping
  41. Closures in VB Part 4: Variable Lifetime
  42. Defining Guids
  43. Expression Evaluator SDK
  44. Closures in VB Part 3: Scope
  45. Closures in VB Part 2: Method Calls
  46. Closures in VB: Part 1
  47. CoSetProxyBlanket and Managed Code
  48. Debugging Managed Code with Object ID's
  49. Readonly TextBox that doesn't look funny
  50. Blogging about Code
  51. PowerShell and SVN
  52. The problem with PowerShell is that sometimes you can't use it
  53. Serialization, understanding the problem
  54. Publishing Web Application Projects via FTP
  55. Boolean Parameters
  56. Determining if you're an Administrator from Powershell
  57. Where is this script?
  58. Passing data between ASP.Net pages
  59. Windows Forms Event LifeCycle

2006 20

  1. C++ preprocessor and template identifiers
  2. Dispose vs Delete
  3. LUA + MSI + Luanch program now on Vista
  4. Using PowerShell to update ACLS
  5. ComboBox SelectedItem, SelectedValue, SelectedWhat???
  6. Using PowerShell to automate redundant tasks
  7. Responding to Windows Shutdown
  8. Custom ComboBox
  9. PowerShell Tutorial
  10. LinkButton
  11. Dragging a Controls around a Form
  12. DataBinding to ToolStripDropDown
  13. Role Change
  14. Thread Security changes in 2.0
  15. Follow up: PInvoke with 32 and 64 bit
  16. PInvoke with 32 and 64 bit machines
  17. ClickOnce FAQ
  18. Cross Posting Test
  19. Documentation for HeapCreate
  20. Lessons in Code Access Security: PropertyGrid

2005 35

  1. Monad: Detecting if you are an Admin
  2. Quick Monad Scripts
  3. Shell Scripting with Monad
  4. Getting HRESULTs back from COM Interop calls
  5. Assignment vs Interlocked.Exchange
  6. Path.GetFullPath()
  7. Dos and Lotus 1-2-3 Myth
  8. File System Permissions
  9. New way of dragging and dropping files
  10. Team System Developer & Test SKUs Public Chat this Wednesday
  11. Marshaling Nested Data Structures Part 4
  12. Marshaling Nested Data Structures Part 3
  13. Marshaling Nested Data Structures Part 2
  14. Marshaling Nested Data Structures Part 1
  15. Updated Version of RunAsAdmin Available
  16. New LUA Tool
  17. Modifying ATL Project to Register Per User
  18. Paper on Content Distrbution
  19. COM objects and LUA
  20. Interop and Unions
  21. COMException error messages (part 2)
  22. Console Apps and STA COM Objects
  23. Using Windows SxS to override COM Objects as LUA
  24. Changing Logon screen keyboard layout
  25. VS 2005 Beta2 is now available
  26. Initiating a remote desktop console session as NonAdmin
  27. Finally
  28. File method and property names
  29. COMException error messages
  30. Code snippets in Whidbey
  31. Rediscovering Macros with MC++
  32. Managed C++, Interop and FILETIME
  33. Myth: Creating web applications with Visual Studio requires Admin privileges
  34. Georgia Tech Career Fair
  35. Who's selling your email address?

2004 3

  1. Singleton redundancy
  2. Dfs problems
  3. Introduction