Skip to content

Instantly share code, notes, and snippets.

View ccashwell's full-sized avatar
🤔
¯\_(ツ)_/¯

Chris Cashwell ccashwell

🤔
¯\_(ツ)_/¯
View GitHub Profile
describe "Argument Extraction Experiment" do
let(:experiment_class) do
Class.new do
def method_with_mixed_args(one, two = 2, three:, four: 4)
extract_args(binding)
end
def method_with_named_args(one:, two: 2, three: 3)
extract_named_args(binding)
end

Keybase proof

I hereby claim:

  • I am ccashwell on github.
  • I am ccashwell (https://keybase.io/ccashwell) on keybase.
  • I have a public key whose fingerprint is DD00 5D98 747D 1207 DBBB EB9B 5BA0 9DC7 E2E8 DA34

To claim this, I am signing this object:

@ccashwell
ccashwell / .vimrc.local
Last active December 16, 2015 08:19
Vim mappings to (a) run rspec tests in-line, and (b) shell the iOS simulator
" RSpec mappings:
" <Leader>rs – run entire spec suite
" <Leader>rd – run all specs in the pwd
" <Leader>rf – run all specs in the current file
" <Leader>rl – run the line under the cursor
noremap <Leader>rs :call RunSpec('spec', '-fp')<CR>
noremap <Leader>rd :call RunSpec(expand('%:h'), '-fd')<CR>
noremap <Leader>rf :call RunSpec(expand('%'), '-fd')<CR>
noremap <Leader>rl :call RunSpec(expand('%'), '-fd -l ' . line('.'))<CR>
@ccashwell
ccashwell / .gitconfig
Last active December 16, 2015 16:09
Git configuration including several shortcuts and helpers
[core]
excludesfile = ~/.gitignore_global
excludesfile = ~/.gitignore
# When paging to less:
# * -x2 Tabs appear as two spaces
# * -S Chop long lines
# * -F Don't require interaction if paging less than a full screen
# * -X No scren clearing
# * -R Raw, i.e. don't escape the control characters that produce colored output
pager = less -FXRS -x2
@ccashwell
ccashwell / env_setup.sh
Last active December 16, 2015 16:39
WIP
#!/bin/bash
#
# This script will get a Chris-approved environment setup done right, with just one command. Enjoy.
echo -e "##### Installing: RVM #####\n"
curl -L https://get.rvm.io | bash -s stable --autolibs=3 --rails
echo -e "##### Installing: Homebrew #####\n"
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
package com.some.api.support;
import com.some.domain.User;
public class AuthenticationResult {
private String token;
private User user;
public String getToken() {
return token;
@ccashwell
ccashwell / QuillTable.jsx
Last active November 2, 2017 22:35
Building Proof-of-Concept Table Support for Quill.js using React Components
import Quill from 'quill'
import TableComponent from 'TableComponent'
import ReactDOM from 'react-dom'
const QuillEmbed = Quill.import('blots/block/embed');
class QuillTable extends QuillEmbed {
static create(values) {
let node = super.create(values);
@ccashwell
ccashwell / ProjectWyvernAudit.md
Created January 2, 2018 20:14
Audit of the Project Wyvern Platform's Solidity Smart Contracts

Audit: Project Wyvern

Completed on January 2, 2018 @ 7358a6c065

Abstract

Project Wyvern is a decentralized item exchange platform (the “Platform”) comprised of three primary components: (1) The WYV Token; (2) The Wyvern Exchange; and (3) The Wyvern Decentralized Autonomous Organization (DAO). This goal of this audit has been to ascertain the overall security of the Platform. In pursuit of that goal, this author has reviewed the Solidity source code of all relevant Smart Contracts, deployed and tested a live version of the Platform on the Ethereum Main Network.

This audit is presented as a Code Review which reflects a deep analysis of the Smart Contracts that comprise the Platform. It is broken into sub-sections, each of which relate to a single Smart Contract. Each sub-section includes a link to the Smart Contract’s Solidity source code as it stood at the ti

@ccashwell
ccashwell / github_ssh.sh
Created November 8, 2012 22:29
Bash Scripting: OAUTH2 Authorization, Generating SSH keys and Adding Keys to GitHub
#!/bin/bash
# This is an example of OAUTH2 authorization via GitHub and adding a new (optionally generated) SSH key to your account.
# If generated, the key is put in the default location with no password. Security is obviously relaxed for brevity's sake. Enjoy.
read -p "GitHub Username: " uname
read -s -p "GitHub Password: " passwd
if [[ "$uname" == "" || "$passwd" == "" ]]; then
echo -e "\n\nCan't set up your GitHub SSH keys without authorization. You're on your own now, champ."
exit 1
fi
@ccashwell
ccashwell / ABI.json
Last active February 16, 2018 18:40
Transferring Mythereum Cards with MyEtherWallet
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"approvedFor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutabil