「VI」を含む日記 RSS

はてなキーワード: VIとは

2023-01-15

今どきデスクトップLinuxを使うとか意味わからん

プログラミングだったら今やWindowsmacでも、超快適な環境を超簡単セットアップできる。

からLinuxで開発環境を構築する意味は全くない。

昔ながらのviemacsが、現代的な開発環境より使い勝手に優れるとか絶対にありえないし。

それにLinuxなんてプログラミングどうこう以前に、MSOfficeもPhotoshopも使えないじゃん。

ああ、代替ソフトの話は要らんから

こっちが問題にしているのはあくまでMSOfficeやPhotoshopが使えないことなので、完成度低すぎな「なんちゃって代替ソフト」があっても全く解決にならない。

あと、Linuxオープンソースというのは確かに特徴っちゃ特徴だけど、果たしてデスクトップLinuxユーザに、OSオープンソースプロプライエタリかが問題になるレベルで使っている人間がどれほどいるのかっていう。

そうなると結局、デスクトップLinuxユーザというのは今も昔も

あるいは

が占めているという結論OK

これまんまAndroidユーザと被る時点で笑ってしまう。

あっちもディストリビューションごとの違いよろしく機種ごとに違いがありすぎて、問題解決ハードルを高くしているし。

2022-12-16

アーマード・コアシリーズをよく知らない人に紹介する

アーマード・コアシリーズの新作、ARMORED CORE VI FIRES OF RUBICON が発表された。

この10年近くずっと新作を待ち続けていたので本当に楽しみだし、たくさん売れて評価されて、今後も新作が出続けてほしい。

そこで、アーマード・コアをよく知らないけど少し興味がある、という人に向けてシリーズの紹介をしたいと思う。すでに同じような記事が出ているけど、こういうのはいくつもあって良いだろう。

どういうゲーム?

3人称視点3Dアクションゲームで、プレイヤーアーマード・コアAC)と呼ばれるメカロボット)を操縦して戦う。公式にはジャンルは「3D戦闘メカアクション」とされている。

ゲームとしてのアーマード・コアゲームに出てくるメカとしてのアーマード・コア区別するために、以下ではメカの方をACと書くことにする)

ACはコアと呼ばれる胴体を中心に、頭、腕、足(人型以外にも色々な種類がある)や武器動力源のジェネレーター、高速移動用のブースターなど様々なパーツを組み合わせて完成する。完成済の機体の中から選んで操縦するのではなくて、たくさんあるパーツの中から自分で選んで組み上げた(アセンブルした)機体を操って戦う、というところがこのシリーズの大きな特徴。

主人公プレイヤー分身名前自分で決める)は金銭を対価に依頼を受けて戦う傭兵で、色々なミッションをこなして金を稼ぎ、稼いだ金でパーツを購入して機体を強化し、また次のミッションに向かう…というのがゲーム基本的な流れ。ミッションの他に、AC同士の一対一の対戦で賞金を得られるアリーナがある作品も多い。

どういうところが面白い?

先日公開された IGN のインタビューhttps://jp.ign.com/armored-core-6/64541/interview/armored-core-viから宮崎氏の言葉引用する。

ARMORED CORE VI』の開発がどういう形で始まって、どういう狙いがあったかというと、まずは「ARMORED COREシリーズ従来のコアコンセプトである自分の機体を自由カスタマイズできるアセンブルと、それを自由に動かせることになります

アーマード・コアの核となる部分はまさにここなんだけど、これだけだと未経験者はイメージできないと思うので、もう少し詳しく説明する。

前提として、ACのパーツには「これを選んでおけば最強」というもの基本的にない。どのパーツにも個性があって、選んだパーツやパーツの組み合わせによって機体の動きの特性や得意な戦い方が大きく変わってくる。

防御力の高い機体で真正から敵と撃ち合っても良いし、動きの速い機体で敵を翻弄しながら戦ってもいい。遠くから狙撃するスタイルの機体を組んでもいいし、近接武器メインの機体で敵を切り刻んでもいい。

ミッション一つ一つにも機体の向き不向きがあるので、攻略するために状況に合わせて最適なアセンブルを考えていくことも必要になってくる。もちろん、自分の考えた最強の機体で最初から最後まで戦い抜いても良い。プレイヤーごとに様々なスタイルがあり得るし、様々な遊び方がある。

また、ACアセンブルではただパーツを選ぶだけでなく、機体を好きな色に塗装したり、エンブレムを貼り付けたり、名前を付けたりと、機体の性能に関わらない部分まで細かくカスタマイズすることができる。そうやって隅々までこだわって完成したAC自分だけの唯一無二の機体で、そしてそれを自由に操って戦場を駆け回ることができる。これがとても楽しく充実感があって、他のゲームでは代えがたい魅力だと思う。

シナリオクリア後には全てのミッションを再度プレイできるようになるので、最初ガチガチ攻略用機体でさっさとクリアして後から好きな機体で趣味に走ってもいいし、クリア後はひたすら他のプレイヤーとの対戦に没頭しても良い。

