Skip to content

Instantly share code, notes, and snippets.

Tim Wisniewski timwis

Block or report user

Report or block timwis

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
timwis / orcsv
Created Sep 20, 2019
Import and export CSV files with orc
View orcsv
#!/usr/bin/env bash
import () {
csvjson "${3:-/dev/stdin}" \
| jq --raw-output '.[] | @sh "echo orc add-entry '"$1"' user \(.'"$2"') \(tostring)"' \
| xargs -0 bash -c
export_ () {
orc ls "$1" user | cut -f 4 | in2csv -f ndjson
timwis / App.vue
Created Feb 19, 2019
Using mapbox-gj-leaflet with Vue2Leaflet
View App.vue
<LMap id="map" :center="center" :zoom="zoom">
:tile-layer-class="tileLayerClass" />
import { LMap, LTileLayer } from 'vue2-leaflet'

problem statement

  • enterprises will inevitably have more data being collected and maintained than their IT departments can keep up with, so business users resort to using spreadsheets or proprietary/incompatible tools.
  • hard to share or integrate this data with other systems
  • eventually the IT departments have to come in and build on top of or fix these tools (crazy formatting, having to reverse engineer the export)
  • there isn't really a great alternative
    • access: desktop software, outdated, not multi-user.
    • airtable: prioprietary, saas-only and could disappear/pivot.
    • salesforce: expensive, proprietary, easy to cross the line where it's very difficult to port (e.g. workflows, notifications).


View vue-error-1.js
import { mapActions, mapState } from 'vuex'
export default {
computed: mapState({
services: (state) =>
methods: mapActions([
async created () {
timwis /
Created Dec 31, 2017
Keybase proof

Keybase proof

I hereby claim:

  • I am timwis on github.
  • I am timwis ( on keybase.
  • I have a public key ASDZvrXjQGJWWeDkYoCfyTS1tZaempyiVUgGSj0wMRJkhwo

To claim this, I am signing this object:

timwis / Map.vue
Created Nov 9, 2017
city basemap example
View Map.vue
<template lang="pug">
import L from 'leaflet'
import esri from 'esri-leaflet'
import 'leaflet-easybutton'
export default {
View nestable.js
const Nestable = require('react-nestable').default
const React = require('react')
const ReactDOM = require('react-dom')
const Nanocomponent = require('nanocomponent')
const css = require('sheetify')
module.exports = class TaskList extends Nanocomponent {
View index.js
const html = require('bel')
window.CustomButton = function (props) {
console.log('Called CustomButton', props)
return html`
<button style="background-color: ${props.color}">
timwis / api.apib
Created Jun 12, 2017
Dataface API spec
View api.apib
# Dataface
Build and manage data with a spreadsheet-like interface.
# Group Sheets
Resources related to sheets (which is what dataface calls database tables).
timwis / get-schema.sql
Last active May 4, 2017
Get postgres table schema including keys/constraints
View get-schema.sql
pg_catalog.col_description(cls.oid, cols.ordinal_position::int)::jsonb
pg_catalog.pg_class cls,
You can’t perform that action at this time.