2015-10-01から1ヶ月間の記事一覧

HTML5 の Canvas でしょうもないものを作った(その2)

こちら。今度は円が動きます。続編はこちらです。

はてなブログでリンクを別ウィンドウで開くようにする

はてなダイアリーのように、はてなブログでもリンクを別ウィンドウで開けるようにしてみました(日記の中でだけ有効です)。[デザイン]→[カスタマイズ]→[フッタ]の HTML を記述する部分に、以下のコードを貼り付けて下さい。 <script type="text/javascript"> var ndlist = document.querySe…

HTML5 の Canvas でしょうもないものを作った

こちら。前回のエントリと同じものを、HTML5 の Canvas で作ってみました。マウスでクリックしたところに円を描きます。ランダムな色がちょっとキレイかな。

Green Shoes を使ってみる

Ruby の簡便な GUI ライブラリである Green Shoes を使ってみました。 The Green Shoes Manual // Hello!とても手軽に使えます。例えばこんな感じ。マウスでクリックしたところに円を書きます。 #! /usr/bin/env ruby require 'bundler/setup' require 'gree…

質問の線形代数の行列の問題を Ruby で

質問の線形代数の行列の問題をPythonで解いてみた。 - rscの日記 rsc さんが Python でやっているのを、Ruby でやってみました。元の問題はこれです。自力では解けませんでした。組み合わせの数を劇的に減らすのがコツですね。 ans = [] target = [12, 20, 2…

Linux Mint での Ruby の起動を楽にする

Linux Mint(あるいは Ubuntu)で Ruby を使う場合、rbenv でバージョン管理をしていることが多いと思います。その際、起動時に設定が必要なので、それを一々実行するのが面倒です。で、シェルスクリプトで自動化しました。シェルスクリプトを実行すれば、設…

Linux Mint で複数のバージョンの Python を使う

Linux Mint(あるいは Ubuntu)には最初から Python が入っています。Linux Mint 17.2 には複数のバージョンの Python が入っているので、virtualenv を使って複数のバージョンを切り替えられるようにしてみます。まず $ python として [Tab] キーを二回押す…

Ruby は管理者権限で実行できない

rubyインストールしてあるのにsudoすると「/usr/bin/env: ruby: そのようなファイルやディレクトリはありません」と言われる - プログラマ 福重 伸太朗 〜基本へ帰ろう〜 上記事が参考になる。./.rbenv/.bashrc に以下を追加して、$ source ~/.rbenv/.bashrc…

取り敢えず WEBrick を使ってみる

WEBrick は Ruby の標準添付ライブラリで、簡易サーバです。取り敢えず動かしてみる。まず、『Ruby逆引きハンドブック』の p.530 のコードをコピペ。これを実行。 #! /usr/bin/env ruby require 'bundler/setup' require 'webrick' opts = {:BindAddress => …

n次対称群

クラス Group についてはひとつ前のエントリを見てください。 変数 od に次数を入れます。かなり時間がかかる。自分の環境だと、5次で 40秒くらい、6次で 2.8時間くらい。次数が大きくなったら、結合法則の確認をスキップした方がいいかも知れない。 od = 5 …

有限群の実装(Ruby)

クラス Group#initialize の set は定義された集合(配列)、op は定義された演算(Proc オブジェクト)。@ie は単位元、@order は位数、インスタンスメソッド inverse(a) は a の逆元を与えます。(結合法則の確認はひどく時間がかかる場合があるので、引数…

3次の置換(Ruby)

「"012"→num の置換」でひとつの元。perm3[num1, num2] は2つの元の積を表す。 #permutation(置換) perm3 = lambda do |num1, num2| n1 = num1.chars.map(&:to_i) n2 = num2.chars.map(&:to_i) n1.map {|i| n2[i]}.join end perm3["210", "012"] #=>"210" …

指定した時間に PC を立ち上げる(Linux)

rtcwake - 指定時間になったらスリープ/休止状態/電源OFFから自動的に復帰 - 憩いの場【Linux】 これはおもしろそうだ。Ubuntu 14.04 でやってみました1分間サスペンド(Windows の「スリープ」)して復帰します。 $ sudo rtcwake -m mem -s 60サスペンドし…

簡単なチューリング・マシン

「P≠NP」問題 現代数学の超難問 (ブルーバックス)作者: 野崎昭弘出版社/メーカー: 講談社発売日: 2015/09/18メディア: 新書この商品を含むブログ (1件) を見るの第二章のチューリング・マシンを、Ruby で実装してみました。コードは以下です。pg は動作規則…

ユークリッドの互除法を Ruby で

ユークリッドの互除法(Euclidean Algorithm)を使って、最大公約数を求めます。99400891 と 99221377 の最大公約数は 9973 です。プログラムは以下のとおり。再帰を使う典型的な問題でしょう。 def ea(m, n) return m if n == 0 ea(n, m % n) end puts ea(9…