Skip to content

Instantly share code, notes, and snippets.

@maxerickson
maxerickson / gist:a07ed6289ab6ba355560
Last active January 21, 2016 03:38
County label helpers.
/* Checking US county label linking */
relation[type=boundary][admin_level=6][!wikipedia]{
throwWarning: tr("Missing wikipedia tag on county relation.");
}
relation[type=boundary][admin_level=6][not(JOSM_search("hasRole:label"))]{
throwWarning: tr("County relation missing label.");
}
relation[type=boundary][admin_level=6][not(JOSM_search("hasRole:admin_centre"))]{
@maxerickson
maxerickson / sumtags
Last active November 9, 2015 19:20
Dump keys/values from an osm xml file.
#! python3
from xml.etree import ElementTree
import collections
f="buildings-to-import.osm"
tree=ElementTree.parse(f)
root=tree.getroot()
seen=collections.defaultdict(set)
for tag in root.iter('tag'):
seen[tag.get('k')].add(tag.get('v'))
javascript:(function(){var%20ps=document.getElementsByTagName("pre");for(var%20i=0;i<ps.length;i++){ps[i].style.whiteSpace="pre-wrap";ps[i].style.width="600px";}})();
javascript:(function(){function%20grabdepth(tbl){var%20ims=tbl.getElementsByTagName("img"),re=/s\.gif/g;for(var%20i=0;i<ims.length;i++){if(re.exec(ims[i].src)){return%20ims[i].width;}}return%20null;}function%20getComments(tr){var%20c=[];d=grabdepth(tr);cd=d+1;while(cd>d){cs=tr.getElementsByTagName("font");for(var%20i=0;i<cs.length;i++){c[c.length]=cs[i];}cs=tr.getElementsByTagName("img");re=/s\.gif/g;for(var%20i=0;i<cs.length;i++){if(!re.exec(cs[i].src)){c[c.length]=cs[i];}}tr=tr.nextSibling;if(tr){cd=grabdepth(tr);}else{cd=d;}}return%20c;}function%20clicker(evt){var%20t=evt.target;evt.preventDefault();while(t.tagName!="TABLE"){t=t.parentElement;}while(t.tagName!="TR"){t=t.parentElement;}c=getComments(t);newstate="none";if(c[0].style.display=="none"){newstate="";}for(var%20i=0;i<c.length;i++){c[i].style.display=newstate;}}d=document.getElementsByClassName("comhead");for(var%20i=0;i<d.length;i++){t=d[i].firstChild.nextSibling;if(t){a=document.createElement("a");a.href="#";a.onclick=clicker;a.innerHTML=t.data;d
@maxerickson
maxerickson / gist:7771860
Created December 3, 2013 16:05
Narrow body
javascript:(function(){document.body.style.width="35em";})();
@maxerickson
maxerickson / gist:4718499
Last active December 12, 2015 04:59
HN Collapse Old
javascript:(function(){function%20getWhen(t){parts=t.trim().split('%20');n=Number(parts[0]);if(/hour/.exec(parts[1])){n*=60;}else%20if(/day/.exec(parts[1])){n*=(60*24)}return%20n;}function%20clicker(evt){var%20t=evt.target;evt.preventDefault();p=t;while(p.tagName!='TABLE'){p=p.parentElement;}thepar=p;p=p.getElementsByClassName('comment')[0];newstate='none';cmp=function(a,b){return%20a>=b};if(p.style.display=='none'){newstate='';cmp=function(a,b){return%20a<=b};}c=document.getElementsByClassName("clicker");for(var%20i=0;i<c.length;i++){if(cmp(c[i].when,t.when)){e=c[i];while(e.tagName!='TABLE'){e=e.parentElement;}cs=e.getElementsByClassName('comment');for(var%20j=0;j<cs.length;j++){cs[j].style.display=newstate;}}}thepar.tabIndex="-1";thepar.focus();}d=document.getElementsByClassName("comhead");for(var%20i=0;i<d.length;i++){as=d[i].querySelectorAll('a');if(as){t=as[as.length-1];if(t){a=document.createElement('a');a.href='#';a.className='clicker';a.when=getWhen(t.firstChild.data);a.onclick=clicker;a.appendChild(d