Skip to content

Instantly share code, notes, and snippets.

@jelkand
jelkand / attachProxy.js
Last active October 11, 2022 22:10
Using Proxy to track changes to JS objects
// usage:
const obj = { foo: 'bar' };
const proxiedObj = attachProxy(obj);
proxiedObj.foo = 'baz';
/* output:
VM192:4 setting value of prop: foo to value: baz obj {foo: "bar"}
VM192:5 console.trace
set @ VM192:5
@wnarifin
wnarifin / thinkpad_a485_linux.md
Last active May 23, 2020 13:36
Installing Linux on Lenovo ThinkPad A485

Why

I was unable to boot to live Linux distro to install Linux on my newly bought A485 ThinkPad laptop. Although I was initially dissapointed, I was not alone. This gist documents the information I gathered from the net to complete the installation.

At the time of posting this gist, the issue is still persistent. It might not be relevant anymore once Lenovo release a working BIOS update to resolve the issue. [Update 19/01/2019]: Updating to BIOS 1.14 worked for me.

Sources

The information in this short gist was compiled from several sources. Although most are for E series, it worked for A485:

  1. https://www.reddit.com/r/thinkpad/comments/9ia3e4/linux_on_thinkpad_a485/
  2. https://evilazrael.de/node/401
@bdombro
bdombro / fetch-graphql.jsx
Last active September 27, 2018 02:34
fetch-graphql.jsx - Run a simple GraphQL Query using isomorphic-fetch
/**
* Run a GraphQL Query using isomorphic-fetch
*/
const HTTP_BAD_REQUEST = 400
const endpoint = "https://api.graph.cool/simple/v1/cj9g48vlm79hy0120m4tvigm9"
let fetchGraphQLCache = [];
export default (query, callback) => {
@stubailo
stubailo / fetch-graphql.js
Created September 5, 2017 08:15
Call a GraphQL API with fetch
require('isomorphic-fetch');
fetch('https://1jzxrj179.lp.gql.zone/graphql', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ query: '{ posts { title } }' }),
})
.then(res => res.json())
.then(res => console.log(res.data));
@devan-sisson
devan-sisson / zsh.md
Created June 24, 2017 01:59 — forked from tsabat/zsh.md
Getting oh-my-zsh to work in Ubuntu
@geoffmiller
geoffmiller / mobx-recompose.jsx
Last active December 11, 2018 22:20
Mobx with Recompose structure
const { compose, mapProps, withHandlers, lifecycle } = Recompose;
const { observable, action } = mobx;
const { inject, observer, Provider } = mobxReact;
const { PropTypes } = React;
// store
// ============================
const counterStore = observable({
// for primitive values, wrap the value inside a observable,
// or wrap it in an plain js object
@defektive
defektive / install.md
Last active August 11, 2020 13:03
Install bspwm, sxhkd on ubuntu 16.04

Dependecies

sudo apt-get install git \
                      xcb \
                      libxcb-util0-dev \
                      libxcb-ewmh-dev \
                      libxcb-randr0-dev \
                      libxcb-icccm4-dev \
                      libxcb-keysyms1-dev \
@joepie91
joepie91 / vpn.md
Last active April 25, 2025 13:58
Don't use VPN services.

Don't use VPN services.

No, seriously, don't. You're probably reading this because you've asked what VPN service to use, and this is the answer.

Note: The content in this post does not apply to using VPN for their intended purpose; that is, as a virtual private (internal) network. It only applies to using it as a glorified proxy, which is what every third-party "VPN provider" does.

  • A Russian translation of this article can be found here, contributed by Timur Demin.
  • A Turkish translation can be found here, contributed by agyild.
  • There's also this article about VPN services, which is honestly better written (and has more cat pictures!) than my article.
@aberke
aberke / gist:042eef0f37dba1138f9e
Last active June 20, 2020 05:17
AngularJS module for phonenumber inputs - Includes custom directive that formats telephone number input values as well as filter for format them in text.
/***************************************************
----------------------------------------------------
Author: Alexandra Berke (aberke)
Written: Summer 2014
----------------------------------------------------
Formats the phonenumber as (222) 333-4444 within the input element
Binds only the number 2223334444 to the model
@romainl
romainl / gist:9970697
Last active October 9, 2024 12:45
How to use Tim Pope's Pathogen

How to use Tim Pope’s Pathogen

I’ll assume you are on Linux or Mac OSX. For Windows, replace ~/.vim/ with $HOME\vimfiles\ and forward slashes with backward slashes.

The idea

Vim plugins can be single scripts or collections of specialized scripts that you are supposed to put in “standard” locations under your ~/.vim/ directory. Syntax scripts go into ~/.vim/syntax/, plugin scripts go into ~/.vim/plugin, documentation goes into ~/.vim/doc/ and so on. That design can lead to a messy config where it quickly becomes hard to manage your plugins.

This is not the place to explain the technicalities behind Pathogen but the basic concept is quite straightforward: each plugin lives in its own directory under ~/.vim/bundle/, where each directory simulates the standard structure of your ~/.vim/ directory.