手慰み

バカラ必勝法の可能性

前々回 バカラの勝率の計算その2 カードの偏りと控除率 - 超ウィザード級ハッカーのたのしみ 前回 バカラでカウンティングは有効か - 超ウィザード級ハッカーのたのしみ バカラの統計を分析して遊んでいますが、やっと身になる結果が発見されたかもしれませ…

バカラでカウンティングは有効か

前回 バカラの勝率の計算 - 超ウィザード級ハッカーのたのしみ バカラにハマったので、バカラを分析して遊んでいます。今回はカードの偏りがバカラの勝敗に与える影響について調べてみましょう。なぜこのようなことをするかというと、カウンティングが有効か…

バカラの勝率の計算

カジノでバカラを遊んでみて、これはハマる人が多いのも頷けるという感想を持った。ほとんど単純な丁半博打なのですが、徐々に状態が確定していく演出があって、当たったときのフワッと気が舞い上がる感覚がクセになります。次にやったときにもっと楽しめる…

シェルスクリプトのキモいところ

シェルスクリプトのインタプリタを作ろうかと、シェルスクリプトの仕様を調べています。気持ちの悪い仕様をいくつか見つけました。仕様書*1を見ながら、dash で試しました。 丸括弧と波括弧のふるまいが違う。 丸括弧はサブシェル、波括弧はコマンドのグルー…

ケリー基準

ケリー基準という、賭けに投じるべき額の総資金に対する割合を与える式があります。次のような問題があったとしましょう: 賭けに勝つと掛け金の r 倍が利益になる。賭けに負けると掛け金分が損失となる。賭けに勝つ確率は p である。総資金の一定の割合 f …

有効数字で浮動小数点数を丸める

浮動小数点数の時系列データを圧縮するのに xor encoding という手法があるそうだ。 Gorilla の論文 http://www.vldb.org/pvldb/vol8/p1816-teller.pdf 時系列データベースに関する基礎知識と時系列データの符号化方式について - クックパッド開発者ブログ …

Bloom Filter を作ってみた

Bloom Filter を実装してみた。簡単な実装なので、速度や空間効率は悪いです。 Bloom Filter というのは、確率的データ構造の一つで、ある要素が集合に含まれるかどうかを試験するものです。空間効率が非常に良いのが利点で、偽陽性、つまり集合に含まれない…

inline_table ― ソースコードに ASCII テーブルを埋め込むための Python モジュール

inline_table という名前のソースコードに ASCII テーブルを埋め込むための Python モジュールを作ってみました。 GitHub - fjkz/inline_table: Python module for embedding text tables into source-code 以下のように reStructuredText で書かれたテーブ…

ttap: ファイルシステム階層によるテスティングフレームワーク

実行可能なテストスクリプト群のディレクトリ構成を定義して、整理するためのフレームワークを作りました。半年ほど前に作ってたやつです。*1塩漬け期間を経たのでリリースとします。 GitHub - fjkz/ttap: ttap: a testing framework with file system hiera…

無向ネットワークのリンクの結合度

ネットワークサイエンスについて勉強している。 ノード間のリンクの結合の強さを表す尺度を思いついた。既に発見されているかもしれないが記録しておく。*1 仮説1: リンクに重みが予め付加されていない場合でも、ネットワークの構造からリンクの結合度を表…

クラスの依存関係グラフ 4

Java および Scala のクラスの依存関係のグラフについて調べている。 今回はクラスタリング係数を見てみる。 クラスタリング係数とは、あるノードにリンクしたノード群が互いにリンクしている割合を表します。C で表します。ノードごとに値を持ち [0, 1] の…

クラスの依存関係グラフ 3

1回 クラスの依存関係グラフ - 超ウィザード級ハッカーのたのしみ 2回 クラスの依存関係グラフ 2 - 超ウィザード級ハッカーのたのしみ Java および Scala のクラスの依存関係のグラフについて調べている。 驚くべきことに(まあ予想はしていたけれども)…

クラスの依存関係グラフ 2

前回: クラスの依存関係グラフ - 超ウィザード級ハッカーのたのしみ クラスの依存関係のグラフについて調べています。 今回は前回よりも大きな系について調べました。 対象は、Spark 2.0.1 です。前回は、Hadoop 由来のクラスだけ調べたが、今回は Spark の…

クラスの依存関係グラフ

Java のクラスの依存関係を調べてみた。 規模が大きいアプリケーションの方が統計が取りやすいので、Apache Hadoop の 3.0.0-alpha バージョンを対象に調べる。テストとアノテーションを除いた、Hadoop 由良のパッケージに含まれるクラスに依存関係のグラフ…

graph-tool で遊ぶ1

複雑な世界のありようを理解するのに、「グラフ」の可視化だとか分析はすごく有用なのではと考え始めたので、グラフについて勉強してみる。 動くおもちゃがないと楽しくないので、いいのかどうか知らないが、検索して出てきた graph-tool というツールで可視…

