Skip to content

Instantly share code, notes, and snippets.


Lincoln Atkinson latkin

View GitHub Profile
latkin /
Last active Aug 25, 2020
JNI Object Lifetimes Quick Reference
JNI Object Use across JNI calls? Use on different thread? Notes
JavaVM Yes
View code.fsx
open System
open System.Collections
open System.Collections.Generic
open System.Diagnostics
open System.Linq
module Algos =
// non-lazy solutions
latkin / regexinfo.ps1
Last active Aug 23, 2018
Regex matching helper
View regexinfo.ps1
Dumps capture group locations and names/numbers
> regexinfo 'Jenny: 555-867-5309' '(?<name>\w+):\s+(?<phone>(?:(?<area>\d{3})-)?(\d{3}-\d{4}))'
[Jenny]: [[555]-[867-5309]]
| || |
| || 1
| |area
| phone
latkin / func.ps1
Created Oct 14, 2017
PowerShell engine stack overflow
View func.ps1
# dot-source this function and try running `f 0`
# It work on Windows in Windows PowerShell and PowerShell Core
# On Mac the powershell process terminates with `Process is terminating due to StackOverflowException. Abort trap: 6`
# programmatically generated by parsing
function f { param($codepoint)
if(($codepoint -ge 0x0000) -and ($codepoint -le 0x0008)){ 'CM' }
elseif($codepoint -eq 0x0009) { 'BA' }
elseif($codepoint -eq 0x000A) { 'LF' }
elseif(($codepoint -ge 0x000B) -and ($codepoint -le 0x000C)){ 'BK' }

Keybase proof

I hereby claim:

  • I am latkin on github.
  • I am latkin ( on keybase.
  • I have a public key ASCflg_ClIWLE2q9NWAhQHrj7HkQGqf0na2Msud4uTsV6Ao

To claim this, I am signing this object:

latkin /
Last active Jul 13, 2017
Ripgrep v git grep speed comparison


// OS
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.15063 N/A Build 15063
System Manufacturer:       Apple Inc.
System Model:              MacBookPro11,5
System Type:               x64-based PC
Processor(s):              1 Processor(s) Installed.
latkin / benchmark.ps1
Created Aug 2, 2016
Benchmark of PowerShell de-duplication cmdlets
View benchmark.ps1
# Benchmarking code used to produce results from blog post
# home-grown HashSet-based approach
function hashunique {
[Parameter(Mandatory=$true, ValueFromPipeline = $true)]
[Object[]] $InputObject
latkin /
Last active Mar 31, 2016
How to extend a 3rd-party API with F# units of measure

Extending a 3rd-party API with F# units of measure

F# units of measure are nice, but what if I'm using a 3rd-party library which doesn't support UOM? I don't want to re-implement the library, but it would be nice to add the extra safety afforded by UOM. Can I somehow annotate the APIs of the 3rd party library with units?


How to do it

Say you have some unit-free external library like this, which you can't modify:

latkin / NativeMethods.fs
Created Feb 22, 2016
F# p/invoke example with structs
View NativeMethods.fs
namespace Test
open System.Runtime.InteropServices
// F# implementation of
module NativeMethods =
type ResourceScope =
| Connected = 0x1u
| GlobalNet = 0x2u
latkin / TestResults.xml
Created Feb 16, 2016
FCS test failures
View TestResults.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!--This file represents the results of running a test suite-->
<test-results name="C:\src\FSharp.Compiler.Service\bin\v4.0\FSharp.Compiler.Service.Tests.dll" total="373" errors="2" failures="14" not-run="8" inconclusive="0" ignored="8" skipped="0" invalid="0" date="2016-02-15" time="21:36:11">
<environment nunit-version="" clr-version="2.0.50727.8670" os-version="Microsoft Windows NT 6.2.9200.0" platform="Win32NT" cwd="C:\src\FSharp.Compiler.Service" machine-name="LINCOLN-PC" user="lincoln" user-domain="LINCOLN-PC" />
<culture-info current-culture="en-US" current-uiculture="en-US" />
<test-suite type="Test Project" name="" executed="True" result="Failure" success="False" time="112.439" asserts="0">
<test-suite type="Assembly" name="C:\src\FSharp.Compiler.Service\bin\v4.0\FSharp.Compiler.Service.Tests.dll" executed="True" result="Success" success="True" time="52.240" asserts="0">