-3進数への変換

30分プログラム、その776。anarchy golf - Negatenaryにインスパイアされて、-3進数への変換をやってみました。 基数が負の変換はやったことがなかったので、わりと苦戦しました。各桁が必ず正の数になるようにするのがむずい! 使い方 *Main> negatenary (-6…

複数の画像をつなげて、一つの動画にする

まずは画像を640x480にリサイズする。 $ for i in DSC_*.JPG; do; convert -resize 640x480 $i s-$i; done画像を動画にエンコードする。 $ ffmpeg -b 9400k -i 's-DSC_0%3d.JPG' -an out.mp4 参考 ffmpeg を使って動画を MotionJPEG へエンコードする方法 - …

ScalaでHadoopを使ってみた。

大名古屋ことGoogle グループの宿題で「Hadoopを動かしてみること」というのがあったので、試してみました。Javaを使う気にはならないので、Scalaで。 コード Hadoopの2章のコードを素直に写経する。一ファイル一クラスの制限がないのはいいね。 import java…

奇数

30分プログラム、その775。anarchy golf - odd linesをやってみます。 いつものごとく、ゴルフにはこだわりません。 使い方 $ jot 10 | gosh odd-line.scm 2 4 6 8 10 ソースコード #! /opt/local/bin/gosh ;; -*- mode:scheme; coding:utf-8 -*- (use util.…

最長共通部分列(Longest Common Subsequence; LCS)を求めてみる

30分プログラム、その774。最長共通部分列(Longest Common Subsequence; LCS)を求めてみました。 LCSが何かについては最長共通部分列問題 (Longest Common Subsequence) - naoyaのはてなダイアリーに詳しく書かれているので、そちらを参照してください。 動…

xargsっぽいのを作ってみた

30分プログラム、その773。xargsっぽいのを作ってみた。xargsそのものについてはxargs - Wikipediaを参照してください。重要な部分だけを引用すると下記のようになります。 xargs(エックスアーグズ)はほとんどの UNIX 系オペレーティングシステムに用意さ…

集合モジュール

30分プログラム、その772。 なんとはなしに集合モジュールを書いてみました。 使い方 1> mySets:add(1,[1,2]). [1,2] 2> mySets:add(1,[2]). [1,2] 3> mySets:union([1,2],[1,3]). [2,1,3] 4> mySets:intersect([1,2,3],[1,4]). [1] 5> mySets:diff([1,2,3],…

『醸し人九平次 純米吟醸 山田錦』を飲んだよ

感想 工場実習が終わったのでちょっと奮発してみた 甘過ぎもなく辛すぎもなく、素直な味 値段/買った場所 酒泉洞堀一shusendo 日本酒・ナチュラルワイン・国産ワイン・焼酎 造り手の想いを伝える珠玉の酒セレクトショップ名古屋市西区 醸し人九平次、而今、…

最近のatig.rb : Twitter検索機能とSQLiteの最適化

atig.rbはIRCとTwitterをつなぐという非常にマニアックなソフトです。そのわりに、そこそこの人数の方に使ってもらえているみたいで嬉しい限りです。で、いろんな人からフィードバックをいただいたので、atig.rb本体に取り込みました。 主な機能追加は次の通…

整数を英語に変換

30分プログラム、その771。anarchy golf - 100にインスパイアされて、整数を英語(one,two,three,...)に変換してみました。今日のポイントは、 alphaNum n = msum [ lookup n table, do let (x, y) = split n x' <- lookup x table y' <- lookup y table retu…

二進数変換

30分プログラム、その770。整数を二進数に変換してみる。 SMLには右シフトとかのビット演算ないらしく、ちょっととまどった。 使い方 - bits 0; val it = [0] : int list - bits 3; val it = [1,1] : int list - bits 2; val it = [1,0] : int list ソースコ…

「ASCII Starts」をやってみる

30分プログラム、その769。anarchy golf - ASCII Starsをやってみました。 わりと素直に書けちゃったので、特に語ることないです。 使い方 scala> show(4) res16: String = * *** ***** ******* ***** *** * ソースコード def wrap(s : String) = "*%s*".for…

条件付き確率の問題をモンテカルロ法で解く

30分プログラム、その768。http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_269にインスパイアされました。こういう打ち切り所をカチっと決めれない問題は、無限リストを使ってやるのがいいですよね。 使い方 gosh> (calc 10) 0.6 gosh> (calc 100)…

『瑞冠 いい風 純米大吟醸』飲んだよ

感想 濃い目。酸味も強い。 お酒の消費頻度があがってる。 値段/買った場所 酒泉洞堀一shusendo 日本酒・ナチュラルワイン・国産ワイン・焼酎 造り手の想いを伝える珠玉の酒セレクトショップ名古屋市西区 醸し人九平次、而今、新政、鍋島、射美、風の森 、獺…

テスト投稿

はてなダイアリーがバージョンアップしたらしいよ。 はてダラは使えるかしら。

述語をもとにリストを2つに分ける関数を書いてみた

30分プログラム、その767。述語をもとにリストを2つに分ける関数を書いてみた。例えば、整数のリストxsにたいして partition(lambda x : x % 2 == 0, xs)とやってやると、偶数のリストと奇数のリストに分割してくれる。 使い方 print partition(lambda x : x…

『純米無濾過生原酒 夢心』飲んだよ

感想 シュワシュワしてる。微発泡 ほのかに甘い。こういう日本酒は大好き 気付いたら半分くらい無くなってた。やばいだろ、これ 値段/買った場所 酒泉洞堀一shusendo 日本酒・ナチュラルワイン・国産ワイン・焼酎 造り手の想いを伝える珠玉の酒セレクトショ…

パスカルの三角形

30分プログラム、その766。パスカルの三角形を書いてみる。 久しぶりなのでリハビリがてら簡単なやつを。Perlだとzipが使えなくてつらかったです。 使い方 $ perl pascal_tri.pl 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35…

標準入力を指定行数ごとに分割するプログラム

30分プログラム、その765。標準入力を指定行数ごとに分割するプログラムを作ってました。 SeqとIteratorの違いで多いに苦しみました。ドキュメントはまったく読んでないのですが挙動と名前から類推するに、 xs.take(n) xsがSeqならxsは変化せずに、Iterator…

Clojureでfizzbuzz

30分プログラム、その764。 Clojureのお勉強としてfizzbuzz書いてみました。まだ慣れないなぁ。 使い方 $ clj fizzbuzz.clj 1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz ソースコード (defn divide? [n m] (= (mod n m) 0)) (defn fizz-buzz…

『貴 特別純米』飲んだよ

感想 米の味が強い。濃いと表現したらいいのかな? 値段/買った場所 酒泉洞堀一shusendo 日本酒・ナチュラルワイン・国産ワイン・焼酎 造り手の想いを伝える珠玉の酒セレクトショップ名古屋市西区 醸し人九平次、而今、新政、鍋島、射美、風の森 、獺祭、二兎…

最長のコマンド名を探してみる

30分プログラム、その763。最長のコマンド名を探してみます。 やっぱり、素数の計算とかよりかは実践的で楽しいです。 使い方 $ gosh longest-command.scm scrollkeeper-get-extended-content-list ソースコード #! /opt/local/bin/gosh ;; -*- mode:scheme;…

素数を数える

30分プログラム、その762。 またもいいネタがないので、素数を数えました。エラトステネスのふるいを使うのも芸がないので、フェルマーテストにしました。 使い方 $ python prime.py 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 9…

階乗計算

30分プログラム、その761。 特にやることも思いつかないので、階乗を計算してみました。一応、末尾再帰にしてみました。 使い方 $ perl fact.pl 1 2 3 5 8 13 21 34 55 89 144 ソースコード #! /usr/bin/perl # -*- mode:perl; coding:utf-8 -*- use strict;…

暗証番号ジェネレータ

30分プログラム、その760。暗証番号ジェネレータ。 最近、暗証番号を設定する機会が何度かありました。とはいうのもの、ランダムな4桁の数字なんで、そう簡単には思いつけないです。 というわけで暗証番号ジェネレータを作ってみました。 破られやすさとかの…

ProofCafe行ってきたよ

ProofCafeに行ってきました。みんなで楽しく、ペアプル(ペアプルービング; 二人のプログラマが一つの定理の証明を行う証明技法。)してきました。 人がいっぱい 正直なところ5〜6人集まればいいほうだと思っていたのですが、14人もの人が集ってました。わりと…

真理値表

30分プログラム、その759。真理値表を作ってみよう。 [mixi]初心者です。 - Javaの課題丸投げ | mixiコミュニティにインスパイアされました。要するに、適当な論理式を与えると真理値表を出力するプログラムです。 出力の整形は、けっこう適当です。 使い方 …

Clojureはじめました

30分プログラム、その758。Clojureはじめました。 始めてなのでとりあえず階乗からスタートしてみました。今のところ感想。 clojure-modeは簡単にインストールできたけど、対話環境を使うにはslimeとかを入れなきゃダメらしい。ちょっと面倒。 defnで関数を…

文字列の反転

30分プログラム、その757。anarchy golf - Mirroring Characterにインスパイアされて、文字列の反転をやってみました。 基本的にreverseと同じですが、括弧だけは対応するものに置き換えるようです。例えば、"f(x)"を反転させると"(x)f"になります。 使い方 …

でかいXを出力する

30分プログラム、その756。 anarchy golf - Xにインスパイアされて、でっかいXを出力してみました。 使い方 - print (x 3); x x x x x x x x x x x x xval it = () : unit ソースコード open String; fun repeat _ 0 = [] | repeat c n = List.tabulate (n, …