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買った)。
恐らく大きなプロジェクトになれば減りは鈍くなると思うけど、他の合わせ技で減らせるはず。
要検証案件なので確認してから使ってください。

2017年度の進捗総まとめ


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


あっという間に2017年も終わってしまう、こたつが恋しいこの季節がやってきた。
あけましておめでとうございます。なんて記事を書いてもう十二ヶ月経とうとしてる。早いなぁ。
さて今年の総まとめとして記録用に1月から振り返っていきます。

1月

サーバ機更新
サーバ機を現在のもの(2017年現在)にしました。
稼働開始から1年経とうとしてます。
特に大きなトラブルはなく、頻繁に電源は落としてクリーニングしたもののしっかり動いてくれました。

…なんにもしてないようですね。

Salmon for Linuxの進捗を出してたようです。

2月

StartSSL発行の証明書をChromeが拒否しだした
FujiSSLの証明書を買った
StartComの事件がありまして証明書が信用されなくなりましたね…。使い勝手が良かったので残念です。Symantecも業界標準の監査を行ってなかったとかなんとかでChromeから信用されなくなる予定で、DigiCertにセキュリティ部門を売却しましたね。
ただこの機会にFujiSSLに触れて、人生初の有料TLS証明書を購入しました。他にも無料のあるじゃないか、と言われそうですが、StartComの件でこういうのはお金を払ったほうがいいのかなと思ってみたり思わなかったりして、買いました。初めての手続きが多く、戸惑いましたが無事発行できいい経験になりました。ワイルドカードも準備中だそうですがいつでしょう。(Let’s Encryptは2018年1月から出そうで)

3月

沈黙の3月、Twitterでは騒いでるけど成果が出てない。Commit History見ると相変わらずSalmon for Linuxは開発が続いてる。
大阪行ってた。ついでに名古屋も行ってた。

4月

…この記事書いてて、ここらになって今年進捗大して出してないなと気づき出した。
Qtで作ったアプリでVLCをバックエンドとしてH.264な動画を再生する
openSUSE Leapでは一部H.264な動画が再生できないこともあり、Qtアプリで動画再生させるためにあれこれ考えてた時期です。
ここでPhononというもんが出てきますが、これLTのネタにしてもいいなと今ふと思いつつ、聞く人いるのかと思ってみる。
Salmon for Linuxの開発以外何もしてないに等しいかもしれないけど、ちょくちょくサーバとHTMLあたりいじってた。

5月

NetBSDのアップデート
無情にNetBSDにハマっていた季節でした。
KDE Plasma Desktopが使えなさそうで(FreeBSDなら行けるっぽい)、Xfce入れてみたり、nginxでサーバー立てたりと遊んでまして、楽しかったです。ハイ。

6月

ここからですよ。ここから。
セキュリティキャンプ2017合格しました。
もう、(毎年通知が来ていると噂で聞いていた)6/14に通知がなかったから、次の日、震える手でスマホ開けて見たらですよ、参加決定ですとのことですよ。
三度くらいメール送信元、題名、「決定」の文字を指差し確認しました。
そこからは怒号の如く毎日が過ぎて、自分の開発してたプログラムは止めてセキュキャンに傾けました。

7月

Slack Linux AppをopenSUSE に入れる
Linuxのスレッド作成制限を外す
NetBSDでXfce環境を立てるまで
妙に投稿が増えてます。
やればやるほど、やらなければならないことがあればあるほど、他のことに興味が湧くのはもう定例でして。
まあこれはパソコンに限ったことではなくてですね。(白目)

8月

セキュリティキャンプ 1日目
セキュリティキャンプ2017参加記
行ってきました。セキュリティキャンプ。
新たな出会いと、数多くの衝撃。ほんと夢のような5日間でした。同時に大都市圏に人が集まってることを知り、三大都市圏へのあこがれが強くなってしまった。
帰ってきて、身の回りの人に興奮して説明しましたが周りが全く興味を示さないので浮世離れして虚無になるようになったのもここから。
ダラダラ書くと文章が崩壊するので、8月はこのくらいに。

9月

openSUSE Tumbleweed でYaSTが動かない
KDEのDolphinの右クリックメニューにSHAチェックサム計算機能を追加する
セキュリティキャンプから帰ってきて新品ノートのOSをLeapから一度不具合が起きたTumbleweedに変更することに。
問題は結構起きましたが、ほとんど解決し、動作するようになったので現在使ってます。
結果、ホストOSと使用するのがopenSUSE,NetBSD,Windowsぐらいになりました。
選択肢がない場合はCentOSを使うんですがね…。

10月

