くまりゅう日記

もっと過去の日記
[.NET | BeOS | Blender | COLLADA | fossil | mono | monotone | NPR | OpenGL | PeerCastStation | Riko | Ruby | Silverlight | TRPG | XNA | ゲーム | ゲーム作り | ]

2018-05-24

日記

気温の上下が激しすぎて俺の体はもうだめだ。

先々週は急に寒くなって風邪引いた。寒くなるだけならたぶん大丈夫だったんだが、会社の中は容赦無く暑いので、外が11℃とかでも中に入ると28℃。コート着て来るようなのに、中はTシャツ1枚でも暑いとか完全に殺す気。

先週は風邪もやっと治ってきたところで普通に暑くなったので体調がずっとおかしいままで、週末に熱が出たんで寝てた。 あと歯がめちゃくちゃ痛くなったんだけど、一日である程度落ち着いたし、レントゲンでは特に問題ないというので(別の治療中の歯が終わるまで)しばらく様子見ということになった。 気温変化の体調不良で古傷が疼く的なやつだったかもしんない。

土曜は一日寝てて、日曜も起きたら午後だったけど、髪切りにだけ行ってきた。さすがにもう一週間ほっとくには長くなってたしなー。 だいたい良くなった気はしてるけど、ちょっと頭ぼーっとするところあるし、おなかの調子も微妙なんで万全とは言えないかもな。

[PeerCastStation] アップデータの作り直し

今のアップデートって、起動時にDLLをコピってメインのクラスを別AppDomainで起動し、アップデート時は元のDLLを上書きしたあとAppDomainをアンロードして新しいAppDomainを起動ということをやっていた。

これちょっといろいろ問題あって、AppDomain内でスレッドがまだ生きてるのにアンロードしようとすると文句言われたり、新しいAppDomain側でCtrl+Cをトラップするのが動かなかったり、デバッグもなんか怪しかったりと、あんま良い作りじゃなかった。

なんでこんなことしていたかというと、monoで新しいプロセスの起動が難しいと思っていたので同一プロセス内で処理しようとした結果だった。 monoで新しい.NETのプロセス起動しようとしたらmono newhoge.exeとか起動すれば良さそうに思えるが、元のプロセス起動したmonoがパス通ってるところにあるmonoとは限らないし、mono自体になんか引数指定していたかもしれないが、.NETのレベルからはmonoのコマンドラインは取れないのであった。/tmp/mono --mono-option newhoge.exe arg1 arg2とかやったら取れるのはnewhoge.exe arg1 arg2の部分だけ。/tmp/mono --mono-optionの方は取れないので、自分が起動しているmonoと同じmono同じ設定でサブプロセスを起動させるのは無理なのだ。

……と思い込んでいたんだが、実はProcess.Startで普通に起動できるのを知った。monoではProcess.Startで起動するファイルに.NETのアセンブリ(exe)を指定すると、勝手に自分と同じmonoに同じオプションを指定して新しいプロセスを起動してくれるのだった。だからProcess.Startにmonoコマンドを指定するんじゃなくて直接exeを指定すりゃ良かったのだ。なんだそれ知らんかったわ。 ちなみにこれはDuplicatiのソースを読んで知った。monoでアップデートどうやってんだべと読んでみたら普通にexe起動しててびびったんで、monoのソースを見てみたらそうなってたわけだ。

で、AppDomain別にするのはちょっとよろしくないし、プロセス分けるのが比較的簡単にできるのが分かったんでこの方向で作り直しましょうという話。

最初は起動プロセスにアップデート部分を埋め込もうとしたけど、アップデータは分けて、メインプロセスはアップデータを起動して死んで行き、アップデータはアップデートが終わったら新しいメインプロセスを起動して死んで行くことにした。よく考えたらこれ普通のインストーラと同じ動きだしこっちの方が良いでしょう。

作ってみると特に問題なく出来た……と思ったんだが、いざmonoで試すと落ちまくる。 普通にファイル置き換え自体がバグりまくってたのは仕方ないんで直したが1、新しいメインプロセス起動時に落ちてしまうのはどうしようもない。 新しいメインプロセスはCtrl+Cをトラップしようとして標準入力から読み込めねえよって落ちている。俺の書いたコード内で落ちてるわけじゃないから手が出ねえな。 てかなんで標準入力から読めない?

