2022年11月の日記

Unknown programmer's programming note.

2022年11月30日 (水)


今日の読書

プログラミングRust 第2版 14、15章を読んだ

14章 :: クロージャ。
まずまず。

15章 :: イテレータ。
情報が多くて苦戦した。
全部マスターしようなどとは考える必要はないかもしれない。
でも、ここでひとつひとつ理解しながらやっていかないと、あまり読んでいる意味がなくなる。

Amazonで本と小物をいくつか買った

Kindleのキャンペーンがエラーになるので、もやもやしていた。
Amazon側の不具合だろうとは思う。
せっかくセールやってるから何か買うか、と、釣られて、物色していた。
USBメモリと、microSDカードとを補充しておくことにした。
あとSICPのJavaScriptエディションというのが気になって、買ってしまった。
これはKindleではなく、紙の本にした。
8000円以上する。
オリジナルのSICPはWeb上に公開されている。
後で気がついたのだけど、オリジナルのKindleは1500円で販売されている。
わざわざJavaScriptで読む必要あるのか?という疑問が湧いてきた。
Schemeの方が学習効果は高いように思える。
もの珍しさから、読んでみたいという気持ちはあるので、失敗ではないはず。

gtk-rsを始めた

RustのGTKバンディング。
これはGTKの公式のバインディングらしい。
RustのGUIライブラリとしては、よく知られているようだ。
ドキュメントも充実している。
ガイドブックも書かれていている。
これを読んでいた。
オリジナルのGTKさえも、包括的なチュートリアルはあまりないので、貴重だ。
ちょっとやってみたところ、どうもRustっぽくない感じがしている。
GObjectが参照カウントを採用しているので、gtk-rsもそれに適合させている。
そのため、生存期間がコードを見ただけでは一目瞭然というのではなくなっている。
知らないところで参照カウントが増やされたり、変数のスコープを抜けてもまだ存在し続けていたりする。
GTKとRustが同時に学べるという点では、良い選択肢だけど、Rust初心者向けではない。
最初はicedのような、Rust純正のものにした方がいいかもしれない。

2022年11月29日 (火)

曇り、雨

今日の読書

プログラミングRust 第2版 13章を読んだ

ユーティリティトレイト。
情報が多い。

眠い

なんでだろう、本を読んでるとやたら眠くなる。
全然進まなかった。

Amazonでエラー

BLACK FRIDAYセールで、Kindleが5冊まで15%ポイントバックというをやっている。
ほいほいと釣られて、いくつか欲しいのを見繕った。
ギフト券の残高が不足しているので、後でチャージしようと思っていったん閉じておいた。
再度、キャンペーンの表示を見ると、エラーとなる。
色々試したけどだめだった。
どっちかというと、買わせられたという感じになるので、まあいいかと思うことにして、諦めることにした。
でもやっぱり残念だ。

2022年11月28日 (月)


今日の読書

やさしいコンピュータ科学を読み終えた

14章
人工知能

素晴しい本だった。

AmazonのBLACK FRIDAYセール

何か買うものはないか、物色していた。
セールかどうか関係なく、欲しいものが出てきた。

  • Introduction to Algorithm, 4th Edition
  • Computer Science: An Interdisciplinary Approach
  • Physically Based Rendering, 4th Edition

Inctorduction to Algorithm (4)は、Amazon販売のが、2万くらいするのだけど、8000円以下で出品しているところがある。
ちょっと怖くて決断できない。
Kindle版は12000円くらいだ。
できれば紙で欲しい。

Computer Science〜は、アルゴリズムCで有名なセジウィックが買いた本だ。
セール対象で、Kindle版は今なら6200円で買える。
かなりお買い得感がある。
しかし、使用している言語がJavaという欠点があるので、迷うところ。

Physically Based Rendering, 4th Editionは、来年4月頃に出る予定らしい。
予約しとこうか。
3rdは、入手しそこねた。
2019年に、新品を買ったのだけど、現物が届いて、状態がひどすぎたので返品した。
再購入も怖くてできなかった。
もう4thが出るとは、ペースが早くて驚く。
それより時間の経過の早さにも注意しておこう。

今回買うとしたらComputer Science〜にするだろう。
あと3日あるので、もうちょい考えよう。

今のところ、他に欲しいものはmicroSDカードとUSBメモリくらいだ。
もうちょい物色しよう。

2022年11月27日 (日)


今日の読書

やさしいコンピュータ科学 9〜13章を読み終えた

9章
マシンアーキテクチャ
10章
言語の翻訳
11章
プログラムの実行時間
12章
並列計算
13章
計算不能性

Raspi 400 + Manjaro

