蔵王キツネ村探訪2017/9/16

大分前になってしまったがきつね村に行ってきたのでひたすらもふい写真を貼る。

f:id:ponkotuy:20170916101635j:plain

入口。檻が無い…というより檻の中に入れる動物園なので、色々免責事項が多い。

f:id:ponkotuy:20170916102212j:plain

入口の安全地帯(突然キツネに攻撃されない的な意味で)にはうさぎとかヤギとか馬がいる。

f:id:ponkotuy:20170916102354j:plain

f:id:ponkotuy:20170916102407j:plain

f:id:ponkotuy:20170916102550j:plain

f:id:ponkotuy:20170916102422j:plain

f:id:ponkotuy:20170916102510j:plain

f:id:ponkotuy:20170916102633j:plain

f:id:ponkotuy:20170916102716j:plain

f:id:ponkotuy:20170916102834j:plain

こっから先はキツネが生息するだだっぴろい空間。

f:id:ponkotuy:20170916103236j:plain

f:id:ponkotuy:20170916103200j:plain

f:id:ponkotuy:20170916103250j:plain

f:id:ponkotuy:20170916103345j:plain

f:id:ponkotuy:20170916103132j:plain

f:id:ponkotuy:20170916103436j:plain

f:id:ponkotuy:20170916103530j:plain

f:id:ponkotuy:20170916104157j:plain

f:id:ponkotuy:20170916103754j:plain

f:id:ponkotuy:20170916103639j:plain

f:id:ponkotuy:20170916104220j:plain

f:id:ponkotuy:20170916104306j:plain

f:id:ponkotuy:20170916104452j:plain

f:id:ponkotuy:20170916104536j:plain

f:id:ponkotuy:20170916105005j:plain

f:id:ponkotuy:20170916104411j:plain

f:id:ponkotuy:20170916105119j:plain

f:id:ponkotuy:20170916111311j:plain

放し飼いにされていた子山羊

f:id:ponkotuy:20170916111845j:plain

f:id:ponkotuy:20170916111715j:plain

f:id:ponkotuy:20170916112301j:plain

f:id:ponkotuy:20170916112507j:plain

f:id:ponkotuy:20170916111929j:plain

おしまい。入場料1000円でそこそこリーズナブルだけど場所が本当にひどいところにあるので新幹線代金とレンタカーorタクシー代を片手に来訪されることをお勧めする。

なお私は現地でタクシーを駆使して色々行くつもりだったのだが、残念ながらお金を引き出さずに蔵王高原に入ってしまい、泣く泣く歩いてキツネ村から駅まで戻りました。

そこらへんの顛末はTwitterでどうぞ

twilog.org

FactorioRecipeリリース

FactorioRecipeというFactorioの組立機の比率や材料の数が分かるツールを作りました。

FactorioRecipe

まぁ良くあるFactorioのアイテム作成チェーンを見るツールの1つなわけですが、最大のウリはゲーム内のluaファイルを直接読む機能が付いているので、特に面倒なことしなくても最新版に追従できるという点です。ので、現在α版のv0.15に対応していて、今後も速攻対応できる感じです。自動化サイコー。

Factorioは不時着した未知の惑星で工場を作るゲームで、プログラミングみたいにどんどん自動化を進めつつ、高機能かつ複雑なアイテムを大量に作っていくのが面白いです。

まぁこれ見るのが早いと思います

www.youtube.com

サーバサイドのアプリケーションはScala + Playframework、DBはPostgreSQL。View側はCoffeeScript + VueJS。インフラは自宅サーバのArchLinuxの上のDockerで動いてます。

今までやったことが無いのはLuaの読み込みですが、最近使ってる言語はリッチなものばかりなので面倒くさかったですね。あとJavaからLuaを実行できるluajのLua内オブジェクトをJavaのオブジェクトに割り当てる機能も貧弱で厳しい。