よく考えると、新しいプロセスが起動した時点で親のプロセスは死んでいってしまっている。親プロセス死んだところで共有されてる標準入出力が閉じられているのでは?と思ったが調べると標準入出力は常に使えるぽい。標準出力らしいのは出てるし。ただ親のプロセスが死ぬとシェルの子プロセスじゃなくてinit(macOSなんでinitじゃねえかもしれんが)の子に移動しちゃうぽい。で、シェルとの入出力の協調ができなくなると。そりゃそうだな。それでおかしくなっているのか。

なんとかできねえか調べてみるが、.NETではできなさげ。 親プロセスが死んでいきながら子プロセスをシェルにくっつけておきたいてのが無理筋で、やるなら親プロセスはforkせずにexecして新しいプロセスに成り代わるのが筋なのかな? ただ、.NETやmonoにはそんなexecのみするてな機能はない。monoで無理矢理システムコールのexec呼ぶのは出来そうだが、それやっても大変なことになるだけだし。 似たような機能としては新しいAppDomain作って、前のAppDomainをアンロードすればできるけど、それ最初にやってたやつだー。あんますっきりいかないやつだー。

そんなわけで仕方ないので子プロセスは常に待ち合わせることにしよう。 先に考えたように起動プロセスは死なずに、メインプロセスを別に起動し待ち合わせ、アップデートがあったらメインプロセス終了後にアップデータプロセスを起動してやっぱり待ち合わせ、アップデータ終了後はまた新しいメインプロセスを起動して待つ、という形にした。 起動中のファイルは上書きできないので2、起動プロセスはアップデートできないんだけど、それは元々そうだったから仕方ないかー。 アップデータは分離してるんで、やってることは薄いしたぶん大丈夫だろう。 アップデータ自体はコピーを起動してるので上書きできる。

まあ作り自体はそんな難しくはないから出来たけど、メインプロセスが別実行ファイルになったのはちょっと微妙だな。 あとサービス版の方も作り変えないと。

なんか結局AppDomain形式のアップデートとあんま変わりなくなってしまった。 スレッドきっちり終わってなくても終了させられるようになったのはいいけど本当にこれでいいんだろうか? AppDomain形式のアップデートをちゃんと作り直した方がいいかもしれない。

  1. これ前から入ってたコードなんだけど全然動いてねえじゃねえか。全く確認してなかったんか? 

  2. Windowsはもちろん、monoでも上書き/削除できないの。 


2018-05-07

日記

GWオワタ。長期休暇あんま好きじゃない。

前半は死んでたりM3行って有り金全部使ったり(と言っても2.3万だけだけど)、死んでたりしたくらい。

あとPCいじってたわ。ケースファンがうるさくなってきたので交換用のを買ったんだが、わざわざ140mmのを選んで買ったのに120mm用のネジ穴しかないとかいうクソ設計の欠陥品だったので、3000円程無駄になっただけだった。CRYORIGとかいうメーカーのは二度と買わん。 あとバックアップ用のHDDを交換してローカルのバックアップをCrashPlanからDuplicatiへ乗り換え。クラウドバックアップもやっとかないとなぁ。

5月2日だけ出社した。1日は強制有給になってるんで。俺以外みんな休みなんで静かで良い。 で、夜に夜行バスで帰省した。

後半は帰省してごろごろしてるだけで終わった。 何かしないとなぁと思っているうちに終わるより、もとより何もできないのを覚悟の上でごろごろしてる方が良いよね。 あと6日の終電で帰ってきた。前は夜でも駅のコンビニやってた覚えがあったんだが、今回はやってなくて謎だ。平日だと遅くまでやってたりする? でも前回平日だったかなぁ。

[PeerCastStation] リリースしたいが……

3月中にもうちょい直してリリースしたかったんだが、技術書典関連で忙しかったんで5月までずれこんでしまった……。

1日にある程度作業してリリースしちゃおうかと思ったんだが、どうも帰省直前にリリースしてなんかやべえの入っちゃうと帰省中の対応は(できなくはないが)めんどくさいなぁと思ってやめといた。急いでリリースしたい程の問題もなかったし。

