2007-01-01から1年間の記事一覧

クリスマスらしい

バイナリ表示ODを16進数1バイトで表示する。

16進の表示をhdに近づける。 - 計算機と戯れる日々のその後od -tx1 でいい。 $ od -tx1 sendmail.rb | head -5 0000000 23 21 2f 75 73 72 2f 62 69 6e 2f 72 75 62 79 0a 0000020 72 65 71 75 69 72 65 20 27 6e 65 74 2f 73 6d 74 0000040 70 27 0a 0a 4…

ruby内でwgetとconvert(imagemagick)を使って中間ファイルを作らずにmimeエンコードする方法

cygwin内のrubyだとpipeがつかえないので外部プログラム呼出で逃げる >> url='http://www.google.co.jp/intl/ja/images/google_sm.gif' => "http://www.google.co.jp/intl/ja/images/google_sm.gif" >> puts [`wget -q -O - #{url} | convert -quality 30 -r…

コマンドラインでwgetとconvertを同時に使う

$ wget -q -O - http://www.google.co.jp/intl/ja/images/google_sm.gif | convert -quality 30 -resize 200x200 - jpeg:- > a.jpgこれで良い。さらにパイプに回してMIMEエンコードできる。 $ wget -q -O - http://www.google.co.jp/intl/ja/images/google_s…

環境変数HTTP_PROXYの設定

以下のようにする。 export http_proxy=http://[user[:password]@]host[:port]/wget w3mで参照する HTTP_PROXYだとrubyのopen-uriが駄目なので小文字で統一する

80周年記念らしい

excelでちょっとしたゲームを作る

VBA

2番目のシートで遊べる。 左右でよけるだけ。 Public Declare Function SetTimer Lib "USER32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Public Declare Function KillTimer Lib "USER32"…

ExcelのVBAで画面をスクロールさせる(ズーム版)

VBA

二枚目のワークシートがスクロールする。 Public Declare Function SetTimer Lib "USER32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Public Declare Function KillTimer Lib "USER32" (ByV…

ExcelのVBAで画面をスクロールさせる

VBA

二枚目のワークシートがスクロールする。 Public Declare Function SetTimer Lib "USER32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Public Declare Function KillTimer Lib "USER32" (ByV…

ExcelのVBAでキーコードを得る

VBA

先程のタイマーを応用しつつ、キーボード上で押されているキーを決まったセルに表示する。フォーカスが無くても反応するところがおもしろい。 Public Declare Function SetTimer Lib "USER32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse A…

ExcelのVBAでタイマを使う

VBA

ボールが16x12の中をバウンドするプログラム。 initを実行した後 timerStartStopを実行すると動いたり止まったりする。 久しぶりにタイマ使って楽しかった。 Public Declare Function SetTimer Lib "USER32" (ByVal hwnd As Long, ByVal nIDEvent As Long, B…

デコメールをrubyから送る方法

rubyでおくるとき - 計算機と戯れる日々では色つき文字や画像を添付する送り方をアップしていなかったことに今日気がついた。なんのための備忘録だろうか(笑ということでさらす。 #!/usr/bin/ruby require 'net/smtp' Net::SMTP.start( 'smtpServerAddress'…

cygwinというかwindowsではアスタリスクをファイル名に出来ない?

$ echo -e '#include <stdio.h>\nint main(){FILE *f;f=fopen("./a.txt","w");fprintf(f,"hello,world");}'> a.c;gcc a.c ; ./a.exe $ cat a.txt $ echo -e '#include <stdio.h>\nint main(){FILE *f;f=fopen("./*","w");fprintf(f,"hello,world");}'> a.c;gcc a.c ; ./a.exe S</stdio.h></stdio.h>…

schemeでリスト中に同じ要素が並んでいるか判定する

(define (is-prefix xs ys) (if (null? xs) #t (if (null? ys) #f (if (eq? (car xs) (car ys)) (is-prefix (cdr xs) (cdr ys)) #f)))) (define (match xs ys) (if (null? ys) #f (if (is-prefix xs ys) #t (match xs (cdr ys))))) (print (match '(3 5) '(1…

debianにおけるhyperestraierのcgi高速設置のための覚書

./doc/に検索対象文書を格納。 $ cp /usr/lib/estraier/estseek.cgi . $ cp /usr/share/hyperestraier/locale/ja/estseek.* . $ echo 'replace: ^file://home/自分のホーム/public_html{{!}}http://サーバ名/' >>estseek.conf $ estcmd gather -il ja -sd ca…

bashでディレクトリ内のhtmlファイルの文字コードを一挙に変更する

まあ、おぼえているからいいんだけど、なんとなく。 ついでにファイル内のメタタグも変更しておく $ for i in *.html ; do nkf -wd $i|sed s/euc-jp/UTF-8/ > ../doc/$i ; done

emacsのウインドウタイトルを変更する

emacsではウインドウは別の意味なのでフレームというらしい。 (setq frame-title-format "Emacs")これで変更できる。

emacs22でhaskell-mode2.4を動かす

先日の emacsのhaskellモードでC-cC-lで自動的にmainを評価し、更にカーソルを編集バッファにとどまらせる - 計算機と戯れる日々 はhaskell-mode-2.3でやったみたいだ。 どうも最新は2.4になってる。 http://www.iro.umontreal.ca/~monnier/elisp/#haskell-m…

ツリー

カンガエルヒト

アシモ

アシモ

弓ひき童子

等身大マジンガー

アクエリエオン

本物はじめてみた

ゲッターロボG

ゲッターロボ

haskellでpermutationを作ってみる

正確には順列じゃなくて nPmのn=mのときだけ。 import List main=print $ permutation [1..3] permutation (a:[]) = [[a]] permutation a = concat $ zipWith (\x y->map (x:) (permutation (delete x y))) a $ repeat a結果 *Main> main [[1,2,3],[1,3,2],[…

GHCiやめた記念:qsortをmainでやってみる

import List main=print a a=qsort [3,2,1,4,1,2] qsort [] = [] --qsort (x:xs) = qsort [y|y<-xs,y<x] ++ [x] ++ qsort [y|y<-xs,y>=x] qsort (x:xs) = qsort l ++ [x] ++ qsort r where (l,r)=partition (< x) xs結果 *Main> main [1,1,2,2,3,4] *Main> emacs入れて良かった。</x]>

なんかよくわからんからあとで復習する。

n番目の要素とそれ以外のリストからなるタプルを生成する。 Prelude> let (l,a:r)=splitAt 1 [1..4] in (a,l++r) (2,[1,3,4]) Prelude> let (l,a:r)=splitAt 2 [1..4] in (a,l++r) (3,[1,2,4]) Prelude> let (l,a:r)=splitAt 3 [1..4] in (a,l++r) (4,[1,2,3…