重箱の隅を優しくつつく

博士号取得後、化学企業で働いています。科学(物理化学)、プログラミング、読書、自転車などが好きです。

大学生のころの記事

今よりもずいぶん若かった大学生の頃(2009年4月-2013年3月)の記事です。 今となっては良い思い出です。

自分のマシンのCPUに実装されている機能を調べる

最近のCPUは非常に多くの種類の命令があって、僕はそのなかでも最近、SIMD命令と言うものに少々興味があります。SIMD命令というのは、ざっくり説明すると同じような計算をたくさんのデータに対して行うときに、128ビットまたは256ビットの少々大きなレジスタ…

Macで固定アドレスにプログラムをロードする

最近のトレンド?でもあるみたいですが、Macもそれに漏れず、OS X 10.5以降はプログラムのロード時に、「アドレス空間のランダム化(Address Space Layout Randomizationといいます。頭文字をとって以下はASLRと表記)」処理が行われています。 バイナリがASLR…

CythonでCのモジュールにnumpyオブジェクトを渡す

CythonはPythonのコードをCのコードに変換して(このフェーズをCythoningというみたい)、Pythonから呼び出せるライブラリを構築するツール。 Cythonが素晴らしいのは、Pythonコードを高速に実行できるようにするだけではなく、C言語で書かれたコードやライ…

メモ書き

Macのアセンブラ メモ https://developer.apple.com/library/mac/#documentation/developertools/Reference/Assembler/040-Assembler_Directives/asm_directives.html

Gistを貼ってみるテスト。

gistを貼ってみるテスト 普段、vimの表示設定は set tabstop=4 にしてるんですが、どうもGistではデフォルトの8バイト分の幅で表示されるみたいです。expandtabを有効にすべきなのかね。

スターバックスのファンです。

いつも行くスタバでは店員さんに注文するものや、持ってるタンブラーとかを把握されているくらいにはスターバックスによく行き、ファン(笑)なのですが、スターバックスの店舗検索ってどうも使いづらくて、この前、githubでスターバックスの店舗を列挙する…

Githubに登録しました。

超いまさらだけど、Githubに登録しました。普段何かソフトウェアと呼べるほどのものを書くことは殆ど無いけれど、ある程度まとまることがあればUPします。普段はgistしか使わなさそう。 https://github.com/YukiSakamoto

また旅行の話とか

2月の終わり〜3月。再度の北欧詣でをしてオーロラを鑑賞し、そのあとで2〜3週間くらいヨーロッパを放浪する旅行をしようかと考え中。来年4月からは数年間に及ぶ研究室での生活が始まるわけだし、それを考えると、最後に貯金を一気に使って、放浪してこ…

北欧旅行その2

一つ前に続いて、今日はストックホルムでの写真をうp ノーベル賞受賞式とかを行うストックホルム市庁舎。 ストックホルムは主に14の島からなるんだけど、その島同士をつなぐ橋から。多分これは中心〜ガムラスタン島。 旧市街、通称ガムラスタン。日本で普…

最近の読書から

最近は本を乱読中w ジャンルは幅広いけれど、まぁその中で知ったことを一つ。飛行機がタキシングしたり、テイクオフの時に整備士さんが一列に並んで手を振っている光景がよくあるけれど、あれはANAが始めたものらしい。始めたっていうか、沖縄の整備士さん…

夏休みももう終わりなわけで

多分誰も見ていないだろうけれど、自分へのメモとして。主に進路に関して思案するお話。とりあえず、博士課程まで大学に残りたいって思うんだけど、問題はどの専攻でそれをするか。節電の影響なんだかんだで2ヶ月半に及んだ長ーい、でも短い夏休みだった。…

もうすぐ夏休み。

試験中に限って、その後の事を考えたりしてエア充実してますw就活とかも一旦は考えましたが、やめました。っていうか先生と話をしてぐっと我慢しました。今年の夏休みは、バイトは普段のペースより少しだけ多めにとどめておいて、読書をしたいとおもってい…

マインスイーパ?

わけあって、マインスイーパ?のプログラム書いてみた。コア部分のみだけど。初めはRubyで書いて、C++で書きなおし、間違いに気づいたため、もう一度C++で書きなおした。にしても相変わらずC++は苦手だ 最後の版のソースを載せてみる。たまにはアウトプット…

こんなん知らんかったで

一ヶ月以上前の記事だけど、前回のシステムコールするとかいう記事。あれで大嘘を書いていたことに気付いた。引数を4つpushしないとシステムコールできないと書いていたけど、実は全然関係ないことが分かった。 では、何が必要かというと、関数呼び出しの時…

Macでシステムコール

