Skip to content

Instantly share code, notes, and snippets.

View daliborgogic's full-sized avatar
:octocat:
In Git we trust!

Dalibor Gogic daliborgogic

:octocat:
In Git we trust!
View GitHub Profile
@daliborgogic
daliborgogic / server.js
Last active August 5, 2017 22:08
Node.js Push Stream
// https://github.com/nodejs/node/blob/master/doc/api/http2.md
const fs = require('fs')
const http2 = require('http2')
const options = {
key: fs.readFileSync('privkey.pem'),
cert: fs.readFileSync('cert.pem')
}
const server = http2.createSecureServer(options)

Hair

Value Group 1
1 Thin
2
3
4 Full
@daliborgogic
daliborgogic / cities.csv
Created August 15, 2017 18:01 — forked from d3noob/.block
World map with zoom / pan and cities
code city country lat lon
ZNZ ZANZIBAR TANZANIA -6.13 39.31
TYO TOKYO JAPAN 35.68 139.76
AKL AUCKLAND NEW ZEALAND -36.85 174.78
BKK BANGKOK THAILAND 13.75 100.48
DEL DELHI INDIA 29.01 77.38
SIN SINGAPORE SINGAPOR 1.36 103.75
BSB BRASILIA BRAZIL -15.67 -47.43
RIO RIO DE JANEIRO BRAZIL -22.90 -43.24
YTO TORONTO CANADA 43.64 -79.40
@daliborgogic
daliborgogic / Dockerfile
Created September 20, 2017 17:58
mnml Node.js Docker image
# Do the npm install in the full image
# The sizes are for the unpacked images as reported by Docker – compressed sizes are about 1/3
# ~ 65.8 MB (npm 5.4.2)
FROM mhart/alpine-node:8.5.0
MAINTAINER Dalibor Gogic <[email protected]>
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install --production
@daliborgogic
daliborgogic / Dockerfile
Last active December 17, 2018 16:19
Navigation Timing, Headless Chrome, Docker
FROM node:8.7.0-slim
RUN apt-get update && \
apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
RUN npm i puppeteer micro qs
@daliborgogic
daliborgogic / App.vue
Last active November 1, 2017 16:53
CSS Font Loading Module Level 3
<template>
<div id="app">The quick brown fox jumps over the lazy dog</div>
</template>
<script>
async function loadFont () {
const font = new FontFace('Hack Regular', 'url(./hack-regular.woff2)')
await font.load()
document.fonts.add(font)
document.getElementById('app').classList.add('font-loaded')
@daliborgogic
daliborgogic / h2.js
Last active November 2, 2017 09:59
micro static file server
// Native
const http2 = require('http2')
const url = require('url')
const fs = require('fs')
const path = require('path')
// Packages
const { run, send } = require('micro')
const cert = require('openssl-self-signed-certificate')
const mime = require('mime')
@daliborgogic
daliborgogic / h2.js
Last active July 13, 2018 15:06
HTTP2 server push example [Pre-compressed with brotli]
// Native
const http2 = require('http2')
const fs = require('fs')
const path = require('path')
// Packages
const cert = require('openssl-self-signed-certificate')
const mime = require('mime')
const {
@daliborgogic
daliborgogic / world.vue
Last active August 23, 2018 21:31
Latitude/Longitude to x/y
<template lang="pug">
svg(viewBox="0 0 1008.27 650.94")
//-{id:"AE"},{id:"AF"},{id:"AL"},{id:"AM"},{id:"AO"},{id:"AR"},{id:"AT"},{id:"AU"},{id:"AZ"},{id:"BA"},{id:"BD"},{id:"BE"},{id:"BF"},{id:"BG"},{id:"BI"},{id:"BJ"},{id:"BN"},{id:"BO"},{id:"BR"},{id:"BS"},{id:"BT"},{id:"BW"},{id:"BY"},{id:"BZ"},{id:"CA"},{id:"CD"},{id:"CF"},{id:"CG"},{id:"CH"},{id:"CI"},{id:"CL"},{id:"CM"},{id:"CN"},{id:"CO"},{id:"CR"},{id:"CU"},{id:"CY"},{id:"CZ"},{id:"DE"},{id:"DJ"},{id:"DK"},{id:"DO"},{id:"DZ"},{id:"EC"},{id:"EE"},{id:"EG"},{id:"EH"},{id:"ER"},{id:"ES"},{id:"ET"},{id:"FK"},{id:"FI"},{id:"FJ"},{id:"FR"},{id:"GA"},{id:"GB"},{id:"GE"},{id:"GF"},{id:"GH"},{id:"GL"},{id:"GM"},{id:"GN"},{id:"GQ"},{id:"GR"},{id:"GT"},{id:"GW"},{id:"GY"},{id:"HN"},{id:"HR"},{id:"HT"},{id:"HU"},{id:"ID"},{id:"IE"},{id:"IL"},{id:"IN"},{id:"IQ"},{id:"IR"},{id:"IS"},{id:"IT"},{id:"JM"},{id:"JO"},{id:"JP"},{id:"KE"},{id:"KG"},{id:"KH"},{id:"KP"},{id:"KR"},{id:"XK"},{id:"KW"},{id:"KZ"},{id:"LA"},{id:"LB"},{id:"LK"},{id:"LR"},{id:"LS"},{id:"LT"},{id
@daliborgogic
daliborgogic / App.vue
Last active November 13, 2017 10:13
Vue.js Input type range props sync v.2.3.0+
<template lang="pug">
div
input-type-range(:min.sync="min" :max.sync="max" :step.sync="step" :value.sync="value")
p {{value}}/{{max}}
</template>
<script>
export default {
components: {
InputTypeRange: () => import('~/components/InputTypeRange.vue')