⌘T | go to file |
⌘⌃P | go to project |
⌘R | go to methods |
⌃G | go to line |
⌘KB | toggle side bar |
⌘⇧P | command prompt |
# coding: utf-8 | |
require 'sinatra' | |
set server: 'thin', connections: [] | |
get '/' do | |
halt erb(:login) unless params[:user] | |
erb :chat, locals: { user: params[:user].gsub(/\W/, '') } | |
end | |
get '/stream', provides: 'text/event-stream' do |
require "net/http" | |
class ProxyApp | |
def call(env) | |
begin | |
request = Rack::Request.new(env) | |
headers = {} | |
env.each do |key, value| | |
if key =~ /^http_(.*)/i | |
headers[$1] = value |
#!/usr/bin/env sh | |
## | |
# This is script with usefull tips taken from: | |
# https://github.com/mathiasbynens/dotfiles/blob/master/.osx | |
# | |
# install it: | |
# curl -sL https://raw.github.com/gist/2108403/hack.sh | sh | |
# |
Latency Comparison Numbers (~2012) | |
---------------------------------- | |
L1 cache reference 0.5 ns | |
Branch mispredict 5 ns | |
L2 cache reference 7 ns 14x L1 cache | |
Mutex lock/unlock 25 ns | |
Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
Compress 1K bytes with Zippy 3,000 ns 3 us | |
Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
# rack_sse.ru | |
# | |
# An example of basic real-time, single-room broadcast chat using Server Sent | |
# Events in plain old Rack. This example does NOT use hijack, or the async | |
# hacks, it just relies on a well implemented threaded Rack server (at time of | |
# writing this will therefore only work with puma!). Other servers should be | |
# fixed to support this, as it is pretty critical to how Rack *should* work on | |
# most servers. The only spec-acceptable failure in this case is not flushing | |
# the content stream on each yield (for which the rack spec has no workaround | |
# today). |
Using WebSockets, React and Reflux together can be a beautiful thing, but the intial setup can be a bit of a pain. The below examples attempt to offer one (arguably enjoyable) way to use these tools together.
This trifect works well if you think of things like so:
- Reflux Store: The store fetches, updates and persists data. A store can be a list of items or a single item. Most of the times you reach for
this.state
in react should instead live within stores. Stores can listen to other stores as well as to events being fired. - Reflux Actions: Actions are triggered by components when the component wants to change the state of the store. A store listens to actions and can listen to more than one set of actions.
# vim: set ft=python: | |
# see the README at https://gist.github.com/phiresky/4bfcfbbd05b3c2ed8645 | |
# source: https://github.com/mpv-player/mpv/issues/2149 | |
# source: https://github.com/mpv-player/mpv/issues/566 | |
# source: https://github.com/haasn/gentoo-conf/blob/nanodesu/home/nand/.mpv/filters/mvtools.vpy | |
import vapoursynth | |
core = vapoursynth.get_core() |
This is my build documentation for an ASUS Z170-A setup with an NVIDIA GTX960 and the Intel i5 6500, most of this came from Storks asus rog maximus build, his audio instructions didn't work for me so it differs substantially there. This build also doesn't have NVRAM. Nearest I can tell everything is running as expected, including all USB and audio ports.
- Asus Z170-A
- Intel Core i5-6500
- Crucial Ballistix Sport LT 32GB (2 x 16GB) DDR4-2400 Memory
- MSI GeForce GTX 960 4GB Installed in slot 1!
Based upon this GIST which was great!
This is my build documentation for an ASUS PRIME Z270-AR setup with an MSI 1080 Gaming X 8GB, EVGA 1080 8GB and the Intel i5 7600, most of this came from the person I forked this guide from. This build also doesn't have NVRAM. Nearest I can tell everything is running as expected, including all USB and audio ports. Make sure you get MacOS 10.12.6 as it has native support for Kaby Lake processors, and you won't need to fake the CPUID.
- Asus Z270-AR
- Intel Core i5-7600 (Intel(R) Core(TM) i5-7600 CPU @ 3.50GHz)*