一個小さいPull Requestが来てたんで、それ確認して入れたらリリースしちゃってもいいかな。

安定版はアップデート周りを直して問題なければリリースしたいけど、アップデート周りが結構しんどいんだよなぁ。今月中にできるだろうか。

他にNamed Pipe経由のRPC(というかIPC)を作っててなんとなく動くようになった。しかしPipeStreamはタイムアウト設定できねえからエラー出るところだけなんとかしねえとな。エミュレートするようにラッパー作るだけなんだが。

IPCの作業はGPD Pocketでやってるんだけど、電車の中でプログラム書くとめっちゃ捗る。しかし通勤は徒歩なんであんまり電車乗らないのだ。休日とか無駄に電車で大回りとかすると捗るかもしれん……。


2018-04-27 技術書典4にサークル参加してきた話

技術書典4に出た

技術書典4でサークル参加してきました。か05 あれくまでした。

計数

とりあえず先に数字だけ出しとくと、頒布数は

  • 手で書くMSBuild: 136部
  • ライブ配信のなかみ: 48部(完売ごめん)

でした。たぶん。それぞれ500円だったので92000円!?まじかー。

被チェック数は106。前回の倍くらい。捌けた数も予想の倍くらい。 新刊についていつも被チェック数×1.2~1.3くらいは出てたんで、そのパターンは今回も外れてない。 しかし既刊だけ欲しくてチェックしてくれた人もいくらかは居たと思うんだけど、意外と新刊も出たわな。

費用はざっくりだけど、

  • 印刷費: 50000円
  • 表紙絵依頼費: 40000円
  • 参加費: 7000円
  • InDesign利用料1ヶ月契約: 3000円

で合計10万円なので-8000円で済んだ!この費用は新刊分だけなんだけどさ。

新刊について

手で書くMSBuildとかいう、タイトルだけで正気かと度々言われるような本を出したんだけど、意外と欲しい人が居るんだわこれが。自分でも意外だわ。

プレビュー版見て楽しみにしてましたとか、これちょうど欲しかった、MSBuildのドキュメントもいまいちだし他に本無いしとかたまに言われるのが最高にうれしいよね。 ほんとそれな、ってやつ。

何部配ったかは正確に数えてなかったんだけど、新刊は167部箱に入ってて(150部刷って1割くらいおまけ分が付いてくる)、2部が見本誌と委託の見本用に出して、20部委託に出して、9部手元に残ったので、計算すると136部頒布したことになる。まじかよ。MSBuildだぜ?

見込み的には、前回プレビュー版を無料で押しつけまくって100~120くらいだったんで、完成版は60部かな~、でも上手くいけば80部くらい出るかもな~、という予測で行ったんだけど、新刊は見込みの倍も出て完全に外しました。参加人数が倍だと普通に倍出るんですね……。でも倍も来るとかわかんねーよ!

100部でも十分だろうけど委託とかちょっと欲しい人居るみたいだし、次回以降用に増刷したくないから在庫残しときたいし、なにより大して値段変わらんから150部刷っちゃお~、と大量に(半分くらい)持ち帰るつもりで刷ったのに、手元には9部しか残りませんでした。てかそれもおまけ分含めて9部なんで150じゃ足りてねえじゃん。なんてことだ。

てか在庫無くなっちゃったし、結局次出るなら増刷しないとだめじゃね?なんてことだ……。

まあでも完売にならなかったのは良かった。余ってもいいが完売だけは避けたかった。欲しい人に渡せないのはつらすぎる。 いやでも既刊は完売しちゃった。ごめんね……。

収支としては上にも書いた通り既刊と合わせて-8000円。 前回赤になった既刊分考えるともっといってるんだけど、それはもう過ぎたことなんで忘れようぜ! もともと5・6万円赤字のつもりで行ったので、実質すげえ黒字みたいなもん。-8000円だから実質黒字! 新刊の分だけ計算したら-32000円とか知らない!

