くまりゅう日記

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

2019-11-11

日記

なんだかすげえ疲れててやべえ。

着る毛布を買おうかなと思って探しに行ってみたが、高いのと安いやつの差がいまいちわからんので悩んでいる間に本当にいるかこれ?となって諦めてしまった。 ただ寝具売り場を見てたら良さげな枕があったのでそれだけ買ってきた。2000円だったし……。

イベントサイトのDBをPostgreSQLからDynamoDBに移行している。 HerokuのPostgreSQLを使ってたんだが無料分から溢れたので。

DynamoDBてAzure Table Storageと同じようなもんかと思ってたんだが、予想より高機能で便利だった。 ただDBはアカウントに一つしか持てなくてテーブル名でなんとかしろとなってるのはちょっと微妙。 Azure Table Storageだといっぱい作れるのにな。

DBは普段あんま使わないので全然慣れてなくて設計に手間取るが、ドキュメントDBはRDBよりわかりやすくていいな。 まあ集計するようなのは難しいんだが今回は集計とかしないし。

ただインターフェースも結構変わっちゃうので対応はめんどい。めんどいだけなんだが。

とりあえずせっせと進めて、もうちょっとというところまではいった。 急ぎではないんだが毎月無駄にDBのお金取られていってるから、早めに移行はしたいところ。


2019-11-06

日記

熱海に行ってきた。いやもう2週間も前ですけど。

保養所があるあたりは断水の影響を受けなかったようで、無事営業中だよという告知が出てた。

日曜昼頃に家を出て東京駅から快速アクティーのグリーン車で熱海へ。時間は大してかからんので特急とか新幹線とか程高くないしグリーン車いいね。 結構混んでたけど東京からなら問題なく座れた。

熱海着いてから、まず翌日分のバスのフリー切符を買うべと東海バスの案内所に行ったんだが、当日分しか売ってないので明日また来いと言われる。 は?明日宿から乗るのに使うのに?セブンイレブンだと一ヶ月先のでも買えるのに?ということで近くのセブンイレブン行ってセブンチケットで買った。使えねえやつだなおい。 あとで気付いたんだが、東海バスはSuica等は使えないのに、すぐ近くを走ってる箱根登山バスはSuica使えるようだ……。

駅から宿までは5kmくらいなので初日は歩いてみるべと思ってたんだが、いざ着いてみるとすごい山だ。なんとなく予想はしていたがそれ以上に勾配がすごそう。 でもまあ時間はあるしきっとなんとかなるだろうと思って歩き始めて、最初は海沿い歩いてるだけなので良かったんだが、本格的に登り始めたらものすごい急勾配。 うわこれやべえな、でもきっともう少し、と思ってスマホのナビを見るとあと40分。は?まだ半分も行ってないんだが? まあでもいつまでもこんな勾配があるとは……いやあったわ。結局宿までずっと急勾配で、その日はちょっと気温が高めではあったとはいえ汗びっしょりになって宿に到着した。 意外にも時間的にはそんなかかってなかったが。

宿は思ったより広くてすごかった。ある程度広いのは予想してたが、それどころでなくめちゃくちゃ広いぞ。うちより広い。そして一人で泊まるっていうね。 こんな広い温泉宿は普通一人で泊まれないし、保養所は便利だなあ。 早速風呂に行ってると、風呂も十分広いし露天風呂もあって楽しい。混んでもなかったし。 朝夕食付きで、6時頃に食堂で豪華夕食。一人でこんなところ泊まって良かったんかなあという感じ。

ただ問題はネットが使えねえ。一応WiFiはあるけどロビー周辺だけだし、それもだいぶ詰まるので接続性はひどい。多少詰まるのは我慢できるが、部屋で使えないのはやっぱ不便だな。 まあケータイの電波は問題なく入るのでテザリングでもいいんだが。

とりあえず初日は疲れたので飯食ったあとはロビーでちょっとネット使ったりして、飽きたら寝た。

