Humanity

Edit the world by your favorite way

Perl

hww更新状況

はいはい、はてだらはてだら。 死んだような目をしながら死んだような生活を送っています。 高速化 とにかく遅かったので、もっと改善するつもり 全てのヘルプファイルを書いた (読むにはhelpコマンドを使う) ただし英語 (しかも下手な) 日本語ヘルプファイ…

CPANの環境構築私的メモ

リンクだけ。 local::libのセットアップ local::libを使った非rootでのCPAN環境構築 - hide-k.net#blog これもlocal::libのセットアップ。 あとcpanコマンドで、依存モジュールがあった場合に自動的に追ってくれる設定など。 Big Sky :: 訳:Installing Perl…

continueブロック

なんとなくメモ。 #!/usr/bin/env perl use strict; use warnings; use Perl6::Say; say "--- for ---"; # nextしても、$i++は評価される。 # 無限ループになったりはしない。 for (my $i = 0; $i < 10; $i++) { next if $i == 5; say "foo:$i"; } say; say …

はてダラ更新状況

暑くて無気力すぎる。 特にコミケ中は「コミケ行きたかったな...」とかずっとうじうじして何も手につかなかった...orz 実装したコマンド、オプション editor 今日の日付のエントリパスを自動的に$EDITORに渡して開く --guiオプションを渡すと、gvimなどの端…

RubyishなS式

深夜のテンション注意。 このエントリは様々な意味で危険なエントリなのですぐ削除されるかもしれません。 Rubyのすごい所は、その構文の可読性にあります。 世界中の半分以上の人間は文章を読む時左から右へ流れていくように読みます。 英語なんかは動詞の…

