Skip to content

Instantly share code, notes, and snippets.

View jleedev's full-sized avatar
🧙‍♀️

Josh Lee jleedev

🧙‍♀️
View GitHub Profile
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@jleedev
jleedev / sdf.py
Last active August 23, 2024 15:26
sdf font preview
import io
from pathlib import Path
import sys
import unicodedata
from google.protobuf.message_factory import GetMessages
from google.protobuf.descriptor_pb2 import FileDescriptorSet
glyphs_pb = b'\n\xe3\x02\n\x0cglyphs.proto\x12\x0bllmr.glyphs"\x9d\x01\n\x05glyph\x12\x0e\n\x02id\x18\x01 \x02(\rR\x02id\x12\x16\n\x06bitmap\x18\x02 \x01(\x0cR\x06bitmap\x12\x14\n\x05width\x18\x03 \x02(\rR\x05width\x12\x16\n\x06height\x18\x04 \x02(\rR\x06height\x12\x12\n\x04left\x18\x05 \x02(\x11R\x04left\x12\x10\n\x03top\x18\x06 \x02(\x11R\x03top\x12\x18\n\x07advance\x18\x07 \x02(\rR\x07advance"a\n\tfontstack\x12\x12\n\x04name\x18\x01 \x02(\tR\x04name\x12\x14\n\x05range\x18\x02 \x02(\tR\x05range\x12*\n\x06glyphs\x18\x03 \x03(\x0b2\x12.llmr.glyphs.glyphR\x06glyphs"?\n\x06glyphs\x12.\n\x06stacks\x18\x01 \x03(\x0b2\x16.llmr.glyphs.fontstackR\x06stacks*\x05\x08\x10\x10\x80@B\x02H\x03'
import collections
import itertools
# Before you can call send, you have to call next to drive it to the first
# yield point. What if it never yields? Then the first call to next will raise
# StopIteration on it.
def parse_message():
print('parse_message')
ret = []
@jleedev
jleedev / input
Created July 14, 2022 18:37
Interstate ref mismatch
[out:json];
rel[type=route][route=road][network="US:I"][ref];
way(r)[ref!~"^I "];
rel(bw)[type=route][route=road][network="US:I"][ref];
out tags;
package main
import (
"crypto/tls"
"fmt"
"io"
"log"
"net/http"
"sync"
"time"
number of times every unique US:* network is seen
number of times every unique token is seen after splitting on colons
@jleedev
jleedev / Dockerfile
Last active June 15, 2022 16:59
natural earth
FROM debian:bullseye AS builder
RUN apt-get update && apt-get -y install gdal-bin build-essential git curl libsqlite3-dev zlib1g-dev
WORKDIR /build
RUN git clone https://github.com/mapbox/tippecanoe
RUN cd ./tippecanoe && make && make install
RUN curl -OL https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_countries_lakes.zip
RUN ogr2ogr ne_10m_admin_0_countries_lakes.geojson /vsizip/ne_10m_admin_0_countries_lakes.zip
size=512
print(f'''<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="{size//2}" height="{size//2}" viewBox="0 0 {size} {size}">
<rect width="{size}" height="{size}"/>
<path d="M0,0''')
for i in range(size//2):
print(f'V{size}h1V0zm2 0')
print('M0,0')
for i in range(size//2):
print(f'H{size}v1H0zm0 2')
@jleedev
jleedev / Dockerfile
Created May 24, 2022 20:53
extremely normal shell script
FROM ubuntu
RUN apt-get update
RUN apt-get -y install gdal-bin
RUN apt-get -y install jq
RUN >x.csv printf 'id,WKT\n1,%s\n' "$(echo '[[0.2,0.2],[0.75,0.75],[0.25,0.75],[0.2,0.2]]' \
| jq '(2*(-1|acos)*6378137)as$c|[.[]|[(.[0]-0.5)*$c,(0.5-.[1])*$c]|join(" ")]|join(",")|"LINESTRING("+.+")"')"; \
echo EPSG:3857 >x.prj