どうせ買う人しか買わないし、欲しい人は値段見てないんだからもっと高くしようぜって散々言われたんだけど、収支がどうこうというよりこの本で1000円貰うのは申し訳なさすぎる。 ということで500円になってる。500円くらいが一番気楽で良い気がする。 前回プレビュー版を無料で配ってたら散々心配されたけど、500円ならそうも言われねえし、自分でも貰っても気兼ねなく受け取れる額だし。 まあ委託に出す時に500円て言ったら、え?安くないですか?って聞き直されたけど。

来れなかった人、買い逃した人は委託されてるんで通販をご検討ください。たぶん店頭にも出てるんじゃないかと。 あとダウンロード版も出てるんで物理の本がいらなければそちらもどうぞ。5月下旬くらいまでちょっと安くなってます。

既刊について

既刊のライブ配信のなかみは途中で完売してしまって、あとから来た人には行き渡らず申し訳ない気持ちでいっぱいです。

48部持っていって、途中で全部捌けてしまった。15時くらいだったかなぁ? あとから来た人にはそこのCOMIC ZINでも委託されてるよと言っといたんだけど、帰りに(M3のカタログ買いに)寄ったら影も形も無かったんでこちらも売り切れてしまった模様。 うーん、申し訳ない。少なくともちょっと前にはあったようなのは写真で見たので、うちのスペースに来て買えなかったひとがやっぱり寄ってくれたようだ。 通販はまだあったんでどうしても本欲しい人は通販をご検討くださいダウンロード版はGWいっぱい半額なんで物理の本がいらなければこの機会にもどうぞ

新刊は印刷所から直接搬入してもらったからいっぱい置けたんだけど、既刊は手で持ち込みで、リュックに50部くらい余裕で入るだろうと思ったら意外とかさばるし重いしで物理的に50部が持ち込める限界でした。48部なのは50部くらいと適当に手に取ったのが48部だったんでそれだけ。 結果的にはあと20部以上あってもよかったぽいけど、重くて持ち込めなかったんだ。家に在庫はまだまだあるんだけど。

もう3回目の頒布だしそこまで出ないだろうと思ったんだよ! でもシリーズ物とかでもないし、そんなにマニアックな本でも流れが速いジャンルでもないからいつまでも出るんだよなぁ。 次回以降あればなんらかの方法でたくさん持ち込めるようにします。 あの車輪付きのコロコロ引っぱるやつが必要だ。

技術書典4全体について

今回はめずらしく晴れたし、サークルも増えてるんで人多いだろうなぁとは思ったけど、まさか倍も来るとは思わなかった。

しかし晴れるかどうかなんて直前まで分かんねーし、ていうか雨降ると思ってたし、参加した中で晴れたこと無かったから、晴れたら参加者倍にもなるなんて分かんなかったし、いやほんと学びがありますな。 参加者倍になるって知ってても倍捌けると考えたかというとわからんが。

反省点としては入場できなかったこと。 10時40分までに入場しろって言われてたけど、3分程間に合わなかったので入場できず。11時まで待てな、って待たされてた。待たされる意味はよくわからんのだが。

人はめちゃくちゃ多かった。 入場制限がかかってるので一度に入ってくる人は波があって、めちゃくちゃ混んでるな→落ち着いてきたな→また波が来たなのくりかえしだったんだけど、前回までなら14時半くらいには落ち着いてきてた感じが、今回は16時くらいまでずっと混んでる感じだった。体感的には前回の15時くらいの混み具合が16時半までひっぱった感じ。 どうも昼くらいにはもう整理券4000とかなってたようで、15時過ぎだかにフリー入場になるまで、たぶん1~2時間待ちくらいにはなってたんじゃねえかな。 15時にやっと入場できたけどだいぶ完売してたわーなんとかしろよーって話をちらほら聞いた。

隣のサークルも15時ちょい過ぎに帰っちゃったし、見たら斜向いのサークルも居なくなってたし、15時に入れただとだいぶ厳しいだろうな。 しかし前回は15時だとだいぶ空いてる感じだったのに比べて今回は16時くらいまで人減らねえなという感じだった。それで15時に帰るのは早いんじゃねえかという気もするが、まあ遠方から来てる人も居るだろうし仕方ねえのかな。

