Skip to content

Instantly share code, notes, and snippets.

anonymous
anonymous / gist:306417
Created February 17, 2010 07:56
Maybe monad is monad
Definition bind {A B : Type} (m : option A) (f : A -> option B) : option B :=
match m with
None => None
| Some v => f v
end.
Infix ">>=" := bind (at level 50).
Definition ret {A : Type} (v : A) : option A :=
Some v.
I am the owner of lvh.me. And I'm glad to hear it's helpful. In truth, it's just a fancy DNS trick. lhv.me and all of it's sub-domains just point back to your computer (127.0.0.1). That means running ssl is as simple (or difficult) as running ssl on your computer.
I'm not sure how comfortable you are with the command line, but here's my how I setup my development environment. (rvm, passenger, nginx w/ SSL, etc).
# Install rvm (no sudo!)
# ------------------------------------------------------
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
source ~/.rvm/scripts/rvm
rvm install ree-1.8.7-2010.02
anonymous
anonymous / vending_machine.rb
Created July 9, 2011 08:55
TDDBC TOKYO 1.5 VendingMachine
# -*- coding: utf-8 -*-
class Drink
attr_accessor :name, :price
def initialize(name, price)
self.name = name
self.price = price
end
end
class Money
@ryancrum
ryancrum / jquerytest.cljs
Created July 21, 2011 02:24
How to use jQuery from ClojureScript
(ns jquerytest.core)
(def jquery (js* "$"))
(jquery
(fn []
(-> (jquery "div.meat")
(.html "This is a test.")
(.append "<div>Look here!</div>"))))
@mizchi
mizchi / add_js2coffee.diff
Created September 8, 2011 06:01
emacsのcoffee-modeにjs2coffeeする関数を加えるパッチ
--- coffee-mode.el 2011-09-08 14:52:36.000000000 +0900
+++ my-coffee-mode.el 2011-09-08 14:54:21.000000000 +0900
@@ -99,6 +99,12 @@
:type 'string
:group 'coffee)
+(defcustom js2coffee-command "js2coffee"
+ "The js2coffee command used for evaluating code. Must be in your
+path."
@hitode909
hitode909 / pdf_page_count
Created January 1, 2012 06:12
pdf_page_count
#! /usr/bin/env ruby
require 'pdf-reader' # gem install pdf-reader --prerelease
puts PDF::Reader.new(ARGV.first).page_count
@kyonmm
kyonmm / server.groovy
Created February 11, 2012 03:52
Groovyで簡易HTTPサーバー
import com.sun.net.httpserver.HttpExchange
import com.sun.net.httpserver.HttpHandler
import com.sun.net.httpserver.HttpServer
import groovy.xml.MarkupBuilder
def PORT = 6001
HttpServer server = HttpServer.create(new InetSocketAddress(PORT), 0);
server.createContext("/", new HttpHandler() {
@Override
public void handle(HttpExchange he) throws IOException {
@kmizu
kmizu / gist:1876800
Last active December 22, 2019 00:05 — forked from gakuzzzz/gist:1865400
Scala環境構築

Scala 開発環境構築手順

前提条件

  • JDKがinstall済みであること
  • java コマンドに環境変数Pathが通っていること
@bash0C7
bash0C7 / rails_best_practices.rake
Created May 19, 2012 13:01 — forked from holysugar/rbp-to-jenkins-plot.sh
exec rails_best_practices on "rails3 rake" for jenkins plot plugin
namespace :rails_best_practices do
desc "run rails best practices"
task :jenkins_plot_plugin => :environment do
cd Rails.root do
OUTDIR = "#{Rails.root}/reports"
mkdir OUTDIR unless FileTest.exist? OUTDIR
OUTFILE = "#{OUTDIR}/rails_best_practices.properties"
@kyonmm
kyonmm / build.groovy
Created June 5, 2012 06:14
Gradle + Mercurial + Windowsな環境で保存->ビルド->コミットまでこなします。 基本的には「トピックブランチに移動->本スクリプトを起動->開発->本スクリプトを終了->コミットを整理->ブランチをマージ」とします。gradleのタスク実行はdefaultTaskが実行されるようになっているので、build.gradleのdefaultTasksを設定するか、def p = "cmd /c gradle"のあとに起動したいタスクを指定します。基本的にはUnit Testなタスク
def root = new File("./src/")
println root.absolutePath
lastmodified = [:]
current = [:]
while(true){
current.clear()
root.eachFileRecurse {
current << ["${it.absolutePath}":it.lastModified()]
}
if(!current.equals(lastmodified)){