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
timwis / App.vue
Created Feb 19, 2019
Using mapbox-gj-leaflet with Vue2Leaflet
View App.vue
<template>
<LMap id="map" :center="center" :zoom="zoom">
<LTileLayer
:options="layerOptions"
:tile-layer-class="tileLayerClass" />
</LMap>
</template>
<script>
import { LMap, LTileLayer } from 'vue2-leaflet'
View dataface.md

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).

goals

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

Keybase proof

I hereby claim:

  • I am timwis on github.
  • I am timwis (https://keybase.io/timwis) on keybase.
  • I have a public key ASDZvrXjQGJWWeDkYoCfyTS1tZaempyiVUgGSj0wMRJkhwo

To claim this, I am signing this object:

@timwis
timwis / Map.vue
Created Nov 9, 2017
city basemap example
View Map.vue
<template lang="pug">
div.crosshairs
</template>
<script>
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')
css('react-nestable/dist/Nestable/Nestable.css')
css('react-nestable/dist/Icon/Icon.css')
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}">
${props.label}
</button>
`
}
@timwis
timwis / api.apib
Created Jun 12, 2017
Dataface API spec
View api.apib
FORMAT: 1A
# Dataface
Build and manage data with a spreadsheet-like interface.
# Group Sheets
Resources related to sheets (which is what dataface calls database tables).
@timwis
timwis / get-schema.sql
Last active May 4, 2017
Get postgres table schema including keys/constraints
View get-schema.sql
SELECT
cols.column_name,
cols.data_type,
cols.character_maximum_length,
cols.column_default,
cols.is_nullable::boolean,
constr.constraint_type,
pg_catalog.col_description(cls.oid, cols.ordinal_position::int)::jsonb
FROM
pg_catalog.pg_class cls,
@timwis
timwis / grid.js
Last active Apr 23, 2017
Combining HyperList with Nanocomponent
View grid.js
const html = require('choo/html')
const css = require('sheetify')
const HyperListComponent = require('./hyperlist-component')
const prefix = css`
thead, tbody {
display: block;
}
`
You can’t perform that action at this time.