2007-07-01から1ヶ月間の記事一覧

はじめてのRhino

30分プログラム、その96。Javaで実装されたJavascript処理系であるRhinoを試してみる。 id:Gemma:20070708によるとNext Big Languageらしい。でも、call/ccとはまだ出会っていない。探してもいないんだけど。 インストール http://www.mozilla-japan.org/rhi…

howm->はてな(その2)

バージョンアップしますた。id:mzp:20070806:howm。30分プログラム、その95。howm->はてな(id:mzp:20070724:howm)をパワーアップしてみる。 今までのやつは前日のメモだけが対象だったが、今回は過去の日記すべてを対象にしてみた。更新されたやつだけを探す…

QuickCheckを試す

30分プログラム、その94。QuickCheckを試す。 同じく、仕様に基づいたテストを行なうらしいRSpecの参考になるかな、と思って。 いいよ、これ。テストデータが自動で作られるのは、新鮮。 使い方 例えば、lengthが満しているべき性質を関数で記述する。 pLeng…

30分プログラム日記ジェレネータ

30分プログラム、その93。30分プログラムの日記のテンプレート。 いい加減、毎日「30分プログラム、そのX」と書くのが面倒になってきたので。ただ、この今日の日記が自己言及っぽくなって、結構混乱してる。 使い方 $ perl croquis.pl hoge.pl ソースコード …

FTP更新チェッカ

30分プログラム、その92。FTPのログを解析して、ごにょごにょするやつ。 id:mzp:20070723:ftpのバージョンアップ版。 使い方 $ ruby ftup.rb地味ですね。 コード #! /opt/local/bin/ruby -w # -*- mode:ruby; coding:utf-8 -*- # # ftup.rb - # # Copyright(…

コマンドラインでTwitterに投稿

30分プログラム、その91。コマンドラインでTwitterに投稿するためのスクリプト。 id:mzp:20070725:notifyの通知をTwitterでやれたら便利じゃね、とid:zyxwvが言っていたので。 使い方 $ twit --username="mzp" --password="xxxx" こんにちは こんにちは ソー…

Notifyコマンド

30分プログラム、その90。ある処理が終ったら、教えてくれるコマンド。 使い方 例えば、 $ notify make allとすると、make allが終ると音で報せてくれる。make allが時間がかかる処理のときに便利。終了した後に実行するコマンドは、NOTIFY_COMMAND環境変数…

howm-to-はてな

30分プログラム、その89。howmの内容をはてなに自動投稿するスクリプト。実際には、はてダラで投稿できる形式に変換するだけ。内容は、はてな記法で書かれていることが前提。 使い方 $ perl howm-hatena.pl # 今日の分のファイルを生成 $ perl howm-hatena.p…

和暦西暦変換

最近、西暦と平成の変換が必要になることが多いけど、即座にできないのでプログラムを書いてみた。これは、正しい怠惰の使い方ですよね。ただ、seirekiとかsyouwaという変数名を使うのはいやだったので、日本語識別子を試してみる。 日本語識別子は、-Kオプ…

それPra

id:mzp:20070717:ftp id:mzp:20070722:ftp で、FTPのリストを作る方法を書いていたんだけど、Praggerで実現したほうがいい気がしてきた。そもそも、やりたいのは、 FTPにログイン 更新されたファイルを調べる(ログ解析とかファイル一覧作成とか) そのデータ…

FTPからのダウンロード

30分プログラム、その88。 FTPからファイルをダウンロードするやつ。 #! /opt/local/bin/ruby -w # -*- mode:ruby enconding:utf-8 -*- # # ftp_get.rb - # # Copyright(C) 2007 by mzp # Author: MIZUNO Hiroki <hiroki1124@gmail.com> # http://mzp.sakura.ne.jp/ # # Timestamp:</hiroki1124@gmail.com>…

Googleコマンド/コマンドラインから検索

Mac

#!/bin/sh w3m "http://www.google.com/search?q=${1}+${2}+${3}+${4}&ie=UTF-8&oe=UTF-8"w3mのかわりにopenにすれば、GUI使いでも幸せになれるはず。使い方: $ google iTerm

iTermのチューニング

Mac

iTermは日本語がちゃんと表示できる素敵なターミナルだけれども、ちょっと遅い。 で、FAQを見ていたら、早くする方法が書いてあった。 とりあえず、最新版にする。最新版は、Terminal.appと同じくらい早いよ scrollback bufferを大きくしすぎない ウインドウ…