2日目は朝食を食って10時頃に宿を出る。バス乗って駅まで行くが文明の利器は便利だな。20分ちょっとくらいで駅に着く……って結構かかるな。 それから城ケ崎海岸まで電車に乗ろうとするが、普通電車で行こうとすると黒船電車とかいうなんだかすごいのが止まってる。え、電光掲示板には普通電車って書いてあるけど、これ?これに乗っていいの?としばらくうろうろして確認しまうが良かったようだ。おもしろい。

城ケ崎海岸までは1時間弱くらい?結構遠いんだよな。そこからさらに30分程歩いてねこの博物館に行った。ここもまた山だったが、急勾配の区間はそれほど長くなかったので助かった。あんま歩いて行く想定の場所ではないな。というか伊豆の辺りは歩いて移動するような場所ではないようだ。

ねこの博物館はあんま期待はしてなかったし、そんなに広くもなくてやっぱそれほどでもなかったんだが、いろんなねこが触れるようになっててそこそこ良かった。 1階のいろんなネコ科動物の剥製コーナーも言うだけあってなかなか珍しいのも見れたし。だがほこりくせえのはなんとかした方がいいのでは。

放し飼いコーナーは子供連れが入り浸っていたのであんまり触れなかったのが残念。抱っこするなって書いてあるのに、高いところから降りられなくなってる!とか言って抱っこして降ろすやべえ父親とか居て治安がアレだった。降りられねえわけねえだろ!!子供が抱っこしたい~とか言い出すしほらー!

どのネコも触らせてはくれるものの、ちょっと触っても怒りはしないという程度で基本ツンだ。ネコだしそりゃそうだわな。 ただ毛の長いネコが籠の中で急に起き上がって触ってみたらなでろおらっ!と言わんばかりに身体を押し付けてきたのでグリグリといじってやった。 籠の中なんで大して触れなかったが、たまになでてほしい気分のやつも居るようだ。ネコだしな。

あとはまた歩いて帰る。下りは楽だ。途中でアイス買ったりしながら伊豆高原駅まで向かった。城ケ崎海岸の方が近いんだが、駅前何も無かったし、弁当でも食いながら電車で帰ろうかなあと思ったので。途中で飯食ってもよかったが、朝食いすぎたのでそんなにおなか空いてもなかったし夜もあるので軽めにしたかった。 駅まで歩いてる途中でネコカフェとかあって、実はこれでよかったのでは……?と思ったのは内緒だ。しかし犬と泊まれるホテルだのペット関連の施設多いぽいな。

伊豆高原駅はそこそこ店があるものの、駅ビルでは弁当的なものはあまり買えないぽい。駅弁売ってるけど1000円~だし高すぎるよお。近くを探すと駅前にスーパーがあった。ここで買おう。 適当に弁当を買おうと思ったが、伊豆名物 箱寿しなるものが売ってて、値段も高くないしせっかくなのでこれにした。 電車で食おうかと思ったけど、帰りはあのすごい電車が来るとは限らんしロングシートにしか座れん可能性もあるなーと思いつつ、次の電車まで20~30分程時間があったので駅のホームで食ってた。期待はしていなかったが、予想以上においしかったのでとても良かった。量もちょうど良かったし。

あとは熱海まで電車で戻って(結局ロングシートに座った)、バスで宿まで。 よくこんなところ登れるなあというような坂道を走っていくが、昨日はこれを歩いて登ったのか。 地元の人は大変だろうなあ。 しかし、フリー切符買ったけど他には寄らなかったのでいらんかったな……。

16時前に宿に着いて、汗もかいたのですぐ温泉へ。昨日より空いてる。って一応平日だからか。夕食とかもこころなしか先日より空いてるようだった。 温泉を出たところにマッサージチェアが置いてあるのを今になって発見したのでやってみる。ふくらはぎを押し潰されるのが怖かったが、気持ちよかった。

しばらくごろごろして18時に夕食。平日なので炊き込みご飯にもできるよって言われたのでそれにしたが、おひつに来た分全部食ってしまった。そりゃ食うでしょ。食いすぎだ。 夕食後、すぐに風呂はしんどいかなーと思ったんだが、行く気になったのでまた風呂に入ってきた。遅くなると動くのおっくうになって寝ちゃうからな。 そろそろぽつぽつ雨降ってきてる中で露天風呂に入ってた。屋根が無い完全露天なので楽しい。 あとはごろごろして寝た。