Bash で Power Assert 風のものを作った

GitHub - fjkz/power-assert-bash: Power Assert for Bash Bash で Power Assert 風のものを作りました。*1 なぜか Bash には assert がありません。なので、 Bash でテストを書くときは、 set -e として、 [ "$actual" == "$expect" ] とか書きます。しかし…

TT-Runnerの記録2:ベータ版

前回: 構造化されたテストスクリプト群の実行ツール - 超ウィザード級ハッカーのたのしみ TT-Runner: テストスクリプトのディレクトリ構造フレームワーク - 超ウィザード級ハッカーのたのしみ TT-Runner の記録 1 - 超ウィザード級ハッカーのたのしみ GitHub…

TT-Runner の記録 1

TT-Runner: テストスクリプトのディレクトリ構造フレームワーク - 超ウィザード級ハッカーのたのしみ GitHub - fjkz/ttap: A Test Scripts Runner TT-Runner (Test scripTs Runner あるいは Tree Tests Runner) というのをシコシコと作っています。*1 以下、…

TT-Runner: テストスクリプトのディレクトリ構造フレームワーク

以前書いたテストツールがある程度できたので、公開する。TT-Runner と名付ける。 GitHub - fjkz/ttap: A Test Scripts Runner 結合テスト以降のユニットテストフレームワークがうまいこと使えなくて、スクリプトをだらだらと書いているような場合を想定した…

構造化されたテストスクリプト群の実行ツール

テストコードってどんどん増えていく。だらだらスクリプトを書くのは簡単だが、すぐに収拾が付かなくなり、経済的に耐えられないレベルで混乱してくる。何のテストをしているのかももちろんわからないが、動かし方も分からないし、どうなったらpassなのかも…

ncatで遊んでみる

ncatという超便利コマンドを恥ずかしながらいままで知らなかった。HTTPプロトコルを学ぶには最適なおもちゃだ。 www.example.com の 80番ポートに、 / を GET するという HTTP リクエストを投げてみる。 fjk@x240:~$ ncat www.example.com 80 << END GET / H…

○×ゲームの神の一手を導いてみた

小さい頃にノートの隅や地面で良く遊んだ○×ゲームを計算機で解いてみた。 ○×ゲーム程度であれば、スクリプト言語を用いて、かつ枝刈りとかせずに終端までミニマックス法で全探索しても十分に解ける。ミニマックス法というのは、要するに負けない手を打てば勝…

KdV方程式を解いてみた

KdV方程式を数値的に解いてみた。*1 KdV方程式は、以下の式で表される方程式です。 非線形の偏微分方程式だけれども、手計算で頑張ることができて、よく研究されてきた方程式です。バーガース方程式と同様の非線形項に加えて、3回微分の項がある。この項は…

ClassクラスのClassオブジェクト

具体についてのクラスはインスタンスと同じもの? - 超ウィザード級ハッカーのたのしみ クラスって何なのだろうと疑問に思い始めた。 さて、Javaにはjava.lang.Classクラスという変なクラスがある。Classクラスのオブジェクトはクラスそのものではないみたい…

HTMLでクールな履歴書

職務経歴書いわゆるresume・CVというものをHTMLでかっこ良く書けないかと頑張ってテンプレート的なものを作った。何の意味があるかは知らない――単に組版が好きなので手慰みでやっているだけです。 以下がWebブラウザからのサンプル: https://htmlpreview.gi…

ステップ数を測るツール

コードの行数を測るツールはいろいろあるが、diffで見ることが前提で数えるツールでいいのを知らなかったので手慰みに作った。 GitHub - fjkz/tloc: A trivial code line counter for diff. こんな感じでファイルごとに行数を出してくれる。 $ git diff | ./…

非常に単純なPaxos実装

Paxosという分散システムでconsensusを取得するアルゴリズムがある。複数台のマシンから構成されるシステムで、単一のproposalが共有されることを保証するものである。ネットワークが不安定だったりシステムを構成するマシンが落ちたりするので、複数台のマ…

Scaling parameters of the straw buckets in CRUSH

Scaling parameters of the straw buckets in CRUSH

Rasberry PiでHadoopクラスターを構築する。その2

したこと: 配線を綺麗にした 前回と比較してほしい。かなり美しくなっている スイッチングハブをBuffalo製のに変えた。 初期不良を掴んでしまったみたいなので、新しく買った。2000円なので交換する手間のほうが高いので。 Raspiが100Mpbsしか無理なので、全…

Rasberry PiでHadoopクラスターを構築する。その1

Raspberry PiでHadoopクラスタを作ろうと思いまして、ゴニョゴニョしております。 写真のようにハードウェアは組み上がりました。 構成としては、 部品 メーカー 個数 Raspberry Pi 2 B 6 USB HDD 1TB Trancend 5 Micro SD Class 10 Sumsung 6 100 Mbps 8ポ…