2008年05月26日

perl - tac を一行で

camel

それってone-linerで。

[を] さくらのレンタルサーバに tac コマンドを入れる
UNIX 系のコマンドで、tac というのがすごく便利なのです。 これはファイルを先頭から表示する cat というコマンドの逆で、 ファイルを行単位でひっくり返して末尾から表示してくれるのです。
  続きを読む

Posted by dankogai at 02:30Comments(2)TrackBack(0)

2008年05月08日

色言一致

そのネタは既出でっせ。

ギーク風に言うとコーヒーは何色? | IDEA*IDEA
この発想はなかったな。コーヒーは何色?ときいて「水色!」と答える人がいたらギークかもしれません。
  続きを読む
Posted by dankogai at 07:00Comments(0)TrackBack(0)

2008年03月30日

perl - ワンライナーの書き方入門

camel

まあ、ruby のコマンドラインオプションって、Perl由来ですから。

Rubyでワンライナーを書く方法のまとめ
まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。

というわけで、Rubyistにも役立つPerlのワンライナー入門です。

  続きを読む
Posted by dankogai at 19:45Comments(4)TrackBack(2)

2008年01月10日

2007年11月06日

sedハカーとその嫁の初夜

を妄想してみた。

なつたん: 今日の日記

花嫁募集

shinhさんから遠回しな花嫁募集のお知らせが
> seq 1 1000 | sed 's/[^0]//g;/0/{:;x;s/$/_@0123456789_0/;:a;s/^_/1/;s/\(.\)_\(.*\)\(@.*\1\(_*.\).*\)/\4\2\3/;ta;s/@.*//;x;s/0//;/0/b};${x;p};d'
> こんなワンライナー書く人がいたら求婚する。
ギークなお姉さんはPHPなんかやらないで、sedを勉強するべきですよ。
  続きを読む
Posted by dankogai at 04:45Comments(0)TrackBack(0)

2007年09月12日

javascript - [ワンライナーでカラーコード]別解

Array.map()はSafariにはないのでより素直な別解。

IT戦記 - JavaScript のワンライナーでカラーコード
'#' + [76, 84, 105].map(function(i){ return (i >> 4 ? '' : 0) + i.toString(16) }).join('')
  続きを読む
Posted by dankogai at 20:15Comments(0)TrackBack(2)

2007年06月25日

こんなスクリプト言語は仕事にならない

梅雨です。空梅雨だけど。

こういう時にはDRYよりWET (Waste of Efficiency and Time)を指向したいものです。

  続きを読む
Posted by dankogai at 18:15Comments(3)TrackBack(6)

2007年05月28日

Code Snippets - reduce(l|r)を実装汁!

FizzBuzzにももうええかげん食傷してきたので、次のネタをないかと思ったら、yuguiさんがtwitterで私を登録したので、ごぶさた〜と思ってblogを見に行って格好の素材を(再)発見したという前回までのあらすじ。

  続きを読む
Posted by dankogai at 03:30Comments(1)TrackBack(6)

2007年05月08日

ブクマゴルフってどうよ?

これを見て思い立ったのだけど....

どうしてプログラマに・・・プログラムが書けないのか?
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

一行で書き下ろせる問題はぶくマで答えるというのはどうか。

例:   続きを読む
Posted by dankogai at 16:45Comments(0)TrackBack(3)

2007年03月30日

2007年03月20日

2007年01月24日

perl - comm(1)またはuniq -(d|u)

camel