3日目は朝飯を食って、すぐ風呂。誰も居ねえー。 夜中は雨すごかったけど朝にはあんまり降ってなかった。が、まだ雨ぽつぽつしてる中で露天風呂に入る。 10時にはチェックアウトなので出る準備しないと!と思ったが、べつに大して持ってきたものもないので準備はすぐ終わるのであった。 着替えと充電器ぐらいしか持ってきてなかったわ。

10時前にチェックアウトしてバスで駅へ。風呂入った頃はあんまり雨降ってなかったが、またそれなりに降ってきていた。下りだし晴れてれば歩いて駅まで行ってもよかったが、傘さして狭い道を歩く気はしねえな。

電車まで時間あるし適当にお土産買おう、と思ったんだが、お土産もすぐ買えてしまった。もう無くなったのでよく覚えてないんだが、熱海の梅なんたらっていう小さいケーキ?饅頭?みたいなの。名前に反して梅っぽさは全然なかったが適当に選んだわりにはおいしかったのでまあ良かった。

11時過ぎの快速アクティーに乗ろうと思ったんだけど10時半過ぎの普通に乗れるし、こっちの方が早そうなのでこれにしよう。熱海始発なのでグリーン車にも余裕で乗れてまったり帰りましたとさ。

保養所はこれだけ豪華で一泊7000円とビジネスホテル素泊りくらいの値段で泊まれるし、一人でも問題なく泊まれるしほんと便利だなー。 また使いたい。上総一宮にも保養所があるので、今度はそっちの方に行ってみたいかな。 そっちは6000円とさらに安いし、家からだと熱海よりほんのちょっと近い。

観光はなかなか難しいな。車があればまた違うんだろうが、車無いし、バスだとそう何度も乗るのがめんどい。 歩くのは好きなんだが、伊豆のあたりはどこも急勾配なので歩くのもしんどい。あと見たいところあんまない。

宿は朝夕の2食付きだったが、昼も別料金で頼めるので、もうどこも出歩かずにごろごろしてるってのも良さそうだ。 ただネットがなー。部屋でネット使えればひきこもっても良かったんだがなー。


2019-10-15

日記

台風は無事でした。

台風は無事だったが前後で体調を崩して風邪気味。鼻喉がやられた。台風の前からちょっと怪しげだったが、台風で外に出られなくておとなしく寝てたら治ったぞ、と思ったら暑くなって寒くなってまたダメですよ。そんなに酷くはないのが救いだ。

健康組合の保養所使ってみようと来週熱海に泊まりに行く予定で予約入れてたんだが、どうも台風で断水しているようだ。 すぐ直ればいいけど長引いたら無理だろうなあ。しばらく様子見。

技術書典の在庫確認をしたが新刊は21部しか減ってなくて、うち3部程は見本に使ったので18部くらいしか捌けてないようだった。 ダウンロード版を確認したら1部も売れてなかった。まあそんなもんよね……。

書いてくれた人にまだ現物送ってなかったので送ろうとして、こないだ100円ショップで厚紙封筒が売ってたのを見かけたので買いに行ったら売り切れてた。 じゃあ文房具屋にあるかな……と見に行ったら近くにはLoftとかいうシャレオツ文房具屋しかないため、厚紙封筒とかいう実用品は売っていないのであった。 ちょっと先まで足を伸ばすしかねえか。

[PeerCastStation] 通信で失敗した

Owinベースに作りかえてからいろいろ動きが怪しいところがあったので調べたり直したりしている。

もしかしてデータ送信しきる前に切れちゃってるんじゃないかと思うところがあったので、ちゃんとGracefully shutdownをしようと思った。日本語で言うとなんだろう。上品なシャットダウン? .NETであまり考えずにTCP通信するとNetStreamてクラスを使うことになるが、こいつはStreamの一種でShutdownのインターフェースがなく、中身的にはCloseすると切る直前で送受信両方のShutdownをするだっけっていう乱暴なシャットダウンしかできない。

