にぽたん研修所 兼 にぽたん休憩所

旧にぽたん休憩所をマージしたからわけがわからない

使ってないのに

はてなブックマーク - nipotanのブックマーク


はてブってほとんど使ってないのに、お気に入られ数が 96 とか、ナニゲに多いのかも知れないなあとか思った。
これ見てさ、


はてなブックマーク被お気に入り登録数調査を更新したよ(7月) - 仮説製造工場 - 石々混淆


多いほうから 80 番目ぐらいだってことがわかったので、もうちょっとマジメに使うことにした。


個人的には livedoor clip をメインで使ってるんだけどね。
livedoor クリップ


メインなのに、お気に入られ数は 48。
使ってないはてブの半分しかいない。


寂しかったから、livedoor clip にクリップしといたやつを、はてブに移した。
今日一日で 2,000 以上ブクマしたよ!!!


ただ、今後ブクマをどうやって使っていこうか、まだ迷い中なのは内緒だ。


ちなみに、移行していて、途中で気付いた。
これって、少なからず人に迷惑かけているよね。
ごめんなさい。
気に入ってくれている人、ごめんなさい。


HolyGrail / 蜘蛛糸まな🕸️@VTuber準備中 on Twitter: "にぽたんさんのクリップが大量にはてブにポストされている件について[tM07]"
Kazuho Oku on Twitter: "なにげに b.hatena.ne.jp/nipotan 開いたらブラウザが固まったwww データ大杉www"


ごめんなさい。ごめんなさい。


あと、中の人、ごめんなさい。

Perl でプレゼンテーションツール

Shibuya.js とかでは、JavaScript とかでプレゼンツールを自作しているのに、Perl でプレゼンツールを自作している奴は、見たことがない。
YAPC::ASIA 2007 の LT 向けに、ターミナルを使った高橋メソッドなプレゼンをやろうと思って、Perl で適当に書いてみた。


→、↓、[PgDn] でページを進む。
←、↑、[PgUp] でページを戻る。
[Home] で先頭ページへ。
[End]、C-c、C-d でプレゼン終了。


でも、ターミナルだと表現力が足りなさすぎてなんか面白くないからやめた。


そもそも Term::* 系ってほとんど使ったことがないから、よくわからないまんま作ってみて、微妙すぎて、これ以上手を加える気が失せた。


まずいないでしょうが、もし誰か使いたいっていう奇特な方がいたら、どうぞご勝手に。


#!/usr/local/bin/perl
# $Id$
# nipotan <nipotan at nipotan.org>

package Presentation::PageParser;

use base qw(Class::Accessor::Fast);
use Term::Size qw(chars);

__PACKAGE__->mk_accessors(qw(lines position x y));

sub parse {
    my($self, $page) = @_;
    my @lines = split /\n/, $page;
    my($x, $y) = chars();
    $self->x($x);
    $self->y($y);
    $self->lines(\@lines);
    my @position = ();
    my $pos_y = int(($y - scalar(@lines)) / 2);
    $pos_y = $pos_y < 0 ? 0 : $pos_y;
    for my $line (@lines) {
        my $pos_x = int(($x - length($line)) / 2);
        $pos_x = $pos_x < 0 ? 0 : $pos_x;
        push @position, [$pos_y++, $pos_x];
    }
    $self->position(\@position);
}

package main;

use strict;
use Term::Screen;

my @pages = split /\s+-{5}\s+/, join('', <DATA>);

my $pre = Presentation::PageParser->new;
my $scr = Term::Screen->new;

sub _prev { $_[0]-- }
sub _next { $_[0]++ }
sub _home { $_[0] = 0 }
sub _end  { $_[0] = 99999 }

my %keybind = (
    ku     => \&_prev,
    kd     => \&_next,
    kl     => \&_prev,
    kr     => \&_prev,
    kh     => \&_home,
    pgup   => \&_prev,
    pgdn   => \&_next,
    "\x03" => \&_end,
    "\x04" => \&_end,
    "\x1b" => \&_end,
);

for (my $i = 0; $i < @pages; ) {
    my $page = $pages[$i];
    $scr->clrscr();
    $pre->parse($page);
    my $lines = $pre->lines;
    for (my $i = 0; $i < @$lines; $i++) {
        $scr->at(@{$pre->position->[$i]})->puts($lines->[$i]);
    }
    my $c;
    while ($c = $scr->at($pre->y, $pre->x)->getch) {
        if ($c =~ /^(?:k[udlrh]|pg(?:up|dn)|[\x03\x04\x1b])$/) {
            $keybind{$c}->($i);
            last;
        }
    }
    last if $i < 0;
}
$scr->clrscr();

__DATA__
Terminal Presentation



by nipotan
-----
Takahashi Method
Perl version


using
Term::Size
Term::Screen
-----
This is the Takahashi Method.
-----
It is a technique
of producing slides
for presentations.
-----
It is similar to
-----
The Lessig Method
-----
It is credited to
Mr. Masayoshi Takahashi.
-----
Compared
to
a
more
typical
presentation,
-----
much fewer words are
-----
used
rather
than
sentences.
-----

nkf の技

http://kerolin.jspeed.jp/Computer/Linux/vi070323.html

基本的なことなんだろうけどDOSの改行コードをUnixのそれになおすには

:set notextmode

とやればいいらしい。


知らんかった。

「vi の技」ってか、それ多分、vi じゃだめじゃないすかね。

set: no textmode option: 'set all' gives all option values.

vim ならイケる。


でも、改行を変えたい場合は、nkfラクでいい。
ぶっちゃけ、20 世紀に慣れ親しんだ CGI たちのせいで、21 世紀になる頃には古い文化だと思ってて、nkf 嫌ってた。


昔は、色々な CGI にこう書かれてたもん。

$NKF = '/usr/bin/nkf';

そのせいだ。


話逸れた。

use strict;

print "Hello!\x0D\x0A";
print "nkf!\x0D\x0A";
% chmod +x dos.pl
% ./dos.pl > dos.txt
% od -c dos.txt
0000000   H   e   l   l   o   !  \r  \n   n   k   f   !  \r  \n
0000016
% vim dos.txt
Hello!
nkf!
~
~
~
~
~
"dos.txt" [dos] 2L, 14C            1,1      All
% nkf -Lu dos.txt > unix.txt
% od -c unix.txt
0000000   H   e   l   l   o   !  \n   n   k   f   !  \n
0000014
% vim unix.txt
Hello!
nkf!
~
~
~
~
~
"unix.txt" 2L, 12C                 1,1      All

nkf いいよ nkf


改行文字 (Linefeed Character) を、
Windows の改行 (CR+LF) にしたい場合は

% nkf -Lw filename

UNIX の改行 (LF) にしたい場合は

% nkf -Lu filename

Mac の改行 (CR) にしたい場合は

% nkf -Lm filename

とかだから、覚えやすいね。


ちなみに、perlワンライナーとかでやるならこう。

% perl -i.orig -pe's/\x0D\x0A$/\x0A/' dos.txt
% od -c dos.txt
0000000   H   e   l   l   o   !  \n   n   k   f   !  \n
0000014
% od -c dos.txt.orig
0000000   H   e   l   l   o   !  \r  \n   n   k   f   !  \r  \n
0000016

ちゃんと同じことはできる。


引数の覚えやすさでは圧倒的に nkf だけど。
処理速度は…ちょっと検証してみた。


10 万行ぐらいある、巨大な dos.txt を作ってみた。

% ls -l dos.txt
-rw-r--r--  1 nipotan nipotan 50042427 Mar 24 12:27 dos.txt
% wc -l dos.txt
100000 dos.txt
use strict;
use Time::HiRes qw(gettimeofday);

my $nkf_command  = q|nkf -Lu dos.txt > unix.txt|;
my $perl_command = q|perl -i.orig -pe's/\x0D\x0A$/\x0A/' dos.txt|;

my $nkf_start  = gettimeofday();
`$nkf_command`;
my $nkf_end    = gettimeofday();

my $perl_start = gettimeofday();
`$perl_command`;
my $perl_end   = gettimeofday();

printf("nkf: %f seconds\n", $nkf_end - $nkf_start);
printf("perl: %f seconds\n", $perl_end - $perl_start);

結果

nkf: 13.955511 seconds
perl: 4.252004 seconds

perl いいよ perl


一応、同じファイルになってるか検証。

% md5sum unix.txt
8d5e716863d5056899b684fbcb679e18  unix.txt
% md5sum dos.txt
8d5e716863d5056899b684fbcb679e18  dos.txt

うむ。perl 良い。

Google AdSense の小切手換金

コレはビックリ!小切手換金 get2cash が夜逃げしてた? - drk7jp

小切手は半年しか有効期限がないし、Google AdSense は一度小切手で支払いをすると、再発行はできるものの銀行振り込みへ変更することはできないので

そう言えば、自分の場合は、期限切れの小切手をしばらく放置しておいたら、

昨年末頃に Google が未払分を精算して銀行に振り込んでくれましたね。"グーグル インク" という振込人名義で振込がありました。
特にこちらからお願いをしていたわけでもなく、期限切れの米ドル小切手を再発行してもらうその手続き (と、再発行後の換金手続き) が面倒になったので、別にグーグルさんの収益にしちゃってもらってもいいやーぐらいの軽いノリで放置してただけなのですが。


で、とある有名ブロガーさんも、同じ日にグーグルさんから精算されたって言っていたので、軒並全員されたのかと思っていたのですが、どういう条件だったんでしょうかねぇ。

iPod

動かなくなった第四世代iPodの無理矢理な直した方(無保証) - hibomaのはてなダイアリー

部屋の掃除してたら壊れて動かなくなったiPodが出てきたので、試しにMacに繋いでみたら動いた。最初はダメだったんだけど、例のごとく強く振ったら動き出しました。すばらしくアナログです。iPodが起動しなくて困ってる人は 強く振ってみることをお薦めします。本気で壊れる可能性も否めませんが・・・

こんな対処療法は知らなかったので、さっそく、1 ヶ月前にぶっ壊れて、常に Sad iPod しか表示されなくなってしまった iPod を、お薦めされるままに猛烈に 30 回ぐらい振ってみた。


復活した!!!!111

id:naoya 似の id:hiboma++




「似」なの?「似」ってのは語弊ある?

無断リンク禁止

なんかちょっと軽く祭りみたいになってるけど、うちも無断リンク禁止だよ。
トップだけ許すとかそういう次元じゃない。
全部禁止!!
はてブだろうが del.icio.us だろうが、livedoor clip だろうがなんだろうが禁止!!!


『d.hatena.ne.jp』 の人気エントリー - はてなブックマーク


ホント↑こういうの勘弁してほしい!!!!


言うまでもなくこれもブックマークしちゃダメなんだからね!!!



参考リンク:
http://www.geocities.jp/lucy_tinycafe/mannerup/hatenauser.html