あと今回は初めてPostgreSQLを使いましが、やはり色々設定まわりとか違うので最初は手間は掛かりますね。ただ`create table`でもtransactionが効くので、開発中のmigrationテストで失敗してもロールバックされて、DB修復しなくていいのは楽ですね。(MySQLにはこの機能が無い)個人的にPostgreSQLを使うモチベで最大のものはMaterialViewですがまだ試してないです。そういえばcreate table内でunique indexとか張れない気がしたけど何か間違ってたかな。謎

CrucialのSSD(MX300) 525GB買った

仕事マシンは自作PCになることが多い。(これは大体ぼくの我侭が原因であって会社のPC支給に問題があるわけではないのだが)そのPCのSSDが壊れたらしいのでアキバに買いに行ったときの話。

購入したいSSDはどちらかというと安定性重視のSATA接続のやつ。とはいえ鯖用の高いのを買う気はないので、コンシューマ向けで評判良さそうなの買えばいいかな、ぐらい。多分必要な容量は100GBだと思ってて、ただ最近はSSD安いので200GBぐらいでいいかなぁみたいなノリでアキバへ。

んでSSDのメーカーどこがいいのかTwitterに聞いてみたら、やっぱりIntelの評判が良くて、次点でPlextorSamsungあたりだろうか。実際手元にあるSSDもそこら辺が多い。壊れたSSDIntelなのが気掛りだけど、まぁIntelかなぁと思いつつ物色。

ところが、実際の店舗に行ってみるとIntelSSDはほぼ全部品切れになっており、Plextorも在庫無さそうという感じ。Samsungはちょいちょい在庫ある、とかそんなんで、大体どの店もADATA、Trancend、CFD、WesternDigital辺りを売れ筋にしたい(せざるを得ない?)感じだった。Twitterで聞いてた感じと随分違うので戸惑ってかなりウロウロしてた。

ただ色々考えてみると、安物が売れ筋になる商品って、大体どのメーカでもスペック十分で安定してる状態なのでは、と思ったのが1つある。

SSD黎明期、HDDよりランダムアクセスがアホみたいに早くなるので、かなり高いけど下手にCPU買うよりよっぽどいいぞ、とかSDカードをn枚でRAID0した方が安い!とかアホみたいな事をやってた時期は、実はマトモに動くSSDが殆ど無くて、プチフリが多発していた。ので、「SSDのあのメーカー・コントローラはプチフリしずらいぞ」っていう情報はすごい飛び交っていた。

そんな頃にSSDを5〜10台調達したぼくの脳味噌はその時の気持ちがあまりアップデートされておらず、Twitterでオススメされた商品が、店だとそれが少数派だったという状況に、時代の変化を感じたわけである。

冷静に考えてみると、SSDはここ4年以上ずっとSATA3.0の6Gbpsがネックになる時代が続いており、スペック上がりようがない上に、ハイスペックなやつはM.2やPCIeに移行しており、USBメモリみたいな、容量さえあればいい、みたいな市場になっていたのである。つまり安いのでこまらん。好きなメーカーを買えというわけだ。

あとIntelは付加価値の高い商品しか扱わないから実態としてほぼ撤退してるんだろうな、という感じ。実際スペックで高付加価値付けられるM.2やPCIeではまだ人気だ。

というあたりがCrucialを買った理由である。容量の割に安いのと、流石にTrancendのSSDはなーとか思ったとか、Twitterで勧められたのもある。(あとSATAの限界内でも速度というのは無いでない)

100GBで十分な人間が525GBにした理由も説明しておこう。ぼくの環境、稼働率の高いPCで大変SSDが壊れやすい。単に使い方がハードなのかなーと、今まであまり気にしてなかったのだが、容量に余裕が無いとSSDは壊れやすい、という指摘を食らうまでウッカリ忘れていた。

これも昔から言われていたんだけど、SSD高いのでぽんこつさんは低容量な奴買うことが多くてカツカツになってることが多かった。SSDを使い切るのが良くない、というのは昔も今もあんまり変わってないらしい。

つまりすぐに壊れて欲しくないのであれば、信頼性の高いメーカーにお金を払うのではなく、容量にお金を払うべきだ、というのが結論である。適当なメーカーでもいいので大容量品を買うべきなのだ。最近のPCはついウッカリ50GBとかぐらいなら消費してしまうので、500GBぐらいまでなら容量増やした方が良いことが多いとおもう。

