Keybase proof
I hereby claim:
- I am jimsynz on github.
- I am jimsy (https://keybase.io/jimsy) on keybase.
- I have a public key whose fingerprint is 35C0 3A00 BB0B F539 3A62 7A31 BC0D 2595 FE40 0374
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
# app/instance-initializers/google-analytics.js | |
import ENV from "./config/environment"; | |
export function initialize(application) { | |
let fastboot = application.lookup('service:fastboot'); | |
window.dataLayer = window.dataLayer || []; | |
if (!fastboot.get('isFastBoot')) { | |
let body = document.getElementsByTagName('body').item(0); |
/// Returns the line and column numbers for the beginning and the end of | |
/// this pair. | |
/// | |
/// # Example | |
/// | |
/// ``` | |
/// # use std::rc::Rc; | |
/// # use pest; | |
/// # use pest::inputs::StringInput; | |
/// # #[allow(non_camel_case_types)] |
pub trait Object { } |
module Runtime | |
class Reference | |
attr_reader :object, :weight | |
def initialize(object, weight) | |
@object = object | |
@weight = weight | |
end | |
def self.create(object) |
Weighted reference counting is more efficient than traditional reference counting because you don't have to update the reference counted object every time a reference is taken (potentially meaning updating the object on the heap and blowing the processor cache). Weighted reference counting only updates the referenced object when a reference is dropped or when weight is exhausted. Weight Reference Counting is also really good for concurrent systems because the number of synchronisations needed is much lower than normal reference counting.
Allocate a new reference counted object with a default weight (a tunable power of two - usually around 1 << 16
for a real implementation). An initial reference is allocated which points to the object and the weight value is copied into it. Every time the reference is cloned, the weight is split in two (shifting one bit to the right is the same as dividing by two) and one half allocated to the existing reference and one
#!/bin/bash | |
# This script tries to handle `git push` when the local branch isn't | |
# configured to track a remote branch. | |
# | |
# First, if the branch already tracks a remote branch then it just calls | |
# `git push` and we're done. | |
# | |
# Second, if the branch doesn't track a remote branch and there is a | |
# remote called "origin" present then it just makes an assumption and |
require "rubygems" | |
require "colorize" | |
def desc(msg) | |
puts "Description".colorize(:yellow) | |
puts "===========".colorize(:yellow) | |
puts msg.colorize(:white) | |
end | |
def example(body) |
defp store_jitter received_at, delivered_at do | |
received_usec = Time.to_usecs received_at | |
delivered_usec = Time.to_usecs delivered_at | |
jitter_usecs = delivered_usec - received_usec | |
delivered_sec = delivered_at |> Time.to_secs |> trunc | |
delivered_5m = delivered_at |> Time.to_secs |> trunc |> rem 300 | |
delivered_1h = delivered_at |> Time.to_secs |> trunc |> rem 3600 | |
{:ok, _} = R.query [ | |
["MULTI"], | |
["ZADD", namespace("jitter"), delivered_usec, jitter_usecs], |