cloverrose's blog

Python, Machine learning, Emacs, CI/CD, Webアプリなど

PyGraphvizがあっさりインストールできた

少し前手こずった記憶のあるpygraphvizのインストールがあっさりできたのでメモ。(Ubuntu12.04、pythonz+virtualenv環境) sudo apt-get install graphviz pip install pygraphviz

flickrapiを使って画像をUploadしてみた

PythonのFlickrライブラリであるflickrapi(Python Flickr API kit - Stüvel photography)を使って画像のアップロードと、アップロードした画像のオリジナルURLの取得ができるようになったのでメモ。 インストール pip install flickrapi アプリの作成 http:/…

FLANNでk-means++をやってみた

研究でクラスタリング的なことを使いたくなったので、調べたらk-meansの初期値選択を改善したk-means++が開発されていることを知った。Python kmeans++で検索したらAtsushi TATSUMA Web Page » Python と FLANN でお手軽に近似最近傍探索が引っかかってFLANN…

Pillow(PIL)で文字列を画像として保存(位置・サイズ自動調整)

背景 ゆゆ式ゆゆ式、すきすき(ゆゆ式が大好きという意)で何か作ろうと思ってゆゆ式アイコンを作りました。 ゆゆ式アイコンが50個に到達した記念として、アイコンが「せーのっ!」「「ゆゆ式!」」ってしゃべるようなエフェクトを付けました。 せーのっ! ゆゆ…

Pythonのicalendarモジュールを使ってみた

icalendar 3.4 : Python Package Indexicalendarモジュールを使う - 偏った言語信者の垂れ流しのサイトを見ながらやったらicalendarのバージョンアップで動作が変わっていたのでメモ。 Unify API to only use to_ical and from_ical and remove string casti…

VirtualBoxのブリッジアダプタでを試してみた

HerokuとかGAEとか使っていたけど、どうもデータベースまわりで無課金ユーザーでいれなくなりそうなので、VirtualBox上のUbuntuに移行することにした。VirtualBoxやVMwareFusion等の、仮想化ソフトのネットワーク設定について | Macとかの雑記帳を読むとブリ…

Pythonのdocstringを普通の文字列と違うfaceで扱う

Over Emacs24.2 gallina python.el is the official python.el (EmacsWiki: Programming With Python Dot El).But this elisp shows docstring like as same as normal string. If you want to show it different look, try this patch Fontify docstring wi…

Emacsのfringe(フレームの左右の余白部分)の設定

Emacs color-themeを作っていたらfringeの色を設定する部分があって、fringeってなんだろうってなったので、調べてみました。Emacs:fringe - daharuの日記に書いてあるように、Meadow/Emacs memo: 表示のカスタマイズ ― 背景色,メニューのwww.bookshelf.jp/…

UbuntuでEclipseのTooltipsが見づらいので設定する

Install and open gnome-color-chooser .Go to Specific → Tooltips and put black foreground over pale yellow background. http://askubuntu.com/questions/70599/how-to-change-tooltip-background-color-in-unity GTK+/GNOME desktop appearance custom…

AcaciaをUbuntuでビルド

sudo apt-get install libglib2.0-bin sudo apt-get install libglib2.0-dev pip install python-graph-core sudo apt-get install graphviz sudo apt-get install libgraphviz-dev pip install pygraphviz make install python acacia_plus.py --ltl exampl…

ANTLRで演算子をTOKENにしない方がいい

この間ANTLRv4でどの演算子が読まれたか調べる綺麗な方法がないからTOKEN規則として吐き出せばいいと書きましたが、あれは間違いでした。問題が発覚したのは数式の単項演算子の-と二項演算子の-のところでANTLRがパースできなかったからです。 以下、修正し…

ANTLRの左結合・右結合について

追記 2013/5/22 演算子をTOKENにする方法も間違っていました。 訂正ANTLRで演算子をTOKENにしない方がいい - cloverrose's blogruleにする場合とTOKENにする場合で挙動が違うというところや ANTLRv3とANTLRv4の違いについては参考になりそうなので、一応変更…

ANTLR v4を使ってみた

ANTLRv4ではListener(またはVisitor)でTreeをパースするらしい(以前のようにTreeParserが作れるかは未調査)講義動画ANTLR v4 with Terence Parr - YouTubeを見ながらサンプルを作ってみました。 APIドキュメント ANTLR 4 Runtime 4.0 API サンプル Githu…

Emacs Buffer Selection(bs-show)のメモ