余談だが光学ドライブも買った。最初8000円のが目に付いてそんなもんだよねーと思ってあまり気にしなかったのだが、下の方に2000円の光学ドライブがあって「ファッ!?」ってなった。これDVD非対応なドライブかと一瞬思ってしまったが勿論そんなことはなかった。8000円の方に目線戻したらBD対応で、BD対応ドライブのあまりの安さに眩暈がした。光学ドライブとか5-6年買ってないからね…。

ちなみにぼくはBDドライブの購入はお勧めしない。BD(それはGB単価でHDDより高い)にデータを焼くことはもう既に無く、使うとしたらブルーレイのアニメぐらいだろうがあれは馬鹿にみたいに高い再生ソフトを買わないと見ることはできない(そして往々にして不便である)。ましてそれがLinux対応なんて望むべくもない。素直にPS3で再生するなりTVに繋ぐ専用の再生機(それならなんと5000円で買える)を買おう。

VAIO ZでArchLinuxが動いた話

はじめに

VAIO ZでLinuxが動かなかった話 - ponkotuyのブログ

の続きになります。なんとか動きました。

何がわるかったのか

詳しくは分からないけど、EFIだと4.7.6以降のKernelでブートしなくなるのが問題のようです。

VAIO Z で Arch LinuxとWindows 10をデュアルブートする - Qiita

ArchLinuxをインストールした - ふれめも

きちんとコメント含めて読んでいくと書いてありますね。ちゃんと読め。

補足

基本的には2つのリンク先のようにやれば良いです。ただし彼等は既にインストール済の状態で問題に遭遇しているため、最初から問題ありKernelでやらないといけない場合補足が必要です。

まず先にも問題になっていたKernelの問題はarchisoにも適用されます。つまりインストールに必要なarchisoがブートしません。なのでインストーラブートローダが起動したらまずeを押して起動オプションを変更します。最後にnoefiを付けるだけです。この状態であれば起動します。

勿論この状態でefivarsなどを参照してもEFIモードではありませんが、普通にsystemd-bootをEFIで起動するように設定することはできます。私はWindowsEFIパーティションをそのまま流用してブートできました。勿論このときもnoefiを付けるのを忘れずに。

ちなみに`bootctl install`した際、エラーが出てこまりましたが、エラー放置して進めても全く問題はなかったです。ここは今でも良く分かってないです。

最後に

TwitterFacebookでアドバイスしてくださった方々ありがとうございました。

VAIO ZでLinuxが動かなかった話

補足:動きました

ponkotuy.hatenablog.jp

VAIO ZにArchLinux(+試しでUbuntu)をインストールしたいんだけど、うまくできなくて大変こまっているので、とりあえず纏めて、教えてもらおうと書いてる。

VAIO Z で Arch LinuxとWindows 10をデュアルブートする - Qiita

構成が大変良く似ているので(マシン構成の違いで問題になりそうなのはキーボードのみ)、この記事はかなり参考にしたが、全く書いてないところで引っ掛かっており大変困惑中。

UEFIモード

VAIO ZにはUEFIモードとBIOSモードの2つがあるが、とりあえずUEFIモードで。Secure Bootはdisableにし、USBブートとenableにした。ブート順序をUSBブート→ディスクブート→Windowsブートの順にしてある。

  • ArchLinux(2017/1/1)のisoをddしてUSBメモリにコピーしたやつ
  • UbuntuServer 16.10のisoをddしてUSBメモリにコピーしたやつ
  • ArchLinuxのisoをDVDに焼いたやつ
  • UbuntuServerのisoをDVDに焼いたやつ

の4つを用意した。

上2つのUSBメモリでは、中にあるbootloader的なものは起動してメニューは出てくるが、そこからinstallを選択しても何も出てこない、という問題が発生した。USBメモリアクセスランプも見てみたが、すぐにアクセスが止まってしまう上、10分ぐらい待っても特になにもなかったので、落ちてるんだと思う。