一周クリアたからもう遊び尽くした、おしまい、とはならないのもこのシリーズの特徴だ。

こういう戦法で戦いたい、好きな武器を撃ちまくりたい、見た目がかっこいい機体で戦いたい、他作品に出てくる好きなロボットに似た機体を作りたい、操縦が難しい機体を上手く乗りこなしたい、あえて自分制限を加えて縛りプレイを楽しみたい、他プレイヤーとの対戦に勝ちたい、などなど、色々な遊び方にアーマード・コアシリーズは応えてくれる。そこが本当に面白くて楽しい

ソウルシリーズに似てるの?

これに関してはすでに IGN のインタビューでも語られているが、大前提としてソウルシリーズアクションRPGで、アーマード・コアシリーズ戦闘メカアクションだ。

基本的操作方法から世界観に至るまで全然違う。飛び交うのは矢や魔法ではなく銃弾レーザーだ。とはいえ、同じフロム・ソフトウェアが作っているのでフロムゲーに共通する要素は見られるし、ゲームシステムにも似通った部分はある。

例えば、ACアセンブルソウルシリーズキャラメイクと似ていると言えるかもしれない。

キャラクターが装備する防具のようにACにはフレームパーツ(頭、コア、腕、足)があるし、剣や弓、魔法祈祷ACでは武器パーツになる。ソウルシリーズキャラビルドを突き詰めるのが好きな人はきっとACアセンブルも楽しめるだろう。

キャラメイクの際に外見にこだわり抜いた経験がある人はACカラーリングエンブレム作成にハマるかもしれない。

もちろん異なる点もあって、例えばアーマード・コアシリーズにはレベルアップの概念がない。同じアセンブルの機体は常に同じ性能で、レベルアップするのは操縦するプレイヤーの腕前だけだ。

この他にもシビア世界観や多くを語らないストーリーテリングといったフロムゲーによく見られる特徴があるが、挙げていくときりがないのでこのくらいに。

シリーズ作品がたくさんあるけど最初から全部触れないと駄目? 過去作をプレイしていないと新作のVIを楽しめない?

そんなことは全くないので安心してほしい。シリーズが長く続く中で世界観ゲームシステムが何度かリニューアルされていて、分類すると以下のようになる。

系列が異なる作品ストーリー上のつながりは無いので、例えば3系だけプレイしても十分に楽しめる。(初代系と2系のように一部世界観がつながっているものはあるが、ストーリーを追いかける上では知らなくても問題ない)

なお、ここに挙げたのは据え置きゲーム機のタイトルのみで、他に PSP携帯電話スマホ以前のガラケー)向けのタイトル存在する。

新作のACVIでは世界観からゲームシステムまですべて一新されることが(今出ている情報だけからでも)分かっているので、シリーズ経験者もVIからプレイヤースタートラインは横並びになる。VIから始めても全く問題ないはずだ。

とはいえシリーズ全般通用する基礎知識というものはある程度存在するし、過去作も面白いので気になったらぜひプレイしてみてほしい。

過去作をプレイしてみたい。どこから手をつければ良い?

ぜひプレイしてみてほしいと書いたものの、残念ながらどの作品動作するハードが旧世代機になってしまっているので、2022年現在だとそもそも過去作をプレイする環境を用意するのが難しくなってしまっている。

手元にある(あるいは手元に用意できる)ゲーム機で遊べるタイトルおすすめ。機種別だと、最初シリーズに触れる作品としては

個人的おすすめ。これに限らず気になった作品から手を付けても大丈夫だけど、同じ系列の中で後発の作品は前の作品プレイしていることを前提に難易度調整されていたり、前の作品ストーリー上のつながりがあるものがある。

そのため、3を飛ばして3SLから始めたり、NX飛ばしてLRから始めるのはあまりおすすめしない。(ストーリーに関しては作品ごとに単体で完結するので、その点は安心してほしい。ただ、同じ系列の中であれば前作をやっておいた方が後の作品をより楽しめる)

ちなみに、PlayStation の初代アーマード・コアは古い作品なので今遊んでも面白くないかというと、全くそんなことはない。

アーマード・コアというゲームの基本はシステムの面でも、世界観の面でもほぼ全てこの1作目の時点で完成しているので、古いゲーム故のグラフィックの粗さが問題ない人はぜひ触れてみてほしい。

最後

ここまで読んでくれてありがとう。いつかどこかの戦場出会えることを楽しみにしている。

2022-12-14

登山道具貧弱でも死んでない理論、本番サーバーログインしてvi設定ファイル書き換えて再起動していた頃を思い出した

2022-11-22

Civilization VI徳川家康実装されたみたいだけど

なんかうまく動かない

2022-11-11

Excel寿命もあと10

Excel作業効率化する”関数”まとめ

https://b.hatena.ne.jp/entry/s/news.mynavi.jp/article/20221110-wadai6/

例えば今の中高生はこの結果画面をみて「小汚い」って思うと思う。

インターフェース計算が一緒なんだよね。

Excel寿命もあと10年ってことろだろうな。

