Skip to content

Instantly share code, notes, and snippets.

Philip Jander janderit

  • Wunder Mobility, Jander.IT
  • Hamburg, Germany
Block or report user

Report or block janderit

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
@janderit
janderit / functionalBowling.fs
Created Dec 3, 2019
Functional solution to the Bowling Kata
View functionalBowling.fs
//
// Functional Bowling Kata solution in F#
//
// uses recursive determination of the score starting with a certain frame number
// and lookahead for the bonus roll scores
//
let private frames_in_game = 10
type FrameType = Strike | Spare | Normal
@janderit
janderit / eventSourcedBowling.fs
Created Dec 3, 2019
Bowling kata solution using event sourcing
View eventSourcedBowling.fs
// Event-sourced solution to the Bowling Kata
// This is obviously neither a 'simple' solution for the Kata, nor an infrastructure focussed event sourcing demo,
// but rather intended to demonstrate event sourcing *principles* in a minimalistic domain.
// Philip Jander, 2019
// (thanks to Ralf Westphal (@ralfw) for posing the challenge)
// ATTN: functional code, read from the end of the file :)
/// Computation Expression Builder for functional event sourcing
module EventSourced =
@janderit
janderit / Sandbox.cs
Created Oct 15, 2016
Devopenspace: Demo Code aus der C# Session 10:30
View Sandbox.cs
using System;
using System.Collections.Generic;
namespace Sandbox
{
class Program
{
public Program()
{
Readonly_mit_Field = 5;
View bicycle.fsx
(*
The goal in this exercise is to create a model to predict
how many bicycles will be used in a day, given the
available information.
Data source: UC Irvine Machine Learning dataset, "bike sharing":
https://archive.ics.uci.edu/ml/datasets/Bike+Sharing+Dataset
We will first explore the data, using the CSV type provider
and fsharp.Charting to visualize it.
@janderit
janderit / Union.cs
Created Oct 25, 2015
C# discriminated union type
View Union.cs
// adapted from : http://stackoverflow.com/questions/3151702/discriminated-union-in-c-sharp by Juliet
public abstract class Union<TA, TB, TC>
{
public static Case1 Create(TA x) { return new Case1(x);}
public static Case2 Create(TB x) { return new Case2(x);}
public static Case3 Create(TC x) { return new Case3(x);}
public abstract T Match<T>(Func<TA, T> f, Func<TB, T> g, Func<TC, T> h);
private Union() { }
@janderit
janderit / DatabaseObserver.cs
Created Sep 2, 2015
C# class to observe SQL Server databases via Service Broker / SqlDependency
View DatabaseObserver.cs
public sealed class DatabaseObserver : IDisposable
{
private readonly string _connectionstring;
private readonly string _sqlcommand;
private readonly Action<Observation> _onChange;
private readonly Action<Exception> _onError;
private readonly Action<string> _onWarning;
private SqlConnection _connection;
private SqlCommand _cmd;
private SqlDependency _dependency;
@janderit
janderit / OptionExtension.fs
Created Aug 26, 2015
Option evaluation operator for F#
View OptionExtension.fs
type OptionDefault<'a> =
| Default of 'a
| Lazy of (unit->'a)
| Expected of reason:string
let (|.) (opt:'a option) (def:OptionDefault<'a>) : 'a =
match opt with
| Some (v) -> v
| None ->
match def with
@janderit
janderit / F# Game of life
Created Jun 17, 2015
Concise F# version of Conway's Game of Life
View F# Game of life
(*
F# Game of life
Philip Jander
@ph_j
2015
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
https://creativecommons.org/licenses/by-nc-sa/3.0/
*)
@janderit
janderit / rakefile
Last active Dec 18, 2015
sample rakefile for generating NuGet nupkgs from VS solutions
View rakefile
##########################################################################
# RAKE BUILD SCRIPT #
# (c) Philip Jander 2012, 2013 #
# Jander.IT #
##########################################################################
RAKEFILE_REVISION = "2.3"
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
@janderit
janderit / zmqexample.cs
Created Apr 11, 2013
ZeroMQ 3.1 Router/Dealer example
View zmqexample.cs
public sealed class Host
{
private readonly string _zmqEndpoint;
private readonly Action<Action> _dispatcher;
private static ZmqSocket _server;
private static readonly ConcurrentQueue<Action> WaitToSend = new ConcurrentQueue<Action>();
public Host(string zmqEndpoint, Action<Action> dispatcher)
{
_zmqEndpoint = zmqEndpoint;
You can’t perform that action at this time.