bootanimation.zip覚書

/system/media/bootanimation.zip

まず、無圧縮。
よってdesc.txtがあるフォルダで、

zip -0qry -i \*.txt \*.png \*.wav @ ../bootanimation.zip *.txt part*

とでもしてzipを作る。
次に、rw-r–r– root:rootにしとかないと読んでくれない。


chown root:root /system/media/bootanimation.zip
chmod 644 /system/media/bootanimation.zip

こうしとけば良い。

次に、サウンド。サウンドは各part内にaudio.wavを置いとくと、そのパートに差し掛かったとき再生してくれるが、タイムラグがある。

その他、bootanimation.zipの書き方 :bootanimation format

そいで、最近のAndroidでは/data/local/bootanimation.zipを読まない。
というよりAOSPでどっからか消えたらしい。でもアップデートのたびに焼き直すのは面倒。
んで、Cyanogenmod系列(LineageOSなど)は/system/addon.d/以下にバックアップスクリプト書くことで、消えないようにできるらしい(まだ未確認)
適当にupdate.zip書き換えて、(addonsu-arm.zipあたり)、install用zip作るか、いっそ自力でファイルを作成しても良いが、
/system/addon.d/81-bootanimation.shに


#!/sbin/sh
# Bootanimation設定

. /tmp/backuptool.functions

list_files() {
cat << EOF
media/bootanimation.zip
EOF
}

case "$1" in
  backup)
    list_files | while read FILE DUMMY; do
      backup_file $S/"$FILE"
    done
  ;;
  restore)
    list_files | while read FILE REPLACEMENT; do
      R=""
      [ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
      restore_file $S/"$FILE" "$R"
    done
  ;;
  pre-backup)
    # Stub
  ;;
  post-backup)
    # Stub
  ;;
  pre-restore)
    # Stub
  ;;
  post-restore)
    chown root:root /system/media/bootanimation.zip
    chmod 644 /system/media/bootanimation.zip
  ;;
esac

と書くらしい。post-restoreのところはいらないかも。

Galaxy Nexusで色々実験してると楽しい。

Dynadotでドメインを買った

いい加減覚えやすいドメイン取ろうと思いまして、取ったわけですよ。
第一、MNASなんてなんて読んだらいいかわかんない。(実は命名者本人も読み方がわからない)
すらっと読めるかつそこそこ短いドメインがほしいなと。
そんで、取ったわけですがその際Dynadotを使いました。
というのもWhois代理公開が無料だったり更新料が安定してたり海外の使いたかったりあのWikiLeaksがここで取ってたりしてるからDynadot選びました。

Domain Name Registration : Website Builder : Web Hosting : SSL Certificates : Dynadot.com

左上のSign Inからログイン画面だして、「Create an account」をクリック
色々ゴニョゴニョ英語で書いて、提出したらあっちの営業時間内にメールで「電話番号認証してね。」ってくるんで電話番号(日本国内なら+81から始まる)入れて、表示された番号をかかってくる電話で打ち込んで認証完了。

次にドメインを買うために
Domain Search
で自分のほしいドメインネームを検索し、カートに入れます。
カートから決済に進むとき購入予定ドメインの下の「Domain Privacy」をonにしとかないとWhoisで個人情報がでます(Domain Privacyは無料です。)
次に支払いですが、クレジット(デビット)カードかPaypalを選ぶのが無難です。
あと支払い単位はUSDにしておくのがレートで一番安そうです。
入金確認は手動のようなので太平洋時間で昼間になるまで待ちましょう。
購入が完了するとDomains=>Manage Domainsでネームサーバーや無料簡易ホスティングやDNSレコードの記述ができます。Auto renewもあるので設定したければどうぞ。
海外だから色々心配したけど、特に問題なく進んだのでよかった。

SSL証明書のCSRについて

FujiSSLの証明書を買った