オープンソースカンファレンス2017 Fukuoka – オープンソースの文化祭!
OSCで学生LTをしてきました。
メッチャックッチャ楽しかったです。
LTはネタが大切だということもわかりました。学校の講義・授業が人を引きつけるようにしないと寝てしまうのと一緒だなと。
ネタ大切だよね〜思いつかないけど〜ウッ。
福岡市科学館 オープンしたので行きました
福岡市科学館にも行きました。
少年科学文化会館よりすごくきれいになっていて、楽しかったですよ〜。
是非是非行ってみてください。

11月

Blankである。
コミットログは残ってるけど大したことはしてない。
頭も悪くなって色々とあかん。
そうそう、Ruine.jpを衝動買いしました。ボチボチ整備しますが、ワイルドカード証明書がホスィ…金欠。

12月

こたつでヌクヌク虚無ドメインイジイジ(意味不明)

今年の成果

  • セキュリティキャンプ2017に参加した
  • OSC 2017 Fukuokaで学生LTをした
  • Rustを触りだした
  • RustでOS作り出した
  • Salmon for Linux進捗
  • 初めてOS Lessの新品のノートパソコン買った
  • NetBSDに少し詳しくなった気がした
  • サーバあたりに金かけるようになった

来年にむけて

  • 学生LTしたい
  • Rustに詳しくなりたい。あとGoも。おそらくGoは後回しかな
  • 大阪行きたい
  • お金がほしい
  • サイト統廃合(MNAS.INFOは2020までしか運営しないかな)
  • …お勉強する….多分…

楽しい2017でした。

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見るなりなんなり。

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

KDEのDolphinの右クリックメニューにSHAチェックサム計算機能を追加する


長ったらしいですが、タイトル通りです。
ありそうでない機能でしたのでササッと作りました。
動作画面は以下のとおりです。

tar.gzで固めたファイルを置いときますので解凍してPlugin/に入って、install.shをrootで実行してください。
shasums.desktopが本体なのですが、テキストファイルなので改造すればいろいろなことに使えます。
action_shasum.tar.gz(1.1KiB)(Repo Taprix)

セキュリティキャンプ2017感想文


*これはセキュリティキャンプ2017記事の6番目です。
前:セキュリティキャンプ2017参加記

セキュリティキャンプ2017に参加しての感想を書きます。

参加できたことについて

今回が初の応募だったわけですが、ありがたく参加させていただけることになりました。
セキュリティキャンプは前から知っていたのですが、応募するにはまだ早いと思っていました。
今回時期もちょうどよいと思い思い切って応募しました。
Twitterなどで「二度目だけど落ちた…」などつぶやかれてるのを見て、一回で通ったのは実に幸運だと思います。
恐る恐るメールを開いて合格だったあの喜びは忘れません。

事前準備について

RustでのOSは合格前にある程度書いておきました。
しかし合格後に立て続けに予定が入り、(やること多すぎて)変にやる気を失い、なかなか開発がうまく行かなかったです。
またRustほぼ初心者、64bitOS初開発などわからないことだらけだったのでうまく進まないことが多かったです。
ただ事前課題をしないと集中コースは当日何もできないので、ぜひやったほうがいいです。

参加してみて

もう最高です。
まず、80人近くの参加者、それに負けないくらいの講師の方、あっただけで大興奮です。
Twitterアイコンが書かれた名刺をもらい、アイコンと顔を見比べながら話す感覚は新鮮でした。
80人全員と話せたわけではないですが、様々な方と話せてとても楽しかったです。
途中協賛企業の方とも話せて、企業の中の声を聞けてニヤつきが止まらなくなったり、エディタ宗教戦争が起きてvim派とemacs派が戦う中で一人Kateを推してみたり、普段できないことが多くできました。
講師の方はどなたもプロで、「Linuxのモジュール書いてる」「あのサービスつくってる」など聞いて口を開けて突っ立ったままになりそうでした。

目標達成できたか

自分はコードを人に見てもらったことがないのでこの機会に見てもらって指導してもらおうと思ってましたが、コードはほとんど見せてません。(だってRust使ってる人少ないもん。)
ただデバッグの方法を教えてもらえましたし、他人のコーティングを見ることができました。
また様々な方と話してる中で自分のコードを他人に見てもらうことの大切さを何度も聞きました。
自分の書いたコードをオープンソースにする大切さに気が付き、少し自信がでました。
コードがきれいになったらBitbucketにあげます。(いつなるかはわからない)

…色々書きたいことあるけど日本語生成能力が低すぎて書けない(感想文苦手マン)

興味を持った人へ

是非応募してください。
あなたの人生を変える夏になると思います。
しかしながら、一つ思うのがどうしてもある程度の基礎知識がいると思います。
もちろんLinux操作バリバリできるとか、NetBSDすぐ移植できるとかいうのはいらないと思いますが(どこのプロだよ…)、
「セキュリティキャンプを機会にプログラミングを始めてみよう」というのは厳しい気がしますし、得られるものが少ない気がします。(個人の意見ですが)
何しろ人生で一回しか受講生としていけないのですから。
しかし「ミニキャンプ(地方大会)」というのがあってるようですから「不安だな…」と思われる方はぜひ応募してみると良いと思います。
または講師の方のTwitterやTwitterの#seccampというハッシュタグを見ていただけたらどんな内容かも解ると思います。

