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

nokogiri 1.4.1 にアップデート

で、下記の問題が解消してませんでしたが。 ちょっと困る - nokogiri 1.4.0 http://d.hatena.ne.jp/arikui1911/20091126/1259231201 勘違いでした。やらかしてたのは RubyGems のほうでした。 古い nokogiri がロードされていたみたいだ。 gem() でバージョ…

nokogiri 1.4.0

1.3.3 で直ったと思った UTF-8 以外の日本語ページでの問題が再発。 Nokogiri 1.3.3 で Ruby1.9 のパース結果は完全 UTF-8 文字列に - きたももんががきたん。 http://d.hatena.ne.jp/kitamomonga/20090729/ruby_nokogiri_1_3_3_with_ruby_1_9_encoding

ruby-mode

Windows XP、GNU Emacs 23.1.1 でのおはなし。 ついに ruby-mode が標準添付に相成ったわけですが、ちょっと残念。 ruby-mode は Ruby1.9 のエンコーディングのために自動で例のマジックコメントをつけてくれるわけですが、Ruby1.9 が知らないような # -*- c…

bison.el

これが若干残念。何が残念かと言うと、 c-mode が 1 回も呼ばれてない状態だと、 c-mode が初回に用意する変数を触る bison-mode はコケる。 xyzzy では組み込みの major-mode も /lisp に置かれていたので、ちょっと新鮮なハマり方だ。どー対処すればいいん…

Opera プラグイン Obook の目次を HTML にする

Obook は設定されたディレクトリのルートに XML ファイル (obook.xml) を置いて、そのディレクトリ以下に収めたスクラップした Web サイトデータを管理しているようだ。他のブラウザからもそれまで溜めたスクラップを見れるように、その XML ファイルをごに…

Opera が重い…わけではないが

結果的に重くなる。メモリをアホみたいに食って、しかも解放しないっぽいからだ。 Opera10になってさらにウチのマシンには重荷である。 最小化するとページアウトするんだっけ? でも重いときは最小化自体が重い。個人的になじみの無い Win32API だらけで戦々…

politrunc.rb

Windows 版の Polipo の -x オプションは使えない。http://ely.ath.cx/~piranha/software/polipo_trimcache/なのでここの polipo-trimcache という Python 製のコマンドを移植してみる。 名前は POLIpo cache TRUNCate ってことで。いまいちしっくりこないけ…

hatenadiary ライブラリ

gem にしてみました。インストールは(GitHub を gem の source として追加して) $ gem install arikui-hatenadiary何するかというと、mechanize を使ってはてなにログインしてはてダに投稿とかします。 自前のはてダラの一部を抜き出しただけです。使い方: r…

はてダとRuby1.9とMechanizeと

