[Concurrent Haskell] 無限リストが止まらない
- 2009-11-03
- カテゴリ: Client Side
- タグ: Tips Haskell 並行計算 アルゴリズム
HaskellのControl.Concurrent.Chanを使って、簡単な並行処理プログラムを作ろうとして試行錯誤したのでメモ。
Control.Concurrent.ChanはHaskellで並行処理をするときに使うことができるFIFOキューライブラリ。複数のスレッドからキューにデータを流し込んで、別のスレッドがそのデータを読み取って処理をしたりすることができる。
Control.Concurrent.Chanを使えば、スレッド間の排他処理とかを全く考えずに済むので、簡単に並行処理プログラムを書けるかと思っていたけど、処理終了時の扱いに悩んだので、ちょこちょこと試行錯誤してみた。
詳細は続きで。
NTFSについて調べたのでメモ
- 2009-10-20
- カテゴリ: Client Side
- タグ: Tips Windows NTFS
諸事情あってNTFSについて調べたので、自分なりに理解したところをメモ。
基本的には、
の二つのサイトに書いてあることから必要な部分を抜粋しているだけだけど、説明を省略してる部分もあるし間違ってる部分もあるかも。
XML (HTML) の特殊文字をエスケープするVimスクリプトを書いた
- 2009-09-29
- カテゴリ: Client Side
- タグ: Vim Tips
XMLやHTMLの5つの特殊文字 (&, <, >, ', ") を定義済みのエンティティ (&, <, >, ', ") に変換するVimスクリプトを書いてみた。
5つの文字を置換するだけだから簡単そうに思えるけど、選択範囲だけを対象にしようとするとなかなか難しくて、今まで納得のいくものを作れずにいた。それが、たまたま今日挑戦してみたら、そこそこいい感じのスクリプトが書けたので、記念にブログポストしてみる。
vnoremap <Leader>e "xx:call <SID>EscapeXml('x')<CR>"xP
function s:EscapeXml(regname)
let x = getreg(a:regname)
let x = substitute(x, '&', '\&', 'g')
let x = substitute(x, '<', '\<', 'g')
let x = substitute(x, '>', '\>', 'g')
let x = substitute(x, "'", '\'', 'g')
let x = substitute(x, '"', '\"', 'g')
call setreg(a:regname, x)
endfunction
使い方やコードの解説は続きで。
[Haskell] 配列のインデント
- 2009-08-27
- カテゴリ: Client Side
- タグ: 安易な発想 Haskell Twitterでやれ
今までHaskellで配列をインデントするための気に入った方法がなかったけど、2つほど見つけた。
table = [[Infix (char '*' >> return (*)) AssocLeft,
Infix (char '/' >> return div) AssocLeft],
[Infix (char '+' >> return (+)) AssocLeft,
Infix (char '-' >> return (-)) AssocLeft]]
table = [ [ Infix (char '*' >> return (*)) AssocLeft,
Infix (char '/' >> return div) AssocLeft ],
[ Infix (char '+' >> return (+)) AssocLeft,
Infix (char '-' >> return (-)) AssocLeft ] ]
だから何かっていうわけではないけど、ちょっとうれしかったからメモ。
Haskellのコーディングスタンダードみたいなものってないのかなー
GnuCashで日本の投資信託の基準価額を取得するPerlモジュールを書いた
一ヶ月以上前に作ったまま長いこと紹介せずに放置していたので、そろそろ公開しようと思う...
LiosK's Finance--Quote--YahooJapan at master - GitHub
A Perl module that enables GnuCash to get quotes of Japanese stocks and funds from Yahoo! JAPAN.
GNUプロジェクトの財務管理ソフトウェアであるGnuCashには、Web上のデータソースから株式や投資信託の価格を自動で取得する便利な機能がついています。
Features | GnuCash (投資ポートフォリオに関する機能を抜粋)
- Stock/Mutual Fund Portfolios
- Track stocks individually (one per account) or in portfolio of accounts (a group of accounts that can be displayed together).
- Online Stock & Mutual Fund Quotes
- Get Stock & Mutual Fund quotes from various web sites, update portfolio automatically. Additional pricing sources are added regularly.
この機能を使えばGnuCashで投資ポートフォリオを管理するのがだいぶ楽になるのですが、残念なことにデフォルトでは日本の株式や投資信託の価格を取得することができませんでした。おそらく、日本では株式等の価格をCSVのような再利用可能な形で簡単に手に入れることができないために、GnuCashの方で対応してもらえなかったのでしょう。金融後進国は不便ですね...
というわけで、Yahoo!ファイナンスの検索結果ページをスクレイプして、日本の株価や投資信託価格をGnuCashで取り込めるようにするPerlモジュールを作成したので、GitHubで公開しましたよ!というのがこの記事の本題です。使い方等の詳細は続きで。
Dell Studio XPS 13が届いた
- 2009-07-29
- カテゴリ: Client Side
- タグ: Dell Laptop Netbook Vista
前回の記事で書いたDell Studio XPS 13が届いたから、とりあえずエクスペリエンスインデックスを計測してみた。
エクスペリエンスインデックスの最大値は5.9だから、10万円そこそこのノートPCで5.3は結構いいほうなのかな?
ちなみに、↑のスクリーンショットで表示されているのは、GeForce 9500MをONにしたときの数字。オンボードのGeForce 9400M Gを使う省電力モードでは、ゲーム用グラフィックのスコアが5.2になってそこがボトルネックになる。
よし。とりあえず、Windows 7 RCとUbuntu 9.04を入れてみるかなー
Dell Studio XPS 13を注文した
- 2009-07-20
- カテゴリ: Client Side
- タグ: Dell Laptop Netbook
今メインで使っているノートパソコンのDVDドライブが壊れてしまって、iTunesでCDを取り込んだり、Windows 7 RC版をインストールしたりということができなくなって困っていたので、少し奮発して新しいノートパソコンを買うことにした。
注文したのはDellから発売されているStudio XPS 13。13型のハイエンドノートらしい。
まだ届いていないからレビューをするわけではないけど、いろいろと感慨深くていい時代になったなーと思ったから記事に残しておく。
Xubuntuインストール時にやったことまとめ
- 2009-03-24
- カテゴリ: Client Side
- タグ: Linux Ubuntu
前回のエントリーに続いてXubuntuの話。
手元のノートパソコンにXubuntu 8.10をインストールした後にやったことをメモしておく。
[メモ] Xubuntu + Compiz
- 2009-03-20
- カテゴリ: Client Side
- タグ: Tips Linux Ubuntu
前回の更新からだいぶ時間が空いてしまった。FC2ブログでは一定期間記事を投稿していないと広告が入ってしまうようなので、メモ代わりのエントリーをポスト。
前回のエントリーでは、自分のPCにUbuntuを導入した話などをしたけど、結局、ごちゃごちゃとしているGNOMEが嫌になって、Xubuntuに乗り換えた。
Xubuntuはとても軽快なので満足しているんだけど、エフェクトとかがまったくなくてさびしいので、Compizを導入してみた。
「XubuntuにCompizなんて入れたら、せっかくの軽快さが台無しじゃんw」というツッコミはとりあえずスルー。
[Ubuntu][ntfsresize] Ubuntuをインストールした時にやったことまとめ
- 2009-02-08
- カテゴリ: Client Side
- タグ: Linux Ubuntu
手元のノートPCにUbuntu 8.10をインストールして、Windows XPとのデュアルブート構成にしてみた。
意外と苦労したので、忘れないうちにメモ (既に忘れつつあるが…)。