それはあんまりだろうということでSocketを直接使って上品なシャットダウンを実現することにした。

まあそれ自体はできたんだが、従来のコードが乱暴なシャットダウン前提でコードを書いちゃってるので互換性が怪しくなってしまった。 こっちが送信をシャットダウンしても従来のコードは受信と送信は別物です!と言わんばかりに受信スレッドが終了しても送信スレッドが延々とデータを送ってきて、こっちはいつまでも受信しきらないので終われないのであった。

送信終了前にちゃんと通信終了コマンドを送ってあげれば上手くいったけど、他の場所でも同じようなこと起きそうな気がするなあ。

書いてて思ったけど、送信シャットダウン後は受信も一定時間で強制シャットダウンすればいい気がしてきた。本当に上品にはシャットダウンできないかもしれないが、相手が乱暴者の可能性もあるので仕方あるまい。

.NETのStreamでのI/O抽象化はソケットに対応できてなくて残念だから、ソケット使う場合にはあんまりあてにしない方がいいなあ、と今更思った。いや何度もそう感じてはいたんだが、あらためてな。 Windows自体がソケットとその他I/Oの抽象化が上手くできていないので仕方ないということもあるんだが、.NETなんてその問題が分かりきった時代に設計されたもんなんだから上手いことやってほしかったなあ……。


2019-10-03

日記

技術書典だのイベントだので忙しかったのがやっと落ち着いて好きな作業できる余裕が出てきた。

仕事?仕事は何もしてないですね……。

DBを移行したい

イベントのサイトでDBの構成を大幅に変えてみたんだけど、テーブルを分割したら行数が増えてHeroku Postgresの無料分に収まる1万行を越えてしまった。 なんとかする時間もなかったので有料プランにしたけど、$9/月はちょっと痛いのでなんとかしないといけない。年に6日くらいしかアクティブに使われないサイトなので。

兼ねてからこれべつにRDBの必要全然無いんじゃないの?ということでAzureのTable Storageに移行できないかと考えてはいたが、ちょうどいいタイミングなのでそうするべきだな。 AzureのTable Storageを考えてたのは仕事でAzureを使ってて馴染み深かったからなんだが、イベントのサイトではAWSのS3を既に使ってるのでDynamoDBの方がよさそうね。

WindowsのVMさくっと使えると便利なこともあるし、家でもAzure使えるようにしたいこともあるんだが、それはそれとして分散するのもよくないしな。

次のイベントはまだ半年近く先だが、毎月DBにそこそこお金をとられるのは痛いので早いところなんとかしたい。 RDBのホスティングサービスって高いよなー。

[PeerCastStation] Owinで失敗した

最近PeerCastStationのHTTPサービス部分をせっせとOwinベースに作り直してて出来てきたんですよ。

まだなんか使ってて怪しいところはあるものの、それは直すとしてまあまあ動いてるんですよ。

で、.NET Core 3.xへの移行も見据えて、そもそもどの程度すんなり移行できるのかと試しにやってみたんだけど……Owinがねえ。 OwinとかMicrosoft.Owinていうパッケージを参照してたんだけど、こいつらの.NET Coreとか.NET Standard版がない。 どういうことかと調べてみると、どうもOwinはもうとっくにおしまいになっていた模様。まじかよ。

Owinの仕様としてはFunc<Dictionary<string,object>,Task>でアプリ起動な~てくらいしかなくて、アプリ起動というかサーバーへの登録とかは決まってないし、なんかいまいち使えねえということなのかなんなのかてのがありーの、ASP.NET CoreでOwinの雰囲気を取り入れたんでこれでいいでしょもう、というとかなんとかで終わっていたらしい。 知らずに今更Owinに移行してたぞ……。