Pop!_OSのパッケージがおかしくなった。
どうやら、インストール直後、時刻が2ヶ月前くらいになった状態であったみたいだ。
その状態でアップグレードを実行してしまったのが原因かと思われる。
APTがどうにもならなくなってしまった。
修理方法を探ることもまた一興なのだけど、普段のデスクトップの動作がもっさりしていて、あまり使いたいとは思えなかったので、諦めることにした。
(注意:このもっさりしているというのは、おそらく間違いだ。4Kで使用していたことが原因であって、2K (QHD、1440p)、Full HD (1080p)とかならおそらくそこまでもっさりしなかっただろう、というのは後で気が付いた。)
そこで、他にラズパイのイメージが提供されているディストリビューションを探してみた。
openSUSE、MX Linux、Manjaroなどが候補だ。
FreeBSDも気になるのだけど、ちょっとハードルが高そうなので、まずはLinuxにしておくことにした。
MXは、バージョンがちょっと古い。
openSUSEは、公式のイメージではないようだ。
ということで、Manjaroにすることにした。
インストールはめっちゃ簡単だ。
イメージをダウンロードしてきて、microSDカードに書き込む。
ラズパイにそのmicroSDカードを差して起動すれば、デスクトップ画面に辿り着く。
そこで、いくつか質問に答えればインストール完了。
ほんとはそれだけなんだけど、パスワードを設定するところで、途中で席を外して、戻ってきたら画面がロックされていて、パスワードが設定されていないため戻れないという状況に陥いった。
仕方なく、再起動して最初からやりなおした。
別に貴重でも何でもないが、レアな経験だった。
次はすんなり終わった。
気になるデスクトップの応答は、やはりもっさりしている。
xfce4のエディションを選んだ。
RaspiOSを使っていたときはこんなにもっさりしていなかったので、不思議だった。
とりあえず、こんなもんなのか?と疑問に思いながら、しばらく使っていた。
数時間そのままちょこちょこ作業していて、発見した。
アイドル状態が続くとディスプレイの電源がオフになるのだけど、復帰したときに、出力解像度が4Kから2Kに変更されてしまっている現象に出くわした。
これは何でだろう、と原因を探っていたのだけど、原因よりも先に、2Kのときはもっさりした感じが解消していることに気付いた。
1080pのときも、もっさりしない。
ディスプレイ設定画面をみると、4K出力のときはリフレッシュレートが30Hzまでしか選択できないようになっている。
どうやら、ディスプレイOFFから復帰したときに、Manjaro(というかxfceが?)が最適なディプレイ出力を選択するために、2Kに変更されるのかもしれない。
もっさりしたのが解消するのはいいのだけど、ディプレイの最適解像度が4Kなので、引き伸ばしたような、ぼやけた感じになってしまう。
そんなのは嫌なので、諦めて1080pのモニタで利用することにした。
以前、RaspiOSを使っていたとき快適だったという記憶は、1080pだったからなのだろう。
ラズパイは4K対応を謳っていたはずで、それには期待していたのでちょっと残念だ。
Pop!_OSも1080pなら快適に動作していたのかもしれない。

2022年11月26日 (土)

晴、曇り

今日の読書

プログラミングRust 第2版 10、11、12章を読んだ

10章
列挙型とパターン
11章
トレイトとジェネリクス
12章
演算子オーバーロード

やさしいコンピュータ科学 6、7、8章を読んだ

6章
電気回路
7章
トランジスタ
8章
超大規模集積回路

Raspi 400 + Pop!_OS

インストールしてみた。
もっさりしている印象が拭えない。
Pos!_OSが原因ではないのだけど、最近購入したディスプレイモニターの入力切り替えがうまくいっていない。
出力OFFの状態から切り替えると戻らない。
不便すぎる。
なんとかならないものか。

新PCのBIOSをアップデートしたら…

起動時のエラーメッセージが増えた。
MSIのサイトにもう新しいBIOSが公開されていたので、適用してみた。
5万もする高価なマザーボードなので、びくびくしながら作業した。
適用はうまくいったようだ。
うまくいったのだけど、Ubuntuを起動するときに、1つだったエラーメッセージが5つくらいになった。
その中には、かなり嫌な感じのが含まれる。
何か「BIOS bug」みたいな文字列が見える。
どうにも不安定だ。
しかし、改善したこともある。
これはBIOSを更新したからというわけではないのだけど、いつのまにWiFiアダプターを認識するようになっていた。
何がきっかけでそうなったのかは知らない。
センサーを認識しないのは変わっていない。
これは自力でやらないと無理だろうなと思っている。

2022年11月25日 (金)


今日の読書

プログラミング作法を読み終えた

良い本だ。
基本がぎっしり詰っている。
20年以上前、CPUが200MHzとかいう時代に書かれた本なのに、今でもまったく通用する。
何度も繰り返し読んで、完全にものにしたい。
1周目ということで、練習問題は全部スキップした。

Newton 2020年9月号を読み終えた

見出しに惹かれて買っても読まない、ということが続いたので、もうしばらく買っていない。
積んでるやつを何とかしたい。
10冊以上ある。
1日1冊のペースで消化したい。
とりあえず1冊読んだ。
特集はベイズ統計。
まったく手を付けていない分野だ。
本を一冊買ってあるのだけど、それも放置してある。
Newtonはページ数は少なく、写真がふんだんに使われている。
なので、すぐ読み終わりそうなのだが、隅から隅まで全部のテキストに目を通すと結構かかる。
3〜5時間といったところ。
写真中心にして、ぱらぱらと流すこともできる。
それなら15分程度だろうか。

2022年11月24日 (木)

曇り

今日の読書

プログラミング作法 3、4、5、6章を読んだ

3章
設計と実装
4章
インターフェイス
5章
デバッグ
6章
テスト

2022年11月23日 (水)


今日の読書

やさしいコンピュータ科学 4、5章を読んだ

2022年11月22日 (火)

曇り

今日の読書

プログラミングRust 第2版 9章を読んだ

プログラミング作法 2章を読んだ

アルゴリズムとデータ構造の章。
よくある話題だ。
何も変わったことはなく、基本的な範囲に限られている。
Cを基本としている。
C++とJavaにも言及があるのだが、もの足りない。
どの言語を使っているにせよ、その言語に特有の事情にちゃんと通じておく必要があるだろう。
この章だけの知識では不十分だと思う。
だめな内容ではない。
この章をちゃんと理解しておけば、それらを学習するときはスムーズにことが運ぶだろう。

