生涯未熟

生涯未熟

プログラミングをちょこちょこと。

お布団と私と出社芸

出社芸 Advent Calendar 2016の2日目ということで、実際の出社芸の数々をお見せますよ。

1. 二度寝

f:id:syossan:20161202142159p:plain

これは誰もが経験のある、やっちゃった系の出社芸ですね。

人間は睡眠欲には抗えません、仕方ありません。

2. 服がない

f:id:syossan:20161202141814p:plain

まぁこれはよくあるやつだとは思うんですが、「さーて!会社に行くぞ!」と思ったら着る服がありませんでした。

前日の洗濯忘れってやつですね。仕方ありません。

3. 散髪しちゃう

f:id:syossan:20161202141951p:plain

うん、これもまぁありますよね。

前日の夜に「あー・・・髪の毛多くなってきたな・・・」と思ったわけですよ。で、切ってから出社しよう!となったわけです、えぇ。

これも仕方ありませんね。

4. スッと寝ちゃう

f:id:syossan:20161202142405p:plain

これは僕自身ちょっとビックリしました。

ご飯を食べた後って眠くなるじゃないですか?「眠いなー眠いなー」と思ってたら、いつの間にか寝てました。

ちなみにちゃんとPM6:00に出社して深夜まで働いたのでノーカンです、仕方ありません。

5. 勉強会でも芸しちゃう

f:id:syossan:20161202142720p:plain

これは社内の人に「えぇ・・・」とドン引きされましたね。いや、寝袋の寝心地がちょっと悪くて寝付けなかったんですよ。

これもまぁ仕方ありません。(※Go Conference関係者の方、申し訳ございません)

6. たまに早く出社すると心配される

f:id:syossan:20161202143014p:plain

出社芸を日常としていると、このように心配されてしまうことがあります。仕方ありません。

私としては、「とても気分がいいのでたまには早く出社するか!」という気まぐれですので他意はありません。

まとめ

社内だと出社芸の人と言われてますが、そんなに特段変わった出社芸をしていなくてホッとしました。

やはり人間、普段の行いの棚卸しというのは大事ですね。

xamarinコミュニティの炎上について思うこと

最近、めっきり寒くなりましたが皆様体調は大丈夫でしょうか?

この寒い中、ある界隈が焚き火でボヤ騒ぎになったようです。

xamarinの勉強会でのLT資料の一コマのようですね。

[追記]:こちらLT資料ではなく、セッション資料だったようです。お詫びして訂正致します。

勉強会自体はこちら

jxug.connpass.com

上記画像が原因となり、各所でボヤが発生したようです。

今回はこのボヤ騒ぎについて色々と思うことを書いてみます。

一体何が問題だったのか?

この騒ぎ、一体何が問題だったのか?

私としては以下のような考え。

まとめると、

  1. 技術コミュニティにおいての過度な内輪ノリ
  2. xamarinコミュニティによるちょまど氏への持ち上げ(または特定の人物の偶像崇拝行為)

ではないでしょうか?

1. 技術コミュニティにおいての過度な内輪ノリ

ツイートでも述べましたように、あるコミュニティでしか通じないハイコンテクストをLTという他者へ向けた発表で用いるのは、外部から見るととても異質なものに見えます。

例え、冗談だったとしても「このコミュニティにはそういう空気感があって嫌だな」と感じる方はいるでしょうし、最悪の場合その技術そのものに嫌な印象をも持ってしまうことがあるかもしれません。

また、以前@shin1x1さんがブログで仰られていたように、技術勉強会において技術と関係のないコンテクスト共有が必要な要素を入れるのはやめましょう。

blog.shin1x1.com

知らない人からすると、ただただ意味のないものを見せられて無駄ですし、そもそも技術に対しての発表においてそのようなものは必要がないはずです。 (コンテクスト共有の要らない軽い笑いを入れる程度なら許容範囲でしょうが)

また今回のxamarinコミュニティに限らず、他のコミュニティでもこのような問題は軽度ですが抱えていると私は感じています。

