Skip to content

Instantly share code, notes, and snippets.

View pofat's full-sized avatar

Pofat pofat

View GitHub Profile
@pofat
pofat / firmataConnector.js
Created April 20, 2016 05:47
connect to firmata
var firmata = require('firmata');
var debug = require('debug')('networkLab8:firmataConnector');
/**
* firmataConnector.js
*
* Connect to the Arduino via the Firmata protocol.
*
*/
@pofat
pofat / NetworkLab8.md
Last active April 20, 2016 05:51
整合Firmata 與Express,供NDHU network lab 8 的教學說明 (2016.4.20.)

在Express中整合Firmata與socketIO

  1. 用Express生成一個新專案
  2. 整合socket.io 與UI(參考這裡)
  3. 安裝firmata npm install firmata --save
  4. 在project根目錄下,新增一檔案 firmataConnector.js
  5. 在 bin/www 裡使用 firmataConnector 與連接
/* Firmata */
@pofat
pofat / fuckoffATS.sh
Created June 18, 2016 00:42
ATS sucks
/usr/libexec/PlistBuddy -c "Add:NSAppTransportSecurity:NSAllowsArbitraryLoads bool true" ./Info.plist
@pofat
pofat / BattleShip.swift
Last active September 1, 2016 07:23
Battleship in OOP and FP
typealias Distance = Double
/// A struct to represent real position of the ship
struct Position {
var x: Double
var y: Double
}
extension Position {
/// Calculate if this position lies in the given range
@pofat
pofat / .gvimrc
Created October 21, 2016 04:54
Config file for my MacVime
"-------------- Color config --------------
colorscheme atom-dark " My Vim GUI color scheme
"--------------------UI tweaks--------------------
set vb t_vb= " Disable bell after GUI startemd
" Some tweaks of the atom-dark theme
" Normal fg and bg color
hi Normal guifg=#eeeeee guibg=#252b3a
" fg and bg color of visual mode
@pofat
pofat / .vimrc
Last active October 21, 2016 04:56
Config file for my vim
set nocompatible " Make vim behave more usefule way
so ~/.vim/plugins.vim " Manage plugins by vundle
"-------------- Indentation ------------
set tabstop=4 " Number of space per tab
set shiftwidth=4 " Indent 4 columns for << and >> operations
set expandtab " Replace tab with space
set autoindent " Indent at the same level of the previous line
"-------------- Searching --------------
@pofat
pofat / plugins.vim
Created October 21, 2016 06:40
My Vundle config file
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
" All of your Plugins must be added before the following line
Plugin 'tpope/vim-vinegar'
@pofat
pofat / address_of_struct_Swift3.swift
Last active October 30, 2016 05:48
Print struct address in Swift 3
// Get array address
func getBufferAddress<T>(of array: [T]) -> String {
return array.withUnsafeBufferPointer { buffer in
return String(describing: buffer.baseAddress)
}
}
// Realize copy-on-write
var fiverInts = [1,2,3,4,5]
let copyFive = fiverInts
@pofat
pofat / nginx_site
Created November 6, 2016 13:40
Nginx virtual host configuration on EC2
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name <YOUR_PUBLIC_IP>;
root "/var/www/${PROJECT_ROOT}";
index index.html index.htm index.php;
charset utf-8;
@pofat
pofat / CustomUnwrapper.swift
Last active December 1, 2016 13:10
A force unwrapper for Optional type with error hint, suitable for development
// This trick is orininally from 'https://boxueio.com/'
infix operator !!
func !!<T>(optional: T?, errorMessage: @autoclosure () -> String) -> T {
if let value = optional { return value }
fatalError(errorMessage)
}