やさしいコンピュータ科学を読み始めた

かなり古い本。
だいぶ前にブックオブで見かけて、良さそうだったので購入した本。
ずっと読みたいなと思っていたのだが、なかなか手が出なかった。
Pascalが使われているので、Pascalの環境を用意するのも覚えるのも面倒だなという気持ちがあった。
その後、raylibを使ってみる動画で、Pascalをそこそこやって、少し使えるくらいにはなった。
環境もFreePascalをインストールするだけなので、簡単なことも分かった。
この本は前知識はまったく要求していないので、別に先にPascalをやっておく必要はない。
しかし、古い本ということもあり、また、主題はコンピューターサイエンスであり、プログラミングの本としては特殊な構成になっている。
あまり親切丁寧なチュートリアルは期待しない方がいい。
というのは、以前ちょっと読んだときに分かっている。
Pascalのことはある程度読む前に知っておいた方がスムーズに進む。
条件は満たしたので、読み始めることにした。
前書きはわくわくする、期待感を高めてくれる文章で綴られている。
まず最初の5章はPascal入門になっている。
もうPascalはそこそこ使えるようになっているので、さくさく進む。
かなりの量の練習問題が用意されている。
プログラミングの問題は易しめのが多い。
考察する問題というか、分析をするだけの問題はちょっと面倒だ。
考えるのあまり得意ではない。
これからの練習問題を含む本の読み方の基本的な方針として、まずは問題には軽く目を通しておくが、全部スキップすることにする。
そして、読み終えた後に、もう1週する価値があると判断した本だけ、2週目で練習問題をやっていく。
練習問題が多い本は、そうしないと途中で放置状態になってしまう可能性が高い。
ただし、練習問題をやることを必須としている本は別だ。
こういう場合はちゃんとやっていく。
この本は、練習問題を必ずやるようにという指示はない。
何も指定されていない。
なので全部スキップすることにする。
と、そんな感じでさくさく進んで3章まで読んだ。
とても易しい内容だが、ちょっと風変りの内容で、新鮮さが得られた。
Pascal入門といった感じで、まだ準備段階なので、油断はできない。

2022年11月21日 (月)


朝風呂

市役所と図書館に用事があったので、朝から出かけた。
その前に、久々に銭湯にいった。
さっぱりしたところで、何となく隣りの本屋に立ち寄って、2冊購入。
市役所の用事は5分くらいで終わった。
後は午後まで図書館で調べものをするつもりだったのだけど、休館日だった。
仕方なく帰ることにしたのだけど、何となく蕎麦が食べたくなって、食べて帰った。

購入した本:

  • 確定申告の本
  • シェルワンライナー160本ノック

今日の読書

プログラミングRust 第2版 8章を読んだ

コードコンプリートを読み始めた

プログラミング作法を読み始めた

2022年11月20日 (日)


ゼロから作るディープラーニングを読み始めた

2022年11月19日 (土)


本を購入

親を送っていったついでに、本屋に寄ってきた。
あまり欲しいものはなかったのだが、せっかくなので何か買っていくことにした。
ちくま学芸文庫の数学、微分積分の本を2冊。
あと、ちょっと目にとまってしまった、作って学ぶコンピュータアーキテクチャというのを買ってしまった。
RISC-VとLLVMという題材に惹かれた。
内容は雑な感じながする。
特定の言語や道具の使い方の本なんかは、Packtで賄えるので、全く欲しいと思わなくなってきた。
今回選んだのは、まだPacktでは見られいないものだなと思ったからだった。

ぼくらの資本論を読み終えた

なかなか面白かった。
最初は相続税の話で始まり、これは一体何の本なんだ?という感じだった。
読み進めていくと、土地というものが何の意味を持つのかと、という方向に進む。
さらに、平安時代から鎌倉にかけて、そして江戸から明治にかけて、財産とは何なのかと進む。
そして、現在の財産とは、家とは、と、今に繋る。
何か無理やりな感がするが、一応納得はできる。
なんでこんな本を読んでいるのか自分でも良く分からない。
資本論と題しているけど、経済学に詳しい人が買いた本とは思えないし、資本論に取り組もうという本でもない。
ただキャッチーだから使っているに過ぎない。
それでも、なかなか興味深い内容ではあった。
もう1冊シリーズのぼくらのハルマゲドンというを持っている。
1990年代の時事ネタのようなシリーズみたいだ。
そちらは本当に読む意味があるのか、本当に分からない。
読もうと思っているのは、手放すかどうかを決めたいからだ。
資本論の方は残しといてもいいかなと思えるものではあった。
でも、再読することはないように思う。
そうするともう手放してもいいのではないだろうか。

プログラミングRust 第2版 7章を読んだ

エラー処理。
例外はない。

  • Result<T, E>
  • ?演算子
  • パニック

これらが基本的なツールとなる。

ゼロから作るDeep Learning を読み始めた