それってPerlの一行野郎で -- それP1(ry

メモ帳 - uniq の -d と -u
存在意義がわからなかったオプションの使い道を見つけたときは妙に感動する。
  続きを読む
Posted by dankogai at 17:00Comments(2)TrackBack(0)

2007年01月19日

perl+javascript - E4e::S3l

Y1u c1n't me 2 c3t'em r3t so h2e it g2s.

ユメのチカラ: どうでもいいプチ蘊蓄、i18nの話
この長い名前を(最初の一文字+中間の文字数+最後の一文字)という風に略すやり方は当時のDECでは流行っていて、DECのヨーロッパのソフトウェア国際化チームがそれにならってInternationalizationをI18Nと略すようになった。
  続きを読む
Posted by dankogai at 08:00Comments(5)TrackBack(0)

2007年01月14日

perl - Yet Another 10のUNIX小技

camel

Geekなぺーじ:10のUNIX小技にperlを加えるとさらに幸せになれるというお話。

  続きを読む
Posted by dankogai at 05:30Comments(6)TrackBack(1)

2006年12月20日

binary - よりポータブルな無限ループ

コメント欄にも書きましたが、残念ながらこの方法はIA-32限定です。

更新履歴兼雑記:無限るーぷ-kikxさんのコメント
main=-277;のほうがいい気がする。
  続きを読む
Posted by dankogai at 02:00Comments(0)TrackBack(0)

2006年11月20日

perl & Unicode - その字の名前

Unicodeの隠れた功績として、こうした「何て呼べばいいの?」という文字に(はんば無理矢理)名前をつけてくれたこともあります。

例えば、

新方言時代〜「小さい“お”」って何?
「々」はなんていえばいいのだろうか?

には

々 U+3005 IDEOGRAPHIC ITERATION MARK

といった具合に。

  続きを読む
Posted by dankogai at 23:00Comments(6)TrackBack(0)

2006年11月10日

uuencode

本文の内容より、こちらが妙に懐かしかったので。

[を] UTF-8 で半角カナを判定
begin 755 utf8hankana-test.pl.gz
  続きを読む
Posted by dankogai at 18:45Comments(5)TrackBack(0)

2006年11月02日

There's more than one way to kill'em

こういう「他のコマンドを組み合わせても可能な便利系コマンド」を覚えるのは、よしあしだと思う。

技術メモ帳 - pgrep, pkill を使用してプロセスを殺す
最近、会社でシェルの操作方法について教えているのだが、
pgrep / pkill / skill / pidof といった
便利なプロセス操作系コマンドを知らない人が実に多い。
  続きを読む
Posted by dankogai at 18:30Comments(0)TrackBack(1)

2006年10月27日

Bookmarklet - URI Escape

どうせならブラウザーにやらせましょう。

ASCII記号のURLエンコード対応表:phpspot開発日誌
ちょろっとエンコード値を調べたい時にこういった表を用意しておくとWEB開発やチェック、入力なんかの時に便利かもしれませんね。
  続きを読む
Posted by dankogai at 20:45Comments(0)TrackBack(0)

2006年10月06日

javascript - Text to HTML Entities Encoder

encode-entities

Sourceを貼付ける際に実体参照化するとき、みなさんはどうしていますか?

404 Blog Not Found:ソースを貼付ける50の方法
コピペのしやすさでtextareaで囲む方法に比べて一歩及ばず、そしてtagの実体参照化が必要だという欠点はあります。

私はPerlのOne-Liner、

perl -Mencoding=utf8 -MHTML::Entities -ple '$_=encode_entities($_, "<>&")'

でやっていたのですが、どうせならブラウザーを離れずに出来た方がいいですよね。というわけでこちら。

  続きを読む
Posted by dankogai at 17:30Comments(1)TrackBack(1)

2006年09月29日

「ユビキタス社会」をユビキタスに消すbookmarklet

マジレスはとりあえずあとまわしにして、そんな中島さんにささやかなプレゼントを。

Life is beautiful: ブログを利用して日本語から言葉を一つ消すことができるか?
「誰もやったことのないこと」するのが大好きな私だが、今日は、ちょっとした実験を思いついてしまったのでぜひともご協力願いたい。
  続きを読む
Posted by dankogai at 02:30Comments(2)TrackBack(0)

2006年06月24日

C - tailとqueue

どうせなら、もう少し潰しがきくように書いてみた。

はこべにっき# - C言語でtailっぽいものを書く
また,明日学科のC言語のテストがある.C言語なぞ普段まったく使わないもんだから,思い出さねば.てことで,10行固定版tailを書いてみた.以下のソース.
  続きを読む
Posted by dankogai at 20:30Comments(4)TrackBack(4)

2006年03月16日

200 Blog Not Found

(他に忘れられがちなもの以外|意外)に忘れられがちなのが、これ。

ステータス200なのに「その商品はありません」
エンジニア以外の人間が読むと、「ページがなければ404エラー。そんなのあたりまえだろ。」で終わってしまいかねない。 ここでは、「404エラーページを見せろ」ではなく「httpヘッダーで404を返せ」と言っているのがミソだ。
  続きを読む
Posted by dankogai at 22:48Comments(3)TrackBack(1)

2006年03月12日

javascript - はてブ拘置所

そういう子はここに入れちゃうぞ;-)

