MISO(Multi Input Single Output)なキューが見つからなかったので作った
ひとつのスレッドで複数のキューを待ちたかったので作った.
https://gist.github.com/1219608
popするときは,popされたキューと値の両方がかえってくる.
どのキューも空のときはブロックされる.
キューでselect的なことをしたかった.
かわいいRubyスクリプトを書こう
Rubyのメソッド名に日本語が使えることを昨日知りました。
だから
# こうしておくことで
alias (╹◡╹)つ require
alias ( ╹◡╹)< puts
# こんなことできちゃう!
(╹◡╹)つ 'json'
( ╹◡╹)< "Hello World"
かわいいね!
秋葉原で買ってきた謎のジャンクWebカメラ@200円のドライバを探す旅
秋葉のジャンク屋で買った200円のwebカメラ、型番、メーカーなど一切書いてない。上部に唯一「up」っていうロゴがあるだけ。
とりあえずWindowsUpdateから落ちてくるドライバではうまく行かなかったので、正しいドライバを見つけるまでの方法をメモ。
はじめに、Windowsに挿して認識された時は「Look312P」というデバイス名だったが、このデバイス名はどうやら正しくないようで、どこかで見つけてきたドライバを入れても、カメラは認識するものの画像は表示されず。
デバイスのベンダーとプロダクトを調べる
http://digital.ni.com/public.nsf/allkb/1DEC366794E3584A862570980007A73A
でダウンロードできるUSBViewで、このカメラのベンダーidとプロダクトidを調べる。
idVendor | 0x0AC8 |
idProduct | 0x301B |
調べた結果がこれ。
この情報を元にドライバを探す。
デバイスを特定する
http://www.usb.org/developers/tools/comp_dump
USBの公式ベンダーid一覧から0x0AC8→10進数で2760を探すと、ベンダーは"Vimicro Corporation"だということがわかる。
Vimicro Corporationのwebページを見てみると、どうやらチップのメーカーぽい。
Vimicro Products
ダウンロードセンターに行ってみるものの、どのチップを使ったものだかわからない。
プロダクトidを調べよう。
http://www.qbik.ch/usb/devices/
で"0x0AC8"を検索すると、ありました、"0x0ac8:0x301b"。これが同じチップを使ってるUSBカメラっぽいですね。
この中の適当なデバイスの詳細を見ると"Vimicro Z-star chips zc0301 Vga webcam 640x480 320x240 software by the driver 352x288 176x144"って書いてあるので、どうやらzc0301チップを使ってるらしい。
さっきのダウンロードセンターにはzc0301っぽいのは3つあるけど、"zc0301PL"をなんとなく選んだ。なんとなく。これでたぶん動かせる。
ドライバのインストール@vista
ダウンロードしたドライバのzipファイルを適当な場所に解凍しておく。
デバイスマネージャから該当のカメラをダブルクリック→「ドライバ」タブから"ドライバの更新"→"コンピュータを参照して〜"→解凍したフォルダを選択
で完了
さっき解凍したフォルダかC:\Windowsとかにあるamcap.exeで動作確認。
カメラのスペック
チップの仕様から、VGAが最高だと思われる。
320x240で30fps、640x480で15fpsの一般的なカメラっぽい。
キャプチャがこんな感じ。200円だし文句はない。
ユーザー権限でruby1.9.1@x86_64-linuxをインストールする
ユーザー権限しかないサーバーで、Rubyの最新版を入れてみる。
最新版Rubyをインストールする
$ mkdir ~/src # 作業用ディレクトリ $ cd ~/src # 作業用ディレクトリに移動 $ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.bz2 # 最新版を取得 $ tar xjvf ruby-1.9.1-p243.tar.bz2 # 解凍 $ cd ruby-1.9.1-p243 #解凍したディレクトリに移動 $ ./configure --prefix=$HOME optflags=-O3 #インストール先を $HOME にする #x86_64環境だと optflags=-O3 をつけないと途中で止まる $ make # コンパイル $ make install # インストール
インストール先は書き込み権限のある $HOME
x86_64環境だと、optflags=-O3がないとコンパイル途中で止まってしまった
(via 1.9.1のビルドがparse.cのコンパイルで詰まっていた件 - `The rubyist'【えぬ】の日記 - Rubyist)
環境変数の設定
bash,zshなら~/.bashrc,~/zshrcに書くといいと思うよ
export PATH=:$HOME/bin:$PATH export INCLUDE=$HOME/include
INCLUDE は gcc とかが見に来る。
RubyGemsを使ってみる
$ rubygems install twitter /path/to/home/lib/ruby/1.9.1/rubygems/package.rb:10:in `require': no such file to load -- zlib (LoadError) #以下略
zlibが必要ですかそうですか。
rubyインストール時に先にzlibにパスを通しておくといいみたいだけど知らない。
(via ruby 1.9.1-p0 @ Visual C++ 2005 - anon_193の日記)
zlib拡張のコンパイル・インストール
zlibはrubyのアーカイブのext/zlibにあるのでコンパイルしに行く
$ cd ~/src/ruby-1.9.1-p243/ext/zlib $ ruby extdonf.rb checking for deflateReset() in -lz... no checking for deflateReset() in -llibz... no checking for deflateReset() in -lzlib1... no checking for deflateReset() in -lzlib... no checking for deflateReset() in -lzdll... no
ぐぬぬ。zlib自体が必要なようですね。
zlib自体のコンパイル・インストール
$ cd ~/src $ wget http://www.zlib.net/zlib-1.2.3.tar.bz2 $ tar xjvf zlib-1.2.3.tar.bz2 $ cd zlib-1.2.3 $ ./configure --prefix=$HOME -s
インストール先は同じく$HOME
- sをつけないと、この後の ruby extconf.rb で
libz.a: could not read symbols: Bad value
になるので、つける。意味は知らない。
(via Derakunの備忘録 Clamscanのインストール)
ここで先ほど環境変数INCLUDEを指定していないとヘッダが見つからないだの言われると思う。
rubyのアーカイブに戻ってもういちどruby extconf.rb
$ ruby extconf.rb checking for deflateReset() in -lz... yes checking for zlib.h... no
むー、環境変数INCLUDEは見てくれないようだ。だから自分で指定する。
$ ruby extconf.rb --with-opt-include=$INCLUDE checking for deflateReset() in -lz... yes checking for zlib.h... yes checking for kind of operating system... Unix creating Makefile
Makefileができました。
$ make $ make install
インストール完了!
気を取り直してRubyGemsを使ってみる
$ rubygems install twitter When you HTTParty, you must party hard! Successfully installed rubyforge-1.0.4 Successfully installed rake-0.8.7 Successfully installed hoe-2.3.3 Successfully installed ruby-hmac-0.3.2 Successfully installed oauth-0.3.5 Successfully installed mash-0.0.3 Successfully installed crack-0.1.4 Successfully installed httparty-0.4.3 Successfully installed twitter-0.6.15 9 gems installed
できた!やった!
$ gem install json Building native extensions. This could take a while... Successfully installed json-1.1.9 1 gem installed
Native Extensionsもこの通り!
※ちなみに ~/.gemrc 内で gem: --no-ri --no-rdoc を指定しています。
今までSleipnir一途だったが1ヶ月間Firefoxを使ってみた
はじめに
Firefox3.5が出たのをきっかけに、Sleipnir一途だったが、1ヶ月間「メインで」Firefoxを使ってみた。この記事はそのまとめと感想である。
Firefoxは、たくさん拡張があって便利だけどいまいちそれぞれの拡張もかゆいところに手が届かない、そんなイメージがあった。それと、SleipnirのHeadline-Readerが便利で手放せなかったというのもある。
Firefoxがよいと感じたところ
履歴関連
見たページをインクリメンタル検索できるのは便利。Sleipnirは履歴検索が出来ないので全然だめ。
IE7風のお気に入り・履歴表示(bookmarks history panel)
ページ表示領域を圧迫しない形でお気に入りや履歴にアクセスできる。Sleipnirでもサイドバー+Nun!で代替できそうだが、Nun!自体が問題ありで使えない(エクスプローラーバーパネルの表示でページ表示領域を少し圧迫してしまう)
リンクバーのアイテムタイトルを非表示にできる(Smart Bookmarks Bar)
[2009/8/12追記]Shade LinkBar Extensionで可能でした
リンクバーによく使うサイトのファビコンだけを大量に並べるのは意外に便利。Sleipnirでもタイトルを空白にする事で可能だが、マウスオーバーでもタイトルが表示されない弊害がある。
ウィンドウを複数枚開ける
目的ごとに複数のウィンドウを開ける。タブが多くなってきたら2枚目のウィンドウ、みたいな使い方ができる。SleipnirはMDIなので複数ウィンドウとかできない。
Sleipnirがよいと感じたところ
RSSリーダー
好みの問題だけれど、Headline-Readerに匹敵するものはFirefoxとWebベースのサービスにはなかった。Google Readerなどはどうも使いにくい。
ドラッグ&ドロップ系拡張
FirefoxにもEasy DragToGoがあるが、反応が悪くて使用していてストレスだった
検索バー
文字列入力後に検索エンジンを選択すると同時に検索、というのがどうしてもできない。惜しいものはあったけれど。
まとめ
個人的にはRSSリーダーがSleipnirのほうがよいのでSleipnirを使う事になりそうだけれど、Firefoxもとても魅力的だった。Sleipnirに無い便利な機能がたくさんあるし。なにより安定度が違った。
ただ、それぞれの拡張の動作が結構いいかげんだったり競合したりするあたりは、ほとんど純正品のSleipnirのほうが良いと感じた。
結論としては、Firefoxは優秀。ただSleipnirに慣れていると移行できるほど1対1対応の拡張はないから移行できない。
付録1 Firefoxに入れた拡張
最後に、Firefoxに追加した拡張をSleipnirとの対応を示しながら挙げていく
- Adblock Plus
- 広告ブロック
- [Sleipnir]相当機能なし
- Add to Search Bar
- autoHideStatusbar
- ステータスバーを非表示にしてマウスを近づけると表示
- [Sleipnir]相当機能なし- AutoPager
- ページを継ぎ足し表示する
- [Sleipnir]AutoPagerize(Seahorse)
- bookmarks history panel
- Configuration Mania
- 通常のオプションにない細かいオプションを設定
- [Sleipnir]もともと通常のオプションが細かい。
- Copy Links
- 選択範囲内のリンクを抽出
- [Sleipnir]LinkExtraction
- Download Statusbar
- ステータスバーの上段にダウンロード状況を表示
- [Sleipnir]相当機能なし
- Easy DragToGo
- リンクや文字列をドラッグ&ドロップでいろいろな動作をする
- [Sleipnir]SuperDrag Extension
- Favicon Picker 2
- リンクバーのアイコンを任意設定
- [Sleipnir]相当機能なし
- File Title
- Firebug
- javascriptやHTML,CSSの解析など
- [Sleipnir]相当機能なし。一部HawkEyeで可能も使いにくい。
- FireGestures
- Fission
- アドレスバーに読み込み状況などを表示
- [Sleipnir]相当機能なし
- GooglePreview
- Greasemonkey
- 特定のページで任意のJavascriptを実行
- [Sleipnir]Seahorse。ただし、インストールがワンクリックで出来ないので不便
- Hatena Bookmark
- Hide Menubar
- メニューバーを隠す
- [Sleipnir]標準機能
- IME and DiMENSiON
- Link Alert
- Locationbar²
- Make Link
- Peers
- Proxy Toolbar
- プロキシを簡単に切り替える
- [Sleipnir]メニューから切り替えられる
- QuickRestart
- 「再起動」をメニュー&キーボードショートカットに追加
- [Sleipnir]メニュー・ショートカット共に自分で追加可能
- Searchbar Autosizer
- 検索バーの中身によってサイズを変更
- [Sleipnir]相当機能なし
- Smart Bookmarks Bar
- リンクバーのアイテムのタイトルを非表示
- [Sleipnir]相当機能なし。タイトルを空白にする事で代替
- Speed Dial
- Tab Mix Plus
- タブ機能拡張
- [Sleipnir]多くの機能は標準実装
- Toolbar Buttons
- Weave
- 複数台のPCでお気に入りなどを共有・同期
- XUL/Migemo
- Zoom toolbar
- テキストリンク
付録2 Sleipnirに対する要望
- もっと安定させて!
- もう既に頑張っているとは思うけど。
- ツールバーへ任意のボタンを追加したい
- 任意のメニューをツールバーに追加したいのです。
- 任意の場所へツールバーボタンを配置したい
- Nun!相当の機能の本体実装
- エクスプローラーバータブもNun!できるようにして欲しい。
- リンクバーにタイトル非表示機能を
- タイトルを空白にしても右側に微妙な隙間ができる
- それには目をつむっても、マウスオーバーでタイトルが表示されないのは困るときがある
- [2009/8/12追記]Shade LinkBar Extensionでできました。自動的に隠さない設定もあれば良いんですが。。。
- タブの最低・最大サイズ指定
- 1段表示のとき、最低・最大サイズを指定して、タブが指定サイズ以下にはならないようにしてほしい
- お気に入り・履歴の共有・同期
- 複数台のPCで共有・同期できるのはすごく便利だった
- 履歴関連をまともにしてほしい
- 履歴の検索も出来ないってどういうことよ。いっぱい見た後じゃ探すの大変じゃん。
電子工作をする人のためのSleipnir用検索エンジン設定
Sleipnirの検索バーから直接電子部品を検索するときの設定パラメーターです。
ただし、「アイコン」は、各URLのものをダウンロードしてresources\skins\default\toolbar\SearchBarに適当な名前で配置してください。
秋月電子(4/3更新)
http://akizukidenshi.com/catalog/default.aspx
秋葉原と言ったらココ。個人的には。
品揃えは必ずしも良くないけど他には売ってないものが売ってたり、激安だったり。
URI | http://akizukidenshi.com/catalog/goods/search.aspx?search=x&keyword={all} |
アイコン | http://akizukidenshi.com/img/usr/favicon.ico |
エンコード | URL ENCODE |
メソッド | GET |
千石電商
http://www.sengoku.co.jp/
店内が秋月に比べてしっかり整理されて棚に入っていたり、部品を探しやすい。
URI | http://www.sengoku.co.jp/mod/sgk_cart/search.php?multi={all}&cond8=and |
アイコン | http://ddd.usamimi.info/sleipnir/misc/sengoku.ico(自作してみた) |
エンコード | URL ENCODE |
メソッド | GET |
マルツ パーツ館
https://www.marutsu.co.jp/user/index.php
店内が綺麗、棚にとても綺麗に整理されている。上の2店に無くてもこっちにはあることもよくある。
ただ、高い。綺麗に整理された棚にお金を払うつもりで。
URI | https://www.marutsu.co.jp/user/ichiran_mid.php?QUICK_SEARCH=1&dmm=%82%c9%82%d9%82%f1%82%b2%82%cd%82%f1%82%c4%82%a2%82%e6%82%a4%82%cc%82%e0%82%b6%82%ea%82%c2%82%c5%82%b7%81B%82%b1%82%ea%82%f0%82%a2%82%ea%82%c8%82%a2%82%c6%94%bb%92%e8%82%c9%8e%b8%94s%82%b5%82%dc%82%b7&KEYWORD={all}&DAI= |
アイコン | - |
エンコード | URL ENCODE |
メソッド | GET |
clicubeがてすと
もじょもじょ
てすとだよ。こっちには人のための記事を書く。