いずれCOBOLとかViとかVisualBasicみたいになっていくのだろう。

2022-11-08

anond:20221108234730

Khát vọng chân thành về một nền hòa bình quốc tế dựa trên công lý và trật tự, nhân dân Nhật Bản vĩnh viễn từ bỏ chiến tranh như một quyền chủ quyền của quốc gia và việc đe dọa hoặc sử dụng vũ lực làm phương tiện giải quyết các tranh chấp quốc tế.

2022-08-25

猫も杓子もStable diffusion

単なる車輪の再発明メモ

M1 pro Macにて。ここ参照:https://github.com/magnusviri/stable-diffusion/tree/apple-silicon-mps-support

git clone https://github.com/magnusviri/stable-diffusion.git

cd stable-diffusion

git checkout apple-silicon-mps-support

conda env create -f environment-mac.yaml

うまくいかないのでRustをインストール

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

conda activate ldm

mkdir -p models/ldm/stable-diffusion-v1/

https://huggingface.co/CompVis/stable-diffusion-v-1-4-original から`sd-v1-4.ckpt`をダウンロードして、

ln ~/Downloads/sd-v1-4.ckpt models/ldm/stable-diffusion-v1/model.ckpt

以下のパッケージを追加した。https://twitter.com/hevohevo/status/1562364961481162754?s=20&t=KxNXNB9fz99fbosZ8TfnvQ を参考に。

conda install onnx

pip install invisible-watermark

それで実行

python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms

するとエラーになる。https://qiita.com/hevo2/items/e646148a05118074fecf に従い、下記ファイルの2511行目を書き換え。

vi /opt/homebrew/Caskroom//miniforge/base/envs/ldm/lib/python3.10/site-packages/torch/nn/functional.py

2022-08-20

OSSWeb系のはしり

オープンソースソフトウェア(OSS)は、ソフトウェア開発でも長い歴史を持ち、なおかつかなり個性的な特徴がある。

ざっと挙げるなら

こうしたコミュニティからまれてきたソフトを最も多用しているのは、他ならぬWeb系だろう。

サーバサイドプログラミングが中心になることからLinuxを触る機会も他の開発系に比べて格段に多いだろうし。

結果、「UNIX哲学」とかGNU歴史とか全く意識せずとも、こうした活動を通じていつの間にかOSSエッセンスを身に着けた人が、Web系には少なからずいそう。

その意味では、OSSがどういうわけか今のWeb系の礎になってしまったという意味で、タイトルに書いた通りになっているのかなーと。

2022-08-19

エンドレスエイトVI

今日は第17話「エンドレスエイトVI

市民プールに向かうため自転車に乗るシーンが簡略化されていた。

ハルヒ水着がやや露出多めだった。

古泉既視感ムムッの描写がショボい。古泉、やる気ないのか?

夜の公園古泉やっぱりやる気ないでしょ。w

キョンタンクトップ姿がやたらと脳裏に残った回。

2022-08-12

なんでそんなにコマンドラインを目の敵にするんだか

anond:20220811155256

↑を書いた元増田ですが、VBの話から派生した話で、やたらコマンドライン(以下CLI)を使った開発に否定的人間がいて閉口した件。

そりゃ一口に開発と言っても色々なので、本当に統合開発環境(以下IDE)だけで開発するケースもあるのは、こっちも知ってるんだよ。

から学習者の中で「何をやりたいか」が既に決まっているなら、CLIを全く触らずプログラミングを学ぶケースもアリということなのだろう。

でも、これには主に2つの理由で全く納得がいかない。

1つ目は、そもそもプログラムって何?」というレベルの人が「何をやりたいか」なんて決まっているわけがないので、最初から「何をやるか」を決めてかかるのはナンセンスという話。

しろどういう開発に進んでもいいように、「等号は代入を意味する」辺りから始まって、どんなプログラミングでも基礎の基礎になる、データ構造アルゴリズム意識させることに集中させたい。

そのためには難易度低めで比較潰しが効く言語を、できるだけシンプルな手順で作業できる開発環境で学べる方がいい。

そしたらPythonの実行環境とそこそこ以上の機能を持つテキストエディタを入れて、コマンドプロンプトとかPowerShellとかのCLIから"Helllo, world"が取っ掛かりだと思うわけ。

もしLinux環境が用意できるなら同じことをLinuxでも試してもらって、プラットフォーム依存しない開発の入り口くらいを知っておければベター

いずれにせよ何かを実行する方法が1つではないという重要な知見は、できれば基礎のうちに知ってもらいたいことの1つだし、それはWindowsLinuxとかCLIIDEという対比がうってつけかなーと。

ちなみにIDEは、Pythonによる手続きプログラミングに慣れた後のタイミングで学べばいいと思う。

そこまで行ったら変数の型や、クラスオブジェクトとかの難しい話をGo言語で学んでおくことで、現場で使われているJavaC#swiftへの移行もスムーズになりそうだし。

ちなみに「初心者コース」の最後、もし可能ならRustでポインタメモリの話の触りくらいを体験してもらえると、組み込みに進む際のハードルが少しは下がるんじゃないかな。