ぼくはまちちゃん!(Hatena) - ARTIFACTさまご所望のbookmarklet
できた!

いつでもどこでも引き蘢りたい方は、上記のbookmarkletを登録のこと。

  続きを読む
Posted by dankogai at 04:27Comments(3)TrackBack(2)

2006年03月11日

UTF-8 vs. ISO-10646

これだとLiberalなUTF-8ですね。

[を] UTF-8 の文字にマッチする正規表現
UTF-8の文字にマッチする正規表現の素直版。
  続きを読む
Posted by dankogai at 13:07Comments(0)TrackBack(3)

2006年02月17日

2 repeat or not 2 repeat

That's the question.

分裂勘違い君劇場 - 「同じことを2度しないようにする」というプログラマの習性が、逆に生産性を大きく下げている
この記事で主張しているように「同じことを2度しない(Only and Only OnceあるいはDRY:Don't Repeat Yourself)」と無条件で考えてしまうと、逆に生産性が大きく低下するケースがたくさんある。
  続きを読む
Posted by dankogai at 00:03Comments(0)TrackBack(0)

2006年02月09日

Bookmarklet Generator

車輪の再発明の罪滅ぼしに、こんなの作りました。

はてなブックマーク - たろマーク/ 2006年02月09日
せっかく本家に載せてもらってたのに誰も見てなかったということかーw>http://www.hatena.ne.jp/tool/bookmarklet#bookmark
  続きを読む
Posted by dankogai at 17:58Comments(2)TrackBack(3)

2006年02月08日

Bookmarklet-このページのはてブを表示する

すでに本blogの各ページには全てb.hatena.ne.jp/entryが付いていますが、最近人様のページに対してもそれを使いたいケースが出て来たので、手慰みにBookmarkletを作ってみました。ご自由にご利用ください。

  続きを読む
Posted by dankogai at 22:26Comments(3)TrackBack(2)

2005年12月19日

2005年12月09日

HEAD b.hatena.ne.jp

perl使いならやはりLWP付属のこちらでしょう。

naoyaのはてなダイアリー - w3m -dump_head b.hatena.ne.jp
w3m -dump_head b.hatena.ne.jp
  続きを読む
Posted by dankogai at 17:52Comments(0)TrackBack(1)

2005年11月05日

行番号ふりふり

こういうやつこそ、一行野郎でしょう。

naoyaのはてなダイアリー - きよへろのPerlコードをリファクタしようのコーナー No.3
でも、今回は id:kiyohero のコードそのものが結構シンプルで直しどころがあんまりない。
  続きを読む
Posted by dankogai at 14:13Comments(0)TrackBack(0)

2005年10月31日

Core vs. Wrapper

組み込みを使うかWrapperを使うか、それが問題だ

naoyaのはてなダイアリー - きよへろのPerlコードをリファクタしようのコーナー No.2
やっぱり最初は localtime を素で使っちゃうよね。Perl の入門書にはおそらくほとんど localtime での例になってると思われます。しかし、僕なら Time::Piece を使う。
  続きを読む
Posted by dankogai at 09:13Comments(0)TrackBack(0)

2005年09月09日

LL Intaractive

LLの利点の一つというのは、対話的に使えることでもある。

いやなブログ: SpiderMonkey で JavaScript のインタラクティブシェル
JavaScript のコードをインタラクティブに動かせるツール (Ruby における irb のようなもの) が欲しいと以前から思っていたのですが、今日になってようやく SpiderMonkey のインタラクティブシェルをインストールしました。

たいていのLLが対話的に利用する手段を用意しているのだが、対話型インターフェースが組み込みのPythonを除くと以外と知られていないケースも多いのでここにまとめてみた。

  続きを読む
Posted by dankogai at 13:38Comments(2)TrackBack(0)

2005年08月30日

数値型言語誕生!

この人によれば、世界の全てを0と1の間に押し込む事ができるのだそうだ。この人は気がふれたというふれこみだが、実際のところは自分を数直線に押し込んだだけなのだ。

というわけで、集合論を知らなくても使える数値型言語、 Acme::Bleach::Numerically を紹介します。

  続きを読む
Posted by dankogai at 11:12Comments(0)TrackBack(0)

2005年08月18日

Lingua::JA::Numbers Released!

タイトルどおり、Ligua::JA::NumbersをReleaseしました。CPANからまだ取れなければ

http://www.dan.co.jp/~dankogai/cpan/Lingua-JA-Numbers-0.02.tar.gz

にて入手可能です。

  続きを読む
Posted by dankogai at 05:44Comments(7)TrackBack(5)

2005年07月29日

Perlで2進数

今日ある友人に野暮用で会った。

彼がなぜだかPerlで2進数を扱うのに悩んでいたので回答。

  続きを読む
Posted by dankogai at 19:35Comments(1)TrackBack(1)

2005年04月22日

最狂プログラム

最近自分がプログラマーでもあるという事を忘れつつあるので、ここらで一つ披露。

鈴木島男に学ぶ ウィルス撃退法 - にぽたん研究所
ここで、私からこんな島男スタイルを提唱する。 これをやればあなたも一見天才プログラマーだ。 結線していないキーボードをものすごい勢いで打鍵しながら
% tail -f /usr/local/apache/logs/access_log

それでは私が本当のHackerもうならせる奴を披露しよう。

ソースコードに patch あてて脆弱性対策をして復旧したのかも知れないが「コンパイル」という作業を経ずに復旧してしまう。

もちろん、コンパイル不要。

  続きを読む
Posted by dankogai at 12:00Comments(2)TrackBack(0)

2005年03月30日

compuri.pl

星の秘密 - にぽたん研究所
同じものと判明。。。 これは気がつかなかった。。。

という時にはこれ。

perl -MLWP::Simple -le 'print get(shift) eq get(shift)' uri1 uri2
  続きを読む
Posted by dankogai at 21:37Comments(0)TrackBack(4)

2004年11月30日

piconv -f from_encoding -t to_encoding

Perl 5.8 以降がある環境であれば、上記の方法で文字コード変換が可能だ。例えば、foo.sjisをShift_JIS をUTF-8にしたいなら、
piconv -f sjis -t utf8 foo.sjis
とすればいい。詳しい使い方は
piconv -h
で参照可能だ。  続きを読む
Posted by dankogai at 23:39Comments(0)TrackBack(2)

2004年11月22日

perl -de 1

「perlをrubyやpythonのようにインタラクティブに使うにはどうしたらよいか?」という質問の答えがこれ。perldoc -q "use Perl interactively"でその原理を見る事ができる。実行すると、こんな画面になる。

Loading DB routines from perl5db.pl version 1.27
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(-e:1):   1
  DB<1> 
ここから任意のコードを実行できる上、よく使うものに関してはdebuggerのコマンドとして省略形で実行できる。 私がよく使うのが計算機がわり。こんな感じだ。
DB<1> p 1+2-3/4**5
2.9970703125
  続きを読む
Posted by dankogai at 17:05Comments(0)TrackBack(0)

2004年11月21日

perl -MJcode -ple '$_=jcode($_,"utf8")->z2h->utf8'

今日から、「一日一行野郎」-- One liner of the day -- と評して便利な One Liner (一行野郎)を紹介していこうと思う。これなら楽にエントリを積み上げて行けると思うからだ。

今回のOne Linerは、全角カタカナを半角カタカナにするもの。最近半角カタカナを(ケータイ以外で)利用する機会がめっきり減ったが、一つだけ、オンラインバンキングで受取人を入力する場合のみはあのいまいましい半角カナから逃れ得ない。なのに筆者が端末として使っているOS Xでは、半角カタカナはもう古いとばかり、非常に入力しにくい。筆者はそんな時上記のOne Linerに助けてもらう。終了するにはctrl-Dctrl-Cだ。

  続きを読む
Posted by dankogai at 18:27Comments(0)TrackBack(1)