Skip to content

Instantly share code, notes, and snippets.

View DominicFinn's full-sized avatar
💭
Whirring away

Dominic Finn DominicFinn

💭
Whirring away
View GitHub Profile
@DominicFinn
DominicFinn / nancy.fs
Created July 4, 2014 14:03
Nancy F# Example with parameter
open System
open Nancy
open Nancy.Hosting.Self
let (?) (parameters:obj) param =
(parameters :?> Nancy.DynamicDictionary).[param]
let sayHello(name) =
"hello " + name
@DominicFinn
DominicFinn / regexTwoChars.fsx
Created July 7, 2014 08:50
Match exactly two numerical characters
open System
open System.Text.RegularExpressions
let matcher(s) =
let regex = new Regex("^[0-9]{2}$")
let matched = regex.Match(s)
matched.Success
let stringOne = matcher "dom" // false
let stringTwo = matcher "12" // true
@DominicFinn
DominicFinn / SqlTypeProvider.fsx
Created July 10, 2014 09:48
Enough to get a hold of your database in F#
#r "FSharp.Data.TypeProviders.dll"
#r "System.Data.Linq.dll"
open System
open System.Linq
open System.Data
open Microsoft.FSharp.Data.TypeProviders
open System.Text.RegularExpressions
[<Literal>]
@DominicFinn
DominicFinn / FormWithTasks.fsx
Created August 15, 2014 12:52
Accessing the UI Thread in the right context in tasks
open System.Windows.Forms
open System.Threading.Tasks
let createForm() =
let form = new Form()
let button = new Button()
button.Text <- "Start"
form.Controls.Add(button)
@DominicFinn
DominicFinn / msmq.fsx
Created August 19, 2014 22:57
Msmq Basics in F#
#r "C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.5\\System.Messaging.dll"
// reference system.messaging, no external dependencies required.
open System.Messaging
// delete the queues if you are playing about and need them again
//MessageQueue.Delete(@".\private$\doms-fsi-queue-1")
//MessageQueue.Delete(@".\private$\doms-fsi-queue-2")
// create a queue with all the defaults
@DominicFinn
DominicFinn / FooDeleter.js
Last active August 29, 2015 14:05
Delete Files called foo, deletes files that end in foo from a folder called tmp
var fs = require('fs');
function fileEndsWith(fileName, suffix) {
return fileName.indexOf(suffix, fileName.length - suffix.length) !== -1;
};
var dir = './tmp/';
fs.readdir(dir, function(err, files) {
if (err) throw err;
@DominicFinn
DominicFinn / PeopleFilter.js
Last active August 29, 2015 14:05
Map / Reducing in Javascript yourself.
var people = [
{ name:"dom", age:22}
, { name:"paddy", age:22}
, { name:"pete", age:22}
, { name:"dick", age:100}
]
var query1 = { field: "age", found: function(field) {
if(field > 50) {
return true;
@DominicFinn
DominicFinn / Service.cs
Created October 6, 2014 11:07
Create Sql Query NHibernate
public class Service
{
public IEnumerable<Report> Report(DateTime start, DateTime end)
{
var results = unitOfWork.Session.CreateSQLQuery(@"
select r.id, r.number
from Report r
where r.Date between =:start and =:end
")
.SetParameter("start", start)
@DominicFinn
DominicFinn / something.cs
Created October 21, 2014 14:34
Dom and Ed messing about with some reflection and recursion
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace lol
{
class Program
@DominicFinn
DominicFinn / Program.fs
Last active August 29, 2015 14:17
F# Azure Queue Storage Example
open Microsoft.WindowsAzure.Storage
open System.Configuration
open Microsoft.WindowsAzure.Storage.Queue
open System
open Newtonsoft.Json
type Message = { Title:string; Details:string }
type LogMessage =
| Error of Message