もう1つは、いくら現場によってはIDEだけで開発する現実があっても、CLIを使った開発がどういうものかくらい、プログラマにとっては知ってて当たり前じゃねーの?という話。

もちろん「プログラマが何を知ってて当たり前なのか」は、時代の移り変わりとともにどんどん変わる。

大昔ならおそらく機械語とかが必須だっただろうけど、今なら機械語よりはHTMLを読めるほうが遥かに重要なわけで。

あと、UNIX系OSパーティションごとに主要なディレクトリを分割してインストールしていた時代であれば、edエディタの使い方は必須だったと聞く。

(/binに入るエディタedのみだったため、もし使えないとシステムクラッシュして/以外マウントできなくなったときに詰む)

でも今やそんなの完全に過去の話どころか、viemacsの論争ですら多分古い方の問題になるだろう。

そういう過去の諸々も踏まえるとCLI未来永劫、プログラマにとって常識的ナレッジだとは自分も思っていない。

でも今はまだ、プログラマを名乗るならCLIからコンパイルだ実行だくらいの基礎は知ってて当然だと思うんだが。

(流石にmakeまで知ってる必要はないと思うけど)

ということで、自分の言ってることはそこまでおっさん臭くないつもりなんだけどね。

本当に、何がそんなに引っかかるのか意味がわからない。

2022-08-05

anond:20220805140503

コードエラーリアルタイムで教えてくれるIDEは昔からあったけど、玄人志向の人らはviやらemacsやらで、SIer技術に興味ない人らは秀丸とかでなぜかIDEは嫌われてたな。

2022-07-18

UNIX 哲学」についていくつか

名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた - Qiita

この記事はよく調べてあるなぁと思う反面,事実関係の間違いも多く当時の空気感など欠けていると思う部分がいくつかある。事実関係に関しては追い切れないので参考文献を挙げるにとどめておくが,空気感のほうはいくつか書いておく。なお当該記事の「当時と今では状況が全然違うんだから安易に『UNIX 哲学』とかいうな」という主旨には大賛成である

参考文献

初期の UNIX歴史について興味がある向きには次の書籍お薦めする。

Peter H. Salus『A Quarter Century of UNIX』(1994, Addison-Wesley Publishing)

和訳の『UNIXの1/4世紀』(Peter H. Salus, QUIPU LLC 訳, 2000, アスキー) は絶版のうえ訳も微妙なので薦めづらいが,原書The Unix Heritage Society (tuhs) で PDF が無償公開されているので,英語が苦にならないのなら読んでみるといい。

また同じく tuhs で無償公開されている Don Libes and Sandy Ressler『Life with UNIX』(1989, Prentice Hall)を読めば80年代終りの UNIX の状況(XENIX についてもしっかり言及されている)や利用者目線での雰囲気もある程度判るだろう。

哲学

記事で一番気になるのが「哲学」という語の捉え方。この言葉の強さに引きずられているように読める。でもこれ,当時は設計基本的な考え方くらいの意味でわりとよく使われていた言葉なんだよね。たとえば米 BYTE 誌のアーカイブを “philosophy” で全文検索するとこんな感じ。

https://archive.org/details/byte-magazine?query=philosophy&sin=TXT&sort=date

ほぼ毎号のように出現していたのが判るだろう。

もっとも猫も杓子も「哲学」を振りかざしていたわけではないし,UNIX開発者たちが「哲学」の語を好んで使っていたのも間違いないように思う。傍証の一つが AT&T定期刊行物『The Bell System Technical Journal』の1978年7, 8月号だ。元記事言及されているマキルロイの Forword の初出がこれで,ネットのアーカイブから PDF が入手できる。

この号は二部構成になっていて第一部が Atlanta Fiber System に関する論文12本(全172ページ),第二部が UNIX に関する(Preface や Foreword を含む)論文22本(全416ページ)となっている。さて前述の PDFOCR されているので “philosophy” で全文検索してみると8箇所見つかる。これが見事に全部 UNIX論文なのだ。もちろん論文性質もページ数も違うからこれだけで確定的なことはいえないが「日常的に使っていたんだろうなぁ」という推測は成り立つだろう。じつはマキルロイ哲学とされている部分は “Style” であり “philosophy” の語は一切使われていないというのもちょっと面白いUNIX開発者たちがなぜ「哲学」という語を好んだか正確なところは判らないが,それまでにない新しい考え方に基づいた OS を開発しているという意識があれば,そういう言葉を選ぶのが自然時代だったことは間違いない。

UNIX認知され拡がっていく過程で「哲学」も知られるようになっていった。自分が好むものの良さを他人にも識ってもらいたい,あわよくば他人もそれを好むようになって欲しいという布教活動は今も昔を変らないわけで「哲学」はその便利なツールとなったわけだ。元記事ではガンカースの著作を「外部の人間が後から打ち立てた哲学」と表現しているが,そんなたいしたものではない。マキルロイ論文に影響を受けた布教のためのああい説教は到るところにあった。たとえば前掲の『Life with UNIX』にもしっかり Philosophy の項がある。また日本最初期の UNIX 解説本のひとつである村井純井上尚司・砂原秀樹『プロフェッショナル UNIX』(1986,アスキー)には冒頭次のような一節がある。

