Skip to content

Instantly share code, notes, and snippets.

View jnericks's full-sized avatar

Jon Erickson jnericks

View GitHub Profile
package strings
import (
"strings"
"unicode"
)
func Count(s, substr string) int { return strings.Count(s, substr) }
func Contains(s, substr string) bool { return strings.Contains(s, substr) }
func ContainsAny(s, chars string) bool { return strings.ContainsAny(s, chars) }
package copyby_test
/*
$ go test -bench=. -benchmem ∞
goos: darwin
goarch: amd64
pkg: github.com/jnericks/copyby
BenchmarkCopyByStruct-12 1000000000 0.257 ns/op 0 B/op 0 allocs/op
BenchmarkCopyByStructNoInline-12 525012592 2.26 ns/op 0 B/op 0 allocs/op
BenchmarkCopyByPtr-12 1000000000 0.262 ns/op 0 B/op 0 allocs/op
@jnericks
jnericks / errors.go
Created August 16, 2016 22:21
Compose multiple errors into one
package main
import "fmt"
// Errors allows you to compose multiple errors
type Errors []error
func (e Errors) Error() string {
if len(e) == 1 {
return e[0].Error()
@jnericks
jnericks / SystemUnderTestFactoryTesterNew.java
Last active August 29, 2015 14:25
SystemUnderTestFactoryTesterNew.java
package com.jnericks.testutils;
import com.google.common.base.*;
import org.junit.*;
import java.util.function.*;
import java.util.function.Function;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.StrictAssertions.assertThatThrownBy;
@jnericks
jnericks / SystemUnderTestFactoryNew.java
Created July 15, 2015 18:51
SystemUnderTestFactoryNew.java
package com.jnericks.testutils;
import java.lang.reflect.*;
import java.util.*;
import java.util.function.*;
import java.util.function.Supplier;
import static org.mockito.Mockito.*;
@SuppressWarnings("unchecked")
@jnericks
jnericks / SystemUnderTestFactoryTester.java
Created July 15, 2015 18:23
SystemUnderTestFactoryTester.java
package com.jnericks.testutils;
import org.junit.*;
import java.util.function.*;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.StrictAssertions.assertThatThrownBy;
import static org.mockito.Mockito.*;
@jnericks
jnericks / SystemUnderTestFactory.java
Created July 15, 2015 18:22
SystemUnderTestFactory.java
package com.jnericks.testutils;
import java.lang.reflect.*;
import java.util.*;
import java.util.function.*;
import java.util.function.Supplier;
import static org.mockito.Mockito.*;
@SuppressWarnings("unchecked")
@jnericks
jnericks / NotifyPropertyChangedBase.cs
Created January 28, 2015 17:17
NotifyPropertyChangedBase
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq.Expressions;
using System.Reflection;
namespace Jon
{
public abstract class NotifyPropertyChangedBase : INotifyPropertyChanged
{
@jnericks
jnericks / MyToolsAndServices.md
Last active June 20, 2019 03:36
Jon Erickson's Tools & Services List

The following are the tools, services, etc that I personally use and recommend. Contact me @jnericks with any questions or suggestions, as I am always looking for better tools.

Applications

OSX Windows Android Web Notes
1Password Password management
7-zip
Alfred OSX launcher
AppVeyor CD/DI for .NET GitHub Projects
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int x = 4;
int y = 6;