コミケ告知

サークル活動の詳細は circle タグの記事へ。
2016年8月7日日曜日

C90 新刊情報

新刊


Network Maniacs vol.6

新刊は、「シリアライズ」「プッシュ型通信・プル型通信」の二本立てです。また今回も地味なトピックですが、もうそういう芸風なので仕方ありません。
  • シリアライズ
メモリ上のデータをバイトストリームに変換したり戻したりするシリアライズです。電子回路で用いるシリアル・パラレル変換とは違います。バイトストリームにしたあと、ネットワーク経由で送受信したり、ファイルにsave/loadしたりします。

  • プッシュ型通信・プル型通信
この世のあらゆる通信をざっくり二分できる分類概念のひとつです。既存のプロトコル・フレームワークの選択や挙動理解にも役に立ちますし、ネットワーク越しにデータをやり取りするアプリケーション・サーバーのバックエンドシステムなど、何かしらデータの受け渡しの設計をする際にも、きっと役に立つのではないかと思います。

既刊

Network Maniacsの「vol.1+2」と「vol.3」を持ち込みます。
Vol.4と5の再編成は今回はならず…。

Network Maniacs vol.1+2

  • TCPの高速化手法
    • 基本的な話からLinux3系の新実装まで、TCPの高速化に使われている方法の解説。
  • ネットワークバッファとパケットロス
    • パケットロスとは何で、ネットワークバッファは何をしているのか?
  • QUIC
    • Googleの実験用プロトコルQUICの概要と試用方法

Network Maniacs vol.3

  • TCP受信プログラミング
    • サンプルコードでは説明されない罠がたくさん
  • ネットワーク向けコマンドラインツール紹介
2016年7月9日土曜日

Mesosの今後が不安な話

Apache Mesosの開発に大きく貢献している企業にMesosphereがあります。開発者の一人である Benjamin Hindman 氏が筆頭に居て、商用サポートなどやっている企業です。よくあるパターンですね。

そのMesosphereは最近、DC/OSというソリューションに注力しています。ドキュメントのOverview -> Architectureから全体図が確認でき…るかと思いきや、抽象的な図でいまいちわかりませんが、これはMesosとその他いくつかのコンポーネントを組み合わせた上位パッケージのようです。

気になっているのは、MesosphereがMesos単体の便利ツールを放棄していることです。mesos-cliとかplaya-mesosとか、どちらも「DC/OS版に移行せよ」と書き残して取り潰しです。オープンソースなので、引き継いでメンテすりゃいいというのは真理だけども…
単にMesosからDC/OSに名前が変わっただけならそれで良いですが、これらは別ものです。日本語の紹介記事をみたところ、無料使用可能なバージョン(Community Edition)はAWSでしか動かないとのこと。いずれAWS以外にも多少は拡張されるのでしょうが、とにかく制限のついたソフトウェアであり、ツールがDC/OS用に移行してしまうのは困ります。Community EditionとかEnterprise Editionとかの記載、今公式を見に行ったらなかなか見つからなくて、現在の状況もよくわかりません。

Spark周りのジョブ管理をどうしようか迷っているなかで、MesosにするかYARNにするかという選択で迷っています。Mesosの方が機能面ではいけている感じがするのですが、周辺の状況が不安。どうしようかなあ。

2016/07/25追記:
めんどくさい制限エディション制はなくなって、いまは機能制限なしのOSS版とそれの有償サポートという、ありがちな形に落ち着いているそうです。先の紹介記事を書かれた方に、July Tech Festa 2016で直接お聞きしました。ライセンスや機能制限方向については、不安に思わなくてもよいようです。
2016年7月4日月曜日

さよならFiddlerCore

.NET環境で通信をキャプチャするのに便利だったFiddlerCoreですが…
http://www.telerik.com/purchase/fiddlercore

いつのまにかフリー版のライセンス表記が変わって「Personal&Educational」なんて名前になっていて、しかも説明文を見るとEducationalに相当する文章しかない…!



ライセンス文章を確認すると、やはりPersonalとは名ばかりで、Educationalのみを対象とする模様です。2.1 Personal and Educational Licenseより

If You are not a professor or student enrolled at an academic institution who is using the software solely for educational/training purposes, You must obtain a commercial license from Telerik.
現状は、実態をアカデミックライセンスにすり替えていく過程、といったところでしょうか。

もはやオープンソースの界隈では価値はありません。艦これ補助ツールの類でFiddler使っていたものがなかったっけ、と少し検索してみたところ、Nekoxyに移行しているのがちらほらと見られますね。Fiddlerは一番手軽ではあったものの、唯一無二というわけではなかったので、もう忘れてしまいましょう。
2016年7月2日土曜日

Boothに技術系同人誌の電子版を用意

イベントで必要な冊数を完璧にそろえるのは困難であり、いつか電子書籍版を用意せねばと思いつつも先延ばしにしていたのですが、ようやく準備ができました。

https://moccos.booth.pm/

ひとまずは、先日の技術書典で頒布した2冊です。よろしくお願いします。