はてダラ更新状況 (多すぎ

なんだかまだはてだらっぱーの更新やってるわけですが。 実装したコマンド truncate 日記ファイルの前後の空白行を削除。 タイトルはちゃんと保存されます。 その他にも既存のコマンドを色々修正したりしました。特にshellコマンドなんかはクォートが閉じて…

はてだらっぱー更新状況

読み方は自分の中で大体次のどれかに定着してきた感じ はてなダイアリーライターラッパー はてだららっぱー はてだらっぱー hww ・・・全然定着してない件。 まぁはてだらっぱーが一番言いやすいのでそれにしようかなぁ、と考え中。 あとリポジトリにmaster…

依存モジュールをまとめてインストールするtips

前回依存モジュールをextlibってディレクトリに詰め込もうとしてXS依存したモジュールがあって試みは失敗したけど、最近買ったPerl Hacksに依存モジュールを素早くインストールするtipsがあったなと思って見てみた。 あと誤解を招かないように言うとcpanから…

YAML

YAML.pmはPerlで実装されたYAML用ライブラリです。作者のIndyはYAML仕様の策定者です(注1)。第5回 Perl編:言語別 YAML用ライブラリ徹底解説|gihyo.jp … 技術評論社 CPANとかでよく見る名前だと思っていたらそんなことに関わってる人だったのか。 へー。 …

use lib

libプラグマは、Unix風ファイルパスしか受け付けないらしい。 lib.pm を小さく単純に保つために, Unix ファイルパスにのみ機能します. とはいえ, これは Unix 上でしか動かないと言っているわけではありません. 非 Unix ユーザでもそのファイルパスを Unix …

現在の状況 メモ

やりたいことが次々と出てきて消化しきれない... ささっとコードに落とし込む能力があればいいのに... TODOリスト 設定ファイル config-hww.txt 多分YAML形式にする YAMLとYAML::XSは互換性がないらしいので気を付ける コマンド *-tag タグを操作するコマン…

extlibに依存モジュールを突っ込もうとしたらXS依存モジュールのせいでCan't locate loadable objectと言われたでござるの巻

拙作のはてだらっぱー(もう読み方とかどうでもいいよ)をついカッとなってコアでないモジュールに依存させてしまったんだけど、 コアでないモジュールをextlibに突っ込めばいい、というのをどこかで聞いたなと思って再度ググったら牧大輔さんのブログがヒット…

HWWrapperの状況

HW.pmのグローバル変数を$selfに突っ込んでいくという作業は終わった。 だけどずっとコアモジュールしか使わないようにしてたせいかClass::Accessor::Lvalueをついカッとなって使ってしまい、動かすのにインストールが必要になってしまった。 一応githubに上…

HWWrapperアップデート状況

d:id:tyru:20090803 diffコマンドを実装した 'release -t'がエラーになるのをバグ修正 HWWrapperって英語(?)で書いた方がかっこいいな。 これからそうしよう。

Hatena Diary Writer Wrapper

注:このエントリは随時更新中です はてなダイアリーライター(通称はてダラ)のラッパーとなるコマンド、はてなダイアリーライターラッパー(長い)というのを作りました。tyru/hatenadiary-writer-wrapper · GitHubまたforkさせてもらったオリジナルのはてダラ…

no Module

Mooseは no Moose とすることでuse Mooseした際にエクスポートしたhasなどのシンボルを削除してくれる。このno MODULEというのはどういう意味なのかというと $ perldoc -f no (略) There's corresponding "no" command that unimports meanings imported by …

Exporter代わり

ある関数を書いたんだけど即必要なくなってしまったのでここに晒す。 まぁ今時Exporterなんて使うよりクラスにして インスタンスからアクセスしろよって感じかもしれないけど たまに($selfを取らない)ユーティリティサブルーチンを詰め込んだパッケージを作…

はてダバックアップ計画 4日目

はてダラの件はhw.plを修正するのはやめて、新しくスクリプトを追加することにした。 そのスクリプトは従来の機能で補える部分はhw.plを適時呼び出して、それ以外に独自の機能を付けていくつもり。 hw.plはそれに合わせるようにいくつか修正を入れたものの、…

Perl5.10をインストールする

use feature 'say'ができなくて自分が5.8を使ってることに気づいた。 というわけで5.10をインストールしてみた。 Perlはgitでバージョン管理されていて、 githubにそのリポジトリがあるのでそれをcloneしてk・・・・と思ったんだけど わざわざリポジトリ持っ…

はてダバックアップ計画 3日目

エクスポートURLにGETするとなぜか302 Movedとなってしまう。 しかも遷移先はトップページ(http://d.hatena.ne.jp/tyru/)。ログインは自分ではできているはずなんだけど、 多分そこらへんが間違っているのは確か。はてダバックアップ計画 2日目 - Humanity …

はてダバックアップ計画 2日目

http://github.com/koseki/hatenadiary-writer/treeついこの前↑のリポジトリをforkさせてもらったんだけど、 なぜかforkしてから「別にforkしなくてもいいじゃん!」 ということに気付いた... o....rzというか何故forkまでしたのか 何がしたかったのか自分で…

PerlでWSSE認証

スクリプトで使ってたけどもう使わなくなった(LWP::Authen::Wsseに任せることにした)ので保存用としてメモしておく。 require Digest::SHA1; require MIME::Base64; require DateTime; # wsse authetication sub get_credentials { my ($user, $pass) = @_; …

はてダバックアップ計画

はてなダイアリーの記事をgithubでバージョン管理する。 - こせきの技術日記この記事を見てはてダエントリのバックアップをしたいと思って結構前に始めたのがこれなんだけども、今ちょっと行く末を悩み中。 というのも作ったhb.plというスクリプトは、新しい…

依存してるモジュールを調べるスクリプト

途中でModule::ScanDepsってモジュールにscandeps.plっていうまさにそんな感じのスクリプトがついてることを知ってちょっとやる気失くした。 PPI::Documentをスクリプトあるいはモジュールごとに生成してパースさせてるので、scandeps.plみたいに再帰的にモ…

Perlのutf8についてとか

さっきのエントリでバイト列がUTF8な文字列として認識されないとか言ってたんだけど無事できたー。 まぁさっきのエントリに追記してもいいんだけどPerlのエンコードがらみのことはよく分かってないので別エントリとしてメモ。 まず、さっきのエントリの解答…

天下一プログラマーコンテスト

賞金・・・?100万・・・え??なにそれ? というわけで参加するかどうかはともかく興味魅かれたのでやってみる。 というか朝見つけてやっと昼ごろにできあがるというダメダメな感じ。 packとかunpackとかhexとかその辺の関数(演算子?)の使い方をすっかり…

Linuxでのメモリ割り当て・解放のタイミングが分からない

とりあえず現象だけをメモ。 解決策はネットに頼ってもダメだったらカーネルのソース見なきゃいけないんだろうか。。。 Net::FriendFeed::Backupというモジュールを主に自分用に作っているんだけど、CentOSで(Windowsでは未確認)バックアップをディレクトリ…

Net::Twitter::CLI

そういえばさっきNet::Twitter::CLIのことを言った後、 まだこのブログで紹介してないことを思い出した。 g:twitter:id:tyruでは既に言ったんだけどここでも書いてみる。 と言いつつコピペ。 頭働いてないから日本語がうまく書けないのです。あうあうあー^q^…

Term::ReadLineがうまく利いてくれないときの対処法

Term::ReadLineは、$ENV{PERL_RL}の値を見て、それぞれロードしてくれるモジュールを変えてくれる。 例えば、Perldocにも書かれてあるけど、 export PERL_RL=" o=0" とすれば、最適なモジュールを自動的にロードしてくれるみたい。 ただこの値がセットされて…

重複したパスを削除(統一)するワンライナー

このエントリで書いたワンライナーを関数にしてみた。 dotfiles/.zshenv at 7d20f5cc14906f5024c5384875cb062f5d316411 · tyru/dotfiles · GitHubより。 function rmdupenv() { if [ $# = 0 ]; then return; fi local env="$1" local sep="$2" eval "export …