オペレーティングシステムは,コンピュータを使うものにとっての環境形成する基盤であるから,そのうえで生活する者の個性尊重し,より良い環境へと作り上げて行く課程を支援するような素材を提供するソフトウェアでなければならない。この主張こそが,UNIXオペレーティングシステムとしての個性ではないだろうか。

 

    プロフェッショナル UNIX村井純井上尚司・砂原秀樹,1986,アスキー)p 3.

「より良い環境へと作り上げて行く課程を支援するような素材を提供するソフトウェア」とはテキストを入出力フォーマットとする単機能コマンド群のことで,これらをパイプでつなげたりシェルスクリプトでまとめたりすることで「そのうえで生活する者の個性尊重し」た「より良い環境へと作り上げて行く」ということだ。こういった説教はありふれたものであった。たんにそれを「哲学」の語を用いて書籍にまとめたのが,たまたまガンカースだったというだけのことである

そしてじつは UNIX場合布教活動とはべつに「哲学」を広めなければならない切実な理由があった。これを説明するのは非常に面倒くさい。当時と今ではあまりにも環境が違うのだが,その違いが判らないと切実さが伝わらないからだ。マア頑張ってみよう。

UNIX の利用環境

UNIXPDP というミニコンピュータミニコン)上に開発された。このミニコンを使うためには専用の部屋に行く必要がある。その部屋は,もちろん場所によって違うわけだが,マアおおよそ学校教室くらいの大きさだ。長机が何列か並んでおり,そのうえにはブラウン管ディスプレイキーボードを備えた機器が等間隔に置かれている。壁際にはプリンタが何台かあるだろう。通っていた学校コンピュータ室などと呼ばれる部屋があったならそれを思い浮かべればだいたい合ってる。ただし置かれている機器コンピュータではなくコンピュータ接続するための端末装置ターミナル)だ。端末装置キーボードで打った文字コンピュータに送られコンピュータが表示した文字がそのディスプレイに表示される。現在 UnixOSCLI を使うときターミナルとか xterm という名のアプリケーションを用いるがこれらは端末装置エミュレータで,もともとは実体のある装置だったわけだ。

さてコンピュータ室にたいていは隣接するかたちでマシンルームなどと呼ばれる六畳くらいの部屋がある。窓ガラスで仕切られたこの部屋には箪笥洗濯機くらいの大きさの装置が何台か置かれている。これがコンピュータ本体だ。もっとコンピュータが何台もあるわけではない。この箪笥CPU でそっちの洗濯機ハードディスク,あの机に置かれているタイプライタ管理コンソールといった具合に何台かある装置全部で一台のコンピュータになる。どこが〝ミニ〟だと突っ込みたくなるかもしれないが「六畳で収まるなんて,なんてミニ!」という時代お話だ。

端末装置それぞれからUSB のご先祖様の)RS-232 という規格のアオダイショウみたいなケーブルが伸び,マシンルームに置かれたターミナルマルチプレクサと呼ばれるスーツケースに台数分のアオダイショウが刺さってコンピュータとの通信を行う。コンピュータと多数の端末装置を含めたこれら全体をサイトと呼び,root 権限を持って管理業務を行う人をシステム管理者あるいはスーパーユーザと呼んだ。

結構上手に説明できたと思うのだが雰囲気は伝わっただろうか。ここで重要なのは一台のコンピュータを数十人が一斉に使っていたという事実だ。洗濯機とかアオダイショウとかは,マアどうでもいい。

自由不安定OS

当時の UNIX評価一言で表すと〝自由不安定OS〟となる。メーカお仕着せではなく自分好みの「より良い環境」を作りあげる自由さらに他のメインフレームミニコンOS に比べると一般ユーザ権限でできることが圧倒的に多かった。そしてその代償が不安定さ。今では考えられないが UNIX のその不安定さゆえにプロOS ではないと考える向きは多かったし「でも UNIX ってすぐ落ちるじゃん」というのは UNIX アンチ定番ディスりだった。UNIX の落とし方,みたいな情報がなんとなく廻ってきたものだ。

こういった雰囲気を鮮やかに伝えてくれるのが,高野豊『root から / へのメッセージ』(1991,アスキー)だ。当時アスキーが発行していた雑誌UNIX MAGAZINE』に連載されていた氏のエッセイ1986年11月から1988年10月掲載分までをまとめた書籍である。著者の高野氏は勤務先の松下電器1980年ごろから UNIX サイトスーパーユーザを務めており,日本では最古参の一人である。この本の中で高野氏は繰返し UNIX自由さと不安定さに言及している。すこし長くなるが,その中の一つを引用しよう。