まあ確かにOwinに仕様はだいぶ微妙だった。Rack的なものをやりたいというのはわかるんだが、C#との相性はかなり悪かった。 特定のアセンブリとか型に依存しないと徹底したかったのかもしれないが、結局Owinとかのアセンブリを使わざるをえないというのもあった。 じゃあそれならそれでもうOwinとMicrosoft.Owinを統合してこいつが標準な、ってしてくれるだけでもよかったんだけどなー……。

ASP.NET Coreをホストするという手も無くはないんだが、それってRackを入れたかったが終わってたのでRailsを入れるみたいなもんで、いかにもでかすぎる。 俺はRackが使いたいのであってRailsが使いたいのではないのである。

とりあえず今は.NET Coreでどの程度動くのか検証したいだけということで、OwinとMicrosoft.Owinのソースをひろってきて使ってそうな部分だけソースツリーに取り込んで.NET Coreでビルドしてみたらなんなく通った。通るじゃん。ビルドしてパッケージ出してくれるだけでいいんだけどなーもー。 他はいくらか動作が怪しいところがあるものの、おおむねそれっぽく動いているので.NET Coreへの移行自体はそれほど大変ではなさそうだ。すごい。

あとOwinにした部分をどうするかは考えたい。独自にMicrosoft.Owin的なものを作るか、ライセンス的には問題ないのでMicrosoft.Owinのソースをそのままツリーに取り込んじゃうという手もなくはないのよな……。


2019-09-26

日記

しばらく書いてなかった。

技術書典7の本書かないとなーと思って心の余裕がなかったので何も書けなかった。今はもういろいろと終わったのですっきりしている。

本はいっぱい刷ったものの全然数は出ずに終わった。まだちゃんと数えてないんだけど感覚的には20部前後くらいじゃね? まあどこの誰かもわからんやつらが書いた内容もまちまちの合同誌なんざそんなもんか。 しかし万が一無くなったら困るなあといっぱい刷ったのは失敗だったな。 いっぱい刷っても値段は大してかわらんのでそこはかまわないんだけど大量の在庫が部屋を圧迫する……。

既刊はまあそこそこ出た。手で書くMSBuildはやはりいまいちなんだが、動画を送ろう!!RTMPがそれなりに出て不思議な感じはする。 まあライブ配信のなかみも合わせて興味持ってもらえてるのでそういうのが人気なんだというのはわかるが、どっちかというと手で書くMSBuildの方が断然実用性あると思うぞ!? 実用性(だけ)を求めて技術書典来てるわけではないってことか。それはわかる。

次回はお休みの予定です。ネタが無いので。 当初は新刊書くのしんどいから今回は合同誌で軽く書いて、次回いっぱい書きましょうと思ってたんだが、合同誌で軽くといってもそんなに精神的な負担は変わらなくてしんどかったので次こそ休みましょう。

あと普通にネタ切れだしプログラム書きたいのでな。本書くのは俺の本領じゃねえ。プログラム書かせろ。

PC壊した話

前回はPC新しくしようとしてBIOS古くしたのでなんとか焼き直したところまで書いてたんだっけ。

そのあとまたマザボを壊した。

CPUクーラーがそれなりの音をたててぶん回るし、温度もちょっと高めなのでできる限りでかいCPUクーラーに取り替えようとした。 で、いざ取り替えたらうんともすんともいわくなった。

いろいろ取っ替え引っ替えしてみたところ、どうもマザボがぶっこわれた模様。なんでー。静電気かなんかでやらかしたのかもしれん。 修理に出してもいいが時間かかるだろうし、でもマザボ買い直すのもしんどい……。どうしたもんか。

と思ったが、マザボ買うにもどうせ店行くし修理に持っていってみて、時間かかりそうなら買い直すかということに。 修理に持っていってみるとやっぱりマザボがだめっぽい。 購入から1ヶ月は過ぎてるんだが過ぎたのが数日だし店の独自保証に入ってるので交換できるかもしれんと、期待したのだが在庫無いので交換が無理だわって話だった。 当時もうB450のMini-ITXマザボはどこも品薄になってたようだ。 で修理は1ヶ月くらいはかかるってことだがどうしようもないのでお願いして、新しいマザボを買って帰った。