Filezillaログ解析

30分プログラム、その87。 FileZillaのログを解析して、最近更新されたやつのリストを出力する。 $ ruby ftp_recently.rb log/* Recent Updates ============================================================ 2007/07/21 --------------------------------…

celan 0.1

setup.rbでインストーラを作った question:1137478760から色々とってきた id:mzp:19000201にまとめた 院試が近いのに、何やってるんでしょうね?まったく。

CとHaskellの比較@二分木

30分プログラム、Haskellで二分木。 院試の過去問で、C言語での二分木が出題されている 正解を確かめるために、そのソースを写した 木の構造が見たいけど、Cでそれを書くのは面倒だな Haskellでderiving Showしよ というわけで、同じプログラムのC版とHaskel…

お休みです

今日は、十分趣味プログラムをしたので、30分プログラムはお休みです。

CEAN - Emacs Lisp インストーラ

id:mzp:19000201にまとめました。

Emacs-Lispインストーラ

30分(?)プログラム、その86。いや、1時間かかってるし、まだ完成してませんけどね。 家のPCと大学のPCとノートPCにEmacsLispをインストールするのが面倒になったので、自動インストーラを作ろう。たぶん、誰かやってるけどな。 るびマに載っていたDSLも使い…

w3mでタブブラウズ

External Browserでscreen w3mを指定すると、タブブラウザっぽく使える。

-つきのファイルの削除

ハイフンがついたファイルを削除する方法を知っている人は、かなりUnixを使える人だ、とアルバイト先の人が言っていました。ちなみに、普通にやるとこんな感じ。 $ ls -r $ rm -r usage: rm [-f | -i] [-dPRrvW] file ... unlink file $ rm * usage: rm [-f …

FTPリスト

30分プログラム、その85。FTPのファイル一覧を取得するプログラム。 FTPサーバにいっぱいファイルがあるなぁ どれが更新されたか分りづらいなぁ 更新情報を自動生成したら、おもしろいかな ファイルリストを生成して、diffでいいな という動機。本当に稼動す…

ピラミッド その2

30分プログラム、その85。うー、日付をつけ間違えた。 id:mzp:20070714:pyramidoをRubyでやりなおしてみる。多少、表示を変えてたりする。 $ ruby pyramido.rb 6 * *** *********** ********* ********* *********** *** * $ ruby pyramido.rb 10 * *** ****…

拡張子ごとのファイルリスト

30分プログラム、その84。 拡張子ごとにファイル数を数えるプログラム。そこはかとなく、パイプでlsとかを繋げばできる気がしてる。ファイルを整理するごとに、拡張子だけを取り出して確認したがったので。 $ ruby -w ext.rb * * :[================= ] (bib…

Jaskell

Java6のScriptEngineを使うと、JavaからJRubyが呼べるよ、ってid:mirakuiさんから教えてもらいました。 http://www.pigumer.gr.jp/memo/2007/20070217_1.htmlこれはすごいぞ、とごにょごにょ調べると、呼べるのはRubyにとどまらずPythonやらSchemeなども呼べ…

_(アンダーバー)

るびマ出張版より。_という変数名を使うと、関数型言語の人には分りやすくなりますよ、という話。たとえば、連想リストから検索するコードはこう書いてた。 array = [['foo','bar'],['hoge','hage']] p array.find{|a,b| # bは使わない a == 'hoge' } でも、…

ピラミッド

30分プログラム、その83。http://ja.doukaku.org/8/。またしても、どう書く?.orgより。 $ pyramido 4 * *** ***** ******* $ pyramido 5 * *** ***** ******* ********* $ pyramido 10 * *** ***** ******* ********* *********** ************* ***********…

リストのuniq

30分プログラム、その82。エロと風俗情報満載 どう抜く?よりアレイのuniq。 irb(main):001:0> xs = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9] => [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9] irb(main):002:0> xs.uniq => [3, 1, 4, 5, 9, 2, 6, …

てすと

はてなスター用のテスト。 この画像をしなもんに変えたいなぁ。

携帯メッセージ

Problem A: Keitai Message via id:zyxwv:20070710:1184076463 #!/usr/bin/env perl use strict; use warnings; sub decode($){ my ($str) = @_; return '' unless $str; my %table = ('1'=>' ,!?', '2'=>'abc', '3'=>'def', '4'=>'ghi', '5'=>'jkl', '6'=>'…