あらたなドメインを取ることとなったので、また買うとき(ドメイン取得料とSSL証明書購入料セット感覚)、

どうせ真っ白にされるしCSRのState or Province Nameに自分の住所書いて出したら、ドメイン所有権確認後、見事にセキュリティチェックに引っかかって、見事干されました。
申請したのは金曜夕方なので月曜まで干される。
土日にしようと思ってたができないので恐縮だがキャンセルして、再び取得
Whoisに合わせてCSRを作って提出したら一分なしに公開鍵が届いた

[教訓]CSRの情報はDV証明書であってもWhoisに合わせよう

Rustにアセンブリを吐かせる方法

この記事はseccamp2017 Advent Calendar 2017の十六日目の記事です。

OS開発でどんなアセンブリにしてるか知りたいとき、xargoとか使っておきながらrustcにアセンブリを吐かせる方法は
手っ取り早い方法がxargoなりmakeなりする端末で、
env RUSTFLAGS="--emit asm" make ウンタラ
か、いっそ
export RUSTFLAGS="--emit asm"
しとけば
/target/(target-name)/(release or debug)/deps/に.sで吐かれてます。
以上

Rustのバイナリをstripしたらサイズが激減したお話

この記事はseccamp2017 Advent Calendar 2017の八日目の記事です。

短く。
Rustのバイナリですが、リリースビルドにしても

$ls -l test
-rwxr-xr-x 2 pg_mana users 5047040 12月 8 22:33 test*

なんで5MB近くあるんや、Hello,world!ぐらいしか書いてないぞや、とモゴモゴ言いたくなります。
ふと思い立ってstripした所

$strip test
$ls -l test
-rwxr-xr-x 2 pg_mana users 445368 12月 8 22:36 test*

なんかびっくりするほど減って必要なもんまで消してないか不安になるレベル。でも動く、動く(CD買った)。
恐らく大きなプロジェクトになれば減りは鈍くなると思うけど、他の合わせ技で減らせるはず。
要検証案件なので確認してから使ってください。

CybozuLiveの新着情報受信ソフト作った(Linux)

この記事はseccamp2017 Advent Calendar 2017の二日目の記事です。


もう十二月。
もうすぐ2018年になります。このサーバーも一年が過ぎようとしています。

さて、セキュリティキャンプとの直接の関係性は薄いのですが、セキュリティキャンプを機に触りだしたサイボウズLiveの新着情報を受信して通知するソフトウェアをQtで作りました。
クランアントじゃないのかよと飛んできそうですが、サイボウズLiveは2019年に終了するそうなので、あまり機能をつけると虚しくなりそうで機能を絞りました。
ウィンドウに新着情報を並べ、イベント内容が書かれているところをダブルクリックすると該当ページをブラウザで表示するというものです。
起動時自動実行したかったので起動オプションに-nをつけると起動時にウィンドウを表示せず通知欄に隠れます。
また通常起動してもウィンドウを閉じるを押すと通知欄に隠れます。終了するには設定=>終了を押してください。
コードもおいておきますが期待はしないでください…なんかいい機能あったらプルリクエストおねがいします。git初心者ですのでうまくできないかもしれませんが。
PG_MANA / Sardine — Bitbucket
セキュリティキャンプ直接の進捗はまた(したいことがたまりすぎた…)

Sardine-0.0.1-1.x86_64
署名公開鍵

どちらも一時的なURLです。Ruine.jpが整理でき次第そちらに置きます。
一応repo.ruine.jpが動作しだしました。不安定ですがどうぞ。
ドメイン整理でrepo.taprix.orgにおいてあります。
repo.taprix.org/pg_mana/linux/rpm/x86_64/は自作rpmパッケージのリポジトリになってます。
openSUSEでビルドしてます。他にもTwitterクライアントなどもありますのでどうぞ。
署名したのになぜか警告出るのだなこれが…署名がないって。

