Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
😃 Set status

Russ Cam russcam

💭
😃 Set status
View GitHub Profile
@russcam
russcam / NEST_7x_NetTopologySuite_Geometries.linq
Created Jan 12, 2021
Using NetTopologySuite Geometries with NEST 7.x
View NEST_7x_NetTopologySuite_Geometries.linq
<Query Kind="Program">
<NuGetReference>Elasticsearch.Net</NuGetReference>
<NuGetReference>NEST</NuGetReference>
<NuGetReference>NEST.JsonNetSerializer</NuGetReference>
<NuGetReference>NetTopologySuite.IO.GeoJSON</NuGetReference>
<Namespace>Elasticsearch.Net</Namespace>
<Namespace>Elasticsearch.Net.Specification.CatApi</Namespace>
<Namespace>Nest</Namespace>
<Namespace>Nest.JsonNetSerializer</Namespace>
<Namespace>Newtonsoft.Json</Namespace>
@russcam
russcam / ThreadpoolStats.cs
Created Aug 24, 2020
Get Threadpool, worker and IOCP thread statistics
View ThreadpoolStats.cs
using System;
using System.Text;
using System.Threading;
public static class ThreadpoolStats
{
public static string GetThreadPoolStats()
{
ThreadPool.GetMaxThreads(out int maxWorkerThreads, out int maxIoThreads);
ThreadPool.GetAvailableThreads(out int freeWorkerThreads, out int freeIoThreads);
@russcam
russcam / TcpStats.cs
Created Aug 24, 2020
Get active TCP connection states and statistics
View TcpStats.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.NetworkInformation
public static class TcpStats
{
private static int _stateLength = Enum.GetNames(typeof(TcpState)).Length;
private static int _longestState = Enum.GetNames(typeof(TcpState)).Max(s => s.Length);
@russcam
russcam / elastic-gnaf.fsx
Last active Oct 1, 2020
Building a realtime Australian address search with the G-NAF dataset
View elastic-gnaf.fsx
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
@russcam
russcam / Ingesting_Attachments.cs
Last active Aug 18, 2020
Ingesting attachments with Elasticsearch and NEST 7.x
View Ingesting_Attachments.cs
using System;
using Elasticsearch.Net;
using Nest;
namespace Example
{
private static void Main()
{
var defaultIndex = "attachments";
@russcam
russcam / PowerShell Customization.md
Created Mar 12, 2019 — forked from jchandra74/PowerShell Customization.md
PowerShell, Cmder / ConEmu, Posh-Git, Oh-My-Posh, Powerline Customization
View PowerShell Customization.md

Pimping Up Your PowerShell & Cmder with Posh-Git, Oh-My-Posh, & Powerline Fonts

Backstory (TLDR)

I work as a full-stack developer at work. We are a Windows & Azure shop, so we are using Windows as our development platform, hence this customization.

For my console needs, I am using Cmder which is based on ConEmu with PowerShell as my shell of choice.

Yes, yes, I know nowadays you can use the Linux subsystem on Windows 10 which allow you to run Ubuntu on Windows. If you are looking for customization of the Ubuntu bash shell, check out this article by Scott Hanselman.

@russcam
russcam / GuestUsers.ps1
Created Feb 26, 2019
PowerShell script module for creating and adding guest users to Azure AD
View GuestUsers.ps1
New-Module -Name GuestUsers -Scriptblock {
$modules = Get-Module -ListAvailable AzureAD*
if ($null -eq $modules) {
Write-Output "Install AzureADPreview module"
Install-Module AzureADPreview
}
elseif (($modules | ?{ $_.Name -eq "AzureAD" }).Count -eq 1) {
Write-Output "Uninstall AzureAD module and install AzureADPreview module"
@russcam
russcam / LinkChecker.linq
Created Jan 30, 2019
Checks for broken links in HTML pages
View LinkChecker.linq
<Query Kind="Program">
<Reference>&lt;RuntimeDirectory&gt;\System.Net.Http.dll</Reference>
<NuGetReference>HtmlAgilityPack</NuGetReference>
<Namespace>HtmlAgilityPack</Namespace>
<Namespace>System.Net.Http</Namespace>
<Namespace>System.Threading.Tasks</Namespace>
<Namespace>System.Collections.Concurrent</Namespace>
</Query>
void Main()
@russcam
russcam / Procmon.ps1
Created Nov 3, 2018
PowerShell Script module for interacting with Process Monitor (Procmon)
View Procmon.ps1
<#
.Synopsis
Functions for working with Process monitor
.Link
https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
#>
#Requires -Version 3.0
New-Module -Name Procmon -Scriptblock {
@russcam
russcam / pkcs12_change_pass.sh
Last active Sep 26, 2018
Change the passphrase and private key password for a PKCS#12 archive
View pkcs12_change_pass.sh
#!/bin/bash
current_archive=$1
current_password=$2
new_password=$3
new_archive=$4
if [[ -z "$new_archive" ]]; then
new_archive="${current_archive%.*}_new.p12"
fi