2014年5月29日木曜日

Gmailでエイリアスから送信する方法

username+linux@gmail.com みたいなメールアドレスで送信したい想定します。

メールクライアントでメールアドレスやFromに"username+alias@gmail.com"と設定するだけでは、"username@gmail.com" で送られてしまいます。
実は予め送信に使いたいエイリアスは登録しておかなければいけません。
スパム送信対策のためですね。
公式の説明はこちら。
Gmailヘルプ - 別のアドレスからメールを送信する

登録方法
  1. WebのGmailを開いて、右上の歯車の設定を開きます。
  2. アカウントとインポートのタブを開きます。
  3. 名前:(Gmail を使用して他のメール アドレスからメールを送信します)の欄の"メールアドレスを追加"を開きます
  4. メールアドレスの欄に"username+alias@gmail.com"と入力して、エイリアスとして扱うのチェックボックスにチェックを入れて次のステップをクリックします
  5. 登録が完了して送信できるようになります

git send-emailでエイリアスを使う場合はfromオプションを指定するか、~/.gitconfigに次のようにしておくとよいでしょう。
[sendemail]
smtpencryption = tls
smtpserver = smtp.gmail.com
smtpuser = username@gmail.com
smtpserverport = 587
from = username+alias@gmail.com

2014年5月27日火曜日

ゆゆ式 6巻 を買った


ゆゆ式 (6) (まんがタイムKRコミックス)



こまだのいえ、本当に未更新です…。
1年に1巻のペースで、5巻買ってからもうそんなに経ってしまうのか絶望しています。
内容は変わらず最高です。スルメ味なので何回も読まないと理解が進みません…。
疲れているときはイラストだけ眺めて癒やされる方向で!メガネのゆずこさんいいよ~





フィリップスのイヤホン SHE9713 を買った



フィリップス ヘッドフォン インイヤーカナル式 ブルー SHE9713