もっとでかい会場でやれよというのはあって、前回から既に言われてると思うんだけど、ちょっと前にやってた連絡会というのに行ってもっとでかいとこでやらんの?と聞いたところ、でかい会場は1年以上前から予約取らないといけない、列を作る人手が用意できないので整理券配って散らせる場所が良いとかいうことでUDXになってるとのこと。 少なくとも今回(明言はしてなかったが次回も?)はそんなんでUDXという話だったけど、あんまり秋葉原以外でやる気も無さそうな雰囲気もあった。 主催もイベント慣れしてるわけでもでかくもないんで、ちょっと急激にでかくなりすぎてるぽいね。

てか会場がでかくなって人が一度にいっぱい入れたとしても、サークル側の持ち込む数が変わってなければすぐ完売することには変わりないんで、そっちはそっちでまた別な問題よな……。

今回はまた一人で参加したんで、スペースを離れられずに他所を買いに行くことはできなかった。16時半くらいに一瞬トイレ行ったくらい。 もともとすごい赤字な予定だったんで、資金的な余裕ねーわと思ってお手伝いしてくれる人探してなかった。 まあ今回人多かったんで、手伝ってくれる人居てもどっちにしろずっと居たかもしれん。 空いてきたの16時とかだから行ってもほとんど買えなかっただろうしな。

次回について

もう次回の話かよ。ていうか参加するかも含めて未定です。

書けるネタはいくつかあって、ご家庭のIPv6でP2Pがつながらない話か、fossilかというあたりが思いつくんだけど1、そもそも参加したいかが未定。 もちろん当落があるし、今回も倍率1.3倍だかで、次回はさらに倍率上がるんじゃねえかという気もするんで、出る気があっても出れない可能性も高いんだけどね。

単純に本よりプログラム書きたい。 本書くのはそれなりに大変で、どうしてもプログラム書いてる時間が減ってしまうのは結構痛い。 いや本書いてなかったらちゃんとプログラム書いてんのかよっていうと怪しくてただ遊んでたりごろごろしてるだけだったりもするんだが……。

まあ今はそう思ってるんだけど、またある程度したら書きたい気持ちになるかもしれないので、未定ということにしておきます。

技術書典には参加せずに適当に電子版をちょろっとDLsiteあたりに出すだけってのでもいいかもしれん。ぜんっぜん売れねえけど。

  1. IPv6でP2Pつながらない話の方が絶対人気は出るけど(内容そんなに書けねえけど)、書きたい気持ちはfossilの方が上かなぁ。 


2018-04-25

日記

技術書典終わった。 終わってみるとあっというまだったな。

技術書典4についていろいろ書いてるんだけど、うまくまとまらんのであらためて書く。 本書き終わったのにまた文章書いてんのかよ。

まただいぶあったかめになってきて体調が崩れかけている。気をつけたい。 てか鼻かゆいし、くしゃみも出るんだけどなんかの花粉なんだろうか。 軽いからべつにいいんだけど。

PeerCastStationのデバッグビルドの時だけ出る理不尽なバグは、単にスレッド間の競合だった。 immutableだと思ったデータを破壊的に変更してるところがあったので、コピーするようにしといた。 誰だよこんなクソな作りにしたやつ。俺だよ。

オブジェクトの無駄なコピーになるんでちょっとパフォーマンスへの影響が気になるところだけど、それはちゃんと測ってからね。 いろいろ計測したいんだけど、ツールの使い方が難しくてわからんのじゃよ……。


2018-04-17

日記

本はだいたい終わらせた。時間的にそりゃ終わってないとまずいんだけど。

入稿してから、1ページだけ枠とページ番号抜けてんでと連絡来たが向こうで直すこともできるというのでやってもらった。 1ページだけマスターページの設定がおかしかったようだ。ページ数あとから増やしたからマスターページ適用されてないページあったんだなぁ。 ちょっとだけ位置も違っちゃってるようなんで枠とページ番号だけじゃなさそうなんだが、微妙なところだし仕方ない。 InDesignは適用されてるマスターページが分かりづらいんだけど、なんか分かりやすくする方法あるんだろうか。