CPU は,システムにとって重要な共有資源であるが,この CPU実質的に停めてしまうことが UNIXはいとも簡単にできる。たとえば,cc コマンド10個くらい同時に走らせてみたらよい。VAX-11/780 といえども,同時に実行できるコンパイルはせいぜい3つか4つである。それ以上実行することも当然可能ではあるが,他に与える影響が無視できなくなる。つまり,てきめんに viカーソルが動かなくなる。あるいは,すこし大きめなディレクトリ上での ls コマンドの出力が表示されるまでに煙草を1本吸い終えてしまったり,タイムアウトログインが撥ねつけられたりといったバカげた現象が起きだすのである。こういった状態になると,UNIX破壊されたに等しい。真夜中,独りで VAX を占有して使っているのなら何をやろうとかまわない。しかし,20人30人と多数の人間が使っているとき勝手をやられると非常に困るのである当人仕事が遅れるのは自業自得だとしても,そのとばっちりで他のエディタまで止まってしまうと,もはやどの仕事も進行しなくなる。

ディスクについても同様なことがいえる。UNIX では,ファイルシステムを使いはたすまで大きなファイル自由に作ることができる。したがって,自分プロセスがいったいどのくらいの容量のファイルを作り出すのか見当もつけられないようなアマチュアが使うと悲惨なことになる。ディスクを使いはたすと,コンソールタイプライターにエラーメッセージが出力されるが,夜中にそれが発生して,コンソールタイプライターが一晩中エラーメッセージを打ち続け,朝マシンルームに行ってみると紙を一箱打ち尽くしてしまい,ピーピーと悲しげな声を上げて人を呼んでいた光景を私は何度も見てきた。こうなると,それをしでかした本人のプロセスは当然のこととしても,同じディスクで走っている他のプロセスも先に進めなくなってしまう。すこしでも負荷を夜間にまわそうとする善意は逆転してしまい,わずかでも仕事を先に進めようとする意図完璧に打ち砕かれてしまうのである

 

    root から / へのメッセージ高野豊,1991,アスキー)pp16-17.

そして,こうした不安定さが「哲学」を必要としたのだ。自分が利用しているサイトに「cc コマンド10個くらい同時に走らせ」たり「自分プロセスがいったいどのくらいの容量のファイルを作り出すのか見当もつけられないようなアマチュア」がいるとその累は自分にも及んでしまう。だからサイト利用者全員に UNIX設計基本的な考え方を理解してもらうことが,自分のために必要だった。UNIX伝道がより苛烈だった理由ひとつがここにあるのだ。

ミニコン UNIX終焉

ミニコン上で誕生した UNIX は 4.3BSD(1986)で最高潮を迎える。注意したいのはミニコン時代UNIX は Research UNIXCSRG BSD みたいな区別をせずにまとめて UNIX として扱われていたことだ。実際『プロフェッショナル UNIX』も『root から〜』も UNIX記述されてはいるが実際には BSD を扱っている。べつに当時の人が無知だったわけではない。なにしろ BSD を利用するためにはまず AT&T から UNIXライセンスを購入し,そのうえでカリフォルニア大学バークレー校(UCB)から BSD を入手しなければならなかったからその関係は当然広く知られていた。ベル研発明された UNIX を外部の人たちも含めみんなで改良し,それら全体が UNIX であるという考え方が自然だっただけである。『Life with UNIX』のような英語の文献によく登場する “Berkeley UNIX” という言い回しが当時の気分をよく表している。UNIX vs BSD みたいな捉え方は法廷闘争を経た90年代以降の感覚だ。

もっともそういう70年代風味の牧歌的風景ミニコン世界限定の話であった。BSDのものミニコンのものしかなかったが,そのコードを受け継いだ BSDUnixAT&T推し進める System V などがワークステーション市場舞台80年代中盤から激しく覇権を争うようになる。いわゆる Unix 戦争で,PCUnix であるマイクロソフトXENIX も当然参戦した。ミニコン世界牧歌的だったのは,ぶっちゃけていえば先のない技術だったからだ。ただ Unix 戦争あくまでも標準という聖杯を争う戦いであり,AT&TBSDUnixSun Microsystems が共同で System V Release 4.0 (SVR4) を作りあげたように後の法廷闘争とは趣が違う。

こうしたミニコン UNIX からワークステーション Unix への転変は Unixのもの文化にも変化をもたらした。まず激しい競争Unix の高機能化を加速した。商品として判りやす惹句が「あれもできます,これもできますなのは誰もが知っている。もちろん安定性を増すために quota のような利用者自由制限する機能も含まれていた。またワークステーション Unix現在UnixOS と同様同時に一人が使うものであり前述の布教必要性は大幅に減じた。達人たちのみの楽園から万人に開かれた道具に変ったのだ。こういった変化を体感したければ『root から〜』と水越賢治『スーパーユーザの日々』(1993,オーム社)を読み比べてみるといい。『スーパーユーザの日々』はワークステーション Unixシステム管理入門書だ。この本ではたんに知識を羅列するかわりに架空ソフトウェアハウス(開発会社)を舞台新卒社員が先輩社員からシステム管理を学ぶという体裁をとっており,そのおかげで架空の話とはいえ90年代前半の雰囲気が堪能できる。出版年でいえば『root から〜』と二年しか違わない『スーパーユーザの日々』の落差は “dog year” と称された当時の激烈な変化まで体感できるだろう。

