Background In Visual Studio 2015 there was a project template for building HTML applications with TypeScript. It was called, predictably, 'HTML Application with TypeScript'. The Visual Studio team have removed this template in versions of Visual Studio after Visual Studio 2017. I can see why. It contains some code that shows the time, ticking, in … Continue reading ‘HTML Application with TypeScript’ Project Template for Visual Studio
Category: .net
Debugging JavaScript/TypeScript Using Visual Studio 2017 and Chrome or Edge
Introduction One of the great features of Visual Studio 2017 is that you can debug JavaScript and TypeScript directly in the Visual Studio IDE if they are running in Google''s Chrome browser. We've been able to do this with Internet Explorer and Visual Studio for some time, but of course Internet Explorer is old and has … Continue reading Debugging JavaScript/TypeScript Using Visual Studio 2017 and Chrome or Edge
Connecting to Tibco EMS from a C# Client
Introduction This is a slightly esoteric post, but hopefully it will be of use somewhere. Below is some reasonably simple code that shows the basic use cases for connecting to a Tibco EMS Server topic from a C# client using Tibco's TIBCO.EMS.dll. It actually points at a locally installed instance of EMS. That is, the … Continue reading Connecting to Tibco EMS from a C# Client
Asynchronous Programming in .Net: Async and Await for Beginners
Introduction There are several ways of doing asynchronous programming in .Net. Visual Studio 2012 introduces a new approach using the 'await' and 'async' keywords. These tell the compiler to construct task continuations in quite an unusual way. I found them quite difficult to understand using the Microsoft documentation, which annoyingly keeps saying how easy they … Continue reading Asynchronous Programming in .Net: Async and Await for Beginners
Why Starting a New Task in the Task Parallel Library (TPL) Doesn’t Always Start a New Thread
The Task Parallel Library in .Net is a wonderful resource. However, one thing that is a little confusing is that it is actually possible to start a task that runs on the same thread as the current code. That is, we can do Task.StartNew and it still runs on the same thread. This isn't the … Continue reading Why Starting a New Task in the Task Parallel Library (TPL) Doesn’t Always Start a New Thread
Floating Point Arithmetic
We had a discussion about floating point arithmetic on 32-bit processors in our team this morning: here's a brief note I made on the subject a long time ago. double a = 95.0; double b = 94.0001; double c = a – b; In .Net this give c = 0.99989999999999668. It should be 0.9999 obviously. This … Continue reading Floating Point Arithmetic
Delegate Syntax in C# for Beginners
Introduction I have been programming with C# since it came out but I still find the delegate syntax confusing. This is at least partially because Microsoft have changed the recommended syntax regularly over the years. This article is a quick recap of the various syntaxes. It also looks at some of the issues with using … Continue reading Delegate Syntax in C# for Beginners
Blurry Text with Small Fonts in WPF
Introduction The difficulties with text rendering in WPF have been well documented elsewhere. However, every time I get a blurry button I can't remember how to fix it. This brief post shows the usual solutions. TextOptions.TextFormattingMode With small font sizes the default WPF text rendering can lead to text looking very blurry. This is particularly … Continue reading Blurry Text with Small Fonts in WPF
Review of a Trading System Project
Introduction In late 2007 I wrote a series of articles on Microsoft’s Composite Application Block (CAB). At that time I was running a team that was developing a user interface framework that used the CAB. We’re now four years on and that framework is widely used throughout our department. There are currently modules from eleven … Continue reading Review of a Trading System Project
Closures in C#
Introduction There seems to be some confusion about closures in C#: people are mystified as to what they are and there’s even an implication that they don’t work the way you’d expect. As this short article will explain they are actually quite simple, and do work the way you’d expect if you’re an object oriented … Continue reading Closures in C#