前のマザボはGIGABYTEだったが今度はASUS。B450にしてはちょっと高かったがそれしか売ってねえんだからもう仕方ない。X570とかなるとめちゃめちゃ高いし。 取り替えたらさすがにWindowsのライセンス認証にこけてとても困ったが電話で認証したら通ったので助かった。OSも買い直すとかなったらもうほんとやべえよ。

新しいPCはそれでやっと安定して動いてくれるようになった。結局マザボはまだ修理から帰ってきてないが、戻ってくるとマザボとAPUが余るのでもう1台PC組めそうなパーツが余っちゃうんだよな。そんなにいらねえが……。いやほんと無駄な出費しちゃっていたい。


2019-08-06

日記

PCを新しくしようとして失敗した。

PCを新しく組むべとしてパーツを集めて組み立てて無事動いたんだけど、すぐ壊した。

GIGABYTEのB450のマザボにRyzen 5 3600を載せてたんだが、マザボ付属のツールで新しいBIOSあるよって言われて入れたら、実は古いものだったのでCPUが未対応になって起動しなくなったのであった。なんだと……。 いろいろ頭悪いことやってしまったのが悪いんだが。

まず動いてるのにBIOS更新しようとしたところ。 これの言い訳としては今後アップデートすることはないだろうし、最初のセットアップ段階で最新版にしておこうという考えでやった。

次にうっかり古いBIOSを入れたところ。言い訳としては、まずサイトで今入ってるのより新しいのがあるのは確認してた。 そのうえでツールで検索したら1つ更新が出てきて、じゃあツールでポチっと入るなら……と入れてしまった。 それがまさか古いのだとは思わないだろーwwwwwwwwwwwwwwwwwwww

最後の問題はGIGABYTEのマザボ付属ツールなんぞを信用してしまったところ。GIGABYTEは初めてだったからさー。 ただドライバ検索ツールも既に入ってるドライバを新しいのあるぞって延々言ってきたり、余計なGoogle ChromeだのGoogle Driveだのを絶対入れさせようとしてきたりして、やべえ雰囲気はあったのだった。

結局なんか起動しないぞ?となってから、あれ、そういえばアップデート時に出てたバージョン番号がなんか古かったような……と思い出しで死んだのでした。

どうしたもんかと思ったが、安いAPU買ってBIOSを新しいの焼き直すのが早くて値段もそこそこで済みそうなので、APUを注文しといた。 いやこれで古いBIOS焼いたんじゃなくて単になんか失敗してたとかで起動しなかったりすると痛いんだけど。 まあ焼いた段階では成功したんで再起動してくださいって出てたし焼くのは大丈夫だったと思うんだ。

そうこうしてる間に現行PCも動かなくなった。 なんだか起動にやたら時間がかかる(画面が出るまでに数分とか下手すると15分とか)し、たまにスッとリセットしたりする。これ症状的に電源だろうなあ。でも電源は変えてから1年も経っていない。開けて見たが見た目は綺麗だしコンデンサが膨らんでたりもしない。でも症状的には電源だよなあ。

どうせ新PCが起動しないので電源を移植してみたところ問題なく動くようになった。 なんだか光学ドライブを挿してると起動画面で止まってしまうが、マザボもやばい感じなんだよな……。 とはいえ光学ドライブを外すと一応起動して安定して動くようになってくれた。

新PCは新しいAPUが届き、電源も別に買ったのが届いたので差し替えて上手いこと起動してくれた。やっぱりBIOSが古くなってたよ~。最新のを焼き直して、CPUをまたRyzen 5 3600に戻して上手く動いてくれることを確認した。そのあとBIOSアップデートツールを確認すると、やはり古いバージョンのBIOSを提示してきやがる。もう二度とGIGABYTEのマザボツールは使わねえぞ!

電源は新PC用に買ったのを現PCに移植してたんだが、そもそも新PC用のSFX電源がだいぶうるさいという問題があった。8cmファンしかついてないやつだったんだが、小口径高速回転はやっぱうるさいね……。ということで12cmファンがついたSFX-L電源に買い替えた。静かにはなったけど熱は大丈夫かなあ。

