Skip to content

Instantly share code, notes, and snippets.

View fraserxu's full-sized avatar
🐢
No idea

Fraser Xu fraserxu

🐢
No idea
View GitHub Profile
@fraserxu
fraserxu / install_git.sh
Last active August 31, 2023 17:11
setup nodenv on ubuntu
#!/bin/bash
set -ex
sudo apt-get update
sudo apt-get install -y git
@fraserxu
fraserxu / .profile
Created April 14, 2016 02:56 — forked from sindresorhus/.profile
Automatic Git commit signing with GPG on OSX
# In order for gpg to find gpg-agent, gpg-agent must be running, and there must be an env
# variable pointing GPG to the gpg-agent socket. This little script, which must be sourced
# in your shell's init script (ie, .bash_profile, .zshrc, whatever), will either start
# gpg-agent or set up the GPG_AGENT_INFO variable if it's already running.
# Add the following to your shell init to set up gpg-agent automatically for every shell
if [ -f ~/.gnupg/.gpg-agent-info ] && [ -n "$(pgrep gpg-agent)" ]; then
source ~/.gnupg/.gpg-agent-info
export GPG_AGENT_INFO
else
@fraserxu
fraserxu / index.js
Last active March 30, 2016 06:17
requirebin sketch
// Welcome! require() some modules from npm (like you were using browserify)
// and then hit Run Code to run your code on the right side.
// Modules get downloaded from browserify-cdn and bundled in your browser.
var yo = require('yo-yo')
var createRouter = require('base-router')
var element = yo`<div></div>`
var app = document.body.appendChild(element)
var router = createRouter({
@fraserxu
fraserxu / step_up_electron_on_ubuntu.sh
Created January 29, 2016 04:27
Steps to run tape-run on ubuntu
# start docker machine
docker-machine start dev
eval "$(docker-machine env dev)"
# run docker in interactive mode
docker run -i -t ubuntu:14.04.3 /bin/bash
# install node
apt-get install -y curl
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
@fraserxu
fraserxu / hack-jquery-jsdom.js
Created January 21, 2016 01:13
Build a jQuery ready DOM environment for JSDOM
import fs from 'fs'
import jsdom from 'jsdom'
import resolve from 'resolve'
const jQuery = fs.readFileSync(resolve.sync('jquery'), 'utf-8')
jsdom.env('<!doctype html><html><body></body></html>', {
src: [jQuery]
}, (err, window) => {
console.log('Voilà!', window.$('body'))
@fraserxu
fraserxu / readme.md
Created September 18, 2015 03:42
Steps for the translation workflow in a Electron application:

Steps for the translation workflow in a Electron application:

  1. Requirements
  • jsxgettext - this is a node module to generate po file from JavaScript file npm install jsxgettext --save-dev to install
  • gettext - native gettext tool to merge po files brew install gettext and run brew link gettext --force if needed.
  • node-gettext - this is a node module to parse and read PO file npm install node-gettext --save to install
@fraserxu
fraserxu / index.js
Created September 11, 2015 00:41
User electron to capture video
MediaStreamTrack.getSources(function(sources) {
console.log(sources)
})
# to get the internal ip
ifconfig
# to edit the config
sudo vim /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
@fraserxu
fraserxu / pdf.js
Created June 18, 2015 09:05
Generate a pdf page with `printToPDF` api
var remote = require('remote')
var browserWindow = remote.require('browser-window')
var fs = remote.require('fs')
var path = remote.require('path')
var win = new browserWindow({
width: 800,
height: 600,
show: false
@fraserxu
fraserxu / gist:bed299af6f34cbfeee59
Created May 26, 2015 12:43
setup ruby-china on DigitalOcean
  1. resove the locale issuelocale-gen en_US en_US.UTF-8 and sudo locale-gen UTF-8

  2. Permission denied while updating apt source with created user => use root user ssh root@MYIP and do it again and quit

  3. Need sudo to edit /etc/nginx/nginx.conf

  4. Install Git apt-get install git

  5. Install dependencies sudo apt-get install memcached mongodb redis-server imagemagick