1章を読んだ。
Python入門の章。
ごく基本的なこと。
NumPyとMatplotlibを使用するようだ。
Anacondaを使う。
仮想マシン上の環境で作業しようと思って、openSUSEとMXでAnacondaのインストールを試したけど失敗する。
仕方ないので、ホストのUbuntuにインストールした。
これは通って使えるようになった。
NumPyとMatplotolibの使い方の復習を軽く終えて、1章は終了。
2章も続けて読む。
パーセプトロンの章。
AND、NAND、ORの素子をベースに、XORを作る。
どこかで見たことがある。
直感的で簡単な内容ではある。
今後の基本となる重要なことなので、よく覚えておく。
CPUを組み立てることすらできるという言及もある。
同じオライリーの「コンピューターシステムの理論と実戦」がお勧めされていた。
そちらも所持しているので、暇を見つけて読んでしまいたい。

Firefox Syncを使うべきかどうか

迷っている。
Firefoxが更新されて、Firefox Viewというのが表示されるようになった。
ここに、デバイス間でタブを同期する、みたいないのが表示されう。
そこに、Firefox Syncにログインするよう指示がある。
パスワードを同期するのにはちょっと抵抗がある。
ブックマークの同期は便利そうだけど、新しいPCは新鮮な状態で使いたい。
旧PCの残骸を持ち込むことが便利なのか、どうなのか、良く分からない。

2022年11月18日 (金)


今日から俺は?

最後の出勤日だった。
今後はフリーとなる。

プログラミングRust 第2版 6章を読んだ

式。
前の2章よりは、馴染み深い話題ではないかと思われる。
クイックソートのサンプルは \(O(n^2)\) になるように見えるのだが、これで良いのだろうか。

2022年11月17日 (木)

曇り

偶数丸めあるいは銀行丸めと、四捨五入

衝撃が走った。
VBAのことを頼まれて、Round関数について調べる機会があった。
CとC++にもroundという関数はあって、これは四捨五入を行うことは知っていた。
他の言語でも同じだろうと思っていたのだが、これが間違った認識であることを知った。
C、C++、Rust、JavaScriptなどは四捨五入を行う。
それ以外の多くの言語、例えばLisp、Haskell、Pythonなんかは、偶数丸めを行う。
今回やったVBAもそうだ。
こんな基礎部分も今まで知らなかった自分自身に驚く。
きっとC++の世界だけで生きてきたのだな、と井の中にいることを認識した。
これからはもっと謙虚にならないといけない。

2022年11月16日 (水)

晴、雨

プログラミングRust 第2版 5章を読んだ

参照。
所有権と並んで、Rustの特徴のひとつ。
これも重要な章で、ここで躓く人は多そうだ。
C++を知らないと理解は難しいのではないかと思われる。
この本がC++を知っていることを前提として書かれているように見える。

2022年11月15日 (火)

曇り、雨

プログラミングRust 第2版 4章を読んだ

所有権と移動。
非常に重要な章。
Rustの最も特徴的な性質のひとつ。

Fedora 37

新PCにインストールしようとしたときは、36を試してだめだったので諦めていた。
その後、VirtualBoxに37のbetaをインストールして利用していた。
今日付けで37が正式にリリースされたようだ。
新PCにはUbuntuをインストールして利用している。
試したうちでは、Ubuntuしかインストールをパスしなかった。
もう既に結構使い込んであるので、乗り換えるのは億劫だ。
しかし、新しいFedora 37はこのPCにインストールできるのか、ちゃんと動くのかどうかは試しておきたいところでもある。
もし、ちゃんと動作するのならば、まだぎりぎりUbuntuから乗り換えるのは間に合うところ。
もっとも、別にUbuntuに大きな不満があるわけではない。
何度かOSが落ちたり、よく使うアプリケーションにいくつか不具合のようなものが見られたりしたが、全然許容範囲だと思える。
だいたい快適に使えている。
インストールするなら、SSDをもう1枚足してそれにということになるだろう。

2022年11月14日 (月)

曇り、一時晴

プログラミングRust 第2版 3章まで読んだ

型。
かなり密度が高い。
写経や実験は少なめにしていく。
500ページ以上あるので、さくさく進んでいくことにする。
定着率は下がるだろうが、途中で放置状態になったり、時間がかかり過ぎるよりはマシだろう。

2022年11月13日 (日)

曇り?

JavaScriptとCanvasの2Dゲームの本を読み終えた

Packtの「Instant HTML5 2D Platformer」を、一応、読み終えた。
完全に理解できていないところは、Physicsというかジャンプのロジックと、背景の視差スクロールの2つだけで、あとは大丈夫。
とても短い本だった。
集中して取り組めば、1日で終わるくらいの分量。
細かいテクニックに気を取られるのではなく、この本1冊を通して、簡単なゲームを作る流れを体験することに注目するのが良いだろう。
もうちょっと完成度の高いゲームにしたい。
このゲームを改良していくことも考えられるが、JavaScriptのフルスクラッチでゲームを作りたいという思いはあまりない。
最低限知っておかないといけないことを学びたかっただけだ。
その目的は達成された。
次はゲーム用のライブラリを採用したゲーム制作に切り替えよう。

プログラミングRust 第2版 を読み始めた

2章の途中。
1章は、なぜRustなのかという問いに答えるもの。
Rustの主戦場は、システムプログラミングだ。
システムプログラミングとは何か、ということの解説もある。
数ページの短い章だけど、Rustの方向性を示す大事なことが書かれている。
なんとなく流行っているやってみるかという姿勢を改める必要がある。
2章は、Rustツアーということで、ちょっとしたプログラムを作成する。
これがなかなか興味深いものが揃っている。
Rustのインストールなどを行った。
rustupを使って仮想マシン上にインストールした。
かなり容量が必要となる。
ディスクを拡張する必要があった。
Rustは今後も本格的に利用していく予定なので、別に仮想マシンじゃなくて良いのだけど、一応一度試してからということにした。
ここまで読んで、初版と何が変わっているのか分からない。
初版を読んだのもずいぶん前なので、あまり記憶にない。
新な気持ちで取り組めば良い。