編集画面(http://d.hatena.ne.jp/はてなID/edit)で失敗する。 MechanizeのHTMLの実体参照を戻す関数でエンコーディング回りの例外が起きるからだ。結論から言うと、これで回避できた。 require 'www/mechanize/util' class << WWW::Mechanize::Util org = in…

remember.l

NetInstaller に公開されているものが既にあるが、自分が使う用に写経&改造。 ;;; -*- Mode: Lisp; Package: REMEMBER -*- ;;; ;;; This files is not part of xyzzy. ;;; ;;; ;;; = remember.l ;;; ;;; == Install ;;; ;;; (1) Put remember.l on /site-lis…

remember で取ったメモを org-mode みたいにオーガナイズ

出来たらいいなぁ。rss-mode とか 2ch-mode みたいなバッファ上でのインタフェースを作ったことがないから手探りでしんどい。

expectations/raketask.rb

すんなり rake/testtask.rb と一緒には使えないですね。 require 'rake' require 'rake/tasklib' require 'tempfile' module Expectations class RakeTask < Rake::TaskLib DEFAULT_NAME = :test def initialize(name = DEFAULT_NAME) self.name = name @lib…

tinytest-0.0.1

GitHub で gem 公開の設定してきました。 あと直した点。 tinytest/compat の実装から built-in class への monkey-patch を取り除いた assertion など以外で TestCase に持たせるメソッドは最小限に インストールの仕方は、 GitHub が gem の source に加え…

Project Euler - Problem 13

以下の50桁の数字100個の総和の上位10桁を求めよ。 37107287533902102798797998220837590246510135740250 46376937677490009712648124896970078050417018260538 74324986199524741059474233309513058123726617309629 91942213363574161572522430563301811072…

Project Euler - Problem 12

三角数の数列は自然数の和で表わされ、7番目の三角数は 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28 である。 三角数の最初の10項は 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... となる。 最初の7項について、その約数を列挙すると、以下のとおり。 1: 1 3: 1,3 6: 1,2,3…

Project Euler - Problem 11

08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91…

Project Euler - Problem 10

10以下の素数の和は2 + 3 + 5 + 7 = 17である. 200万以下の全ての素数の和を計算しなさい.ちょっとかかります。 take_while が Array を返すからかと思い、避けてみたましたが、そういうわけでもなく。 単純に 200万まで素数を列挙するのが大変なようです。 …

Project Euler - Problem 9

ピタゴラスの三つ組(ピタゴラスの定理を満たす整数)とはa

Project Euler - Problem 8

以下の1000桁の数字から5つの連続する数字を取り出して その積を計算する。そのような積の中で最大のものの値はいくらか 73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 858615607891129494954595…

Project Euler - Problem 7

素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり、6番目の素数は 13 である。 10001 番目の素数を求めよ。require 'prime' iter = Prime.each 10000.times{ iter.next } p iter.next # => 104743

Project Euler - Problem 6

最初の10個の自然数について、その和の二乗と、二乗数の和は以下の通り。 1^2 + 2^2 + ... + 10^2 = 385 (1 + 2 + ... + 10)^2 = 3025 これらの数の差は 3025 - 385 = 2640 となる。 同様にして、最初の100個の自然数について和の二乗と二乗の和の差を求めよ…

Project Euler - Problem 5

2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり、そのような数字の中では最小の値である。 では、1 から 20 までの整数全てで割り切れる数字の中で最小の値はいくらになるか。ようは 1 .. 20 の最小公倍数ってことか。 mathn 様々。 require '…

Project Euler - Problem 2

フィボナッチ数列の項は前の2つの項の和である。 最初の2項を 1, 2 とすれば、最初の10項は以下の通りである。 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 数列の項が400万を超えない範囲で、偶数の項の総和を求めよ。再帰使ったら(速度的に)負けだと思ってる…

Project Euler - Problem 1

http://odz.sakura.ne.jp/projecteuler/ の和訳にお世話になっています。 10未満の自然数のうち、3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり、 これらの合計は 23 になる。 同じようにして、1,000 未満の 3 か 5 の倍数になっている数字…

Project Euler - Problem 4

左右どちらから読んでも同じ値になる数を回文数という。 2桁の数の積で表される回文数のうち、 最大のものは 9009 = 91 × 99 である。 では、3桁の数の積で表される回文数のうち最大のものはいくらになるか。回文数の判定は手抜き。 そしてその他もほぼ定義…

Project Euler - Problem 3

13195 の素因数は 5、7、13、29 である。 600851475143 の素因数のうち最大のものを求めよ。ライブラリって偉大。 require 'prime' p 600851475143.prime_division.sort_by{|x, n| x }.last[0] # => 6857

Project Euler

ちょこっとやってみた。頭の Ruby 体操が楽しい。

MyGame ハック

Ruby/SDLラッパーの MyGame がコンパクトだったので自分流にハックしてみた。 基本的に本家のパクリ アニメーション機能を実装してない テストが中途半端 (C0 coverage 50%) mygame/boot 相当のものがない GitHub - mygame2 http://github.com/arikui1911/my…

テスティングライブラリ TinyTest

http://d.hatena.ne.jp/arikui1911/20090108/1231394335 をちょっと見直して作り直し。嬉しいこと: テストが書けた C0 coverage 100% 1.8.7 でも動くようにできた GitHub - TinyTest http://github.com/arikui1911/tinytest/tree/master 追記: 1.8.6 でも動…

[Ruby] Ryzzy をリリースしました

Ryzzy とは、独自実装の Ruby インタプリタを搭載した Emacsen エディタです。 xyzzy をベースにしています。特長: Ruby 1.9.1 バイトコードインタプリタ 「あふ」互換キーバインドの内蔵2画面ファイラ モジュール・クラス分けされた API RubyGems を利用し…