あとは電子版をせっせと作る。PDF版は表紙くっつけてダウンロードコード消すくらいで書き出せばいいだけなんで簡単。入稿もPDFだしね。

EPUB版がとてもめんどくさい。InDesignからEPUBを書き出すこともできるんだが、全く役に立たないひどいものが生成されて途方に暮れる。 固定レイアウトのEPUBも書き出せるんだが、Edgeだとなぜか文字が表示されない(埋め込みフォントかなんかの影響?)し、そもそも固定レイアウトだったらPDFでいいわ。 仕方ないので元のMarkdownからPandocで直接書き出す方がまともだった。CSSいくらかいじらないといけないが。

実際はMarkdownからPandocでDocBook5に書き出してそこからあらためてEPUB3に変換している。 ライブ配信のなかみで作ったフローなんで、なにか理由があってこうしてた気がするんだけどなんでだかは忘れてしまった。 なんかPandocのEPUB書き出しに不満があったんだろうけど。

しかし次からはRe:VIEWあたりで整備したいなぁ。もうそれ考えてから2回目なんだけども。

サイトも更新してダウンロード版はDLsiteに出そうとしたが、プレビュー版はかなり適当なこと書いてあったり説明不足もあったのが分かってるので、完成版から前半を抜粋したのに直したいなぁ……ということで実際にそうした。

EPUB版もなんとか出来たので予告だけでなく本申請もしといたが、ダウンロード版の販売開始は23日ね。22日にすると当日0時から販売開始されちゃってちょっとあれなんで。DLsiteは16時にも更新タイミングあるんだけど、そこ指定での販売開始できるといいのになぁ。

しかしEPUB版ちょっと修正したいところが。preの頭に改行入っちゃってるから、iBooksで見るとコードブロックの先頭に空行あるんだよね。でも他のリーダー(EdgeとかOpera)では問題無さげに見えて不思議。どっちの動作が正しいのか調べてみたが、iBooksの方が正しそうな雰囲気。じゃあ他はなんで大丈夫なんだろう……。

InDesignの契約は21日で切れるから、フォント使えるうちにお品書きも作らないとなぁ。

本がある程度落ち着いたので久々にPeerCastStationも書いた。なんかデバッグビルドの時だけ出る理不尽なバグに悩まされてるけどなんだろうか。

しかしやっぱ好きにプログラム書くと気分良くなるな。楽しい。


2018-04-09

日記

何もしていない。 暑くなったり寒く(というか平年並みに)なったりで体調が不安だ。悪くはなってないが。

本書いてはいるんだが、それしかやってないな。

明日夕方が締め切りなので、事実上今日いっぱいで上げないといけない。 テキストの読み直しが足りてないのが気になるが、もう仕方ねえかな。 レイアウトなんかは妥協した。

サイトを更新したりダウンロード版用意したりはしないといけないが、入稿したらとりあえずは一段落かな。 やっとプログラム書きに戻れる。


2018-04-03

日記

花粉と気温で死にそう。

気温変化で体調がおかしくなってるところに花粉が襲いかかってくるのでやべえ。 涼しく戻ってくれないだろうか。

GWの新幹線の事前受け付け始まってるの忘れてて、昼頃慌てて申し込んだけど案の定取れなかった。 一番安いのは事前で取れなかったが、それ以下の割引率のやつも見た時には全部売り切れてたのでおしめえだ。 普通に買ったら時期的にもめちゃくちゃ高いので夜行バスにするか……。 帰りの分は朝5時半に起きて申し込んだのできっと取れるはず。

本書くのをぼちぼち進めているがまだ終わってない。 表紙の絵を描いてもらったのはいいが、タイトルとか入ってないのでそこは自分でなんとかしないといけない。 ここに俺がタイトル入れるのはなかなか難しいところあるなと思っていたが、なんとかいい感じにできた気がするのでよかった。 土日いっぱいかかったけど。

しかし内容は完全に表紙負けだ。とはいえ今更どうしようもねえのでもう諦めてそのまま行こう。 まだ修正中だけどだいたい目処はたってるし、来週頭の入稿には間に合いそうだ。 ちょこちょこテキスト追加にはなっちゃってるけど表紙込みで80ページで良さそうかな。 もう2ページ減らすこともできそうだけど、頑張って詰め込むのもめんどくせえしな。