対岸の火事と思わずに、自分にそのようなことはないか今一度振り返ってみても宜しいのではないでしょうか?

2. xamarinコミュニティによるちょまど氏への持ち上げ(または特定の人物の偶像崇拝行為)

今回の件が起こった背景にはどうしても「ちょまど氏が異様に持ち上げられている(砕いた言い方だとサークルの姫のような扱い)」といったことが頭をよぎります。

誰がどのような人物を崇拝しても良いとは思うのですが、どうもちょまど氏が持ち上げられる際の理由がエンジニアとしてではなく、一人の女性として見た場合の持ち上げられ方のような気がしております。

少なくとも技術コミュニティ内において、そういった目線で女性を見ることは唾棄すべきことですし、本人としても自覚があるなら何かしら働きがけをするべきなのではないでしょうか?

ちょまど氏を担ぎ上げている方々は今一度「この人が男性だった場合、同じ扱いをするだろうか?」ということを自問して頂きたい。

技術に関する人間に女性も男性もありません、一人の人間として扱う流れが一般的な世の中になってもらいたいです。

まとめ

健全な技術コミュニティ作りをしましょう。

[追記]:

JXUG主催者様よりご連絡を頂き、今回のことを真摯に受け止め、今後は細心の注意を払って運営をしていきますとの事です。

また"本スライドは、ちょまどさん本人によるものではなく、JXUG 初参加の登壇者の勘違いによるもので、不適席な内容と判断した主催者により、該当スライドを削除した状態で公開いただいています。JXUG では、今後透明性を高めるためにポリシーの明文化などを行っていきます。"(原文ママ)を加えて追記致します。

ちょっと闇を垣間見た話

簡単な要約:なんかやらかしてるGithubリポジトリを発見した

Rustを触る②

今度は「シンタックスとセマンティクス」やっていきます。

変数束縛

let を使う。

パターン

let を用いた際の左式は パターン と呼ばれる。

let (x, y) = (1, 2);

こういうことが可能。

アノテーション

let x: i32 = 5;

公式ドキュメントでは推論する型をコメントで書くやり方も紹介されているが、基本的には型は書いていこう。

可変性

変数束縛はイミュータブル。なので以下はエラー。

let x: i32 = 5;
x = 10;
// re-assignment of immutable variable `x`

ミュータブルとして扱いたい場合は、 mut を使う。

let mut x: i32 = 5;
x = 10;

束縛を初期化する

未初期化の値を使用するとコンパイラに怒られる。

ついでに文字列中に値を差し込んで入れる例。

let x: i32 = 5;
println!("x = {}", x);
// x = 5

スコープとシャドーイング

変数束縛のスコープはブロック内のみ。

またスコープ内で変数束縛を上書くことをシャドーイングと呼ぶ。

let x: i32 = 8;
{
    println!("{}", x); // "8"を印字する
    let x = 12;
    println!("{}", x); // "12"を印字する
}
println!("{}", x); // "8"を印字する
let x =  42;
println!("{}", x); // "42"を印字する

違う型で上書くことも出来る。

Rustを触る①

以前、こちらの勉強会でRust触ったもののそれ以来ノータッチなので1から勉強し直してみようという試み。

eventdots.jp

一旦、愚直に公式ドキュメントを追いかけてみます。

Hello world! 〜 リリースまで

インスコ

$ curl -sSf https://static.rust-lang.org/rustup.sh | sh

Hello world!

fn main() {
    println!("Hello, world!");
}

関数名に ! がある場合は マクロ の呼び出しである。

コンパイル

$ rustc main.rs
$ ./main
Hello, world!

Cargoを使う

コードは src ディレクトリに集約。

$ cargo initCargo.toml を生成。

$ cargo build でビルド。 target/debug/hello_worldバイナリが吐かれる。

$ cargo runバイナリの実行。

リリース

$ cargo build --release で最適化されたバイナリの吐き出し。 Cargo.lock も吐き出される。

Cargoを使ったプロジェクト生成

$ cargo new hello_world --bin でプロジェクト生成。バイナリでなく、ライブラリを作成する際には --lib オプションを使用する。