Skip to content

Instantly share code, notes, and snippets.

View steveoh's full-sized avatar
🚀

steveoh steveoh

🚀
View GitHub Profile
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
public static class ModelStateDictionaryExtensions
{
public static IEnumerable<string> ToErrors(this ModelStateDictionary dict)
{
return dict.OrderBy(kvp => kvp.Key)
@steveoh
steveoh / soe.csproj
Last active December 17, 2015 20:59
automated soe updating
<Project DefaultTargets="UpdateSOE" ...>
<Target Name="UpdateSOE" DependsOnTargets="Build">
<!-- Python needs to be in the path -->
<Exec Command="python $(MSBuildProjectDirectory)\PostBuildEvents\Runner.py"/>
</Target>
</Project>
@steveoh
steveoh / updateNugets.cs
Created October 8, 2013 22:05
basic idea for updating nuget packages
using System.IO;
using System.Xml.Linq;
using System.Xml.XPath;
using System.Diagnostics;
//version could probably come from REPL input or something
string version = "1.9.1";
/* bunch of file and folder moving around */
@steveoh
steveoh / .gitignore
Created October 17, 2016 17:24
inverting the gitignore
*
*\**/**
!src/app/
src/app/**/*.css
!src/ChangeLog.html
!src/index.html
!profiles/
!.github/
!.gitignore
!_SpecRunner.html
@steveoh
steveoh / init.js
Created January 31, 2017 00:07
an atom command to remove common python debug statements. open your atom config folder. possibly rename init.cson to init.js and place this your file.
atom.commands.add('atom-text-editor', 'custom:remove-debug', () => {
const editor = atom.workspace.getActiveTextEditor();
const range = editor.getBuffer().getRange();
const checkpoint = editor.createCheckpoint();
const regex = new RegExp(/\s*from nose.tools import set_trace\s*set_trace\(\)$|\s*import pdb;?\s*pdb.set_trace\(\)$/, 'gmi');
editor.backwardsScanInBufferRange(regex, range, (iterator) => {
iterator.replace('');
});
@steveoh
steveoh / test.py
Created February 7, 2017 23:16
test insert and join vs in where clause
#!/usr/bin/env python
# * coding: utf8 *
'''
test.py
A module that tests inserting and joining records
'''
import arcpy
from os.path import basename
@steveoh
steveoh / args.py
Created April 3, 2017 19:17
get command line args
#!/usr/bin/env python
# * coding: utf8 *
'''
args.py
A module that contains sample code to get params
'''
import sys
@steveoh
steveoh / getcount-comparison.py
Created June 6, 2017 15:56
compare get count vs search cursor perf
#!/usr/bin/env python
# * coding: utf8 *
'''
args.py
A module that contains sample code to get params
'''
import arcpy
import timeit

Keybase proof

I hereby claim:

  • I am steveoh on github.
  • I am steveoh (https://keybase.io/steveoh) on keybase.
  • I have a public key whose fingerprint is E5D4 9904 BB9D 3482 A06A DE5D 2143 A56C 0A0A 53CD

To claim this, I am signing this object:

@steveoh
steveoh / splitline.cs
Last active December 8, 2017 02:48
split a line based on a user click
var shape = (Polyline)row["Shape"];
var point = (MapPoint)GeometryEngine.Instance.Project(userClickGeometry, shape.SpatialReference);
var proximity = GeometryEngine.Instance.NearestPoint(shape, point);
var distance = proximity.Distance * 2;
var vertices = new List<Coordinate2D>
{
new Coordinate2D(point),
new Coordinate2D(proximity.Point),