Skip to content

Instantly share code, notes, and snippets.

View fujimura's full-sized avatar

Daisuke Fujimura fujimura

View GitHub Profile
@fujimura
fujimura / tft2014.md
Last active August 29, 2015 14:06
Tools for trade 2014

% Tools for trade 2014 % fujimura

OS and Application

  • MacBook Pro 15inch
  • Mac OS X
  • Terminal.app
  • MacVim.app
import System.Environment (getArgs, getProgName)
main1 :: IO ()
main1 = getArgs >>= \args ->
getProgName >>= \progn ->
print $ progn ++ " " ++ show args
main2 :: IO ()
main2 = do
args <- getArgs
@fujimura
fujimura / ghq_import.rb
Created August 11, 2014 08:10
Import all git repo from old repositories directory to ghq
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")]
@fujimura
fujimura / bm.rb
Created July 10, 2014 08:31
Idea of RSpec-ish benchmarking tool
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
@fujimura
fujimura / sum.hs
Created May 28, 2014 09:00
Code change frequency per file
-- 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
@fujimura
fujimura / Rakefile
Last active August 29, 2015 14:01
2014年版フロントエンド開発のあたりまえ @ EdTech CTO Night!
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'
@fujimura
fujimura / git_log.rb
Created April 19, 2014 12:15
git-log app in sinatra
require 'sinatra'
get '/log' do
"<html><body>#{ `git log --format="<p>%h %an %ad %s</p>"`.each_line.map(&:chomp).join }</body></html>"
end
@fujimura
fujimura / QueryDocument.hs
Last active August 29, 2015 13:57
MongoDB Query Document in Haskell(WIP)
{-# 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