2022年11月12日 (土)

曇り?

.NETをやってみた

先日VirtualBoxに用意したFedora 37 betaに、.NETの環境を構築した。
Fedoraのパッケージマネージャーでインストールできるバージョンは6となっている。
何から手を付けていいのか分からない。
そもそも.NETで何をしたいのかも考えていない。
とりあえず、何かしらのチュートリアルをやってみることにした。
Microsoftのこのチュートリアルを進めた。
vscodeを使うので、インストールした。
Fedoraでは、Flatpakでインストールするのが通常のようだが、途中でエラーになってインストールできないので、vscode公式の方法でやることにした。
.NETの公式言語は、C#、F#、VBとなっている。
特にC#が最もよく使われているものだろう。
しかし、C#に対してはあまり興味が湧かない。
この3つの言語に自分の中でランキングを付けると、F#、VB、C#になる。
C++/CLIはサポートされないようだ。
公式ではないその他の.NET言語の一覧を見てみると、JavaVM言語のScalaやClojureのような、特に惹かれるものは見あたらない。
敢えて挙げるなら、Booだろうか。
とりあえず、チュートリアルはC#なので、C#をやってみた。
Hello Worldに毛の生えた程度のプログラムだが、テストや配布などの手順なども体験できる、中々良いチュートリアルだった。
次は何をすれば良いだろう。
そもそも何をしたかったのだろうか。
ちょっと試してみたかっただけなので、ここで終わっても良い。
もしやるなら、F#でWebかデスクップのアプリを作ってみたい。

2022年11月11日 (金)


ボイスチェンジャー

vtuberなるものを知った。
Linuxで使えるボイスチェンジャーがないか調べてみた。
いくつか見つかったので試してみたが、うまくいかない。
本気でやりたかったわけではなく、ちょっと試してみたかっただけなので、それ以上追求しなかった。
vtuberなら再生回数伸びるというわけでもない。
そもそも再生回数伸ばそうという欲求もない。

2022年11月10日 (木)

曇り

文庫本を2冊購入

本屋に寄ってきた。
コンピューターやプロフラミング関係のものは買うものが見つからなかった。
何も買わないのももったいないので、ちくま学芸文庫を2冊買った。

  • 確立論入門
  • 数学の自由性

特に読みたかったというわけでもなく、他に買うものがなかったからとりあえずといった理由で購入した。
ちくま学芸文庫の数学書は結構な数を所有しているのだが、読み切ったのは数冊しかない。
今回はそうならないことを期待したい。

2022年11月9日 (水)

霧のち晴

MX Linux on VirtualBox

MX Linuxは、DistroWatchでずっと首位をキープし続けている。
どこにそんなに魅力があるのかよく分からない。
VirtualBoxにインストールした。
ディスプレイの解像度が保存されない。
再起動すると、デフォルトの800x600に戻ってしまう。
それに、解像度の選択肢によく使われるフルHD16:9の1920x1080がない。
代わりに16:10の1920x1200がある。
これもよく分からない。
VirtualBox Guest Additionsをインストールしようとすると、systemdが起動していないとなってエラーになる。
どうやら、MX Linuxはデフォルトではsystemdを利用していないようだ。
ブートパラメーターを変更してやることで、systemdを使うように変更することもできる。
init=lib/systemd/systemd を追加してやれば良い。
これをすると、Guest Additionsのインストールもパスするし、再起動後も解像度が維持されるようになった。
他にどのような影響が出るのかは分からない。

Trelloを再開する

メモを共有するためのサービスがないか考える。
以前利用していたTrelloというのを思いだした。
再開してみる。
無料コースだとひとつのワークスペースにつき、10枚までしかカードを作れないという制限がある。
これはかなり厳しい制限に思える。
しかし、今の段階ではまったく必要ない。
簡単にどこからでもテキストにアクセスできればそれで良い。
しばらく使ってみる。

2022年11月8日 (火)

曇り、一時雨

JavaScriptゲームの本を少し進めた

日曜日から読み始めた、Packtの「Instant HTML5 2D Platformer」。
背景の視差スクロール(parallax scrolling)を作る。
サンプルではスクロールしないので、ただ表示するだけ。
処理の流れというか、関数の構造が少し変わっている。
DrawからUpdateを呼びだすとなっているところに違和感がある。
関数のパラメーターが何の役割を担っているのか、なかなか理解できない。
また、JavaScriptは、ES2015より前の、今となっては旧式のものが使われている。
出版年が2013年なので、これは当然のことで、何も悪いことではない。
オブジェクト指向をベースとしたスタイルになっているが、classは使われていない。
あまり現代の優れたコーディングスタイルの参考とはならない。
細かいところや具体的な作り方よりも、この本を読むことで吸収したいのは、2Dプラットフォームゲームに必要な要素の概要やボキャブラリーといったところだ。
そこを間違えないように注意しながら読んでいきたい。

VirtualBoxとSecure Boot

