Skip to content

Instantly share code, notes, and snippets.

View jonathanpeppers's full-sized avatar
traveling to NDC Oslo!

Jonathan Peppers jonathanpeppers

traveling to NDC Oslo!
View GitHub Profile
jonathanpeppers /
Last active June 30, 2023 16:39
Is this a memory leak?

Consider the XAML:

  <Image Source="foo.png" />
 graph TD;
jonathanpeppers /
Last active July 12, 2023 16:28
Describing how I get .gcdump files from the Mono runtime

How I Work on .NET MAUI

This is a description on how I build/contribute to .NET MAUI, it may differ from I thought I would write this down in case it helps someone.


If I'm testing the provisioning of .NET and workloads, I may run:

jonathanpeppers /
Last active February 16, 2023 18:03
Installation instructions for .NET 8 Preview 1 and .NET MAUI
jonathanpeppers /
Last active October 20, 2022 15:36
Notes on collecting MSBuild logs (for performance, or other reasons)

.NET Workload Troubleshooting

To install the maui workload, you have two options:

  1. dotnet workload install commands
  2. Visual Studio on Windows can install .msi files for each workload pack. Note that the concept of a "Visual Studio workload" is different than a ".NET workload".

VS for Mac's installer and updater use dotnet workload install commands. It's considerably simpler to get a Mac machine to a clean state.


jonathanpeppers /
Last active November 9, 2021 16:49
Android / Java / .NET interop TLDR

How does Java interop work in .NET 6?

Most of this also applies to Xamarin.Android, as we have nearly the same implementation.

Let's start with a simple Android API call:

Android.Util.Log.Debug ("MYTAG", "MyMessage");
jonathanpeppers / profiles.json
Created February 22, 2020 01:36
Windows Terminal settings
"$schema": "",
"globals" :
"alwaysShowTabs" : true,
"defaultProfile" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"initialCols" : 120,
"initialRows" : 30,
"keybindings" :
jonathanpeppers / .zprofile
Created February 13, 2020 22:58
My default zsh profile for macOS / xamarin-android development
alias xabuild="$XA_DIR/bin/Debug/bin/xabuild"
alias xabuildr="$XA_DIR/bin/Release/bin/xabuild"
alias adb="$XA_ANDROID_SDK_DIR/platform-tools/adb"
alias java="$JAVA_HOME/bin/java"
alias javac="$JAVA_HOME/bin/javac"
jonathanpeppers /
Last active January 16, 2020 06:15
Xamarin.Forms performance results

Over December, I have been able to work on Xamarin.Forms + Android startup perf. Here is the initial results I'm seeing with the accumulation of all my changes.

All runs were on a Pixel 3 XL

16.4 Blank Forms App template, Xamarin.Forms


01-15 23:46:01.157  1473  1503 I ActivityTaskManager: Displayed com.xamarin.forms.helloforms/crc6450e568c951913723.MainActivity: +859ms
01-15 23:46:04.919  1473  1503 I ActivityTaskManager: Displayed com.xamarin.forms.helloforms/crc6450e568c951913723.MainActivity: +843ms