Macでアセンブラから直接システムコールを呼ぼうとしたらなかなかうまくいかない件の覚書。Linuxの場合・・・Linuxでシステムコールしようとすると、まずレジスタを全部クリアしたあと、呼びたいシステムコールの番号(とかに#defineされてるはず)をeaxにわ…

カレントディレクトリ以下の全てのディレクトリを走査して画像だけを表示するスクリプト

昨日のスラドの記事(http://slashdot.jp/yro/11/05/02/0138236.shtml)で読んだんです。そこで、タイトルにあるようなスクリプトを書いてみました。 #!/usr/bin/ruby -Ks def directory_search(path) list = Dir.glob("#{path}/*") list.each do |child| if F…

自分なりのベンチマークの仕方

昨日からOpenGL。面白い。ベンチマークの仕方についてちょこっとメモ。 関数が呼び出されてから、その関数が終了するまでにかかる時間を計測したいとします。 単純に考えれば、関数の始まりのタイミングでその時のシステム時間を記録して、関数の終わりのタ…

本。

<読みたい本リスト> ※自分用のメモ。 プログラミングHaskell haskellは少し触ったけど、面白そう。まぁLISPやってると(極められてはないけど。っていうか超初心者レベルだけどw)関数型云々に大してのアレルギーはないかな。LISP自体は、関数型云々言うよ…

そしてCommon Lispで書いてみた

一つ前のと全く同じアルゴリズム、データ構造で書いてみた。 引数に渡すネットワークも同じ。ただ、これってネットワークが循環してるとだめだよね。だから、経路を見たら、子ノードがそれまで通ってきたところでないことをチェックさせないといけない。また…

Tree表示をするHashの拡張メソッドを書いてみた

Hashクラスを拡張する形で、Dosのtree的な表示をするスクリプトを書いてみた。 これって、綺麗に表示させようとすると案外考え込んだ。ハッシュを、キー:親要素、値:子要素の配列 で書き(ネストされている場合も可。詳しくは以下のソース参照)Hash#treeで…

たけしのコマ大数学科

たけしのコマ大数学科でやってた問題を、番組の時間内にそれを力づくで解くプログラムを書いて正解を出せるかどうかやってみた。まずは問題から。写したわけじゃないから、文章自体は不正確。 ある二桁の数に、その数の10の位と1の位の数を逆にした数を繰…

nested function

先輩にgccは関数の入れ子(ネスト)定義ができることを聞いた件の覚書。 manみたら、Darwin(Max OS X)だと、これは元々は無効になってるらしく(-fnonested-functions)、-fnested-functionsで有効にしてやんないといけないらしい。以下ソース。 /* nest.c */ …

bochsをビルドしてみた

仮想マシンのbochsをビルドしてみた。 環境はMac OS X SnowLeopard(10.6.6)。 confの設定が初めよくわかんなかったからその件のメモφ(..) ソース落としてきてから、コンパイル先のディレクトリへ移動。 > cd bochs-2.4.5 > sh .conf.macosx > make > make in…

Mac OS X-gccでのダイナミックリンクライブラリの作り方がよく分からない件。

Mac OS Xで、コンソール上でダイナミックリンクライブラリ(shared-object)の作り方がよくわからない件の覚書。とりあえず、メインのソースを以下のように作成。 /* main.c */ #include <stdio.h> int hello(void); int main(void) { hello(); return 0; } そして、</stdio.h>…

c言語ってどう教える物?

知り合いが大学の講義で困って、C言語を誰かに教えてもらいたいといっているらしい。 そんな話を今日友人に言われて、助けられるものならいくらでも助けるとは言ったんだけど、C言語(に限らずプログラミング言語?)ってそもそも人にどう教えるものなんだろ…

今まで読んだ(技術)本

今まで自分が読んだ技術本(計算機関連)で、なおかつ狭い本棚の中に残っているものを挙げてみるテスト。言語関連 プログラミング言語C(K&R) エキスパートCプログラミング プログラミング言語Ruby 初めての人のためのLISP ANSI Common Lisp(スタンダード…

アセンブリ言語勉強中。。。

某大学生命科学科の僕ですが、今学期は初めて、他学科の授業をひとつだけ受けています。それは何かと言うと、アセンブリ言語。 「エキスパートCプログラミング」などの書籍は読んでいたので、C言語がアセンブリ言語に翻訳されるとき、どのように置き換えられ…

Time After Time

突然、コンピュータなどとは何も関係のない話ですが、僕はシンディ・ローパーのTime After Timeという曲がとても好きです。 僕のオヤジ世代の曲だったりもしますが、いろいろな人にカバーされていて、誰でも必ず聞いたことのある曲だと思います。僕自身もシ…

ハフマン符号化を実装してみた

ふと、圧縮アルゴリズムとして有名なハフマン符号を実装してみました。知らない人のために、まずはハフマン符号化について簡単に説明。詳しい方からお叱りを受けそうな適当な説明ですが。テキストなどのデータはすべて、それぞれの文字が特定の符号化方式(U…

テステス

プログラム書いたりしててわからなくてググッたら、よくはてなブログに行き着いて参考にしたりすることがあるんですけど、ソースコードをそのまま載せてるあれ。キーワードとかのカラーリングまでしてくれるやつ。 あれ使ってみたかったんです。というわけで…