下2つのDVDでは、同様にbootloaderは起動し、installを選ぶとすぐにエラーがでて止まる。

上記URLでは高速スタートアップを切ると良いと書いてあるので試してみたが、症状は特に変わっていない。ただし全パターンやり直した訳ではないので漏れがあるかも。

PXEも試そうとしたが、USB接続の有線LANではUEFI起動時にアクセスランプが付かないのでドライバが無いんじゃないか、という話である。

先の起動メニューにおいてnoefiオプションを付けて起動した場合、問題なく動いた。

BIOSモード

BIOSモードでは問題なくインストールできる。ただしGRUBのインストールができない。(Ubuntu、Arch両方)調べたらNVMeだとGRUBは動かないそうで、UEFIを重点的に調べることにした。最悪USBメモリGRUBぶっ込んで解決というのも考えてはいる(最終手段)

という状況なので、追加で聞きたいこととか、こうすればいいんじゃね、とかあれば教えてください(土下座

近況報告

Twitterに書くには長すぎるのでHatenablogで。

転職決まりました。2/1付けで新しい会社に行きます。今日から有給消化で休みに入ってます。(私は休みデース!画像略

新しい会社は何故かScalaではなくRailsの会社なので、当面はRuby書いてると思います。最早型の恩恵は受けられないのだ…。というかこんなブログ書いてる暇あったらRuby書け。

新しい会社が家賃補助あるということなので、1月中に引っ越ししようと、1日で部屋を決めて部屋が確定する前に解約通知書を出すとかいう、エクストリーム引っ越しになってます。やばい。というかこんなブログ書いてる暇あったら書類書け。

※追記:1日で決まったかと思ったら先越されたやばい

たまには話しようとか新しい勤務先の話とか今の勤務先の話が聞きたい人は個別に御飯食べに行きましょう。自分の恥をさらすだけな気もするし、話のネタにもならん気がするけど。

あと転職祝いくれる人はこちらへどうぞ

http://amzn.asia/dFL0c0X

中古でも全く気にしないタイプです。

Power Grid: Factory Manager

概要

この記事は ボドゲ紹介 Advent Calendar 2016 - Adventar の23日目です。Factory Managerの面白いところを適当に紹介していきます。

f:id:ponkotuy:20161221231448j:plain

※去年は 新電力会社デラックス紹介 - ponkotuyのブログ でしたがフリードマン・フリーゼの信者でも回し者でもありません!たぶん!

ゲームの目的

このゲームは最終的に最も所持金の多い人が勝ちです。ゲームの名の通り、工場マネジメントをして製品を大量に生産し、お金を稼ぎます。

生産力

このゲームでは、実際の収入は倉庫と生産力の低い方で決まります。つまり、いくら製造能力を高めても、倉庫がなければどうしようもないことがわかります。ターン終了時に1当たり10エレクトロ手に入ります。

f:id:ponkotuy:20161221231821j:plain

下はその倉庫容量の増える倉庫タイルで、1ずつ増えるが3つで合計3です。上の人が2人ずつ置いてあるのが機械タイルで、それぞれ1ずつ生産力が上がります。

タイルを購入・使用するには以下のようなコストがあります。

  • 購入費
  • 工場スペース
  • 電力
  • 労働者

購入費はその通り、工場タイルを購入するのに必要なお金、エレクトロです。この5つは最初からあるので0ですが、購入できるタイルには価格が設定されています。

工場スペースは1タイルにつき1消費する隠れたコストです。工場には最初から10マスあり、10エレクトロ払うと追加で1つ増やせるマスが2つあります。他に電力制御装置、機械制御装置専用のマスが1つずつあります。これらはここにしか置けませんし、他のものを置くこともできません。

電力は使った分だけターン終了時に電気代を払う必要があります。

f:id:ponkotuy:20161221231855j:plain

最初は1エレクトロなのでガンガン電力使ってもあまり問題ないですが、ゲームによっては最大8エレクトロまで増えます。電力効率の悪い機械は動かさない方がマシとか起こりえます。

労働者は基本7人、最大2人まで、1ターン1人あたり7エレクトロで増やすことができます。工場タイルの購入などにも労働者が必要なので、設備に割り当てる労働者はあまり増やしたくないところです。

電力と労働者コストは、タイルでは赤が上昇、緑が減少として示されています。

工場タイルの種類

生産力を上げるための工場タイルには6種類のタイルがあります。

f:id:ponkotuy:20161221231902j:plain

タイル供給ボードです。これだけの種類の工場タイルがあります。

f:id:ponkotuy:20161221234703j:plain

いくつか撮ってみました。左から順番に説明しましょう。

機械

生産の主力となるタイルです。生産力を上げる代わりに人と電力を大量に消費します。

工作ロボット

電力を消費して大きく生産力を向上させます。機械より効率が良いです。ただし、歯車シンボルのあるタイルは機械タイルを1つずつ必要とします。機械タイルよりも多くのロボットタイルを動かすことはできないということです。

操作ロボット

電力を消費して労働者コストを大幅に下げます。こちらも歯車シンボルのあるタイルです。

倉庫

倉庫容量を増やします。

機械制御装置

生産力は上げつつ、労働者コストと電力コストを減らすことができます。優秀ですがコストが高く、1つしか置くことができません。

電力制御装置

特に電力コストを大幅に減らすことができます。こちらも同じく1つしか置けません。

 

これらのタイルをうまく組み合わせて最適な工場を作っていきましょう。

フェイズ1:順番決定

ターンの最初にプレイ順番を決めます。

f:id:ponkotuy:20161221234517j:plain

数字が小さいタイルを持っている人ほど先にプレイできます。一方で数字の大きいタイルでは工場タイル購入時に金額ボーナスが付きます。

タイルはオークションによって決めます。オークションでかけるのはお金ではなく労働者です。つまり労働者コマに余裕があれば順番を自由に決めることが可能ということです。

フェイズ2:市場の準備

先のタイルの順番に市場を準備します。市場とは購入可能なタイルの山で、タイル供給ボードから、手元に余っている労働者の数だけ市場にタイルを出します。ここで出たタイルのみ次のフェイズで購入して設置することができます。

フェイズ3:購入設置破棄雇用

工場を実際に強化できるフェイズです。先で用意した市場から、順に手番を実行していきます。手番はA->B->C->A->B->C…という順番で、全員がパスするまでやります。

このフェイズでできることは

タイルの購入

労働者を1人使ってタイルを購入します。必要なコストは、タイルのコストに先の金額ボーナスを引いたものです。購入したものはそのまま設置できます。追加スペースにそのまま設置することもでき、そのときは追加で10エレクトロを支払います。

タイルの破棄

工場に設置してあるタイルを、労働者1人使い破棄します。

季節労働者の雇用

季節労働者を2人まで雇うことができます。この時のコストは金額ボーナスが適用されます。(重要)これはターンを消費する行動なので季節労働者使ってなにかをすることはできますが1順後です。

フェイズ4:稼動状態の変更

工場の稼動状態を変更します。ボード上のタイルに合わせてコストを変更します。動かしたくないタイルがあったらマーカーを置いて動かしてないことを示します。

このフェイズの後、電気料金の更新を行い、収入と電気料金の支出を行います。電気料金を見てから稼動状態を変更することはできないということです!

この4フェイズを5回繰り返して最後に所持金の多い人が勝ちです。ちなみに最後のフェイズは収入が倍です。

おもしろいところ

基本は拡大再生産のゲームなのですが、コストが比較的厳しいので単純に増やせば良いという訳でもないのが難しく面白いところです。限られた市場タイルから、高い生産能力を持ちつつもできるだけコストの安い工場を作り上げていく必要があります。

特に人数が増えるとプレイ順番が非常に重要な意味を持ち、5人にもなるとちょっとしたミスが致命的になる(製造力上げたのに必要な倉庫を先に買われて死、とかが想像されます)と作者のフリードマン・フリーゼは言ってます。そんな人数でやったことないけど!