Skip to content

Instantly share code, notes, and snippets.

Just clowning around

Phillip Carter cartermp

Just clowning around
Block or report user

Report or block cartermp

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile

Priority-ordered list for an F# Europe conference

Aiming for 200+ attendees

Cost should be reasonable, but not free (200+ Euros equivalent)

  • Quality coffee and tea
  • Travel for speakers and family
  • Lodging for speakers and family
  • Speakers get a free ticket to give to someone (no travel/lodging for this person)

My LambdaConf experience

I just finished an incredible (and exhausting) week at LambdaConf in Boulder, Colorado. I can say with confidence that it's the best programming conference I've attended, and I'm anxious to be able to attend it again in the future.

Stepping outside my comfort zone

I wouldn't call myself terribly experienced - 28 years old and only 4 years out of college - but I have developed a professional comfort in a few areas:

  • Interacting with F# developers
  • Interacting with C# developers
View where-does-the-celcius-come-from.fsx
open FSharp.Data.UnitSystems.SI.UnitSymbols
type float<[<Measure>] 'm> with
member a.Bind(f,x) = f x * a
member a.Return(x) = a * sqrt x
member a.Yield(x) = a / x
member a.Combine(b:float<'m1>, c:float<'m2>) = a * b * c
member a.Quote(x) = System.Runtime.Hosting.ApplicationActivator()
member a.Delay(f) = f() * a
member a.Run(f) = Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation f
View WriteWatermark.cs
private static void WriteWatermark(string watermarkContent, Stream originalImage, Stream newImage)
originalImage.Position = 0;
using (Image inputImage = Image.FromStream(originalImage, true))
using (Graphics graphic = Graphics.FromImage(inputImage))
Font font = new Font("Georgia", 12, FontStyle.Bold);
SizeF textSize = graphic.MeasureString(watermarkContent, font);

Welcome, family, friends and loved ones. We are gathered here today to celebrate the wedding of Na Hyung and Phillip. You have come here from all over the country - Georgia, California, Washington - to share in this commitment they now make to one another, to offer your love and support to their union, and to allow Na Hyung and Phillip to start their married life together surrounded by people dear and important to them.

Na Hyung and Phillip thank you for your presence here today. They ask for your blessing, encouragement, and lifelong support for their decision to be married. They also remember other loved ones who cannot be here to share this moment with them today. Those people too, they hold dear in their hearts.

Na Hyung and Phillip, marriage is the promise between two people who love each other, who trust that love, who honor one another as individuals in that togetherness, and who wish to spend the rest of their lives together. It enables you to share your desires, longings, dreams, memories, joys and

View handler.clj
; Licensed to the Apache Software Foundation (ASF) under one or more
; contributor license agreements. See the NOTICE file distributed with
; this work for additional information regarding copyright ownership.
; The ASF licenses this file to You under the Apache License, Version 2.0
; (the "License"); you may not use this file except in compliance with
; the License. You may obtain a copy of the License at
; Unless required by applicable law or agreed to in writing, software
View this-null.cs
using System;
namespace Fuckaroo
class Program
void Test()
if (this == null)
Console.WriteLine("this is null");
View fs-pattern-matching-stuff.fs
type BST<`T> =
| Empty // handle empty case
| Node of `T * BST<`T> * BST<`T> // Node with a value and two subtrees
let foo tree =
match tree with
| Empty -> // do something with empty case
| Node(value, left, right) -> // 'value' is the value, 'left' and 'right' are the subtrees
View nuget.config
<?xml version="1.0" encoding="utf-8"?>
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />
<add key="" value="" />
<add key="fsharp-daily" value="" />
<add key="dotnet-core" value="" />
<add key="nugetbuild" value="" />
<!-- Location of dotnet-compile-fsc tool -->

Maxpath and .NET

Changes to .NET Core now allow for longer paths for directories. Here's a sample showcasing that.

Note: this sample is running on .NET Core. The easiest way to get going with that is to get the bits, create these files in a directory, and open that directory with Visual Studio Code.

To build and run:

$ dnu restore
You can’t perform that action at this time.