Pages

May 15, 2013

MySQL(MariaDB)で久々にError 2006をやらかした

SELECT 1とかで定期的にPING打ちましょう

以上

May 10, 2013

KDEについてくるKonsoleがとんでもない奴だった…

Konsoleをリサイズすると高確率でXもろとも落とすクソみたいな機能がついてる。

これはバグじゃなくて”しよう”なんだと思う。いつになっても修正されない。

解決策の一つとして--notransparencyをつければいいみたいだが

もうなんだか許せないので別のターミナルを使うことにする。

以上

(追記 13/5/10 18:53)

yakuakeが割と便利だ

起動したら、F12でターミナルがニョキッと出てくる

Shift+Ctrl+TでHorizontal Split

Shift+Ctrl+LでVertical Split

Shift+Ctrl+↑/↓で切り替え

(追記 13/5/10 19:10)

どうやらこれはKDEとRADEONドライバの相性から起きてるようだ。あくまで推測であるが

そのため、デスクトップ効果の半透明を無効化して様子を見てみる。

bmobile、DTIやIIJなどの速度のでないSIMで快適(高速)にWebブラウジングする方法

DTIワンコインSIMを使って9ヶ月くらいになります。

昨年まではそんなに遅さを感じなかったのですが、外出先でどうしてもWebを開かなくてはいけないことがちょっとずつですが多くなって来ました。

そこでWebコンテンツなどを最適化(圧縮)するようなプロキシをたてようかと思いました。

DTIの他にbmobileやIIJのSIMにも有効だと思います。

May 09, 2013

Pythonで行儀の良いデーモンを作るpython-daemonを現行のPythonでも動作するようにした

行儀が良いデーモンを作るのはとても複雑で難しい。

それをpython-daemonを使えば簡単に行儀の良いデーモンがつくれちゃう。

とっても便利で良いのですが。

これ、lockfileの内部が変更されて修正しないとpidファイル生成部分に問題が起きちゃうんですね。

LinkFileLockがLinkLockFileに変更されLinkFileLockがLinkLockFileクラスを呼び出す関数になってしまったっということ。

詳しくはコード見てください。

ということでさくっと修正したものをgithubにあげておきました。

テストも完走しています(^0_0^)

残念なことにオリジナルのレポジトリはなくなっているのでpullreqすることができません。

よってPyPiに上がってるものを更新してもらうこともできません。

ちょっともやもやするので、何かしらできたらなと考え中

PyYoshi/python-daemon

May 02, 2013

そろそろ

そろそろ新しいブログつくって新しい気持ちで飛び出すのもありなんじゃないかなと

自鯖にブログ建てるのメンテの関係でめんどくさいのでやらないとして

はてなも嫌いなので使いたくないとして

やはりBloggerにmarkdownの機能くっつけるのがいいのだろうか。

巷ではgistやtumblrをブログがわりに使ってる人もいるみたい。

前者は機能として微妙だけど、tumblrは結構良さそうではある。

May 01, 2013

androidで使えるjson parserの速度比較をしてみる

json-android-compareをベースにJsonPullParserとJackson JsonのObject Mappingのベンチを追加してAndroid上で走らせてみました。

比較してるParserは以下の通り
  1. Android標準(API依存)
  2. gson 2.2.3
  3. json simple 1.1.1
  4. json smart 1.1.1
  5. Jackson Json 1.9.12
  6. Jackson Json 1.9.12 - Object Mapping
  7. JsonPullParser 1.6.1

テストした端末は2つ
  1. CM10ベースのAinol Elf(ROM)
  2. 私が開発してるCM9ベースのP-01D(ROM)
ベンチ結果:

まずは1のAinol Elf
続いてP-01D



Streaming処理ならJackson Json一択ですね。 

個人的にJacksonは使いやすいので、この場合はこれを選択すると思います。

一方Object MappingではJacksonはJPPと比べると遅いですねぇ。

まぁでも許容範囲なのかな。

TwitterみてるとJPP熱いみたいだし、開発者も日本の方なのでコミュニティに質問すればすぐ返ってきそうではあります。

コードはこちらです。正しいベンチの走らせ方してると思えないので、指摘アレばissueに投げてください。

ではでは

April 28, 2013

boost.regex re2 pcre onigurumaの4つregexの速度比較

こちらのコードを使って計測しました.

以下結果

