Skip to content

Instantly share code, notes, and snippets.

View lobrien's full-sized avatar
💭
About 7,000 miles away from lounge access.

Larry O'Brien lobrien

💭
About 7,000 miles away from lounge access.
View GitHub Profile
@lobrien
lobrien / README.md
Created August 7, 2019 19:17 — forked from mzabriskie/README.md
Check git status of multiple repos

If you're like me you have a dir like ~/Workspace/Github where all your git repos live. I often find myself making a change in a repo, getting side tracked and ending up in another repo, or off doing something else all together. After a while I end up with several repos with modifications. This script helps me pick up where I left off by checking the status of all my repos, instead of having to check each one individually.

Usage:

git-status [directory]

This will run git status on each repo under the directory specified. If called with no directory provided it will default to the current directory.

@lobrien
lobrien / test.ipynb
Created August 13, 2019 22:24
Proper way to install via pip in Jupyter notebook
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@lobrien
lobrien / regex.fs
Created August 13, 2019 22:27
Regex template for F#
open System.Text.RegularExpressions
// Seems to be a good capturing pattern, it's "Capture everything not in the list (that is ['?']) until the closing )
/*
\(([^?]+)\)
*/
Regex.Matches (cref, "(([^?=&]+))") |> Seq.head |> fun mtch -> mtch.Value
@lobrien
lobrien / fizzbuzz.py
Created August 13, 2019 22:28
TensorFlow fizzbuzz
import numpy as np
import tensorflow as tf
def binary_encode(i, num_digits):
return np.array([i >> d & 1 for d in range(num_digits)])
def fizz_buzz_encode(i):
if i % 15 == 0: return np.array([0, 0, 0, 1])
elif i % 5 == 0: return np.array([0, 0, 1, 0])
elif i % 3 == 0: return np.array([0, 1, 0, 0])
@lobrien
lobrien / kmeans.py
Created August 13, 2019 22:28
k-means clustering 1d data
from sklearn.cluster import KMeans
import numpy as np
data = np.array([101, 107, 106, 199, 204, 205, 207, 306, 310, 312, 312, 314, 317, 318, 380, 377, 379, 382, 466, 469, 471, 472, 557, 559, 562, 566, 569])
kmeans = KMeans(n_clusters=5).fit(data.reshape(-1,1))
kmeans.predict(data.reshape(-1,1))
# array([4, 4, 4, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3,
# 3, 3, 3, 3], dtype=int32)
@lobrien
lobrien / xor.py
Created August 13, 2019 22:29
Keras XOR
import numpy as np
from keras.models import Sequential
from keras.layers.core import Activation, Dense
from keras.optimizers import SGD
# Allocate the input and output arrays
X = np.zeros((4, 2), dtype='uint8')
y = np.zeros(4, dtype='uint8')
# Training data X[i] -> Y[i]
@lobrien
lobrien / inner.fs
Created August 13, 2019 22:31
InnerXML in F#
let innerXml (node : XNode ) =
use rdr = node.CreateReader()
rdr.MoveToContent() |> ignore
rdr.ReadInnerXml()
@lobrien
lobrien / capture.cs
Last active December 21, 2022 17:23
High Performance CVPixelBuffer capture in Xamarin
Video Capture
previewLayer = new AVCaptureVideoPreviewLayer(captureSession);
//previewLayer.VideoGravity = AVLayerVideoGravity.ResizeAspectFill;
previewView.Layer.AddSublayer(previewLayer);
previewView.TranslatesAutoresizingMaskIntoConstraints = false;
var previewConstraints = new[]
{
previewView.LeftAnchor.ConstraintEqualTo(View.LeftAnchor),
previewView.RightAnchor.ConstraintEqualTo(View.RightAnchor),
@lobrien
lobrien / demo.cs
Created August 21, 2019 17:42
Simple layout anchor example
faceContainingImage.Image = UIImage.FromFile("docs.jpg");
//Put it on the screen
View.AddSubview(faceContainingImage);
faceContainingImage.TranslatesAutoresizingMaskIntoConstraints = false;
var dpConstraints = new[]
{
faceContainingImage.LeadingAnchor.ConstraintEqualTo(View.LayoutMarginsGuide.LeadingAnchor),
faceContainingImage.TrailingAnchor.ConstraintEqualTo(View.LayoutMarginsGuide.TrailingAnchor),
faceContainingImage.TopAnchor.ConstraintEqualTo(View.LayoutMarginsGuide.TopAnchor, 40.0f),
@lobrien
lobrien / action.yml
Created October 24, 2019 17:09
Inline Python Action
on: push
name: Inline Python Action
jobs:
my-job:
name: My job
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1