Skip to content

Instantly share code, notes, and snippets.

@fbmnds
fbmnds / dht11.c
Created January 11, 2026 20:28 — forked from merlinblack/dht11.c
/**
Written 2021 by Nigel Atkinson because the predominantly found C example for
reading a DHT11 just did not work.
Greatly inspired by the Adafruit python library for DHT11 & DHT22, however
simplified and using the library wiringPi.
Adafruit write good code! :-)
Tested on a Raspberry Pi 2B r1.1
module Git =
open System
open System.Diagnostics
let private runCommand cmd args =
let startInfo = new ProcessStartInfo()
startInfo.FileName <- cmd
startInfo.Arguments <- args
startInfo.UseShellExecute <- false
startInfo.RedirectStandardOutput <- true
@fbmnds
fbmnds / StateMachine.fsx
Created May 15, 2016 19:09 — forked from taimila/StateMachine.fsx
Dynamic recursive API in F#
[<AutoOpen>]
module StateMachine =
type State =
| StateA
| StateB
| StateC
| StateD
| End
@fbmnds
fbmnds / generate.fsx
Created March 13, 2016 09:01 — forked from adamchester/generate.fsx
Generate a Visual Studio DGML Graph from F#
[<AutoOpen>]
module Workflow =
type State = Initial | Draft | PendingApproval | Approved | Cancelled | Completed
type Action = Create | Cancel | SendForApproval | Approve | Reject | Complete
type Role = Creator | Approver | Completor
type Transition = { Action:Action; From:State; To:State; Roles:Role list }
module Transitions =
let create = { Action=Create; From=Initial; To=Draft; Roles=[ Creator ] }
let cancel = { Action=Cancel; From=Draft; To=Cancelled; Roles=[ Creator ] }
let sendForAppr = { Action=SendForApproval; From=Draft; To=PendingApproval; Roles=[ Creator ] }
@fbmnds
fbmnds / gist:8749840
Last active August 29, 2015 13:55 — forked from forki/gist:8740980
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly><name>FakeLib</name></assembly>
<members>
<member name="M:Fake.AdditionalSyntax.op_EqualsQmarkGreater(System.String,System.String,System.Boolean)">
<summary>
Defines a conditional dependency - y is dependent on x if the condition is true
</summary>
</member>
<member name="M:Fake.AdditionalSyntax.op_LessEqualsGreater(System.String,System.String)">
(class (repeat 1))
; clojure.lang.LazySeq
(ancestors clojure.lang.LazySeq)
; #{clojure.lang.IPersistentCollection clojure.lang.IPending java.util.Collection
; java.util.List clojure.lang.Obj clojure.lang.ISeq clojure.lang.IMeta java.io.Serializable
; clojure.lang.IHashEq clojure.lang.IObj clojure.lang.Seqable clojure.lang.Sequential
; java.lang.Iterable java.lang.Object}
(clojure.set/difference (ancestors clojure.lang.PersistentList) (ancestors clojure.lang.LazySeq))