素晴らしい夏を過ごせたことに感謝して、学んだことを活かし今後につなげたいと思います。

openSUSE Tumbleweed でYaSTが動かない


コントロールセンターは出るけどパッケージ管理などが起動しなかった。
/var/log/YaST2/y2logを見ると


[ui] YPath.cc(YPath):67 Looking for: libyui-qt.so.8
[ui] YPath.cc(lsDir):138 Looking in /usr/lib64/yui
[ui] YPath.cc(YPath):121 Could NOT find libyui-qt.so.8 by looking recursive inside /usr/lib64/yui
[ui] YUIPlugin.cc(YUIPlugin):50 Could not load UI plugin "qt": libyui-qt.so.8: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
[ui] YUILoader.cc(loadPlugin):195         THROW:    Couldn't load plug-in qt

とある。
sudo zypper se libyui-qt とでもして調べるとlibyui-qt7とlibyui-qt8があり、7はあるけど8は入ってない。libyui-qt.so.”8″だからlibyui-qt8を要求してる。
とりあえずsudo zypper in libyui-qt8で入れる。んでYaST上のパッケージ管理からlibyui-qt7を消す。(zypperで消すとYaSTも一緒に消える)
あ、ただしlibyui-qt7に依存するアプリがあったら消さないように

Intel GraphicsでGPUがハングアップする


今日も元気にopenSUSE〜。
などと言いながら昔のPCにLeapを入れたところ、
GPU「アー、もうダメ」
とログイン画面で死ぬのですわ。大抵無理やりパスワード打ってエンター押せば入れる。
昔もなった気がするので解決は早かった。

まず、zypperかyastで、
xf86-video-intelを入れる(自分はついでにvaapi-intel-driverも入れた)
んで持って、
/etc/X11/xorg.conf.d/に20-intel.confを作り、


Section "Device"
	Identifier "Intel Graphics"
	Driver "intel"
	Option "AccelMethod" "uxa"
EndSection

とかく。んでもって再起動なりしてください。
もしX11が起動しなければ、慌てずCUIで入って20-intel.confを消してくださいな。

セキュリティキャンプ2017参加記


*これはセキュリティキャンプ2017記事の6番目です。
前:セキュリティキャンプ 1日目
次:セキュリティキャンプ2017感想文

ドッタンバッタン大騒ぎして結局今までろくにまとめられなかったセキュリティキャンプの参加記。
感想も交えて詳しく書けたらいいなと思っています。

なお、全体的な感想は次の記事に書いています。(リンク:セキュリティキャンプ2017感想文)
ここでは日毎に区切って起きたことを書いています。

注意
この記事では大量のツイート埋め込みを行っていますので、ロースペックPCなどで重くなることがございます。ご了承ください。

クロスウェーブ府中まで

今年から会場変更だそうで。

中央特快〜国分寺駅にて〜
国分寺駅にて

西の新快速に慣れた自分が初めて中央特快にのる。

特快停車しなかった

武蔵野線乗換駅である西国分寺には中央特快は止まらないようだ。
事前に調べてなかったら、国分寺で普通に乗り換えてなかったかもしれない。危ない。

府中本町方面の写真なかった
真ん中ラインカラーなの(無知)
何系しか知らない。
ちゃんと構えてないので露出とかピントとか全て微妙。
ここの真ん中のはラインカラーだ

そして…

着弾

宿泊部屋情報

何年ぶりかの洋式バスルームだった

カードキー認証という先端技術が使われていた。NFCタグリーダーで鍵を解読しようとしてたことなんてない。(してた。)

自分が気になっていたことに対してQ&A

Q.洗濯機はあるのか。
A.下のロビーにあった、一回300円くらいだったそうだ。自分は使わなかったが、着替えが莫大になったので、キャンプの真ん中で一回回すといいかも。


Q.自販機はあるのか。
A.各階にあった。一階などにはアイスクリームが売ってた。もちろん自己負担です。


Q.コンセントどのくらいあるのか。
A.4,5個くらいあった。カードキー外すと通電止まるコンセントが多いが、冷蔵庫がついてるコンセントはカードキー外しても流れてるっぽい?


Q.お風呂はどんな感じか。
A.トイレ一体型だった。歯磨きもそこでする。歯ブラシは毎日交換してくれるようで、新品の歯ブラシをバッグの中に…なんでもないです。


Q.部屋にネット環境はあるのか。
A.有線、無線どっちもある。無線は平文通信だから怖くて使えない(嘘です、使ってました)。
“セキュリティキャンプ2017参加記” の続きを読む