Skip to content

Instantly share code, notes, and snippets.

oeon / fire_fatalities_slu.geojson
Created February 28, 2024 04:36
Fire fatality stories from an old SLU Pre-fire project (no longer online)
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
oeon / index.html
Created March 1, 2023 00:23
test html for OPENEXTENSION demo in gist
<!DOCTYPE html>
<meta charset="utf-8" />
<title>App Extension Example</title>
<!-- Fulcrum extension script -->
<script>(()=>{var t=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var d=t((w,o)=>{var a=new URLSearchParams(,u,r=(u=c(a.get("extension")))!=null?u:{};function c(e){try{return JSON.parse(e)}catch(n){return null}}var l;o.exports=window.Fulcrum={,url:r.url,data:(!=null?l:{},origin:r.origin,init:()=>{var e;Fulcrum.isReady=!0,(e=Fulcrum.onReadyOnce)==null||},ready:e=>{Fulcrum.onReadyOnce=()=>{Fulcrum.isReady&&!Fulcrum.onReadyCalled&&(Fulcrum.onReadyCalled=!0,e(Fulcrum))},Fulcrum.onReadyOnce()},send:(e,{close:n=!1}={})=>{var i;e=e!=null?e:{};let s={,url:Fulcrum.url,data:e,close:n};(i=window.webkit)!=null&&i.messageHandlers?window.webkit.messageHandlers.extensionListener.postMessage(JSON.stringify(s)):window.parent&&window.parent.postMessage({extensionMessage:s},Fulcrum.origin)},finish:e=>{Fulcrum.send(e,
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
oeon / st_intersects_within.sql
Created January 12, 2020 17:28
where ESA is a polygon layer. Use PostGIS to test in/out
-- inside ESA
UPDATE htmp points SET esa = 'yes'
FROM vm_esa pol
JOIN htmp poi
ON (ST_Within(poi.geom, pol.geom))) inside
WHERE points.legacy_fulcrum_id = inside.legacy_fulcrum_id;
-- outside ESA
oeon / gist.sql
Created January 7, 2020 05:59
unnested photo array - captions...aggregated back together
select _record_id, string_agg(unnest, ', ') as photos, string_agg(photos_captions, ', ') as photos_captions from (select r._record_id, r.unnest, k.labels as photos_captions from records r join rek k on = r.unnest order by _record_id) a group by _record_id order by _record_id
oeon / gist:84b54ace2090904ca7ac08f2b1cbdfcc
Created November 8, 2019 19:04
run this to fix that: RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/local/opt/openssl" asdf install ruby 2.2.4
ruby-build: using openssl from homebrew
Downloading ruby-2.2.4.tar.bz2...
Installing ruby-2.2.4...
WARNING: ruby-2.2.4 is past its end of life and is now unsupported.
It no longer receives bug fixes or critical security updates.
ruby-build: using readline from homebrew
oeon / fulcrum-routing-data-event.js
Created October 27, 2019 16:38
Using Fulcrum Data Events for routing with Google Maps and MAPS.ME
ON('change', 'routing_options', () => {
if ($routing_options == 'google') {
} else {
ALERT('No location provided!', 'A location is required to show Google Maps.')
SETVALUE('routing_options', null);
} else if ($routing_options == 'mapsme') {
let location = CURRENTLOCATION();
<iframe width=100% height=100% src=";headers=false"></iframe>

this has been slightly modifed for my use cases ~joe

I've had to deal with uploading big data csv files a lot. It's a pain when you encounter timeouts and upload limits, sometimes your only choice is to split the file into smaller files.

I want to show you how to do this in 3 easy steps with the Terminal!

Splitting the file:

split -l 10000 companies.csv ./split-files/chunk-

Keybase proof

I hereby claim:

  • I am oeon on github.
  • I am oeon ( on keybase.
  • I have a public key ASBW-ZRiTH19DIblcsIb3JYMvdRsa5-xRWBdXcAPL8nnTQo

To claim this, I am signing this object: