Home About Eric Topics SourceGear

Selected Blog Posts

Wednesday, 2 October 2019

Xamarin.Forms: LayoutOptions

Things with LayoutOptions in Xamarin.Forms can get weird.

Monday, 16 September 2019

Xamarin.Forms: StackLayout vs Grid

An example from Xamarin.Forms of how choosing the path that is the most convenient for the developer can end up making things worse for the user.

Wednesday, 14 August 2019

Nullable references in C# 8.0

There are a few aspects of C# 8.0 nullable references that may seem surprising, but I like my compiler to complain about potential problems, so I am enthusiastic about using this feature more.

Tuesday, 2 July 2019

Using Span for high performance interop with unmanaged libraries

The challenges of interop with an unmanaged library that deals in zero-terminated strings

Monday, 24 June 2019

Dynamic loading of native code with .NET

My problem with DllImport is that the library name has to be hard-coded at compile time.

Tuesday, 30 April 2019

Exploring wasm2cil performance

Very early and very rough comparisons against wasmtime and native

Tuesday, 23 April 2019

Running WebAssembly and WASI with .NET

A project that can take a WebAssembly/WASI module and convert it into a .NET assembly on disk.

Wednesday, 10 April 2019

Bringing 12-year-old WPF code to .NET Core 3

This code was developed on .NET 2.0 with Visual Studio 2005, but it required only minimal effort to bring it into the modern age.

Tuesday, 9 April 2019

(Follow-up to) Attracting more developers to F#

Most of the feedback I received was positive, but not all of it, and I now see that my post had some minor problems, and a couple of major ones.

Friday, 5 April 2019

Attracting more developers to F#

The least effective way to promote F# adoption is the one that comes most naturally.

Monday, 25 March 2019

Building PepTown with .NET: App Overview

PepTown is our smartphone-based fundraising solution for high-school sports teams. The architecture of PepTown is .NET throughout. This blog entry is an overview of some of the choices we made when building the mobile app.

Tuesday, 19 March 2019

Non-idiomatic F#

I claim that writing non-functional F# works out WAY better than writing functional C#.

Wednesday, 15 June 2016

SQLite and Android N

The upcoming release of Android N is going to cause problems for many apps that use SQLite.

Monday, 8 June 2015

My initial experience with Rust

I wrote a bunch of Rust code. I liked it.

Monday, 5 January 2015

Why your F# evangelism isn't working

Yes, F# has a seven year head start, but Swift will cross the chasm first. This has nothing to do with the relative merits of these two languages. The simple fact is that C# is kinda great and Objective-C is kinda dreadful.

Monday, 14 May 2007

Requirements

But right after a spec is written, a document is usually the wrong form. It started out as a document only because that form was most convenient for the author. But a document is not the most convenient form for the people who are reading or using the spec, and those people have the author outnumbered. Most of those readers/users want that spec to be a database instead of a document.

Friday, 11 November 2005

My life as a Code Economist

So why would an ISV ever intentionally release a product with known bugs?

Tuesday, 19 August 2003

Career Calculus

I submit that worrying about how others perceive your C value is a waste of time. The key to a great career is to focus on L, the first derivative of the equation. L is the rate at which your cluefulness is changing over time. The actual value of C at any given moment is usually a distraction. Only one question matters: With each day that goes by, are you getting more clueful, or less clueful? Or are you just stuck?

Tuesday, 15 April 2003

Memoirs From the Browser Wars

We sold our browser technology to 120 companies, but one of them slaughtered the other 119.