お布団でゴロゴロしながら使っているやつが断線したので、Let it go ヨドバシ。
選ぶ時のポイントは次の通り。
  1. 予算3000円以内
  2. 装着感。特に耳を横にしても痛くないこと(超大事
  3. 低音ばっかり出るようなボコボコサウンドじゃないこと
  4. 音質は諦める

とりあえず、予算内に収まるやつを片っ端から視聴してみてよさ気なのを買った。
まぁまぁ値段相応かなと思います。

2014年5月25日日曜日

第十回 カーネル/VM探検隊 に参加しました

第十回 カーネル/VM探検隊
祝10回目!
破壊力は「PDP-11のインタプリタを作った話」
興味持ったのは「Rust入門以前」(ただし開発入門
ガチャピンセンセーは「進撃のmalloc」
早口すぎて聞き取れなかったのは「QEMUのDynamic Binary Translationがあって良かったねという話」
仕事速すぎすげーと思ったのは「ご注文はおすしですか?」
懇親会は中華料理ウマー。


2014年5月16日金曜日

linux(kernel)にgit send-emailでパッチを送る方法

残念ながら初パッチは取り込まれませんでした。しかし、作業の中で得られたことがあるのでまとめておきます。
ネタときっかけはこちら
CONFIG_USB_DEVICEFS は廃止されています

MLのログはこちら
http://comments.gmane.org/gmane.linux.usb.general/108441
パッチの作り方・投げ方などの正式なドキュメントはこれです。
Documentation/development-process/

私は次の2つを参考に作業しました。

git send-emailを準備する

送信にはThunderbirdやWebのGmailなどの普通のメーラーでなく、git send-emailを使うことにします。
件名とかルールがありますからね。5.Postingに書いてあります。

Ubuntu14.04ではgitパッケージだけではsend-emailはインストールされません。次のように導入します。
apt-get install git-email

とあるエンジニアの備忘log - git send-emailを参考にセットアップしてます。

git send-emailでエイリアスを使う場合はfromオプションを指定するか、~/.gitconfigに次のようにしておくとよいでしょう。
Gmailを使っていてエイリアスのアドレスを送信したい場合はこちらの記事に従って事前にアドレスを登録しておく必要があります。
Gmailでエイリアスから送信する方法
[sendemail]
smtpencryption = tls
smtpserver = smtp.gmail.com
smtpuser = username@gmail.com
smtpserverport = 587
from = username+alias@gmail.com

1.パッチを作る

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git して
sed -i -e /CONFIG_USB_DEVICEFS/d `grep -rl ^CONFIG_USB_DEVICEFS *` 対象を抹殺するだけです。

あとは普通にコミットを行います。コミットメッセージは他のコミットを参考にしながら考えます。
レビューしてくれる人が分かるように配慮が必要です。
5.4: PATCH FORMATTING AND CHANGELOGS を目に通しましょう。

コミットしたらパッチセットを作ります。コマンドは git format-patch を使います。
今回はパッチセットではなく1つだけで済んだので次の通りにしました。
sオプションをつけることにより、Signed-off-byをつけてくれます。5.4: PATCH FORMATTING AND CHANGELOGSに記述があるので忘れちゃダメだと思います。
$git format-patch HEAD^ -s
0001-USB-CONFIG_USB_DEVICEFS-from-defconfig.patch

パッチが複数になるときはきちんと連番になる仕様です。
0000は自分でカバーというパッチセットの説明を作成します。
今回はパッチ一つなので必要ありません。なんとなく、0001が邪魔なのでリネームしました。
mv {0001-,}USB-CONFIG_USB_DEVICEFS-from-defconfig.patch

2.パッチを送る

送り先は確認します。
MAINTAINERSに書いてあります。
今回の場合は次が該当します。
メンテナさんはGregさんで、MLはlinux-usb@~だという事が分かります。
USB SUBSYSTEM
M: Greg Kroah-Hartman
L: linux-usb@vger.kernel.org
W: http://www.linux-usb.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
S: Supported
F: Documentation/usb/
F: drivers/usb/
F: include/linux/usb.h
F: include/linux/usb/


そして、次のようにします。
git send-email \
--to gregkh@linuxfoundation.org \
--cc linux-usb@vger.kernel.org \
USB-delete-CONFIG_USB_DEVICEFS-from-defconfig.patch

これで完了です。
ちゃんと送信できたかそわそわしちゃう場合は、こことかでWebArchiveで確認できます。

ハマった所

全部、メールを送る部分だったりします。
  1. git send-email に失敗
  2. 次のようなエラーが出てしまいました。
    Password: 5.7.9 Application-specific password required. Learn more at 5.7.9 http://support.google.com/accounts/bin/answer.py?answer=185833 qw8sm8354239pbb.27 - gsmtp
    Gmailは2段階認証していたためです。 予めメッセージに従ってパスワードを発行しておきます。
  3. Gmail(Web)からレスをするとMLからエラーが来る
  4. Delivery to the following recipient failed permanently: The error that the other server returned was: 550 5.7.1 Content-Policy reject msg: The message contains HTML subpart, therefore we consider it SPAM or Outlook Virus. TEXT/PLAIN is accepted.!
    ちゃんとプレーンテキストで送っているはずなのにこうなりました。 メールのソースを開くと"Content-Type: multipart/alternative;"となっていて、引用部分がHTMLになっていました。 解決するには画像の矢印をクリックして展開する必要があります。 展開して送信した所, Content-Type: text/plain; となり、解決できていることが確認出来ました。
  5. エイリアスで送信できない
  6. いくつかの資料にGmailからは難しいという記載があったので諦めていたのですが、後ほど試したら可能でした。 2014/5/29にUpdate

反省点

  • Gregさんほどの人がこんなことはしないだろうとちょっと考えるべきだった。
  • MLに正しく送るのは分かっていれば難しくなさそうだが、ワナがある。
  • ひどい英語でも丁寧に説明してくれて嬉しい

しかし、本業がピンチな時にネタがふっと見つかるのはテスト前に机を片付け始めるあれと同じなんですかね

CONFIG_USB_DEVICEFS は廃止されています

きっかけはこれ
[ubuntu-jp:4835] Ubuntu 14.04のusbデバイスの取り扱いについて
https://lists.ubuntu.com/archives/ubuntu-jp/2014-May/004834.html

ちょっと調べるとこんなのが見つかりました。
[RFC PATCH] USB: remove CONFIG_USB_DEVICEFS
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fb28d58b72aa9215b26f1d5478462af394a4d253
https://lkml.org/lkml/2012/4/25/474

ふと、git grep "CONFIG_USB_DEVICEFS" したらdefconfigで定義が残っていることを発見しました。
そこでパッチを作って送ることにしてみることにしました。
linux(kernel)にパッチを送る方法

2014年5月10日土曜日

Ubuntu 14.04 LTSリリースパーティ+オフラインミーティング14.05 に参加しました

Ubuntu 14.04 LTSリリースパーティ+オフラインミーティング14.05

会場は前回と同じでGREEさん。
Ubuntu オフラインミーティング2013.05 Tokyo に参加しました。
前々回もGREEさんだったので慣れたもんです。
参加者は100人超で多分過去最大級。お昼からお酒とご飯を”無料”で食べられちゃうの太っ腹すぎます。心配になっちゃいますね。
私は会社の開発機をUbuntuデスクトップにしていてこの前万を期して12.04からアップグレードしました。
Unityの改善が進んでいてサクサク体感が向上しているのでオススメです。

グッズもたくさん!

ビール(片鱗)

サブウェイの山

三段重ねが限界


公式(?)のイベントレポートはこちら
Ubuntu Weekly Recipe - 第325回 「Ubuntu 14.04 LTSリリースパーティ+オフラインミーティング14.05」参加レポート

今回のセッションはMicrosoft Azure,GMO ConoHa, さくらのクラウドとクラウド祭りでした。
GMOとさくらさんがDisり芸をしていたのが印象でした。
なお、個人的にDisり芸は好きじゃありません。


そんな中で後ろのほうで黙々と中華SoCにUbuntuCoreを叩き込んでいる人がいてロックでした。


リーダーの10年を振り返るネタが面白かったのですがスライドあるのかな?
Toggeterするのをサボっていたら辿れなくなっちゃってました。(´・ω・`)


Ubuntu14.04はUbuntuPhoneの兼ね合いもあってQt5系の開発キット簡単に入れられるのでおすすめです。
そういえば、100人超もいるのにKDEユーザが1人しかいないのは衝撃的でした。

2014年5月7日水曜日

ls* family

Ubuntu 14.04(trusty) default include
  • ls
  • lsattr
  • list file attributes on a Linux second extended file system
    ext2専売のようにみえるけど、多分XFSとかでも大丈夫
    $ lsattr
    -------------e-- ./How fast.ogg
    -------------e-- ./Josh Woodward - Swansong.ogg
  • lsblk
  • % lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 1.8T 0 disk
    ├─sda1 8:1 0 1.8T 0 part /
    ├─sda2 8:2 0 1K 0 part
    └─sda5 8:5 0 18G 0 part [SWAP]
    sr0 11:0 1 1024M 0 rom
  • lshw
  • list hardware バグレポートにとりあえず貼っておくべき情報を出力させるやつ(違
  • lsof
  • list open files アンマウントできないで困っているときに使うやつ(違
  • lscpu
  • $ lscpu
    Architecture: x86_64
    CPU op-mode(s): 32-bit, 64-bit
    Byte Order: Little Endian
    CPU(s): 2
    On-line CPU(s) list: 0,1
    コアあたりのスレッド数:1
    ソケットあたりのコア数:2
    Socket(s): 1
    NUMAノード: 1
    ベンダーID: GenuineIntel
    CPUファミリー: 6
    モデル: 58
    ステッピング: 9
    CPU MHz: 0.000
    BogoMIPS: 6950.91
    L1d キャッシュ: 32K
    L1d キャッシュ: 32K
    L2d キャッシュ: 6144K
    NUMA node0 CPU(s): 0,1
  • lspci
  • $ lspci
    00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
    00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
  • lsusb
  • $ lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  • lspcmcia
  • Legacy interface.Call "PC card"
  • lsinitramfs
  • initramfsの中身のファイルをリストで確認できる。 ちなみにinitramfsはcpioで固めたものをgzpiで圧縮したものなので、 zcat /boot/initrd.img-3.13.0-24-generic | cpio -t でも似たようなことができる。
    $ lsinitramfs /boot/initrd.img-3.13.0-24-generic
    .
    init
    sbin
    sbin/modprobe
    sbin/dmsetup
    sbin/udevadm
    sbin/mount.fuse
    sbin/hwclock
    sbin/rmmod
    .
    .
    .
  • lss16toppm
  • Convert an LSS-16 image to PPM
  • lsb_release
  • $ lsb_release --id --release
    Distributor ID: Ubuntu
    Release: 14.04
  • lsdiff
  • パッチからファイルリストを作成してくれる。filterdiff(1), grepdiff(1)と合わせて使うらしい。 show which files are modified by a patch
    $ lsdiff patch-3.10.39 | head -n2
    a/Documentation/DocBook/media_api.tmpl
    a/Documentation/devicetree/bindings/ata/marvell.txt
  • lsmod
  • ~$ lsmod
    Module Size Used by
    vboxsf 43786 0
  • lspgpot
  • extracts the ownertrust values from PGP keyrings and list them in GnuPG ownertrust format.

2014年5月5日月曜日

ゆゆ式の黄色い子が誕生日だから、セブンイレブンでネットプリントしてきたよ

みかみこまたのゆゆ式っ!
三上小又先生もリツイートされていましたが、@tatunokosso せんせーが



初めて使ったのですがなるほど、これは意外に便利です。
領収書も出せるのでピンチの時に一役買いそう。

そろそろ6巻も販売ですね~、楽しみ

2014年5月3日土曜日

横浜Android and モバイルOSプラットフォーム部第35回勉強会 #yapf に参加しました


久しぶりに顔を出せて良かったです~。
まぁここに書けないことばっかり話しました。
懇親会、楽しかったw

2014年5月2日金曜日

第110回、カーネル読書会 に参加してきた





ピザ食べてきた。
カーネル読書会は楽天で開催されてた時以来。
気付いたら私も学生から社会人になってたというわけさ。その頃にブログつけておけばあれこれ思い返せるのだけどもはや記憶もあやふや。
#ylug_110

linux: maxcpus=1 でコア制限かけても起動中に有効化できる

echo 1 > /sys/devices/system/cpu/cpu[123]/online
Documentation/cpu-hotplug.txt#n174 に記載がある。


そんな事出来るのか…というわけで調べました。

さてさて、今日はylugに行くぞー

2014年5月1日木曜日

アナと雪の女王 字幕版を観た


原題はFrozen
周りの人がみんな良いというので、超絶久しぶりに映画館に行きましたー!
グラビティゼロは行けなかった…
TOHOシネマズは1の日は普段より安いのです。
オンラインで座席予約ができるのですぐに取りました。真ん中のいい感じの席だったので環境は良かったです。

感想はTHE映画って感じとても良かったです。 まぁパンフとサントラを衝動買いする程度には。
まぁこのブログ書いてる時にこんなの見つけちゃって地味に(´・ω・`)
これから行く人は気をつけて(笑)


ストーリー展開は王道でミュージカルにあわせてさくさく進みます。
感情移入できますが、辛い部分はグッと抑えられている感じがして泣くことはありませんでした。
とにかく、音楽・映像・音を魅せてくるという印象が残りました。
雪の質感やドレス・氷の動きなどため息が出る美しさです。
3D版もありますが奥行きを意識しまくった構成にはなっていないので2Dで十分楽しめました。
眼鏡な人なので3Dゴーグルはあまり得意じゃないのでありがたい。
これは映画館じゃないと堪能できないな~という感じ。

日本橋だとTCXとドルビーアトモスというスペシャルな環境で観ることができます。
TCXは通常より大スクリーンで没入感を更に高めた施設。
ドルビーアトモスはスピーカーを天井にまで装着した音響施設。
自分は平日だったので普通のスクリーンだったですが、もういっぺん見るなら試してみたい…(財布を見ながら)

あとはとりあえず、映画館でホクホクのポテトを頼むのはやめたほうがいいです。
すごい切なくなります。


あと、切なくなるネタとしてはボッチで行ったのですが周囲が恋人だらけでやばかったということぐらいでしょうか。
オープンしたてのコレド室町で平日21時からの映画ですからね。覚悟してたけど大半がそうだったのでちょっと切なくなりました。