New PCでVirtualBoxを使うことを試みた。
まずは sudo apt install virtualbox を試す。
これはだめだった。
Secure Bootのチェックに引っ掛る。
VirtualBoxのドライバにサインして、それをUEFIに認識させないといけない。
この表現は適当で、正しくない。
Secure Bootのことを理解していないので、正しい言い方ができない。
でも、雰囲気はそんな感じだ。
この作業がちょっと厄介だ。
あまり簡単なドキュメントも見つからないし、UEFIにキーを登録するというのもリスキーな作業のように思えて足踏みしてしまう。
てっとり早いのは、Secure Bootを無効にしてしまうことだ。
Secure BootがLinuxでどれだけ役に立っているのか、いまいち分からない。
別にいらないんじゃないかという気がしてならない。
しかし、何となく気分が良くないので、まだ無効にしないでおく。
VirtualBox 7というのがリリースされている。
aptでインストールされるのは6.1となっている。
試しに、この7をインストールしてみる。
インストール手順は、VirtualBoxのホームページに書かれている。
インストール途中で、Secure Boot用のキーの設定をアシストしてくれるようなステップがあった。
パスワードをセットして、再起動して、そのパスワードを入力することで、Secure Bootに対応してくれるようだ。
それをやってみたら、無事、使えるようになった。
今日は、Fedora 37 (beta)とEndeavourOSを動かしてみた。
気になっているのは、もしこのキーが不要になったとき、抹消するのにはどうすれば良いのかということだ。
UEFIのメニューには、それっぽいオプションがいくつかあるのだが、うかつに触らない方が良い。
ちゃんと調べて、理解してからの方が良い。

2022年11月7日 (月)


New PC CPUグリスの塗り直し

どうもCPU温度が高い気がする。
アイドル時、UEFIの画面で50℃くらいになっている。
CPUグリスを塗り過ぎたような気がしているので、一度外して塗り直すことにした。
今回使ったグリスがまだ余っていたはずなのだけど、へらと一緒にどこかに消えてしまった。
ストックはあるのだが、いつのものか分からない。
グリスに使用期限があるのかどうかは知らないけど、最大6年前のもので、不安なので使う気になれなかった。
仕方なく、仕事帰りにPCショップに行って買ってきた。
Owltechの500円のにした。
除去するための専用アルコールも買っておいた。
CPUクーラーを取り外してみると、やはり塗り過ぎたような状態に見えた。
CPUのヒートシンク部分から溢れて、側面に付いているし、基盤にも僅かに付着してしまっている。
拭き取るのにはかなり苦労した。
綿棒と除去剤を使って慎重に作業した。
7万もするCPUを扱うのは初めてなので、とても怖かった。
なんとか作業を終えて、起動してみる。
なかなか画面が表示されず、やっちまったか、と嫌な感じがしたけど、無事に起動してくれた。
UEFI画面で、40℃前後になっている。
おお、うまくいったのかと思ったけど糠喜びだった。
エアコンを付けて部屋の温度を25℃にして、しばらくUbuntuを起動した状態で放置した。
その後で再度UEFI画面を確認すると48℃くらいになっている。
これ以上は下がらないようだ。
グリスが問題ではなかったという結論になった。
無駄な作業だったとは思わない。
やらなければ、もやもやとしたまま使い続けなければならず、やり直さないという選択肢はなかった。
それに、水冷クーラーのラジエータを逆向きに付けていたのを直したし、配線も良くなった。
Ryzen 7000自体が発熱の大きいCPUでもあるようなので、これ以上は考えないことにする。
とはいえ、lm_sensorsが使えないのは不便なのでなんとかしたいところ。

2022年11月6日 (日)

曇り

JavaScriptでゲーム

Packtのそういう本を読んでいた。

  • Instant HTML5 2D Platformer

新しいPCで新鮮な気持ちで始める。

2022年11月5日 (土)

曇り

障子貼り替えなどの手伝い

それだけで1日終わった

2022年11月4日 (金)

曇り

机をもらった

前から譲ってもらうことになっていた。
PCも用意できたことだし、このタイミングが良いだろうということで、運んだ。
部屋がとても良い感じになった。

2022年11月3日 (木)


New PC OSのインストール

OSはもちろんLinuxを入れる。
どのディストリビューションを入れるかは悩みどころだ。
第一候補は、GarudaのDragonizedエディションだ。
以前、CinnamonとGNOMEのエディションをしばらく使っていた。
本当はPlasma環境のDragonizedを使いたかったのだけど、動作が安定しないため諦めていた。
この新しいPCではうまくいくのかどうか分からないが、一度試してみることにした。
せっかく最新のもので揃えたので、できるだけヘビーな環境で運用したいという希望もあった。
インストーラーのイメージをダウンロードしてきて、USBメモリに書き込む。
これでブートしよとすると、「Secure Boot Policy」でエラーになる。
UEFIの設定にSecure Bootという項目があって、これをOFFにすることを試すこともできるがやらなかった。
他にも、DVDに焼いて試すという手を試す価値はあるがやめておいた。
別のArch Linuxベースのディストリビューションを試すことにした。
すると、それらもやはり別の原因で起動できない。
ManjaroはGarudaと同じく、Secure Bootで起動できない。
EndeavourOSは、ブートはできるが、初期化の途中で何かのエラーで止まってしまう。
Arch Linuxベースのディストリビューションは他にもたくさんある。
しかし、これ以上試しても無駄だろうということで、別のメジャーなものを試すことにした。
Fedora 36をやってみたが、初期化の途中で真っ暗の画面のまま止まってだめだった。
Ubuntu 22.10は、ついこないだリリースされたばかりで、期待できる。
初期化の途中でEndeavourOSのときと同じエラーがでるが、止まらずにそのまま進んでデスクトップ画面が起動できた。
マザーボードにWiFiが付属しているので、それを利用しようとしたが、検出しない。
仕方なく、LANケーブルを差してインターネットに繋げた。
そのまま1TBのSSDを丸ごと使ってインストールに進んだ。
インストールメディアを外して、起動してみる。
だいたい快適に動いているが、問題がないわけではない。

  • lm-sensorsでCPUの温度や情報が得られない。
    sensors-detectでセンサーを検出してくれない。
  • マザーボードのWiFiが使えない。