それでしばらく移行作業をしてたんだが、現PCがまた固まったと思ったらついにSSDも認識しなくなった。SATAポートが1つずつ順番に死んでいくという症状が以前からあったんだが、ついに全滅したようだ。まあ他のポートにうつしたらしれっと認識したりするかもしれんけど、どうせすぐ死にそうだしな。

だいたい移行は済んでたのでまあいいか。バックアップは常時とってあるからそこから取り出すこともできるし。 マザボ取り替えて復活させるかどうかは微妙だ。FM2+なんてマザボはもう売ってないので新しいソケットのやつにすると、メモリとAPUも取り替えないといけないしな。AM4のAPUは余ってるけど……。


2019-07-01

日記

やるべきことはいっぱいあるのに何もやってなくてやべえ。

毎年恐怖の健康診断結果が来てたけど、今年もぼちぼち気になるところはあるものの経過観察という結果で済んでいた。痩せましょう。 今年は近くの病院で受けられるようになったんだが、しかし眼底やばいはずなのに全く問題無しの結果出てて大丈夫かよあの病院。 まあ眼科は別途定期的に視野検査受けてるからいいんだけどさ。眼科の検査も今のところまだ大丈夫だったのでよかった。

次回の技術書典はどうしようかと思っていたが結局申し込んだ。 一冊書くのはしんどいが新刊無しもアレなので本当に薄い本を書くかと思って、じゃあどうせなら誰かといっしょに合同誌にでもすれば厚みも増すなと募集してみたところ数名参加してくれそうだったのでそれで申し込んだ。 まだ受かるかどうかはわからないが、会場の広さも倍ということでそうそう落ちはしないだろう。 薄いとはいえもう2ヶ月しかない。そろそろ書き始めないとなあ……。


2019-06-28

日記

やるべきことはいっぱいあるけど気力と体調が追い付かない。

暑くなったり寒くなったりでひどい。どっちかというと寒い方がいいんだけど天気予報が暑い方向に裏切られていく。 しかし夜はだいぶ涼しいのに日が昇ると一気に暑くなるからしんどいな。

GPLとChromiumがやばい

PeerCastStationは元のPeerCastがGPLだったのもあって1引き続きGPLにしてんですよ。バージョンは3にしたけど。

今GUIはHTML版とWPF版の両方があるんだけど、両方作っていくのが非常に大変なのでHTML版に統一したい。 そしてGUI的なのはHTML版を表示するだけのウィンドウみたいなのにしたいと思ったんですよ。

HTMLアプリをホストするならNW.jsかElectronかだろうということで検討してたんだけど、別件でElectronのライセンスを確認することがあってどうもChromiumのライセンスが相当めんどいということに気付いてしまった。

Chromium自体のライセンスはまあ大したことないんだけど2、依存しているOSSのライブラリがやばい。 気をつけてるらしいのでGPLこそ入ってないが、LGPL3が入ってたり3Ms-PLが入ってたりApple Public Source License 2.0というのが入ってたりする。こいつらがやばい。

GPLを適用したプログラムを配布する時には、全体をGPLで配布しないといけない。依存するライブラリも含めてね。 でもMs-PLだのApple Public Source Licenseだのは、同じライセンスのまま配布しないといけませんよっていう条件が付いている。つまりGPLとして再配布はできなくて、FSFもこれらはGPLと互換性がない(GPLのプログラムと混ぜて使えない)ライセンスですよと言っている。

なのでChromiumのコンポーネントを使うNW.jsやElectronでGPLのプログラムを組み込んで配布するのはライセンス的に無理なのであった。あばばば。

ちなみにMSは自社OSSに独自ライセンス使うのをもうやめていて、既存のものはともかく最近のやつはほぼ全部ApacheライセンスとかMITライセンスとかの表示すればいいだけのやつで、GPLとも互換性ある。よかった。