技術書典のサークルページはもう公開になってるんで、今週末までにはページも作って紹介とか書いておこう。


2018-03-26

日記

あったかくなって無限に寝れる。

無限に寝てみたり夜中にうろうろしてみたりしていたが、さすがにそろそろ本書かねえとやべえなって思って見直し始めた。するとまああちこち書き直さねえとならんところが出てくるわ。 そして書き直すとどんどん文章増えてってページが増えちまうわで困ったことに。

テキストの書き直し自体はまだいいけど、そろそろページ数の確定はさせないとなー。文字サイズ小さくしたからページ数減ったわとか思ったのに、テキストが増えてページ数も増えてった。 やっぱ表紙込みで80ページになっちゃうだろうか。それ以上にはあんま増やしたくないが。

電話を買い替えようとしたが

今Blackberry Q10とかいうのを使ってるんだけど、さすがにBlackberryOS 10はもうやべえだろと思ってきた。 OSの更新チェックをしかけてみたらサーバが見つかりませんとかすごいこと言われる始末だ。

AndroidのBlackberryが欲しいと思ってたんだけど、5~7万円程度とお高い。 そしてAndroidのマシンて2~3年くらいが寿命なのね。長いのでも3年もするとアップデートが打ち切られてしまうので、そのくらいで買い替えろやってことのようだ。

しかしGPD Pocketとか持ち歩いてることもあってスマホで何かすることはあんまないので、3年で7万円は痛い。 ハードウェアキーボード付きの安めのマシンが出ることは当面無さそうだし、諦めて安いマシンをたまに乗り換えていくのが合ってそうだな。

NifMoを使ってるんだが、ちょうど端末のセールとかで1万円くらいで安い機種買えるよってのがやってたんで、これでいいかと申し込もうとした。 が、セールが始まった次の日には機種変更分は全機種売り切れたわとか言って終わっていたのであった。 あーこれ機種変更分の在庫なんてほぼ無かったやつじゃん。既存の客なんかに安くする理由は無いってやつじゃん。クソが……。

しかし今MicroSIMを使ってるんだがNanoSIMにしつつ機種変更するには電話で申し込まないといけないので、平日昼間に始まるセールに乗り込むのは無理くさくないですかね。

ということでまだしばらくBlackberry Q10で生きてくことにした。1万円でなんか買えることがあったら乗り換えるわ。


2018-03-19

日記

部屋をそこそこ片付けた。

アパートにCATVの線入れたんでチェックするよって連絡が来てて、人入れられるような部屋じゃねえからやべえなってなんとか片付けた。 一部怪しいところがあるものの人を入れても大丈夫な程度にはなってよかった。頑張って維持していきたい。

しかし線が入ってもテレビはないのだ。 チェックに来た業者の人も営業も兼ねて来ていたがテレビ無いのではあんま推せもしないので、軽く説明だけして帰っていった。 ネットもプランによっては3000円以下で使えますよ~って言ってたんで、まあどうせ使えねえもんだろと思いつつ一応調べてみたら、3000円切るやつだと下り30Mbps上り1.5Mbpsで2年縛りという今時信じられねえプランだ。なにそれADSLかよ。もっと速いプランでは下り160Mbps上り10Mbpsで3700円(2年縛り)。上り10Mbpsて。3700円て。

C#でRx.NETいじってたけど、これすぐいかにもRx!なコードになるな。なんか宣言的プログラミングみたいな感じ。 それはそれでありかとも思うけど、これがC#かと言われるとかなり無理あるし、なんで標準に入らねえんだべと思ってたけどこりゃ入らねえわ。 普通には読めねえもん。

[PeerCastStation] ぼちぼち機能を追加

要望で上がってたやつで、配信時と視聴時でチャンネル毎の帯域制限とかを変えたいというのを実装した。

自分で配信する時はせいぜい1チャンネルしか配信しないので帯域は1チャンネルで占有してもいいんだが、視聴してる時は複数チャンネルを同時にリレーすることもあって、その場合は1チャンネルで帯域を使い切られないようにしたいとのこと。 で、自分で配信する時と視聴する時で設定変更するの大変なので別に設定できるようにしたいと。 俺は普段複数のチャンネル同時視聴しないんで使わないが、やりたいことは分かるし実装も大変じゃないので入れようか。