UNIX 哲学背骨

当時はよくいわれたのに今やほとんど聞かれなくなったものがある。マキルロイ論文結論部分に書かれたそれは,1973年出版されたイギリス経済学者エルンストシューマッハー著作題名で,中学生英語力があれば十分に理解できる平明な一文だ。

Small is beautiful.

マキルロイは『人月神話』を引いて一定留保をつけてはいものの,これが UNIX 哲学背骨であることに違いはない。機能をありったけ詰め込もうとして失敗した “kitchen-in-a-sink” な MULTI•csアンチテーゼである UNI•x にとって,これ以上のスローガンがあるだろうか?

ひるがえって現在UnixOS をみれば,ブクブクと肥え太ったシステムコール,全容を俯瞰するだけでも一苦労するライブラリインターフェイス,一生使うことのないオプションスイッチまみれのコマンド群。UNIX仮想敵とした OSのものだ。そのことについてとくになにも思わない。ハードウェアは長足の進歩を遂げ,コンピュータの応用範囲は途方もなく拡がった。UNIX が変らなければたんに打ち棄てられ,歴史書を飾る一項目になっただけだ。ただ現在UNIX 哲学」を語るならそうした背景は理解していなければならないし,どれだけ繊細な注意を払ったところで〝つまみ食い〟になってしまうことは自覚すべきだ。

2022-07-15

カルトの同志の皆様方、聖イグヌチウス様はこうお伝えしてます

わたくしどもの教会はこれまで個々に伝道され教えを実践してまいりましたが、2009年Saint I-gnu-cius(聖イグヌチウス)様がわたくしどもの前に顕現を果たしたことを切っ掛けとして共に教えを一帯となって伝道していこうと心新たにしChurch of Emacs(Emacs教会)が同年に成立いたしました。

ここでは反カルトを説く皆様方へSaint I-gnu-cius(聖イグヌチウス)様のお伝えの一部を紹介することで、わたくしどもの心が皆様と共にあるということを示したいと思います

「我こそはSaint I-gnu-cius(聖イグヌチウス)である。Church of Emacs(Emacs教会)より派遣さる。」


(中略)


「汝ら純潔を守るべき事あり。汝ら、もし、邪悪制限された論理(Software)を受任(Install)されたる利器(Computer)を所有して支配下に置きし時、かかる利器に、神聖にして完全なる自由な基幹倫理(Operating System)を受任し、その上に自由なる論理のみを受任すべし。この誓いを守りて貫き通したれば、いずれ汝ら聖人となり、その頭に光背を頂くに至らん。」

わたくしどもは個人自己決定権を持つべきだと誓いをたてており、これらの誓いを貫徹することによってわたくしどもの魂もまた聖人に近付くのだという教えを持っています

またそれは、わたくしどもと心が近くあるが道を違える者たちにも自由はあるべきだとSaint I-gnu-cius(聖イグヌチウス)様はお伝えになっているのです。

vi vi vi獣の数字なるが、自由実装viを使いたるときは、罪ならず。そは贖罪なり。

たとえ教会カルトという烙印を捺されようとも、わたくしどもはそのカルト信者自由があるのならば、カルト教会信者贖罪されるべきだと考えているのです。

断罪だけでは何も解決しないのです。わたくしども1人1人がその罪を贖罪する心を持ち、不自由に囚われているカルト信者の方々を自由の愛の手で包み込み、そして自由の愛の手を繋げていくことが重要なのではないでしょうか。

これらの教えはわたくしどもChurch of Emacs(Emacs教会)の有志によってWeb上にこのような動画としてアップロードされていますし、先日わたくしどもと同じ教会に属しているであろう者の投稿があったようなので皆様方にも認知していただいている方がいらっしゃるのではないかと存じます

更にわたくしどもを冷静によく評価している投稿も見付けましたのでこちらも合わせてご紹介したいと思います

それでは皆様方、最後に聖句をあげさせていただき、それを締めの挨拶とさせていただきます

GNU,FLOSS,GNU,FLOSS.」

2022-07-04

viの読み方は「ヴィ」で合ってるよね

vimは「ヴィム」だからmを取ったら当然そうなるはずだ。

せやから「ヴィでドッテンヴ(.env)書き換えといて」って言うよね。

2022-06-27

Core Keeper Dedicated Server を VPS 上に構築したときの手順メモ

Ubuntu 22.04 LTS x86_64 で構築。

CoreKeeper側で apt依存しているっぽいので、Ubuntu でやった方が楽だと思います

Tips

Ubuntu 20 TLS でやる場合、/home/steam/Steam/ が /home/steam/.steam/ になってたと思うので、環境に合わせて読み替えてください。

Install steamcmd dependent packages

dpkg --add-architecture i386
add-apt-repository multiverse
apt-get update
apt-get dist-upgrade
reboot