意外と便利でサイボウズLiveのページを固定しないでよくなりました。更新間隔は10くらいが良さげ?
めったに更新がないなら2時間でも。

福岡市科学館 オープンしたので行きました

今日10/1は福岡市科学館のオープン日です。
福岡市少年科学館のリニューアルに近い形でオープンしましたが、運営方式が変わったりと前回より大幅に変わっているようです。
朝起きて電車に乗って行ってきました。

最寄り駅は地下鉄七隈線の六本松駅、3番出口が一番近いっぽい。
出るとすぐに目に飛び込んでくるのが…

でかいですね。

一階・二階には蔦屋書店などの店がありすでにオープンしてました。

自転車は一時間無料の一時間ごとに100円という結構痛い料金、一日百円が良かったな…(少年科学文化会館は無料でした)。

追記:地下駐輪場は3時間無料でした。また周辺にも市営駐輪場があるので、そちらを利用したほうがよさそうです。

入場まで並びましたが初日だからでしょう。それでも30分程度では入れました。
並んでいる間パンフレットをもらうことができました。

上りのエスカレーターは右がディスプレイ、左がガラス張りで外が見えるので上がっている間も楽しいです。

入ると目につくのが連携スクエアというもの。JR・アサヒシューズなど企業の説明などがありました。

そして総合案内所がありましたが、本日は上の階で受付を行うということでしまってました。

誘導されるがままに6階に行くと…

なんだか面白い照明がありました。

サイエンスホールというところでチケット販売してましたが、長蛇の列。
並んでいる間にオープンニングセレモニーがドームシアターで始まり、並んでる人のために前のスクリーンで実況中継されました。


有名人がスクリーンに映され、眺めて待っているとあっという間にセレモニー終了。
更に待つこと十数分、やっと列が進み自分の番が来たので年間パスポート買いました。

(一応年間パスポートのQRコードを塗りつぶし加工した)

5回の基本展示室に行こうかと思ったのですが、人が多かったので一回下る。

4階


図書館かな。少年科学文化会館より本は少なくなりましたが、映像が見れたり洒落たオブジェクトがあったりと面白くなってます。本は借りれなさそう。

奥の通路を通り、進む



物理実験室です。
なぜここを見に行ったかというと…屋上にあるアンテナと深い関係がある部屋なんです。


無線クラブ | アクティビティ | 福岡市科学館
無線クラブの部屋となります。
体験教室是非応募してください。
自分は多分…クラブ活動にいると思う…多分、受かれば。

3階



企業の説明などがありました(2回目)(文章力が無くなっていく)。

5階

ミュージアムショップがあり、メダルなどが売ってましたがスルー。

子供がはしゃいで触れる何かがありました。科学に関するものだそうで。

見てると段々まどマギを思い出してくるのは自分だけだろう。

入り口ではバーコードをかざし認証するというもの。スタンプカードももらいました。

中ではタブレットなどで案内がされる優れもの。

中では枠の中に立って体重を傾けることで地球が移った画像をズームできるというものや科学実験ショー、奇抜なスタンプラリー、スタンプカードを使ったゲーム?、自然を再現した模型、ブラックホールホッケー?、交通整理ゲームなど自分から遊ぶことができるゲームが多くありました。



とにかく、福岡市科学館に遊びに行ったら基本展示室には入るべき。家族連れならあそこで一日は遊べるはず。大人も楽しめるようなこともあります。というより楽しんでました。
展示内容も変わるので年間パスポート持っとくといいかも。
来週、用事が終わったらもう一度行こうかな。
では。

福岡市科学館の6階の照明を待ち時間カメラで加工でして遊んでたもの

Slackware覚書

VMに入れてみていじったから覚え。
インストールはまあArchに似てるから適宜。
ビルド済みパッケージを管理する(pkg)システムはあるらしく


slackpkg update

なるものでmirrorを選べと出てきてあとはhelp見るなりなんなり。

(文章書く力が無くなっていた)