Skip to content

Instantly share code, notes, and snippets.

Daniel Cox danielpcox

Block or report user

Report or block danielpcox

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@danielpcox
danielpcox / extract_subdir_slim_history.txt
Last active Aug 29, 2015
Extract subdirectory in git, then slim down the history
View extract_subdir_slim_history.txt
$ git clone blahblahblah # <-- fresh clone of the repo
$ du -sh .
768M # <-- holy macaroni, that's huge
$ git filter-branch --subdirectory-filter path/to/subdir --prune-empty --tag-name-filter cat -- --all # <-- Actual filter
...
### Now we'll delete all references to those unchanged refs
$ git reflog expire --expire=now --all # <-- expire the reflog refs
@danielpcox
danielpcox / allpanes.sh
Created Apr 24, 2014
Run a command in all tmux panes of the current window
View allpanes.sh
#!/bin/bash
# Runs the specified command (all arguments together) in all tmux panes in the current window
# Notate which window/pane we were originally at
window=`tmux display-message -p '#I'`
ORIG_PANE_INDEX=`tmux display-message -p '#P'`
command=$@
@danielpcox
danielpcox / keybase.md
Created Feb 12, 2015
Keybase.io identity proof
View keybase.md

Keybase proof

I hereby claim:

  • I am danielpcox on github.
  • I am danielpcox (https://keybase.io/danielpcox) on keybase.
  • I have a public key whose fingerprint is D085 A81C CE7C 291D 7A9E 1F70 14DA 0F0F BB08 2FEE

To claim this, I am signing this object:

@danielpcox
danielpcox / rotate.clj
Last active Aug 29, 2015
Rotate Sequence
View rotate.clj
; Solving 4Clojure 44
; first try
(def rotate
(fn [n xs]
(if (= n 0)
xs
(let [nextn (* (dec (Math/abs n)) (if (< n 0) -1 1))
nextxs (and (not= 0 n)
(if (< n 0)
@danielpcox
danielpcox / sample.rb
Created Aug 14, 2009
Array#sample : I recently moved a project from ruby 1.9.1 to ruby 1.8.6, which doesn't have Array#sample. I couldn't find it online quickly, so I wrote one.
View sample.rb
# Array#sample
# I recently moved a project from ruby 1.9.1 to ruby 1.8.6, which doesn't have
# Array#sample. I couldn't find it online quickly, so I wrote one.
class Array
def sample(sample_size=1, acc=[])
sample_size = self.size if acc.empty? && sample_size > self.size
return acc if sample_size==0
index_to_sample = (rand * self.size).floor
if acc.include?(self[index_to_sample])
View find_and_replace.sed
find -iname "*.html" -exec sh -cC '
sed 's/search/replace/' "$1" > "$1".new
' {} {} \;
View .bash_aliases
alias g='gvim --remote-silent'
alias fri='ri'
alias lh='ls --color=always -lasth | less -R'
alias be='bundle exec'
alias gr='grep -r --color'
alias rm='gvfs-trash'
@danielpcox
danielpcox / _items.html.erb
Created Jul 13, 2010
a DRY and unobtrusive way to use will_paginate with ajax via jQuery
View _items.html.erb
<!-- app/views/items/_items.html.erb -->
<ul>
<% items.each do |item| %>
<li><%= item.name %></li>
<% end %>
</ul>
<%= ajax_will_paginate items, :update => 'my_items_list' %>
@danielpcox
danielpcox / rmt.rb
Created Apr 16, 2011
Generates my ORIE 3800 HW5 homework (database connection code omitted)
View rmt.rb
#!/home/danielpcox/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
require 'active_record'
require './ticket'
require './extra'
require './show_info'
require 'gruff'
conn_params = {
@danielpcox
danielpcox / parameters_in_dryml.dryml
Created Sep 16, 2011
Parametrized Tags In DRYML
View parameters_in_dryml.dryml
<!-- defining a tag -->
<def tag="messages">
<br /><br />
<ul>
<li param="msg1">Message 1</li>
<li param="msg2">Message 2</li>
<li param="msg3">Message 3</li>
</ul>
</def>
You can’t perform that action at this time.