Skip to content

Instantly share code, notes, and snippets.

View praeclarum's full-sized avatar

Frank A. Krueger praeclarum

View GitHub Profile
@praeclarum
praeclarum / gist:37cf63de2d26ad1a5942
Created February 7, 2015 06:46
My First CoreCLR OS X Run
Last login: Fri Feb 6 22:16:42 on ttys004
muon:~ fak$ cd Applications/
muon:Applications fak$ cd coreclr-osx/
muon:coreclr-osx fak$ ls
corerun libcoreclr.dylib libmscordaccore.dylib mscorlib.dll
muon:coreclr-osx fak$ ./corerun
Usage: corerun [OPTIONS] assembly [ARGUMENTS]
Execute the specified managed assembly with the passed in arguments
Options:
@praeclarum
praeclarum / MarkovChain.fs
Last active August 29, 2015 14:13
Markov Chain that learns by observing data.
/// Markov chain that learns by observing data.
/// Let it observe a sequence of states.
/// Then you can ask it, given a state,
/// what are the probabilities of the next states occuring?
/// This chain can remember history to make better predictions.
type MarkovChain (numStates : int, memory : int) =
let numPrevious = 1 + memory
let matrixSize = int (System.Math.Pow (float numStates, float numPrevious))
@praeclarum
praeclarum / NoiseAnimation.fs
Created December 20, 2014 19:10
A little iOS app that shows a noisy square moving in a field of noise
namespace NoiseAnimation
#nowarn "64"
open System
open UIKit
open Foundation
open CoreGraphics
[<AutoOpen>]
@praeclarum
praeclarum / AutoLayout.fs
Last active April 27, 2020 11:07
AutoLayout wrapper to make creating constraints in F# easier
module Praeclarum.AutoLayout
open System
#if __IOS__
open Foundation
open UIKit
type NativeView = UIView
#else
open Foundation
@praeclarum
praeclarum / EasyLayout.fs
Last active August 23, 2020 09:52
EasyLayout makes writing auto layout code in Xamarin.iOS F# easier.
module EasyLayout
open System
open System.Drawing
open Microsoft.FSharp.Quotations
open Microsoft.FSharp.Quotations.Patterns
open Microsoft.FSharp.Quotations.DerivedPatterns
open MonoTouch.Foundation
open MonoTouch.UIKit
@praeclarum
praeclarum / Speaker.cs
Created June 26, 2014 19:08
Easy way to asynchronously speak some text on iOS with C#
using System;
using MonoTouch.AVFoundation;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Praeclarum
{
/// <summary>
/// Easy way to asynchronously speak some text.
/// <code>
@praeclarum
praeclarum / PlayMidi.cs
Created May 27, 2014 03:53
Shows how to play MIDI files and dynamically create songs on iOS using C# (Xamarin)
using System;
using System.Linq;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using MonoTouch;
using MonoTouch.AudioToolbox;
using MonoTouch.AudioUnit;
using MonoTouch.CoreFoundation;
using MonoTouch.CoreMidi;
using MonoTouch.Foundation;
@praeclarum
praeclarum / TileSticher.cs
Created April 10, 2014 22:28
Downloads and stitches map tiles
using System;
using System.Net;
using System.IO;
using Gdk;
namespace TileSticher
{
class App
{
public static int Main (string[] args)
@praeclarum
praeclarum / ObservableTableViewController.cs
Created April 7, 2014 16:57
This is my UITableViewController with DataSource property that listens for INotifyCollectionChanged
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Diagnostics;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
namespace Praeclarum.UI
{
@praeclarum
praeclarum / SingleThreaded.cs
Created January 25, 2014 23:36
Use single threaded blocking code from your UI
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Concurrent;
namespace Praeclarum
{
/// <summary>
/// Wraps a value and only allows access to it using a single thread
/// of execution (see SingleThreadQueue).