Buffer Selection (bs)を使う設定 (global-set-key (kbd "C-x C-b") 'bs-show) (setq bs-default-configuration "files-and-scratch");;scratchも表示 でC-x C-bでBuffer Selectionを表示するようにしてます。Buffer Selectionは開いたバッファが一覧表示で…

ANTLR v4調査

ANTLRv3を使っていましたが、気付けばv4が2013/1/22にリリースされていました。どんな変更点があるのかWhy do we need ANTLR v4? - ANTLR 4 - ANTLR Projectで調べました。 その中で一般ユーザーに関係ありそうなところを抜き出してメモ。 変更点 文法解析ア…

SPINをinstall

UbuntuとMacでSPINをビルドした時のメモ ポイント SPINのビルドにはyaccが必要なのでBisonをインストール 手順 sudo apt-get install bison wget http://spinroot.com/spin/Src/src624.tar.gz gunzip *.tar.gz tar -xf *.tar cd Src* make

Remote Debugが簡単過ぎて腰抜かした

参考サイト Tomcatをリモートデバッグモードで実行する方法 » Tomcatのリモートデバッグの実行方法 TECHSCORE BLOG 乳牛日記: TomcatのリモートデバッグEclipseでリモートデバッグする方法 ローカルマシン以外で動いているjvmをEclipseでデバッグする - TIM …

SPINの基本 初期値を指定した配列の定義の仕方

SPINは配列が使えます。 int requests[100];定義時に初期値を指定しないと、型によって決まった初期値が設定されます。intやboolは0。 これは『requests[idx]が0にはならないはず』というモデルを作ると最初に0に設定されているので破綻します。配列の要素全…

Readers/Writers Algorithm2でReaderが永遠に待ち続ける欠陥をSPINで検証

前回に引き続きSPINでReaders/Writers Algorithmを検証してみました。 今回はAlgorithm2で、Algorithm1とは反対にReaderが永遠に待ち続けるという問題があります。 ソース #define NR 1 #define NW 2 int m1=0; int m2=0; int m3=0; int r=0; int w=0; int r…

Readers/Writers Algorithm1でWriterが永遠に待ち続ける欠陥をSPINで検証

Readers/Writers Algorithmについて Readers-writers problem - Wikipedia, the free encyclopediaこのアルゴリズムの中で一番シンプルなAlgorithm1は、誰かが読込中なら書き込みはしないとか書き込み中なら読み込みはしないという安全性は満たしているんだ…

例題:うさぎとおおかみ解いてみた

ソース mtype = {A, AtoB, B, BtoA}; int RbA, RbB, RbS, WoA, WoB, WoS; mtype Splace; inline toBank(RbX, WoX){ atomic{ RbX=RbX+RbS;RbS=0; WoX=WoX+WoS;WoS=0; } } inline fromBank(RbX, WoX){ atomic{ if ::(RbX>=2) -> RbX = RbX-2; RbS = RbS+2; ::(…

プロセスのローカル変数Nx系に注意

SPINのNx系の変数をプロセスのローカル変数として定義するときは気をつけましょうという話 同時代入とNuSMVとSPINの違いについて 同時代入 x=0 y=0 x=1 y=1 書いた場合、xは1だけどyは0の状態が存在します。 一方、 x=0 y=0 x, y = (1, 1) と書けばxが1にな…

NuSMV 2.5.1でBooleanとIntegerが明確に区別されるようになってた

久しぶりにNuSMVを触っていて、参考書Amazon.co.jp: 4日で学ぶモデル検査 (初級編) (CVS教程 (1)): 産業技術総合研究所システム検証研究センター: 本の通りに書いてたら文法エラーでたので調べてみたら、 The new version 2.5.1 makes a strong distinction…

NuSMV 2.5.4をMacでビルド

NuSMV2.5.4をMacでビルドしました。 NuSMV2.5.3のときはソースにバグがあったので修正が必要でしたが(NuSMV 2.5.3をMacでビルド - cloverrose's blog)2.5.4では以下の手順でビルドできると思います。 cd NuSMV-2.5.4 cd MiniSat bash build.sh cd ../cudd-…

NuSMV 2.5.3をMacでビルド

2013/04/26現在NuSMVの最新バージョンは2.5.4です。そちらではデバッグも必要なくビルドできます。こちらは自分のメモです。 バージョン2.5.4のビルドに関してはNuSMV 2.5.4をMacでビルド - cloverrose's blogを。Linux,Windows用のバイナリーは提供されてい…

インストールした後にホームディレクトリを暗号化する方法

Linux は俺の相棒: 【makeuseof.com 翻訳】Ubuntu のインストール後にホームフォルダーを暗号化するにはを参考にした。アルバイト先のセキュリティでホームディレクトリを暗号化することになった。 最初に言ってくれればチェックボックス一つで簡単に終わっ…

cygwin/dev/nulが消せなかった件について

Cygwinで削除できないファイル - bug-note のお陰で消せました

『終了時のフレームサイズを記憶する』をsession.elを考慮

タイトルの通りMeadow/Emacs memo: ウィンドウ/フレーム関連 ― 分割・サイズ変更で紹介している『終了時のフレームサイズを記憶する』をsession.elを考慮した設定を紹介します。 session.elとは 開いたファイルや実行したコマンドの履歴を保存してくれるsess…

Tkが起動しなくてgitkとかが使えないならXWin Serverを試してみよう

Windowsではあまり開発しないんですが、一応Cygwinを入れて基本的なコマンドが実行できるようにはしてるつもりでしたが、 gitkが起動できないことがわかりました。ちょうど今日クリーンインストールしたCygwinでもgitkが同じ症状で起動できなかったので、調…

UbuntuでKeePass2が使えるようになってた

パスワード管理ソフトKeePassKeePass Password SafeがUbuntuで使えることに気づいた。 今まではKeePassXというのKeePassのver1相当のものを使っていた。 KeePass2をインストール UbuntuソフトウェアセンターでKeePassを検索 KeePass2をインストール 日本語化…