git clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git
cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
Originally: | |
https://gist.github.com/7565976a89d5da1511ce | |
Hi Donald (and Martin), | |
Thanks for pinging me; it's nice to know Typesafe is keeping tabs on this, and I | |
appreciate the tone. This is a Yegge-long response, but given that you and | |
Martin are the two people best-situated to do anything about this, I'd rather | |
err on the side of giving you too much to think about. I realize I'm being very | |
critical of something in which you've invested a great deal (both financially |
{-# LANGUAGE Rank2Types, ImplicitParams #-} | |
import Control.Monad.Reader | |
import Control.Monad.Trans | |
-- Skip nodes let us do filtering without lookahead | |
-- uncons is then a simple loop that removes any Skip nodes | |
data Step a s = Empty | Yield a s | Skip s | |
newtype ListT f a = ListT { runListT :: f (Step a (ListT f a)) } |
Loosely ordered with the commands I use most towards the top. Sublime also offer full documentation.
Ctrl+C | copy current line (if no selection) |
Ctrl+X | cut current line (if no selection) |
Ctrl+⇧+K | delete line |
Ctrl+↩ | insert line after |
{-# LANGUAGE GADTs #-} | |
{-# LANGUAGE RankNTypes #-} | |
{-# LANGUAGE StandaloneDeriving #-} | |
{-# LANGUAGE DataKinds#-} | |
{-# LANGUAGE KindSignatures#-} | |
module RedBlackTree where | |
data Nat = Zero | Succ Nat deriving (Eq, Ord, Show) | |
type One = Succ Zero |
Git checkout
can do almost anything ... or, at least, many things. It can switch branches. It can mix and match branches. It can resolve merge conflicts. It can give you a scratchpad to test things. It can even be used to interactively patch files. It's so powerful because it's so abstract. But much like numinous mystics, abstraction makes it confusing.
Basically git checkout
does two things:
package msgpack.rpc.sample.client; | |
import org.msgpack.rpc.Client; | |
import org.msgpack.rpc.loop.EventLoop; | |
public class ClientApp { | |
private static class SpawnRequest { | |
private SpawnRequest(final int clientCount, final int requestCount, final RPCInterface iface) { | |
new Thread(new Runnable() { | |
public void run() { |
# development.pp | |
stage { 'req-install': before => Stage['rvm-install'] } | |
class misc { | |
package { | |
[ | |
'vim', | |
]: | |
ensure => installed, | |
} |
WebDriver webDriver = new FirefoxDriver(); | |
webDriver.navigate().to("http://example.com/some/page"); | |
// simplified: find table which contains the keyword | |
WebElement tableElement = webDriver.findElement(By.xpath("//table[contains(text(), 'Username')]")); | |
// create empty table object and iterate through all rows of the found table element | |
ArrayList<HashMap<String, WebElement>> userTable = new ArrayList<HashMap<String, WebElement>>(); | |
ArrayList<WebElement> rowElements = tableElement.findElements(By.xpath(".//tr")); |