Skip to content

Instantly share code, notes, and snippets.

View pofat's full-sized avatar

Pofat pofat

View GitHub Profile
@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 / 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 / fuckoffATS.sh
Created June 18, 2016 00:42
ATS sucks
/usr/libexec/PlistBuddy -c "Add:NSAppTransportSecurity:NSAllowsArbitraryLoads bool true" ./Info.plist
@pofat
pofat / MyUITextField.swift
Created July 28, 2016 08:50
Padding for UITextField
MyUITextField: UITextField {
// Whatever you like
let padding = UIEdgeInsets(top: 5, left: 5, bottom: 6, right: 6);
// Paddging for place holder
override func placeholderRectForBounds(bounds: CGRect) -> CGRect {
return UIEdgeInsetsInsetRect(bounds, padding)
}
// Padding for text
override func textRectForBounds(bounds: CGRect) -> CGRect {
return UIEdgeInsetsInsetRect(bounds, padding)
@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 / .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 / .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 / 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 / bytes_handler.swift
Created November 1, 2016 02:38
A method to retrieve byte array and bit array from Data in Swift 3
// Using UInt8 as Byte
typealias Byte = UInt8
enum Bit: Int {
case zero, one
}
extension Data {
var bytes: [Byte] {
var byteArray = [UInt8](repeating: 0, count: self.count)
self.copyBytes(to: &byteArray, count: self.count)