他になんとかなるもの無いか探したけど、現代的なWebブラウザコンポーネントを使うようなのは商用かでなけりゃChromiumベースのものばっかりだ4。 WebKitも見てみたがWindows版はビルド大変そうだし、やっぱりAppleのOSSライセンスが含まれてるのでGPLとの互換性が無理そう。 WindowsならEdgeのホストするやつでもいいんだが、Windows 10の1809以降のみなので動作環境が厳しすぎる。それ以外がIE11って……。IE11で動くのも作れないわけじゃないが細かいところで対応してない機能がしれっと出てくるからめんどいぜ。

ということでほぼ諦めていたんだが、.NET FrameworkでFirefoxのエンジンをホストするGeckoFXてライブラリを発見した。FirefoxってXulRunner廃止してからエンジンとしてホストできるもんじゃなくなったと思い込んでたけどそうでもなかったんだ! Firefoxはライセンス的にGPLと互換性ある(わざわざGPLやLGPLでも配布できるトリプルライセンスになってる)し、そのせいもあって当然GPLと非互換なOSSを使ってたりもしないようだ。 これなら使えそう。

GeckoFXをちょこっと試したところ、手軽に使えていい感じだったのでこれでいいかもしんない。HTMLホストしかしないからElectronとかNW.jsみたいにシステムとやりとりする部分は自分で作らないといけないのが問題か。ドキュメントはあんまりないから拡張方法なんかはソース見て調べないといけないが、まあなんとかなるでしょう!

いろんな物がオープンソースになってる今日このごろだけど、ライセンスはほんと難しいなあ。みんなも気をつけてほしい。

  1. 一部C#にほぼ移植したコードがあることもあって 

  2. よく覚えてないがMITとかApache 2とかのCopyrightとライセンス文表示すればいいですよ系だと思う。 

  3. いやPeerCastStation的にはLGPL3は問題ないんだけど、組み込みで使うのは難しいライセンスなので仕事で使おうとして回避したってだけ。まあ同じようなこと考えたひとは気をつけてください。 

  4. Qtのブラウザはどうなってんのか見たら今はChromium使うようになっているようだ。しかしライセンス文見るとMs-PLとかもそのまま残ってるんだけどGPL版のQtでもそれ本当に大丈夫なの? 


2019-06-14

日記

しばらく書いてなかった。

実はGW空けに書いてはいたんだけど、写真を上げようと思ったが上げる手順が面倒なことになっちゃってて上げるタイミングを失っていたら放置になってしまっていた。 まあ大した写真じゃねえからなくてもよかったんだが……。

あとは最近なんだか疲れてるので書く気にもならんかったっていうね。 生活時間が乱れまくってたせいで、戻しつつあるからそろろなんとかなってほしい。

他は特に書けることもないな。なんか時間が無い気はしてるのに何もしてないって不思議だ。何して生きてんだろな。


2019-04-24

日記

最近TRPGづいてる。

いろいろあってここ最近オフでTRPGやることが多くて楽しい。 SW2.0やったりPathfinderやったり。プレイヤーで。

Pathfinderは初めてやって、D&Dもほぼやったことなかったんだけど普通によく出来てて面白かった。 ビギナーボックスだかなんだかのシナリオをやったんだけど、シナリオもよく出来ててすごい。 ちょっとバランスが易しめだったけど。 プレイヤー3人で大丈夫かなあと思ったんだが全然大丈夫だった。 というか俺はウィザードを選んだんだが、ほぼ役立たずだったので2人でも行けるんじゃねえかくらいだ。

いくらなんでもウィザード弱すぎじゃねえのと思ったけどレベル1だとそんなもんかなあ。 既製のキャラクターで攻撃魔法が2つ選ばれてたんだけどダメージ低いし、スリープとかの補助魔法の方が便利だったのでは?

判定がd20なのは幅がでかすぎておっかねえなと思いました。

あとGW開けにはSW2.0のマスターもやらんといかん。まあシナリオは既製のやつだしちょろっと軽いプレイなんでそんなにしんどくもないが。

オンでもまたやりたいなあ。オンラインセッション用のツール探さないと。作り始めるとまたやらなくなっちゃうので……。


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