start new:
tmux
start new with session name:
tmux new -s myname
#!/bin/bash | |
LAN_INTERFACE='' | |
BRIDGE_INTERFACE='' | |
SCRIPT_NAME=$( basename "${0}" ) | |
POLL_SLEEP_SECONDS=5 | |
getProcessInfo() { | |
local PROCESS="${1}" | |
ps -ef | grep "${PROCESS}" | grep -v "grep ${PROCESS}" |
#!/usr/bin/env bash | |
apt-get install -y python-software-properties build-essential | |
apt-add-repository -y ppa:brightbox/ruby-ng | |
apt-get update | |
apt-get install -y ruby1.9.3 | |
echo "gem: --no-ri --no-rdoc" >> ~/.gemrc | |
gem install chef | |
mkdir /etc/chef /var/chef | |
cat <<EOF >/etc/chef/solo.rb | |
file_cache_path "/var/chef" |
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 |
#!/bin/sh | |
### | |
# SOME COMMANDS WILL NOT WORK ON macOS (Sierra or newer) | |
# For Sierra or newer, see https://github.com/mathiasbynens/dotfiles/blob/master/.macos | |
### | |
# Alot of these configs have been taken from the various places | |
# on the web, most from here | |
# https://github.com/mathiasbynens/dotfiles/blob/5b3c8418ed42d93af2e647dc9d122f25cc034871/.osx |
<html> | |
<body> | |
<!-- really dirty! this is just a test drive ;) --> | |
<script type="text/javascript" src="https://raw.github.com/mozilla/pdf.js/gh-pages/build/pdf.js"></script> | |
<script type="text/javascript"> | |
function renderPDF(url, canvasContainer, options) { | |
var options = options || { scale: 1 }; |
/** | |
* I converted the SCSS mixin to LESS for the awesome coders like myself in response to a blog post on 37Signals - http://37signals.com/svn/posts/3271-easy-retina-ready-images-using-scss | |
* | |
* Update: 2014-08-04 - Updated a long-standing bug where retina images were shown no matter what in the first background-image property. | |
* - Updated retina media query to be more reliable () | |
* Update: 2013-11-13 - Picked up another technique thanks to reading this post from Tyler Tate, auto-fill in the second filename for the retina image, http://tylertate.com/blog/2013/06/11/retina-images-using-media-queries-and-LESS-CSS.html | |
* Update: 2013-04-16 - Have recently found a few use cases when using a retina pattern from Subtle Patterns on the <body>, this has come in handy | |
* Update: 2013-04-05 - Some research in the Wordpress Core(http://core.trac.wordpress.org/ticket/22238#comment:5) was pointed out that some tests may be redundant (Thanks @kbav) so I've cleaned these up | |
* Update: 2012-12-29 - U |
In researching topics for RailsCasts I often read code in Rails and other gems. This is a great exercise to do. Not only will you pick up some coding tips, but it can help you better understand what makes code readable.
A common practice to organize code in gems is to divide it into modules. When this is done extensively I find it becomes very difficult to read. Before I explain further, a quick detour on instance_eval
.
You can find instance_eval
used in many DSLs: from routes to state machines. Here's an example from Thinking Sphinx.
class Article < ActiveRecord::Base
# | |
# Cookbook Name:: smpostgresql | |
# Recipe:: pgdg | |
# | |
# Copyright 2012-2013 SecondMarket Labs, LLC. | |
# | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# |
module FullErrorMessages | |
extend ActiveSupport::Concern | |
# includes errors on this model as well as any nested models | |
def all_error_messages | |
messages = self.errors.messages.dup | |
messages.each do |column, errors| | |
if self.respond_to?(:"#{column}_attributes=") && (resource = self.send(column)) | |
messages[column] = resource.errors.messages | |
end |