これらが、時間を置けば解決できるようになるのかは分からない。
いずれにしても、ちょっと先を急ぎ過ぎたかという気もしている。
Ubuntuしかインストールできなかったことからも、まだLinuxを取り巻く環境がこの新しいCPUに対応していないといったところがある。

2022年11月2日 (水)

曇りのち晴

New PC 購入

買ってきた。
いきつけのパソコン工房に行った。
CPUはRyzenを使ってみたかったので、AMDに決めていた。
7900と7950は置いてなかったので、7700にするしか選択肢はなかった。
7700も視野に入れていたので、問題ない。
マザーボードは、ASRockのがなかった。
やめておこうか、ネットで買うか、別の店で買うか迷った。
Ryzen 7000とマザーボードをセットで買うと8000円引きというセールをやっていたので、買ってしまうことにした。
ASUSのはさらに6000円くらい値引きされるセールもやっていた。
ASUSは過去に買ったことがあるので、今回はMSIのにしてみた。
6000円はちょっとでかいな、とちょっと判断を誤った感が残っている。
B650にするか、X670かにするかも迷うところだが、B650のはMicro-ATXのしかなかった。
X670にすると、値段は15000円ほど高くなる。
Micro-ATXだと、M.2が2つしか付けれないのが嫌だったので、X670のを買ってしまうことにした。
メモリは、当然DDR5を選択する。
今使っているのと同じブランドの、Corsairのが欲しかったがなかった。
もしあったとしても、事前に調べておいてやたら高いのを知っていたので選択しなかっただろうから、別に構わない。
無難にCFDの16Gx2にしておいた。
16000円程度と、ネットとあまり違わない値段で入手できた。
SSDは当然M.2のを選ぶのだが、M.2は見た目では判断できない仕様の違いがある。
Western Digitalの黒を予定していたが、予定していたものがなかった。
少し高いものしかなかった。
CFDのでかなりお得感のあるものがあったのでそれにしておいた。
CPUクーラーはもちろん水冷のにする。
おしゃれなパッケージのが多いので、目移りする。
ここはせっかくマザーボードをMSIにしたので、揃えてMSIのを選択した。
ケースと揃えて白色のにした。
他に決め手はなかった。
ケースはFractal Designのにした。
このブランドの名前は以前から知っていて、安心感もあった。
IN-WINというブランドのも気になっていたのだが、白にしたかったのでこちらにした。
展示物のみで、2000円引きとなっていた。
それでも1600円くらいで、そこそこ値の張るものだ。
電源は、Corsairのものが揃っていた。
Corsairは、お気に入りのブランドで、迷うことなく決められた。
750Wくらいでいいだろうという助言をもらったのでそれにした。
グレードが2つあって、「話題の新製品」というラベルが張られていた「e」の付いたやつにした。
モニターディスプレイも買った。
今使っているのは、比較的最近買ったもので、製品自体は申し分ない。
しかし、ドット欠けがある残念なものなので、新しいのが欲しかった。
4Kを試してみたいというのもある。
前から欲しかったブランドBenQのもので、28インチ4K対応で、35000円くらいとかなり安いのがあった。
高リフレッシュレートには対応していない。
つまり、60Hzまでとなる。
高リフレッシュレートで4Kのものが8万近くであった。
このモニターでがちがちのゲームをすることはないだろうから、安いので前々構わない。
それにBenQのが欲しかった。
今度はドット欠け保証に入った。
2連続でドット欠けに当たるということは考えにくいが、もうこれは値段に含まれるものだと考えて、迷わず入ることにする。
保証で、メモリの相性問題の保証も10%追加で入った。
1500円程度なのだが、これはかなり迷った。
これまで何台もPCを組んできているが、よく言われる相性問題に遭遇したことは一度もない。
しかし、現モニタのドット欠けのように、万が一遭遇したときの残念感は絶対味わいたくない。
なので、これも入っておくことにした。
最後に、グラフィックカードだけど、これは今は保留しておくことにした。
Ryzenにグラフィック機能が付いているので、とりあえずそれで間に合わせておく。
グラフィック機能が付いていくことは事前に知らなくて、グラフィックカードは必須だと考えていた。
AMDのRX6600からRX6750あたりで、5万以上を覚悟していた。
なぜAMDかというと、Linuxでの使用では、AMDを推している人が結構いるようだからだった。
CPUがAMDだからというものないわけではない。
そんな感じでRadeonが欲しかったのだけど、RX7500XTのがひとつ置いてあるだけで、それもネット価格と比べるとやたら差がある。
そういうことで保留にしておいた。
しばらくは、CPUのを使うことにする。

買ったもの

CPU
Ryzen 7700X
マザーボード
MSI PRO X670-P WIFI
メモリ
CFD W5U4800CS-16G
SSD
CFD CSSD-M2M1TPG4NZL
PCケース
Fractal Design FD-C-DEF7C-04 Define 7 Compact White Brushed Aluminum/Steel
電源
Corsair RM750e (CP-9020248-JP)
CPUクーラー
MSI MAG CORELIQUID 240R V2 WHITE
モニター
BenQ EW2880U

