読者です 読者をやめる 読者になる 読者になる

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ポ…

スケールアップとスケールアウトをどう組み合わせるべきか?

How should we mix scale-up and scale-out strategies

ARM用にHadoopをビルドする。

Raspberry PiでHadoopクラスタを作ろうと試みています。 Raspberry Pi 2 Bを1個買いまして、Raspbianを入れました。Rapbianは入っているパッケージ等が実験的すぎるので、台数増えるとトラブリそうです。 Apacheから配布されているHadoop 2.6.0のバイナリを…

マンデルブロ集合を計算してみる4

第1回:マンデルブロ集合を計算してみる - 超ウィザード級ハッカーのたのしみ 第2回:マンデルブロ集合を計算してみる2 - 超ウィザード級ハッカーのたのしみ 第3回:マンデルブロ集合を計算してみる3 - 超ウィザード級ハッカーのたのしみ マンデルブロ…

マンデルブロ集合を計算してみる3

前々回:マンデルブロ集合を計算してみる - 超ウィザード級ハッカーのたのしみ 前回:マンデルブロ集合を計算してみる2 - 超ウィザード級ハッカーのたのしみ マンデルブロ集合は以下示される複素数列の挙動について表したものである。 そこで、この複素数列…

マンデルブロ集合を計算してみる2

前回:マンデルブロ集合を計算してみる - 超ウィザード級ハッカーのたのしみ 通常のマンデルブロ集合は、 でm=2として、n→∞のときにz_nが発散しない複素数cの集合です。 mを変えてみたらどうなるのでしょうか?試してみました。 m=2の場合: m=3の場合: m=4…

マンデルブロ集合を計算してみる

マンデルブロ集合を計算してみた。 マンデルブロ集合とは で表される漸化式でn→∞としたときにz_nが発散しない複素数cの集合である。 コード マンデルブロ集合を計算してPPM形式の画像を出力します。 結果 画像は複素平面を表しており、横が実数軸、縦が虚数…

ターミナル上でセル・オートマトン

ウルフラムの一次元セル・オートマトンをターミナル上で計算するスクリプトを手慰みに作った。定期的にセル・オートマトンとかで遊びたくなる。 ターミナルなので幅が少ないから、あまり見た目的に面白くはない。作業に飽きた時に和むためのスクリーンセーバ…

水面波の数値解析における安定性について

どこかのだれか(たぶん世界に2〜3人ぐらい)にはきっと理解されて役に立つであろうこと。闇に葬られるのも耐え難いので、英語にして公開する。 Stability of numerical analysis about free surface flow

ニューラルネットワークで囲碁の終局を判定2

前回 ニューラルネットワークで囲碁の終局を判定 - 超ウィザード級ハッカーのたのしみ 何パターンか試してみた。 入力値は、終局図から黒石を取り除いたものと白石を取り除いたものを並べたものである。石がある点を1.0、石がない点を0.0としている。黒石が1…

ニューラルネットワークで囲碁の終局を判定

ニューラルネットワークで囲碁の終局を判定する.終局したかどうかではなくて,終局状態でどこが自分の地かどうかを判定する. これだけなら,わざわざニューラルネットワークを使わずに,手続き的にプログラミングしたほうがいい.しかし,これが出来ないと…

数学定数でブラウン運動 2 - 1億桁で計算

前回 数学定数でブラウン運動 - 超ウィザード級ハッカーのたのしみ 1億ステップでやってみた. Mathematical Constants - Millions of Digits から数学定数のデータはもらった. メルセンヌツイスター 2の平方根 3の平方根 自然対数の底 円周率 に加えて,…

数学定数でブラウン運動

擬似乱数を可視化するためにブラウン運動を計算している. 今回は,数学定数の各桁を外力としてみる. 数学定数のn桁目をdとしたときに,時間n-1からnまでに粒子に与える外力を (F_x, F_y) = (cos(2 * pi * d / 10), sin(2 * pi * d / 10) とする. 試した数…

ブラウン運動をシミュレーションしてみる

題名の通り.擬似乱数を可視化するために,ランジュバン方程式に基づくブラウン運動を計算してみた.*1 結果の絵. コードは以下. import math import random class Particle(object): ''' A particle moving in 2D space. ''' position_x = 0.0 position_y…