でまあ入れたのはいいんだが、設定がやたらと増えて分かりづらい! 今まであったチャンネル毎のリレー数・視聴数・使用上り帯域の最大値をそれぞれチャンネル毎(配信時)とチャンネル毎(視聴時)に分けたんだが、この前にIPv4とIPv6で分けたところもあって、もともと何を意味してるかわからん(と言われてもおかしくない)設定がめちゃくちゃ増えてしまった。

  • 最大上り帯域(IPv4)
  • 最大上り帯域(IPv6)
  • 最大上り帯域(チャンネル毎(配信時))
  • 最大上り帯域(チャンネル毎(視聴時))
  • 最大リレー数(合計)
  • 最大リレー数(チャンネル毎(配信時))
  • 最大リレー数(チャンネル毎(視聴時))
  • 最大視聴数(合計)
  • 最大視聴数(チャンネル毎(配信時))
  • 最大視聴数(チャンネル毎(視聴時))

これだけの設定がある。まあほとんど設定する必要ないんだが、設定する必要ない項目が並んでるのはよろしくないよなぁ。

とりあえず、チャンネル毎(配信時)の最大上り帯域は設定することほぼ無いだろう(無制限で良い)と思って詳細設定に隠した。 あとは最大リレー数(合計)と最大視聴数(合計)はいらなくないか?と言われた。 確かに言われてみれば合計は上り帯域で充分だし、せいぜいチャンネル毎の設定あれば足りそう。 いやでもそれ言ったら帯域だけでも良くない?なんで本数での制限あんだろ。リレー/視聴で個別に帯域の制限はできても良さそうだが、本数の意味は無いんでは……。

うーん難しいな……。いきなりいらんだろと削除しても実は使ってましたって人が出てくるかもしれんし、なかなか削除は難しいぜ。


2018-03-15

日記

花粉やべえと思ったら風邪だった。

鼻水出るので花粉ひどいなと思ってたんだけど(実際花粉だったし)、日曜の夜には鼻詰まって眠れねえし、起きたら頭も痛くなってでもまだ花粉ひどいなと思って会社行ってた。しかしどんどん頭痛くなるんでこりゃさすがにおかしいなとやっと気付いて早めに帰るとちょっと熱あるじゃん。風邪だわ。一日休んでだいたい改善した。まだ軽く咳は出るが。

しかし風邪引いてると花粉の症状は出ないんで、軽く咳が出るくらいなら目が痒いよりましな気もする。

本の表紙をお願いしてたのがもう届いた。 お願いしてから10日くらいしか経ってないんだが、なんだかすごい綺麗なものが上がってきてどうすんだこれ。 なんか中途半端になっちゃうんで裏表紙まで描いときましたとかでめちゃめちゃ綺麗だし。 え、このすごい表紙でこの中身これなの?てかここに手で書くMSBuildとかいうなんかアレなタイトル入れちゃうの?まずくね? なけなしのデザイン力を発揮する時が来たようだ……。

内容は全然進んでないんだが、あと半月くらいなのでそろそろ仕上げに入らねえとな。

[PeerCastStation] 開発版2.5.0をリリースした

こないだ直した怪しかったところは、手元でしばらく試して大丈夫そうだしもういいかってことでリリースしちゃった。 あとから報告貰ってやっぱり直ってたようなので良かった。

バグ修正のリリースを急ぎたかったのでリリースしちゃったけど、実はまだもうちょい載せたかったところがある。近いうちに作ってまたリリースしちゃいたい。

安定版は開発版とかなりかけ離れちゃってるのでどうしたもんかと思ってたけど、今の開発版も結構安定したと思うし安定版に昇格しちゃっていいかもな。 Taskベースにしてから怪しいと思ってたけど、最近はもうそんな怪しくもないし。インプレースアップデートを外すのとConfigureAwait(false)付けまくるのだけはやっときたいな。


ページのトップへ | トップ | 追記 | kumaryu.net by kumaryu