1 min

Programming Languages of the Future

How Atwood's Law is evolving in the age of WebAssembly, and why the continued shift from traditional desktop software toward web platforms matters for future technology strategy.

Development
5 min

Modern Collaboration in Software Engineering

Why modern software engineering teams favor collaboration platforms such as Microsoft Teams over email for internal communication, knowledge sharing, file collaboration, and faster decision-making.

DevelopmentCollaboration
2 min

Productive Toolset for C# Developer

An updated checklist of software, developer tools, Visual Studio extensions, version-control clients, utilities, productivity applications, and useful web services for setting up a Windows developer machine.

Development
1 min

Be careful when Git suppresses bin Folders

Warns about overly broad bin rules in .gitignore files, which can unintentionally exclude binaries from versioned SDKs and toolsets in self-contained development trees.

Development
4 min

LINQ and ArcObjects

Explores using LINQ with ArcObjects by exposing ArcGIS features as IEnumerable<IFeature>, including deferred execution, feature cursors, recycling considerations, custom enumerators, unit testing, and performance trade-offs.

Development
1 min

Wise settings for Git

A practical Git configuration for Windows with useful aliases, colored output, line-ending settings, Notepad++ as editor, and KDiff3 or P4Merge for diff and merge operations.

Development
2 min

Toolset agnostic build server and Silverlight projects

Explains why Silverlight and Web Application projects require Microsoft.WebApplication.targets at Visual Studio's expected MSBuild location, and how to work around this dependency on a toolset-free continuous integration server.

Development
1 min

Setup license stuff for PostSharp 2.1

Troubleshooting PostSharp license errors on a TeamCity continuous integration server and configuring the correct license activation for unattended builds.

Development
1 min

NuGet: Update to an older version of a package

How to downgrade a NuGet package when Update-Package refuses to install an older version by uninstalling the current package and explicitly installing the required previous version.

Development
1 min

Review SmartAssembly from Red Gate

A review of SmartAssembly as a .NET tool for obfuscation and protecting intellectual property, with additional features beyond code obfuscation.

Development
2 min

"Failure has occurred while loading a type."

Troubleshooting the .NET error 'Failure has occurred while loading a type' in a COM+ assembly, tracing it to stale registry permissions and resolving it by removing the problematic CLSID keys and running Visual Studio with administrative privileges.

Development
2 min

InternalsVisibleTo, PublicKey and PublicKeyToken

How to use InternalsVisibleTo with strong-named .NET assemblies, including signing the test assembly and specifying the full public key instead of the public key token.

Development
1 min

Template Method Pattern and constructors

Why calling an abstract or virtual initialization method from a C# base-class constructor triggers the 'Virtual member call in constructor' warning, and when this Template Method-style approach can be safe.

Development
5 min

NuGet-Package-Management mit ArcObjects

NuGet als Paketverwaltung für ArcObjects-Bibliotheken: Drittbibliotheken versionieren, über eigene Paketquellen verteilen und Referenzen in Visual-Studio-Projekten zentral und reproduzierbar aktualisieren.

Development
4 min

Whitepaper “Aufbau eines pragmatisch smarten DevTree“

Ein pragmatischer DevTree bündelt Sourcecode, Bibliotheken, Build-Tools und weitere Entwicklungsartefakte im Versions-Repository, um reproduzierbare Builds, Continuous Integration und eine effiziente Zusammenarbeit zu ermöglichen.

Development
2 min

Let ReSharper and Code Contracts work together

How to make ReSharper understand .NET Code Contracts such as Contract.Requires by extending its external annotations and eliminating false nullability warnings.

Development
2 min

Let ReSharper and xUnit work together

How to set up xUnit with Visual Studio and ReSharper, including local xUnit references, the xUnit Contrib ReSharper plugin, external annotations, and Live Templates.

Development
1 min

Get Keymaps for ReSharper running

How to get the Keymaps for ReSharper plugin working with ReSharper 5.1 by moving its DLL to the correct version-specific plugin directory.

Development
1 min

Mercurial behind a proxy

How to use Mercurial through an HTTP proxy by supplying proxy host and port settings with the hg --config parameter.

Development
2 min

Alternatives for the Snippet Compiler

A look at alternatives to the discontinued Snippet Compiler for compiling C# snippets and preserving syntax highlighting.

Development
2 min

Experiences with the new Add-In concept of ArcGIS 10

Notes on ArcGIS Add-In limitations and packaging, including component namespaces, adding unreferenced assemblies as AddInContent, PDB handling, and extending the table context menu with buttons.

Development
5 min

Diverse Shortcuts

