Tom Fischer designs and builds software solutions upon the Microsoft stack. And every so often he writes and presents some of the things he's learned in his trade over the past dozen years.
Microsoft has introduced a new version of Razor with ASP.NET Core 2. Tom Fischer explains why it’s worth taking another look at this methodology, especially those who discounted it before. He walks you through creating a simple application, highlighting the benefits or Razor.… Read more
Sharing and reusing large objects between components and services can save time and computing resources. Tom Fischer explains how to take advantage of the Memory Mapped Files feature of .NET to help boost performance.… Read more
Tuples have many uses in languages like F# and Python; they underlie relational theory. The .NET support for tuples seems rather limp by comparison. Why is this, and what are the obvious uses for tuples in C#? Tom Fischer takes on the cause of C# tuples and tackles the 'what', 'why' and 'when'. He makes the case for using them, while explaining the tribulations of the .NET implementation in the past.… Read more
Amazon's Simple Workflow Service (SWF) in AWS provides a model of workflow that is simple to understand but is it simple to get a robust and durable workflow in place? Tom Fischer guides you through the bewildering early stages of your first SWF application, and concludes that workflows inherently take time and effort to get right, but SWF provides a formidable cloud-based solution … Read more
For some time now, C# programmers have gazed enviously at the interactive capabilities of F#, Python and PowerShell. For rapid prototyping work and interactive debugging, dynamic languages are hard to beat. C# Interactive slipped into view quietly, without razzmatazz, in Visual Studio 2015 Update 1. It's good, it's worth knowing about; and Tom Fischer is intent on convincing you of that.… Read more
If you are still storing passwords with MD5 hashing you're doing it wrong. The .NET platform provides a Cryptography library that allows you to develop PBKDF2 user authentication to the standards of the Open Web Application Security Project. Tom Fischer explains the background, shows a solution, and discusses the issues.… Read more
We all love recursion right up to the point of actually using it in production code. Why? Recursion can illustrate in code many of the excellent 'divide and conquer' algorithms, but will always provide the compiler with a challenge to implement as efficiently as an iterative solution, and can present the programmer a puzzle to test, debug and render resilient to bad data. … Read more
In LINQ, the 'fluent' method syntax flows logically and intuitively, and allows them to be combined simply, because each method returns the appropriate type of object for the next. Can this fluent technique be extended as an API style to make it easier to develop C# team-based applications for enterprises? … Read more
The move from client-server version ontrol systems (VCS) to distributed version control systems can be bewildering. Tom uses his experience of moving to Mercurial to explain those aspects of the move that are liable to cause confusion to anyone steeped in the culture of the traditional VCS. Rebase, Push, Pull and Merge explained!… Read more
Enums in .NET are strongly-typed constants that allow you to share a multi-valued property across applications. When used in a XAML application with view-models it can provide a design choice that greatly simplifies the handling of related boolean attributes. … Read more
We all understand the value of Unit Testing, but how come so few organisations maintain unit tests for their in-house applications? We can no longer pretend that unit testing is a universal panacea for ensuring less-buggy applications. Instead, we should be prepared to actively justify the use of unit tests, and be more savvy about where in the development cycle the unit test resources should be most effectively used.… Read more