Skip to content

Instantly share code, notes, and snippets.

@Thorium
Thorium / gist:1972349
Created March 4, 2012 10:43
Timestamp with timezone (YYYYMMDDhhmmssffff+zzzz)
let myTimeStamp =
let zone = System.TimeZone.CurrentTimeZone.GetUtcOffset System.DateTime.Now
let prefix = match (zone<System.TimeSpan.Zero) with | true -> "-" | _ -> "+"
System.DateTime.UtcNow.ToString("yyyyMMddHHmmssffff") + prefix + zone.ToString("hhss");
@Thorium
Thorium / gist:1972345
Created March 4, 2012 10:42
Function to get all possible combinations
//See examples:
//Input: ["a";"b"]
//Output: ["a"; "b"; "ab"]
//Input: ["a";"b";"c";"d"]
//Output: ["a"; "b"; "c"; "d"; "ab"; "ac"; "ad"; "bc"; "bd"; "cd"; "bcd"; "abc"; "abd"; "acd"; "abcd"]
//Input: [1;2;5]
//Output: [1; 2; 5; 3; 6; 7; 8]
@Thorium
Thorium / gist:1972331
Created March 4, 2012 10:41
Getting a key from Windows registry
let REGISTRYSOFTWARE = "Software";
let REGISTRYMYPATH = "MySoftware";
let internal GetRegistryValue key =
use path1 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(REGISTRYSOFTWARE)
match path1 with
| null -> failwith("Access failed to registry: hklm\\"+REGISTRYSOFTWARE)
| keyhklmsw ->
use path2 = keyhklmsw.OpenSubKey(REGISTRYMYPATH)
match path2 with
@Thorium
Thorium / gist:1972308
Created March 4, 2012 10:40
Get Stock Quote Data and Historical Stock Prices from Yahoo Finance
open System
open System.IO
open System.Xml
open System.Text
open System.Net
open System.Globalization
let makeUrl symbol (dfrom:DateTime) (dto:DateTime) =
//Uses the not-so-known chart-data:
let monthfix (d:DateTime)= (d.Month-1).ToString()
@Thorium
Thorium / Rijndael.fs
Created March 4, 2012 10:39
Decrypting a Rijndael string
open System.IO
open System.Security.Cryptography
open System.Text
open System.Diagnostics.Contracts
let DeCryptStringWith (crypted:string) (key:string) (iv:string) =
let enc = new ASCIIEncoding()
let algo = Rijndael.Create()
if(crypted.Length < 5) then
failwith "Crypted string length has to be over 5 chars."
@Thorium
Thorium / gist:1972225
Created March 4, 2012 10:36
Convert an object to json, and json to object
#r "System.Runtime.Serialization" // for interactive
// Reference to assembly System.Runtime.Serialization and System.Xml
open System.IO
open System.Runtime.Serialization.Json
open System.Xml
open System.Text
/// Object to Json
let internal json<'t> (myObj:'t) =