Skip to content

Instantly share code, notes, and snippets.

View dimasjt's full-sized avatar
🤓

Dimas J. Taniawan dimasjt

🤓
View GitHub Profile
@fernandoaleman
fernandoaleman / mysql2-m1.md
Last active February 11, 2025 21:06
How to install mysql2 gem on m1 Mac

Problem

Installing mysql2 gem errors on Apple silicon M1, M2 or M3 Mac running macOS Sonoma.

Solution

Make sure mysql-client, openssl and zstd are installed on Mac via Homebrew.

Replace mysql-client with whichever mysql package you are using

@fernandoaleman
fernandoaleman / mysql2-mojave.md
Last active February 7, 2024 19:19
Install mysql2 on MacOS Mojave

For MacOS Catalina, visit Install mysql2 on MacOS Catalina

Problem

Installing mysql2 gem errors on MacOS Mojave.

Solution

Make sure openssl is installed on Mac via Homebrew.

@hopsoft
hopsoft / prefetch.js
Last active March 4, 2025 02:01
Turbolinks Prefetching
const hoverTime = 400
const fetchers = {}
const doc = document.implementation.createHTMLDocument('prefetch')
function fetchPage (url, success) {
const xhr = new XMLHttpRequest()
xhr.open('GET', url)
xhr.setRequestHeader('VND.PREFETCH', 'true')
xhr.setRequestHeader('Accept', 'text/html')
xhr.onreadystatechange = () => {
@oukayuka
oukayuka / FlashMessage.tsx
Last active August 6, 2020 12:39
Recompose withStateHandlers with TypeScript
import * as React from 'react';
import { compose, lifecycle, pure, StateHandler, StateHandlerMap, withStateHandlers } from 'recompose';
import { Message, Transition } from 'semantic-ui-react';
import './FlashMessage.css';
export interface FlashMessageProps {
message: string;
isWarning?: boolean;
}
@ibraheem4
ibraheem4 / postgres-brew.md
Last active April 19, 2025 14:27 — forked from sgnl/postgres-brew.md
Installing Postgres via Brew (OSX)

Installing Postgres via Brew

Pre-Reqs

Brew Package Manager

In your command-line run the following commands:

  1. brew doctor
  2. brew update
@nerdyman
nerdyman / resolve-tsconfig-path-to-webpack-alias.js
Last active March 26, 2025 13:00
Convert TypeScript tsconfig paths to webpack alias paths
const { resolve } = require('path');
/**
* Resolve tsconfig.json paths to Webpack aliases
* @param {string} tsconfigPath - Path to tsconfig
* @param {string} webpackConfigBasePath - Path from tsconfig to Webpack config to create absolute aliases
* @return {object} - Webpack alias config
*/
function resolveTsconfigPathsToAlias({
tsconfigPath = './tsconfig.json',
@taylorhughes
taylorhughes / user-agents.txt
Last active February 9, 2025 15:32
A list of iOS embedded webview User-Agents
SAFARI 10.0.1
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1
CHROME on 10.0.1
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) CriOS/53.0.2785.86 Mobile/14A403 Safari/601.1.46
FACEBOOK MESSENGER
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A403 [FBAN/MessengerForiOS;FBAV/87.0.0.24.69;FBBV/38293694;FBRV/0;FBDV/iPhone8,4;FBMD/iPhone;FBSN/iPhone OS;FBSV/10.0.1;FBSS/2;FBCR/AT&T;FBID/phone;FBLC/en_US;FBOP/5]
TWITTER FOR IPHONE
@briankung
briankung / docker-pry-rails.md
Last active January 2, 2025 05:19
Using pry-rails with Docker
@bradonomics
bradonomics / fonts.scss
Last active January 8, 2021 03:58
Whitney & Sentinel Fonts CSS File (base64)
@font-face {
font-family: "Whitney SSm SC A";
src: url(data:application/x-font-woff;base64,d09GRk9UVE8AACSFAA0AAAAAN7gAAQAAAAAiXAAAAikAAAaRAAAAAAAAAABDRkYgAAAIzAAAFOgAABjhSw4xdkdERUYAAB20AAAAHQAAACAApQAER1BPUwAAHdQAAALQAAALHqpjoC9HU1VCAAAgpAAAAFoAAACA6dotXU9TLzIAAAGMAAAATwAAAGBZHFc/Y21hcAAABmgAAAJOAAADoIQ7xnlnYXNwAAAhAAAAAAgAAAAIAAAAC2hlYWQAAAEwAAAANAAAADYC7N5yaGhlYQAAAWQAAAAgAAAAJAd+A49obXR4AAAhCAAAAVMAAAHg/fogQW1heHAAAAGEAAAABgAAAAYAeFAAbmFtZQAAAdwAAASKAAALyqV9lZxwb3N0AAAIuAAAABMAAAAg/7gAMnjaY2BkYGBgZHC8dFVtYTy/zVcGbuYXQBGGC5y+JTD6/9X/KszPmB2AXA4GJpAoAGwsDKh42mNgZGBgPvBfgIGBRf//1f/XmZ8xAEVQQAUAoQcHEwAAUAAAeAAAeNpjYGKSYXRlYGVgYdrD1MXAwNADoRnvMhgx/GJAAgsZmP47MDBEw/geas75QEpZUYlZ4b8FwwnmAwwfgPz5IDkmIaarDApAyAQAvV8O/gB42rVUTW/bRhAdWXJsJ7ET+5jTNA2MpJBkyVBiK6eiBgznGhsJAvRQilqJdEQusVxaYZFD7+2xhx7yO3ruD+hP6I/p2+G6puJEcYFWhLhvZ+fjvZkFiehR43dqUPX7Fv8KN+hr7Cq8QmsUetykr+jc41bNZ5U26WePb+HkN4/XaEIfPF6nzcaKxxs1fHtlu3HP4zu002SP79bwZs1ni75p7nt8v8Zhu4Z3BDep0drA7qfm9x436Lj5l8crtNV66HGTvmv1PG7VfFbpQct4fIvWW794vEZ/tn71e
import { print as printGraphQL } from 'graphql-tag/printer';
import RecursiveIterator from 'recursive-iterator';
import objectPath from 'object-path';
export function createNetworkInterface(url) {
return {
query(request) {
const formData = new FormData();
// search for File objects on the request and set it as formData