New PC 組立

まずケースを箱から出して眺める。
どのような順番で組み立てればいいかをイメージする。
マニュアルを見ながら、パネルの取り外し方や、配線の仕方などを学習する。
マザーボードの取り付けなどはいつもと一緒だ。
水冷クーラーを使うのは初めてで、これが今回の山場となりそうだ。
順番としては、次のようにすると良さそうだ。

  1. マザーボードにパーツを取り付け
  2. ケースに電源ユニットを取り付け
  3. ケースにマザーボードを取り付け
  4. CPUクーラーをマザーボード、ケースに取り付け
  5. 電源とマザーボードを繋ぐ
  6. ケースのジャンパー線とマザーボードを繋ぐ

実際やった手順としては、3と4を逆にした。
つまり、先にCPUクーラーを先にケースに付けてから、マザーボードを取り付けた。
これはあまり良い方法ではなかった。
ケースの前面には、付属のファンが付いているので、外すのを面倒がって、トップに水冷クーラーを取り付けてみる。
これは失敗だった。
マザーボードの上辺が、ぎりぎりの位置にくる。
かろうじてマザーボード上段のネジを締めることはできるが、CPUの電源を差し込むのに手が入らなくて、取り外しもかなり難しくなる。
それどころか、マザーボードをケースに収めるのもきつきつで、よろしくない。
横着せずに、フロントのファンを取り外して、フロントにCPUクーラーのヒートシンクみたいなのとファン(名称が分からない)を取り付けた。
元から付いていたファンをトップに付けておいた。
マザーボードにはCPUとメモリとSSDの3点を取り付けるだけでよい。
SSDのM.2スロットは、ヒートシンクがマザーボード側に用意されていて、独特な取り付け方をするようになっている。
他はいつもと同じようなものだ。
難し作業ではないのだけど、5万以上もする高額なマザーボードを触るのは初めてなので、緊張した。
マザーボードだけでなく、CPUもこんなに高額なものは初めてだ。
なので慎重に慎重を重ねて、たっぷり時間をかけて取り付けた。
ジャンパ線はいつもそうなのだが、今回は特にやりくかった。
やらないといけないのは、以下の4本だけだ。

  • POWER SWITCH
  • RESET SWITCH
  • POWER LED +
  • POWER LED -

マザーボードの再下段にピンがあって、ケースの下のぎりぎりの位置にある。
なかなか狙った位置に手が届かない。
ピンセットでやるにも、3本が完全に分岐していなくて、1本を動かすと他も動くので、無理がある。
なんとか手でがんばって差し込んだ。
CPUクーラーのARGB(JRAINBOW)線はどこに差せばいいのか迷った。
JRGBというピンはすぐに見つかったのだが、これは4ピンなので、ARGBの3本端子には合わない。
もしかして使えない?と不安になった。
マニュアルを良くみると、ちゃんと買いてあって、3本ピンのものが見つかった。

New PC 試運転

6時間近くかけて組み立てて、蓋をする前に電源を入れてみることにした。
あまり自信がなかったのだが、一発でうまくいった。
UEFIの画面までちゃんといった。
CPUクーラーもきれいに光ってくれた。
あとは配線をきれいにしておきたところ。
ファンにふれて「ががが」ってなって、断線してないよな、って不安になった。
店頭で展示されているような模範的な配線にまとめたい。
今日はもう寝たいたので、うまくやる方法を調べたりせず、とりあえずファンに触れるようなことがなければいいという程度で済ませておいた。
あとは蓋をしてお終いと思ったら、裏側のサイドパネルが閉まらない。
裏側に電源のケーブルを回していたのが当たっている。
試行錯誤して、なんとは少しはみ出ている部分を小さくすることができた。
一応は閉まるようになった。
しかし、外そうとするとき、あまりに簡単に外れるので、きちんと収まっているのかどうかはちょっと不安だ。
明日、というかもう朝なので今日だけど、OSをインストールすることにする。
気になっているのはUEFIで表示されるCPU温度だ。
最初はエアコンを切っていたので、少し寒いくらいの部屋で39℃だった。
エアコンを25℃に設定して、少し暖かくすると、49℃くらいになっている。
ちょっと高くはないだろうか。
今のPCでは、30℃前後だ。
このPCのCPUはCore i3なので、こちらが低めなだけかもしれない。
60℃くらいまでなら普通のようだが、やはり不安な気持ちになる。

2022年11月1日 (火)

曇りのち雨

PCの価格調査

IntelとAMDの新CPUが出揃って、それらに対応した新しいMBもぽつぽつと見られるようになってきた。
この時期をずっと待っていた。
で、明日、PCを新調する。
その準備として、今日は価格.comで各パーツの価格を調べていた。
まだ価格は落ちついているとは言えないかもしれない。
出費を抑えようと思えば、現行世代のCPUで揃えたり、DDR4のメモリにしておいたり、工夫することもできる。
しかし、今度は仕事として使用するPCなので、思い切って必要なものを買ってしまう。
だいたいは店頭で購入する予定なのだけど、グラボは特に価格差が大きい。
値下げしてもらえなかったら、グラボだけはネットで買うかもしれない。

Created: 2024-02-07 水 06:54

Emacs 29.1 (Org mode 9.6.6)

Validate