% Tools for trade 2014 % fujimura
- MacBook Pro 15inch
- Mac OS X
- Terminal.app
- MacVim.app
% Tools for trade 2014 % fujimura
import System.Environment (getArgs, getProgName) | |
main1 :: IO () | |
main1 = getArgs >>= \args -> | |
getProgName >>= \progn -> | |
print $ progn ++ " " ++ show args | |
main2 :: IO () | |
main2 = do | |
args <- getArgs |
Dir['./*'] | |
.select {|d|File.directory? (d + "/.git") } | |
.map {|d| `cd #{d} ; git config remote.origin.url ; cd ../ `.chomp } | |
.reject {|u| u.empty? } | |
.each {|u| `ghq get #{u}` } |
{-# LANGUAGE OverloadedStrings #-} | |
import Network.Wai | |
import Network.HTTP.Types | |
import Network.Wai.Handler.Warp (run) | |
app :: Application | |
app _ respond = do | |
respond $ responseLBS | |
status200 | |
[("Content-Type", "text/plain")] |
require 'benchmark_helper' | |
# Describe performance like RSpec-ish DSL | |
describe Api::Notifications do | |
before do | |
# Can use FactoryGirl to populate data | |
@me = create :user | |
create :post, author: @user | |
1000.times do |
if false | |
x = 1 | |
end | |
puts "x: #{x.inspect}" #=> x: nil |
-- How to run | |
-- $ git log --numstat --pretty="%0" |grep -v "%0" | runhaskell sum.hs | |
import Control.Applicative | |
import Data.Map (Map) | |
import qualified Data.Map as Map | |
import System.IO | |
import Text.Read | |
import Data.List |
task :compile do | |
`pandoc -t slidy -s edtech_cto_night.md -o slide.html` | |
end | |
task :open do | |
`open slide.html` | |
end | |
task :watch do | |
require 'listen' |
require 'sinatra' | |
get '/log' do | |
"<html><body>#{ `git log --format="<p>%h %an %ad %s</p>"`.each_line.map(&:chomp).join }</body></html>" | |
end |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE TypeSynonymInstances #-} | |
module MongoDB.QueryDocument where | |
import Data.List (intercalate) | |
import Data.Monoid | |
import Data.Set | |
import Prelude hiding (map) | |
import qualified Prelude |