サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
tullio.hatenablog.com
日本語の形態素解析ソフトとしてはMeCabやChasenが有名ですが,Javaで書かれたものとしてはSenやGoSenが有名です. Windows上で形態素解析Sen - なぜか数学者にはワイン好きが多い ところがメンテされていないものが多いので,比較的新しいIgoを試してみました. Igo - a morphological analyzer Apache LuceneのAnalyzerを作りたかったのです. Japanese_Luceneというディレクトリ以下に色々と展開することにします. Luceneは普通にダウンロードして展開. > wget http://ftp.jaist.ac.jp/pub/apache/lucene/java/lucene-3.0.3.tar.gz > tar xvf lucene-3.0.3.tar.gz > mkdir -p Japanese_Lucen
結論から言うと,MDA(Mail Delivery Agent)に気をつければ,MTA(Mail Transfer Agent)はどうでも良いようです. 今まではeximで伝統的なmbox形式で一ユーザ一ファイルでメールコンテンツを管理していて,読み出しは伝統的popプロトコルを poppa3dで動かしていたので,それとの互換性は保ちたいと思いました. dovecotはmbox形式をサポートしているので,eximのmbox形式をdovecotでimapで読み出すことには問題が無さそうでした. しかし,imapの設定をしても,iPhoneで通知されない! imapのプロトコルにも詳しくないし,iPhoneの動作も知らないし,z-pushに挑戦してみました. Z-Push | Open source push technology まずメールサーバ側の設定. imapサーバはdovecotが入
Sparkのビルドが簡単に成功したので,調子に乗りました. Sparkのビルドが簡単すぎた件について - なぜか数学者にはワイン好きが多い Spark-shellを使って既にデータがHDFS上に大量に蓄積されているHiveにアクセスしてみようとしてハマりました. scala> val hiveContext=new org.apache.spark.sql.hive.HiveContext(sc) <console>:12: error: object hive is not a member of package org.apache.spark.sql val hiveContext=new org.apache.spark.sql.hive.HiveContext(sc)org.apache.spark.sql.hiveが無いだと...?と思ってspark-assembly-1.0.
LuaJITのFFIライブラリが,FFI(Foreign Function Interface)を通した時にインターフェース越しに引数がどのように相互変換されるかは,一応ドキュメントになっています. FFI Semantics でも良くわからないことが多いので,いろいろとサンプルを作ってみました. Part 1: Hello, World with Standard C Library Lua版は,普通に「Hello, World」を表示します. FFIを通したバージョンは,Cの標準関数のprintfを通して「Hello, World」を表示します. プログラムは,1つのLuaスクリプトにまとめました. -- Pure Lua local msg = "Hello, World" print(msg) -- FFI local ffi = require("ffi") ffi.cdef[[
クレジットカード会社に請求が入りました. 楽天ダウンロードで不正購入された話 - なぜか数学者にはワイン好きが多い 楽天からの購入確認メールが3件,実際に購入履歴頁を見ても3件です. しかしカード会社で確認すると,購入が5件で2件がマイナス請求(要はキャンセル),合計すると3件の購入となっておりました. どういうマジックを使った不正取引なのか... 楽天ダウンロードFAQサイトによると,キャンセルはできないそうです. ダウンロード商品 | 楽天ブックス ヘルプページ ご購入後のキャンセルは、ダウンロード商品の性質上、原則としてお受けできません。 そして,この「ドラゴンクエストX 目覚めし五つの種族 オンライン」だけを狙った犯罪は何なのか... とりあえず,犯人もしくは踏み台になってしまったパソコンのIPアドレスやプロバイダは分かっていますので,警察が被害届を受け付けてくれれば,そしてプロバ
Putty Connection Manager, PuttyMCというのを愛用していたのですが, タブ型Putty統合ソフト - なぜか数学者にはワイン好きが多い どうも開発が停止してしまったようなので,他のものを探してみました. 同僚はPoderosaを使っている人が大部分ですが,これは古い.NETに依存している上に開発が止まっていて問題を解決できる可能性が無いので無視です. 今回,気に入ったのはMTPutty. TTY Plus PuttyMCと同様にPuttyのラッパー的なものですが,タブや画面分割対応になっているところが使いやすいです. 複数セッションの管理というか持続系も良い感じです. まず,普通にシングルターミナルを開いたところ. 2個目のコネクションを張るとタブが増えます. 複数のコネクションを並べて見たい時は,タブをドラッグして...例えば右側に動かして... 例えば右半
portsにあるから,一瞬じゃね?と思ったのですが, # cd /usr/ports/www/node # make Makefile:33: *** missing separator. Stop. wiles# gmake Makefile:33: *** missing separator. Stop. 面倒なので自分で入れます.その方が性にあっている... > wget http://nodejs.org/dist/node-v0.4.12.tar.gz > tar xvf node-v0.4.12.tar.gz > cd node-v0.4.12 > ./configure --prefix=/usr/local configure build (中略) scons: Reading SConscript files ... scons: warning: Ignoring mi
かなり古い(タイムスタンプが2000年)ので心配でしたが,そんなに高度な処理をするつもりはなく,単に簡単にforループが並列化されればいいので,試してみました. まず,ダウンロード. > wget http://www2.epcc.ed.ac.uk/computing/research_activities/jomp/download/jomp1.0b.jar > ls -l jomp1.0b.jar -rw-r--r-- 1 hoge hoge 175028 Sep 11 2000 jomp1.0b.jar テストプログラムを書きます.拡張子が「.jomp」であって「.java」じゃないところに注意. import jomp.runtime.*; public class jomp_test { public static void main(String arg[]){ int i;
周りでBSONやらMessagePackやらが話題になっていて,ろくに検証もせずに何騒いでんだかと思っていたら,優秀な若い連中が遅まきながらJSONとMessagePackのリアル検証をしていたので,そんな検証は単純過ぎるというのと両極端の二つだけ検証してどうするという思いから,ちょいと私も検証作業をしてみました. まず,使用言語は,動的なガベージコレクションなどで処理速度測定が不安定になるのを避けるために,APIバインディングはC/C++. 対象とするシリアライズライブラリは,代表的なプレーンJSONと,MongoDBで使われているBSON,RedisやKumoFSで使われているMessagePackの3つです.だいたい,最近の軟弱なJavaプログラマーは,JavaScriptでもないのに生JSONなんてそもそも使うんじゃねーよって感じですが,それが説明できればいいなと思ってベンチマーク
わけあってハッシュ関数を使ったプログラムを作ることになりました. 入力キーには仕様的に数値的限定をかけて,ゼロから1億程度としました. ならば,20億入る符号付き32bitで十分なはずです. そんなに長くない32bitを出してくれるハッシュ関数として,MurMurがあったので, ベンチマークスーツでその性能を検証してみました. libmemcachedでは,種類としてはFNV,crc32(?),hsieh,murmur,jenkins,md5がサポートされてます. KyotoCabinetではmurmurとfnv. redisでは入力と出力を64bitに拡張したバージョンのmurmurが使われています. phpはクライアントとしてはさすがにデフォルトで沢山サポートされてますね.md?,sha?,ripemd?,whirpool,tiger?,snefru,gost,adler32,crc?
ビッグデータが流行っているので,大量データをストリーミングにsemi-realtimeに処理できるフレームワークを探しました. 条件は, 処理の取りこぼしが無いこと できるだけシンプルであること 各種言語へのバインディングがあること などです. フレームワークとしては,Dempsy,Storm,Esper,Streambase,HStreaming,Yahoo S4などがありますが,順次調べていきます. Dempsy比較的新しい,Dempsy. http://dempsy.github.com/Dempsy/ What is Dempsy? In a nutshell, Dempsy is a framework that provides for the easy implementation Stream-based, Real-time, BigData applications.
はい,POCOキャンペーン第3弾です. 第1弾: POCOで簡単Webアクセス - なぜか数学者にはワイン好きが多い 第2弾: POCOで簡単POPアクセス - なぜか数学者にはワイン好きが多い POCOを使えば,C++でもRuby並に簡単にアプリケーションが作れる例です. 今回は電子メールを送信する例です.POCOのソースリスト一式に入っているサンプルプログラムから,画像ファイル添付を除いた簡単なものに改変しました. #include <iostream> #include "Poco/Net/MailMessage.h" #include "Poco/Net/MailRecipient.h" #include "Poco/Net/SMTPClientSession.h" #include "Poco/Net/StringPartSource.h" using namespace std
前回のテストで,とりあえずキャッシュとしての速度だけ考えるとmemchachedがやはり最速だということが分かったので,今回はmemcachedと話題のRedisを比較しました.Redisは非同期でディスクに書き出されるのが特徴ですが,memcachedはともかく,memcached-haはレプリケーションで他サーバに飛ばせるので,それほど負けてもいません. RedisもKyoto Tycoonと同様,memcachedプロトコルじゃないので,ソケット通信をPocoで実装しました. #include <sstream> #include <iostream> #include <Poco/Net/HTTPClientSession.h> #include <Poco/Net/StreamSocket.h> #include <Poco/Net/SocketAddress.h> #inclu
githubなんかからgitのレポジトリを落とそうとすると,https://とgit://がありますが,httpのプロクシしか立っていないためにhttps://で落とそうとしてもエラーになりました. > git clone https://github.com/imatix/zguide.git Cloning into zguide... fatal: Unable to find remote helper for 'https' > setenv https_proxy http://proxy > git clone https://github.com/imatix/zguide.git Cloning into zguide... fatal: Unable to find remote helper for 'https' どうもプロクシ以前の問題の気がするので調べると,IN
TokyoとKyotoについては,オンメモリ・ディスクベースの両方を測定しましたが,memchacedが最速でした.強し! memcachedとTokyo Tyrantについては,いわゆるmemcachedプロトコルが使えるので,memcachedプロトコルでsetとgetをしました. プログラムはやはりC言語バインディングが最速だろうということで,こんな感じです. #include <libmemcached/memcached.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #include <sys/types.h> #include <md5.h> #include <omp.h> void set_key_val(MD5_CTX *con, int seed, char
最速KVS研究第4弾 - なぜか数学者にはワイン好きが多い どこまでも続きます. 目的が全く違う2者ですが,敢えて比較してみました. もちろん,Google LevelDBと似たコンセプトのものとの比較も今後進めますが... とりあえず,キー長はmd5ハッシュの長さ固定,バリュー長を変化させ,かつ同時アクセス数をスレッドアクセスで変化させて読み書き時間を測ってみました. まず,バリューの長さが100バイトと短い場合のベンチ. 同時アクセス数を表すスレッド数が少ないときはLevelDBの書き込みが爆速,読み込みはなぜか遅い...redisはスレッド数に関わらず安定して読み書きとも中間な感じです. 次,バリューの長さが1000バイトの中間的ベンチ. やはりLevelDBはスレッドが1だと書き込みが最も速く,同時アクセス数が増えると遅くなる. 読み込みの方は,redisよりは遅いものの同時アクセ
仮想化対応しているところが凄過ぎる... ドライブをイメージバックアップできる「Paragon Backup & Recovery」の最新版 - 窓の杜 最新版の主な変更点は、同社製ソフト「Paragon Go Virtual」の一部機能を統合したこと。物理ドライブ上のWindows環境をまるごと仮想化して、各種仮想PCソフト上で動作可能にする“P2V Copy”機能のほか、仮想HDDの形式や各種パラメーターを変更・調整できる“P2V Adjust”機能を利用できる。なお、対応する仮想PCソフトは、「VMware」「Virtual PC」「Oracle VM VirtualBox」となっている。 例えば私が試した例は,新しいパソコンを導入して古いパソコンのディスク内容をどうしようかと思ってやってみたこと. Paragon Backup&Recoveryで「P2V(Physical to V
以前も簡単に圧縮コマンドの結果を比較したことがありましたが, 圧縮率比較 - なぜか数学者にはワイン好きが多い Kyoto CabinetやApache Hadoopがlzoライブラリの採用を始めたため,改めてベンチマークしてみました. 使用した圧縮コマンドは, gzip - Wikipedia bzip2 - Wikipedia xz (ファイルフォーマット) - Wikipedia lzop - Wikipedia の4種類. 大容量テキストファイル4ギガ前後のファイルで,Wkipediaの生データを使いました. Wikipedia:データベースダウンロード - Wikipedia ↑の中のjawiki-latest-pages-articles.xmlです. 圧縮・伸張時間 圧縮サイズ 総評gzipは圧縮速度は速くは無いですが,解凍速度は速く,圧縮サイズは中くらい. bzip2は圧縮
話題になったhiphop-php... http://blog.candycane.jp/archives/275 github等で公開されました. GitHub - h4ck3rm1k3/hhvm: For the experimental debian packaging of the hiphop php to c compiler from facebook, see branch mdupont_hip_hop_patches しかし,FreeBSDにはインストール失敗しました...hiphop-php. HipHop-PHPは依存が非常に多いです.すなわち,HipHop-PHPを入れるためには,そのために必要な大量の他のソフト・ライブラリを入れなければなりません. 頑張ってソースインストールしていきました. Git > wget http://kernel.org/pub/so
POCOというC++用のライブラリ,とても面白いです. POCO C++ Libraries - Simplify C++ Development インストールも簡単で,make一発です.ただ,簡単ということはカスタマイズ性が低く,例えば現状ではicc(Intel C Compiler)で作ることができません. でも,構造が美しくて分かりやすく,私にはRubyの便利な添付クラスライブラリのような印象を受けました.Rubyはネットワークプログラミングも得意なので,ずいぶん色々なアプリやロボット(クローラ)も作ってみましたが,POCOでも同様に簡単に色々なことができそうです. 試しに,Yahoo!のトップページを取ってきて,ヘッダとボディのHTMLを標準出力に表示するサンプルを書いてみました. #include <iostream> #include <Poco/Net/HTTPClientS
先日インストールしたDrizzleの簡単な性能評価をしてみました. 速度はもちろんですが,どれくらいMySQLと互換性があるか調べたかったのです. Drizzle自体は,先日インストールした通りです. DrizzleをFreeBSDにインストールしてみた - なぜか数学者にはワイン好きが多い MySQLは,普通にMySQLのサイトからFreeBSD用のMySQL 5.1をダウンロードして, MySQL :: Download MySQL Community Server BINARY-INSTALLに従ってインストールしました. まずDrizzleを立ち上げます. # drizzled --datadir=/tmp/drizzle.data/ -u tetu-s --console-enable --port=3306 InnoDB: The InnoDB memory heap is d
パソコンの台数が増えてくると,ディスプレイが増えて一度に閲覧できる情報量が多くなって嬉しいのですが,パソコン・ディスプレイと共にキーボードやマウスも増えるのが結構大変です.場所も取りますし,キーボードが3つ4つ5つとなると,間違えて違うパソコンのキーを打ってしまったり. そんなマルチモニター環境になったら,ソフトウェアベースかハードウェアベースのKVM(Keyboard・Video・Mouseスイッチ)を使うのが得策です. ハードウェアベースKVMはかなり昔からあり,大量のサーバを一組のディスプレイ・キーボード・マウスで操作先のサーバを切り替えながら使うのに使われてきました. ソフトウェアベースKVMは,主に一組のキーボード・マウスで複数のディスプレイ+パソコンを操作するのに使われます.多くのソフトは,マウスカーソルを複数のディスプレイにシームレスに移動できて,マウスカーソルのあるディスプ
今回は冗長性等々は気にせずに,ひたすら速度のみ比較します. なのでクライアントプログラムはc++で書きます.ほとんどCとしか使ってないですが. プログラムはこんな感じ.30%の確率で書き込みが発生し,70%の確率で読み込みが発生する,これを10万回繰り返すという単純なもの. #import <iostream> #include <time.h> #include <libmemcached/memcached.h> #include <SFMT.c> using namespace std; #define memcached_error(k,memc,rc)\ {fprintf(stderr, "test: key=%s: memcache error %s",\ (k), memcached_strerror((memc), (rc)));\ if (memc->cached_err
楽天、分散キー・バリュー型データストア「ROMA」のソースコードを公開 | 日経 xTECH(クロステック) ってかITpro速い(笑) 公開してすぐに記事になってる.きっと会場で記事書いたのでしょう. 西澤さんがまつもとゆきひろさんにエンターキーを押してもらって記念すべき初公開,としようとした時のトラブルについては触れられてませんw ROMAのページはこちら. Google Code Archive - Long-term storage for Google Code Project Hosting. さて,FreeBSDで実験してみます. ドキュメントの通りruby-1.9とruby-1.9用のgem,それからgem経由でeventmachineをインストールした後,いよいよROMAをインストールします. 最初から最後までトラブル無しでした.素晴らしい. # wget http://
Rubyはネットワークアクセスも簡単なので,Webクローラー・ロボットの類は何度も何度も作ってますが... ライブラリのNet/HTTPやURIクラスが強力なので,つい自分で正規表現でHTMLをパースしちゃうんですよね. でも,リンクアドレスを取得しようと思って /<a href="(\w+)>"/なんて正規表現を書くのは複雑な上,w3c規格にきっちり従うのは困難です. なので,ちゃんとライブラリを使おうと思うと,例えばノコギリ. http://wiki.github.com/tenderlove/nokogiri ノコギリのインストールはこんな感じです. RubyGemsをインストール. http://docs.rubygems.org/ # wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz # tar
有名な形態素解析ソフトであるChaSenのJava移植であるSenを必要に迫られてWindowsに入れていたのですが,最近はあんまりメンテされていないらしく(がんばれ,工藤君),いろいろトラブルがあったので後々のために目盛っておきます. JavaのSDKはインストールされてるとします. 環境変数の設定として,コントロールパネル→詳細設定→環境変数で,以下を設定する. Pathに{Antを展開したフォルダ}\binを追加 ANT_HOMEに{Antを展開したフォルダ}を設定 JAVA_HOMEにjdkがあるフォルダを設定 Senの辞書メンテに必要なApache Antをダウンロード,インストールする. http://ftp.riken.jp/net/apache/ant/binaries/apache-ant-1.7.1-bin.zip 同じく必要な,ActivePerlをインストールする.
以前,柳田理科雄氏は,山本弘氏に,以下のように批判されておりました. これらの設定はどれも作品中には出てこない.みんな柳田氏が考えたものなのだ.何のために? おちょくるためだ.「そんなことがあるわけない」と嘲笑うためだ.そのために彼は,作品中の描写や設定を無視し,考えうる妥当な解釈から目を背けて,その現象が不可能になるよう数値や設定をでってい上げるのだ. http://www.amazon.co.jp/%E3%81%93%E3%82%93%E3%81%AA%E3%81%AB%E3%83%98%E3%83%B3%E3%81%A0%E3%81%9E-%E3%80%8E%E7%A9%BA%E6%83%B3%E7%A7%91%E5%AD%A6%E8%AA%AD%E6%9C%AC%E3%80%8F-%E5%B1%B1%E6%9C%AC-%E5%BC%98/dp/4872336593 (「こんなにヘン
Intel Cコンパイラ10.1をインストールしようとして,ハマりました. 普通にいつも通り # ./install.sh と打ち込んで利用許諾等に返事して進んで行くと, - エラー: 依存性の欠如: libstdc++.so.5 は intel-icc101015-10.1.015-1.i386 に必要とされています libstdc++.so.5(GLIBCPP_3.2) は intel-icc101015-10.1.015-1.i386 に必要とされてい ます - とエラーが出てインストールされません. 調べると,確かにlibstdc++.so.6は入っているのですが,libstdc++.so.5は入っていません. IntelのサイトのFAQを見ても,「libstdc++.so.5が必要なので用意して下さい」としか書いていません. 誤魔化そうとして, # ln -s /usr/lib/
考えてみれば当たり前のことなのですが,どうもマスクの能力が過剰評価されているような気がしますので,書いてみます. ウィルスの大きさは,ナノメートルのオーダーです. Orthomyxoviridae - Wikipedia, the free encyclopedia The virion is pleomorphic, the envelope can occur in spherical and filamentous forms. In general the virus's morphology is spherical with particles 50 to 120 nm in diameter, or filamentous virions 20 nm in diameter and 200 to 300 (-3000) nm long. (適当な訳) ウィルス粒子は多形性であ
次のページ
このページを最初にブックマークしてみませんか?
『なぜか数学者にはワイン好きが多い』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く