Create steamcmd User

useradd -m steam
passwd steam
gpasswd -a steam sudo

Steamcmd / Core Keeper Dedicated Server Install

sudo -u steam -s
cd
sudo apt install steamcmd
ln -s /usr/games/steamcmd steamcmd
./steamcmd +login anonymous +app_update 1007 +app_update 1963720 +quit

Run steamcmd (Install and Creating Core Keeper Dedicated Server system drectory )

cd ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/
./_launch.sh

Press Ctrl + C for Stop Core Keeper Dedicated Server

World file migration (if there is an old file)

mkmir -p -m 775 /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds
chown steam:steam /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds

Copy old world file (0.world.gzip) to

/home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds

Copy old setting file (*.json) to

/home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/

chmod 664 /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds/0.world.gzip
chmod 664 /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/*.json

Backup setting

vi /etc/cron.hourly/corekeeper_backup

#!/bin/bash
cp -a /home/steam/.config/unity3d/Pugstorm/Core\ Keeper/DedicatedServer/worlds/0.world.gzip /home/steam/worldbackup/0.world.gzip.`date '+%Y%m%d%H%M%S'`
cp -a /home/steam/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/CoreKeeperServerLog.txt /home/steam/worldbackup/CoreKeeperServerLog.txt.`date '+%Y%m%d%H%M%S'`

chmod 777 /etc/cron.hourly/corekeeper_backup

sudo -u steam -s
cd
mkdir worldbackup

Start Core Keeper Dedicated Server

sudo -u steam -s
cd ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/
nohup ./_launch.sh
tail -f ~/Steam/steamapps/common/Core\ Keeper\ Dedicated\ Server/CoreKeeperServerLog.txt

サーバースペック

利用者問題か、サーバー問題かわかりませんが人数が10人超えると CPU4コア/メモリ4G/100Mbps で結構ラグかったです。

今は CPU6コア/メモリ8G/1000Mbps で動かしています

不具合 (2022/06/28時点)

6-8人以上で2-3時間サーバー動かしてると、Unityライブラリがsegfault起こして、Core Keeper Dedicated Server が落ちます

ログ取れたのでバグレポしましたが、改善するまでは不特定多数が好き勝手するサーバーみたいなのを長期運用するのは厳しいかなと思いますタイミングによってはアイテムロストしてしまうので。

遊びで使うなら、ウォッチドック的なサービスを入れて、落ちたら適宜起動しなおすみたいな対応をした方がよいと思います

2022-05-05

anond:20220505122539

時間あるなと思ってシビライゼーションVIを引っ張り出して始めたら徹夜してしまったwアホや自分

2022-04-21

anond:20220421121952

viと、そのベースになっているラインエディタedは、通信回線が非常に遅くても、コマンドを投げてしまえばある程度思ったとおりの挙動をしてくれるようにできている

使えるようになっておいて損はない

anond:20220421121122

viエディタと同様、キーボードのみで操作されることを前提としていたため、キーボードのみですべての操作可能になっている。その基本的操作方法viと同じで、状況に応じてモードを使い分けることでテキスト編集していき、小さなコマンドの組み合わせをその場で作ることによって多種多様機能を実現する。

他のエディタとは操作方法がまるで異なるため、一通りのテキスト編集作業ができるようになるまで慣れが必要となる。しかしながら、一旦慣れてしまえば軽快なテキスト編集ができるため、数多くのVim愛好家が存在する。Vimの他の機能と併せて、プログラムコードシステム設定ファイル編集するのに特化しているため、特にプログラマーシステム管理者利用者が多い。

https://ja.wikipedia.org/wiki/Vim

なるほど。

あとはユーザー数の数の論理かな。

利用者が多ければ汎用的で、自分スキル他人の役に立つ。

そうでなければ少数の職人芸になって、老人の自己満足になってしまう。

vi/vimがほかのエディタよりユーザーが多いのかは知らないけど。

あとは、viメモリが数十KB時代に、軽く動くことを想定して作られたってことがキーポイントかもね。

今時軽いからといってWindows2000使う人いないでしょ。

それらを総合的に見て、アホか賢いかって価値判断になるかな。

個人的には、慣れてるから使う、古くからあるから使う、ってのは、思考停止のアホに見える。

そういうのはITじゃなくて土方行ったほうがいい。

anond:20220421120032

今時の大抵の環境では vi コマンドvim とか neovimかいった新しいエディタを起動するようになってるよ。

一応 viメンテナンスはされているけどあんまり使われてない。

anond:20220421044739

munyaX viでもemacsでもテキスト入力するって行為は同じなのに色々面倒だよね

偉い偉くないというより、アホか賢いか、というのはあると思う。

viコマンド :wq で保存(だっけ?)とか、

DOSやらUNIX時代のクソ古いやり方を引きずらないといけない、という点では、

やはり進化のない馬鹿や老人が古い設計を持ち込むと、他が迷惑するというのはあると思うよ。

Ctrl + Sですら30年以上経ってんのに。

ログイン ユーザー登録
ようこそ ゲスト さん