boostとre2が圧倒的に早いですね。それと比べてonigurumatとpcreは遅く、更に要素数が増えるとpcreは途中で落ちてしまいました。

スプレッドシートはこちら

April 27, 2013

GingerをLinuxデスクトップ環境でも使えるようにアプリ作ってみた

最近良くついったーでみかけるGinger

これなんだろうと持って調べてみたら、英文を校正してくれるとても便利なサービスのよう。

これは使わないわけにはいかないだろうと思いクライアントがないか探したけれど、残念ながらLinux環境で動くものはブラウザ拡張のものだけみたい。

とても残念だ。

ということでQt Quickでアプリ作って見ました。

初めてQMLというものを触って見ましたが、ロジックコードはJavaScriptでかけるのでサクサクかけました。

UI部分はデザイナである程度かけますが元々あるコンポーネントはとても少なく、自分でボタンのようなものなどを作らないと行けないのが結構めんどくさかったです。

いちよQt Quickでアプリを作っているので、やろうと思えばAndroid上でも動かせるかと思います。UIの修正が必要だと思いますが。

コードはGitHubに置いて有ります。

ではでは

April 25, 2013

投稿だけできるTwitterクライアント作った

デスクトップにツイッタクライアント置くとどうしてもスペースの無駄になってしまうので、タイムラインはAndroidタブレットにtwicle plusを入れて監視していました。

投稿する都度TwitterWeb開いてやっていたのですが、それこそ効率を落とす原因だと思ったのでさくっと投稿だけできるツイッタクライアント作りました。

Twiq for Desktop - Github

Twitter APIライブラリはtweepyに任せて、UIはPySideを使って書きました。


自分しか使わないのでデザインもクソも無いです

上のコンボボックスはアカウント用、下はこれからつけようとしてる機能のもの、+と✕はアカウント追加と削除用です。

機能は
  1. 投稿機能
  2. マルチアカウント機能
  3. UnDo機能
の3つです。

投稿はCtrl+Enter、UnDoはCtrl+Uで行われます。

久しぶりにQt触ったせいか最初はかなり苦戦しましたが慣れてくればこっちのものですね。どっかのフレームワークよりちゃんと動いてくれるしQt✌('ω')✌サイコー

April 19, 2013

mamemoseを利用したリアルタイムmarkdown編集

mamemoseというmarkdownプレビューツールが結構便利そうだったので環境を作って見ました。

Mac使いはKobitoが便利でいいと思います!

主な機能はREADMEを見るといいと思います。

上げるとすれば
  • markdownのプレビュー
  • シンタックスハイライト
  • LaTex記法を使える
だと思います。

では環境構築しましょう。

私はRubyistでは無いのでRuby開発環境などなかったので色々調べながらやりました。

Pythonで言うところのVirtualenvみたいなものはrbenvというもので行えるみたいです。

それのセットアップから行いました。

rbenvとプラグインのruby-buildのインストール

$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ cd ~/src
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

rubyのビルドとインストール

$ rbenv install 2.0.0-p0
$ rbenv global 2.0.0-p0

mamemoseをgemからインストール

$ gem install mamemose
$ rbenv rehash
PATHが通ってる所で
$ vim run_mamemose
$ chmod +x run_mamemose

設定ファイルの作成

設定は~/.mamemose.rbを読みに行くみたいなので
$ vim ~/.mamemose.rb

READMEに書いてあるサンプルからポートとDOCルートの場所を変えただけです。

追記:
cdnから取ってきていたjsなどのファイルをローカルに置くように変更しました。
DOCUMENT_ROOT以下にこれを展開した2つのディレクトリを置いてください。

以上

これで実行できるようになりました。

~/Documents/markdown以下に適当なファイルを置いて http://127.0.0.1:28888/ を開いたあと編集中のものを開きます。

エディタに戻り編集し保存するとブラウザ側で変更が更新されていることがわかるかと思います。(websocketでイベント処理しているみたい)

これでgist開かずともローカルでmarkdown編集が捗りそうですね!

ただ、ちょっと不満もあってコンフィグファイルがHOMEディレクトリからしか読みに行かないのでプロジェクトごとに編集しなくてはいけなかったり、実用的じゃない部分もあります。

いま開発者とコンタクトをとってる最中なのでもしかしたら、configを動的に読み込めるように修正してもらえるかも

※Rubyistじゃないので下手こくのが怖い><

参考: