H97 mother で ubuntu 12.04 を構築するときの TIPS

ASUS の H97-PRO という mother board に Ubuntu 12.04 を構築した時に遭遇した問題 http://www.asus.com/jp/Motherboards/H97PRO/ NIC を認識しない。 http://serendipity3.hatenadiary.jp/entry/2014/01/24/024530 のページの通り driver compile して mod…

DG33BUでubuntuのboot USBが”boot error”になるときの対処法

Ubuntu 12.04 LTS, 14.04 LTS で観測したのでメモ。Ubuntu の installer の入った USB で boot すると "boot error" と出て 止まってしまう問題に遭遇したが、以下の設定をすればいける。BIOS setup menu の Boot > USB Mass Storage Emulation Type > All f…

RBK-200BT3をnexus7(2012)で問題なく使えるようにする為の tips

やりたいこと android に US配列でキーボードを認識させる Ctrl, CapsLock キーの入れ替え 手順 Google 日本語入力 設定画面から "ハードウェアキーボードの設定" を "システム配列" に変更する。 Tweaked Keyboard Layout "US配列( caps->ctrl/ctrl->menu )…

Perl の RFC6555 の実装を書いてみた

RFC6555 - Happy Eyeballsという割と最近 RFC になった ipv6 fallback 問題を解決する手法があるので Perl で実装してみた。 https://github.com/masanorih/p5-IO-Socket-Happpy-EyeBallsRFC6555 自体実装方法がいくつかあって、その内 Google Chrome や Moz…

Ubuntu-10.04 LTS の compiz 復旧

先週 ubuntu を update したら compiz が動かなくなった。その時は忙しかったので compiz off でしばらく放置してたんだけど、ちょっと頑張って解決してみた。調べてみると compiz-check という tool があるので現状を確かめてみることに % wget http://blog…

ubuntu-10-10 で grub re-install

ubuntu のあとに windows をセットアップしたりして MBR を書き換えられてしまった時の修復手順。 まず、livecd(installcd)で "try ubuntu" を選択。 desktop が起動したら、ubuntu の disk 領域を mount する。 % sudo mount /dev/sda? /mnt # sda? はディ…

ubuntu-10-10 での ulimit -n の値の変え方

ubuntu-10-10-desktop-i386 では ulimit -n (プロセスが開けるFDの数) の default が 1024 になっていて、これでは少ないので数値を上げようと思うと結構大変で /etc/security/limits.conf の nofile の数値を変更する(10000は適当な値) * soft nofile 10000…

標準入力をtwitterにpostするコマンドを書いた

未だスマートフォンではない携帯を持っているのですが、外出時に twitter をするためにちょっとしたツールを書いてみました。標準入力に入れられたメールの文面を twitter に post します。sendmail の aliases に yourstream2twittermailaccount: |/some/wh…

FreeBSD 7.2-RELEASE 時代の PPPoE 設定

FreeBSD マシンを PPPoE でブロードバンドルータにする手順。"FreeBSD PPPoE" とかで検索に引っかかるページは若干記述が古いのですが、FreeBSD 7.2-RELEASE ではこんなに簡単に(GENERIC kernel で)設定出来ます。ちなみに使っているモデムは NEC aterm の O…

AnyEvent::Socket で簡単な echo サーバを書く

AnyEvent の勉強がてら、簡単な echo サーバを書いてみた。只の echo サーバではつまらないので返事をする度に数値をインクリメントして付与するようにしてみる。 #!/usr/local/bin/perl use warnings; use strict; use AnyEvent; use AnyEvent::Socket; tcp…

Notify::Gtk2Notify

Notify::Growl のほぼコピペで Gtk2::Notify で通知する plagger の plugin を書いてみました。手元の Ubuntu 9.04 jaunty では問題なく動きます。 package Plagger::Plugin::Notify::Gtk2Notify; use strict; use base qw( Plagger::Plugin ); use Gtk2::No…

zsh で連番ファイル名

zsh ならこう書けるよ。 % print -l access_log.200801{01..27} rm だの gzip だのにも渡せるし。

DNS client を自作する

可能な限り CPAN mobule に依存する + rawsocket という条件付きで DNS client を Perl で書いてみた。 #!/usr/local/bin/perl use strict; use warnings; use IO::Interface::Simple; use IO::Socket::INET; use Net::DNS::Packet; use Net::RawIP qw(:pcap…

Ubuntu の mlterm を 256色にする

Ubuntu の mlterm を 256色にする、あるいは dpkg に patch をあてる方法mlterm の 256color patch は http://d.hatena.ne.jp/shinichiro_h/20080313#1205334463 にあります。 source を展開して、patch をあてる % apt-get source mlterm % patch -p0 < /so…

hexadecimal number なディレクトリ群をパッと作る方法

16進数の(00 から FF まで 00,01,..09,0A,..0F,10,..1F,..FF と続く)連番ディレクトリをパッと作る方法。 zsh かつ 00 から 99 とかだと foreach i in {00..99} mkdir $i end こんな簡単なんだけど、16進数だとうまくいかないんだよねー。 悩んだ挙句思いつ…

Ubuntu Linux Feisty Fawn -> Gusty Gibbon 移行メモ

若干出遅れた感がありますが、Gusty への移行が結構大変だったのでその移行メモ。 nvidia-glx 問題 envy とかを使って最新の nvidia driver を install してたりすると、Gusty への upgrade 中に nvidia-glx の更新に失敗することがあるみたいです。 このま…

IPMessenger に UDP hole punching を実装してみる

Skype が NAT 越えに使用しているという UDP hole punching を勉強がてら IPMessenger で実装してみました。UDP hole punching については P2Pとファイアウォール というページが非常に参考になります。 まず、Perl の Net::IPMessenger モジュールを CPAN …

jp.archive.ubuntu.com の feisty-updates が 404 で更新出来ない

どうも今週の始めくらいから jp.archive.ubuntu.com の feisty-updates ディストリビューションが 404 not found になってアーカイブファイルがダウンロードできない状態が続いているようだ。前から調子が悪かった気もするし、最近だけの気もする。 原因はよ…

XML::LibXML のアップデートで plagger が動かなくなった件

昨日 FreeBSD マシンの XML::LibXML を p5-XML-LibXML-1.65000 にアップデートしたら、plagger が動かなくなった。いろいろ調べた挙句、#29683: Not compatible with XML::LibXML >= 1.64 の patch を p5-XML-RSS-LibXML-0.30.01 にあてれば動くようになった…

periodic daily

AM 3:00 に FreeBSD マシンの periodic daily が走り出してディスクがガリガリ言う音を聞くと、もう寝ようかなと思う。おやすみなさい。

perl.vim で package ファイルを開く

ctagsのPerl拡張サポートがすこぶる素晴らしすぎる件 を見て思ったんだけど、package ファイルにジャンプしたいだけなら、perl.vim 使う方が簡単じゃないの?vim7.x だと標準添付じゃなかったっけ。 perl.vim を使えば package 名の下にカーソルがある状態で…

lvalue can’t set data with Devel::DProf

#!/usr/local/bin/perl my $hogedata = 'init'; hoge() = 'hogehoge'; printf "%s\n", hoge(); sub hoge : lvalue { $hogedata; } というスクリプトは Linux% perl -v This is perl, v5.8.8 built for i486-linux-gnu-thread-multi FreeBSD% perl -v This is…

IO::Socket に lvalue アクセサを追加する

package MySocket; use strict; use warnings; use base qw( IO::Socket::INET ); use Scalar::Util qw( refaddr ); { my $data_ref = {}; my @functions = qw( hogehoge1 hogehoge2 ); no strict 'refs'; # copy routines into IO::Socket for my $f (@func…

install NetBSD 3.1 on VMWare Player memo

他の OS と同じく qemu-img でディスクイメージを作って、vmx ファイルを作ればいいんだけど、vmx ファイルの guestOS が "other26xlinux" を指定する必要があったりしてちょっとさびしい。 一般ユーザ追加 install した後は root と管理ユーザアカウントし…

isxdigit() or iswxdigit()

URI::Escape::XS が Linux(というか、FreeBSD 以外)では動かないようなので patch 書いて RT に上げたのですが、wctype.h の iswxdigit() か ctype.h の isxdigit() のどちらを使うのが本当に正しいのかよくわかりませんでした。XS.xs の ishexnumber() の使…

Ubuntu Linux に対する数少ない不満

それは OS 起動時に fsck が走ると急にレガシーな Linux 丸出しになるところ。一応 showfsck (あるいは単に tune2fs -l)を使えば、後何回再起動すると fsck が走るのかわかるけど、わかったところで fsck は走るのであまり意味はない。あの fsck 画面は初心…

re-install FreeBSD boot manager (boot0)

FreeBSD 6.2-RELEASE の install CD から PC 起動。 sysinstall が起動するので Country とか Console Keymap は自分の環境にあわせたものを選択する。Main Menu に Fixit というのがあるのでそれを CDROM から起動する。僕は Country Selection 110 Japan S…

PerlIO::via::ANSIColor

思いつきと勢いだけで PerlIO::via::ANSIColor というものを作って CPAN にあげました。 use PerlIO::via::ANSIColor color => 'reverse green'; binmode STDERR, ':via(ANSIColor)'; warn "this outputs is colored\n"; とすると warn で出力されるメッセー…

nscd で名前解決のコストを減らす

名前解決のコスト : blog.nomadscafe.jp hostsに書いたとしても、名前解決をするコストはかなり大きい。 名前解決のコストを単純に減らしたいだけなら nscd 使えばいいです。 nscd が起動していれば /etc/hosts に書いてあるホスト名の解決も 2回目以降は非…

Perl で utf8 文字列を byte サイズで split する

utf8 な文字列を特定のバイトサイズで切り分ける処理って Perl でどう書けば一番良いのかを長いこと考えてた(あまり困ってはなかった)んだけど、UTF-8文字列をバイト数でカットした時の末尾の処理 見たら簡単に書けた。 #!/usr/bin/perl use strict; use war…