電子化に必要だった作業

入稿時に使ったPDFがあるから楽勝、と思いきや、そんなことはありませんでした。
  • 入稿時設定の600dpiは過剰なので、解像度を変換
  • 入稿時には表紙/裏表紙はTIFF形式かつ、表1~背表紙~表4まで一体なのを、単一ページに変換
  • 白紙ページは入稿時に用意していないが、ページ番号合わせのためそれも合わせてPDF化
  • 紙用の原稿は、綴じしろの都合で奇数ページと偶数ページで左右余白設定が異なる (今回は同人誌クオリティということで修正せず…)
これとアカウント作成、必要な元ファイルの捜索等々まで含めて、2時間くらいかかりました。

今後は、電子版に向けた最適化もいくつか考えながら原稿を作っていこうかと思います。電子版については、前述の項目の他にも、表紙カラーにする・ハイパーリンクを有効にする・図をカラーにする 等々が可能なので、それを念頭に原稿を作っていく必要がありそうです。
それから、紙にするときにはページ数を4の倍数にする必要があり、また印刷費の都合でページ数を減らしたい都合により、余白を少なくしたり、文字・図表を小さくしたり、目次を端折ったりすることがあります。今後はそういう都合によるレイアウトもやめていかないとなー、と。
2016年6月25日土曜日

技術書典 お疲れ様でした

技術書典 https://techbookfest.org/ A-31 浜風もっこすで参加しました。頒布内容は前記事参照。

頒布物について

持ち込んだ二種類とも、14時すぎに完売となりました。購入してくださった方、見に来てくださった方、ありがとうございます。完売後にいらっしゃった方、申し訳ありませんでした。言い訳はあれどイベントの中間地点あたりで切らしてしまったのは痛恨です。
しかしこれでも、夏コミ分と合算した数量を印刷したつもり、つまり適性数の倍くらい刷ったつもりだったのです。予想の3倍刷っていくというのはかなり無理な話であり、どう思い直してもこれ以上は持って行けなかったなと…。
電子書籍販売や店舗委託・通販委託などに手を出したことはなかったのですが、これを機にまとめて検討を始めています。

イベントについて 

大盛況でしたし、欠席サークルもほとんどなく、またほとんどのサークルに人だかりが出来ていて、主催・出展側ともすばらしいイベントだったのではないでしょうか。入場規制がかかった上に、終盤おそらく完売ばかりだったので、一般参加の皆様からするとそのあたり不満があったのではないかと思いますが、こんなに盛況になるのを読むのは難しかったかなと。次回以降、規模を拡大しての開催も、おおいに期待したいです。
唯一、時々端の方でスポンサー公演(?)やじゃんけん大会(??)があったらしいけども、会話の邪魔なだけだったので、あれには不満があります。そもそも何なのか全然わからないまま始まってたのが一番の問題かも。
2016年6月24日金曜日

出展情報: 技術書典/C90

技術書典

https://techbookfest.org/
A-31 です。よろしくお願いします。 (なんで書展ではなく典なのだろう)

新刊は二つ考えたのですが、どうも面白いものにならなかったので没です。すいません。既刊 のうちvol. 1+2(ネットワークバッファ・パケロス・TCP高速化・QUIC等) と vol. 3 (TCPプログラミング・コマンドラインツール)を増刷したので持っていきます。
Vol.4と5はいったん廃刊にして、部分的に再利用できるものはどこか総集編的なもので採録にしたいと考えています。なぜ新しいほうがそういう扱いになったかというと、中途半端に新鮮味(時事性)のあるものを書いてしまったために、さっさと賞味期限が切れたということです。根本的な技術ネタと、時事的なものとをどう扱っていくべきか。

C90

◎貴サークル「浜風もっこす」は、日曜日 西地区“f”ブロック-33a に配置されました

珍しくサークルカットの予定通り、次のテーマはシリアライズ周りの予定です。SerDesではなくSerDeのほうです(わかりづらい表現)。ProtocolBuffer等々。
2016年3月24日木曜日

Elixirでattributeを用いたコンパイル時分岐

C/C++でいう#ifdef DEBUG 的なことを、moduleのattributeを使って行おうとしたところ、dialyzerさんに文句を言われてしまいました。if (@flag)のような記述が展開され、if(true) とか if(false) とかになって、欠陥のあるパターンマッチ記述として検出されるわけですね。
そこで、ただコンパイルの前にtrue/falseが判定されるだけのマクロを書いて対処しました。

上記のソースコードをdialyzerにかけた結果はこうなります。(dialyxir使用)
% mix dialyzer
Starting Dialyzer
dialyzer --no_check_plt --plt C:\Users\moccos/.dialyxir_core_18_1.2.3.plt (オプション略)
  Proceeding with analysis...
hoge.ex:8: The pattern 'false' can never match the type 'true'
 done in 0m1.31s
done (warnings were emitted)

# 最初に書いたバージョンに間違いがあったので、2016/03/28に修正しました。
# Elixir1.3系で動かなかったので2016/06/24に再度修正