A personal keyboard shortcut reference for Visual Studio, ReSharper, Windows, Outlook, Word, Chrome, and SRWare Iron, covering editing, refactoring, debugging, navigation, window management, and productivity.

Development
1 min

Interpretations of F.I.R.S.T.

Key characteristics of good unit tests: fast, independent, isolated, repeatable, self-validating, small, transparent, and written at the right time.

Development
2 min

Event Naming Guidelines

A summary of .NET event naming guidelines and conventions for event handlers, EventArgs classes, pre- and post-events, and overridable OnXxx methods.

Development
3 min

Verwenden von partiellen Klassen für COM-Belange

Wie sich COM-Belange in ArcObjects mit partiellen C#-Klassen, VsCommands und ReSharper sauberer separieren lassen und warum dies eine bessere Strukturierung als #region ermöglicht.

Development
1 min

Default installation for developer machines

A personal checklist of must-have and optional developer tools, IDEs, Visual Studio add-ins, editors, utilities, and Quick Launch shortcuts for a Windows development workstation.

Development
3 min

Integrate NUnit in Hudson CI-server

How to automate NUnit tests with consistent naming, a Windows batch runner, test categories, XML result files, and Hudson CI test reporting.

Development
2 min

Integrate Simian in Hudson CI-server

How to integrate Simian duplicate-code detection into Hudson CI, configure C# file exclusions and thresholds, generate XML reports, and prevent code duplication findings from breaking the build..

Development
1 min

Hudson error: could not delete ..config.xml

How updating Hudson plugins resolved a config.xml deletion error that appeared after upgrading the Hudson CI server and changing job configurations.

Development
1 min

Searching the new FxCop-Release (10.0)

How to obtain and install a newer FxCop release from the Windows SDK for Windows 7 and .NET Framework 4 when the FxCop GUI update link is broken.

Development
2 min

My own set of SuppressMessage-lines

A collection of StyleCop and FxCop SuppressMessage examples for common code analysis issues, including naming, IoC, testing, exceptions, documentation, strong names, and framework-specific cases.

Development
1 min

Casing of COM-Interop registered components

Why renaming COM-Interop components can break deployment when WiX registry entries generated by Heat still contain the old component name, even though development builds work correctly.

Development
1 min

Global SVN Ignore Patterns und Zeitstempel-Optionen

Empfohlene globale TortoiseSVN Ignore-Patterns für .NET, Visual Studio und ReSharper sowie sinnvolle Zeitstempel-Einstellungen und Hinweise zur Sicherung der Subversion-Konfiguration.

Development
1 min

Wie spricht man den Lambda-Operator aus?

Verschiedene englische und deutsche Formulierungen zur Aussprache und Beschreibung des Lambda-Operators in C# und von Lambda-Ausdrücken.

Development
4 min

Remote Debugging mit Visual Studio

Anleitung zum Remote Debugging mit Visual Studio: Remote Debugging Monitor einrichten, Prozesse verbinden, PDB-Dateien und Firewall konfigurieren sowie typische Verbindungs- und Breakpoint-Probleme beheben.

Development
2 min

F# and ArcObjects, Part 3

Using F# sequences, pipelines, and Seq.fold with ArcObjects to iterate over features and calculate the combined bounding box of an ArcGIS feature class.

Development
1 min

F# and ArcObjects, Part 2

How to iterate through all features of an ArcObjects feature class in F# by wrapping an IFeatureCursor in an F# sequence and processing each feature.

Development
1 min

F# and ArcObjects, Part 1

First steps using F# with Esri ArcObjects: loading ArcGIS assemblies, initializing a license, connecting to an SDE workspace, and accessing a feature.

Development
1 min

ReSharper is not available

How to fix grayed-out ReSharper menus and a missing Visual Studio add-in by reinstalling MSXML 6.0 after it was removed with SQL Server 2005.

Development
1 min

Casting Anti-Pattern

C#-Tipps für ArcObjects: unnötige doppelte Casts mit is und explizitem Cast vermeiden sowie Next()-Schleifen kompakter und verständlicher formulieren.

Development
1 min

Catching COM-Exceptions from ArcObjects

How to catch COMException errors from the ArcObjects library in C#, inspect their error codes, and identify specific ArcObjects error constants.

Development
2 min

Multilanguage with C#

How to localize C# applications with .NET resource files, satellite assemblies, ResGen.exe, AL.exe, and a post-build process for multiple languages.

Development
1 min

Referenzieren von Assemblys im GAC

Wie sich .NET-Assemblies aus dem Global Assembly Cache (GAC) in Visual Studio referenzieren lassen, wenn sie nicht im Add-Reference-Dialog aufgeführt werden.

Development