曇り、小雨
コンピューターウイルス解体新書 を読み終えた
あまり期待していなかったのだけど、良い内容だった。最後の社会構造とウイルスを結びつける考察は、面白いのだけど、無理があるように思えなくもない。鵜呑みにできるようなものでもない。
曇り、小雨
あまり期待していなかったのだけど、良い内容だった。最後の社会構造とウイルスを結びつける考察は、面白いのだけど、無理があるように思えなくもない。鵜呑みにできるようなものでもない。
曇り
1500円程度になった。ドラゴンボール、スラムダンク、陽だまりの樹、コンピューター関係の本をたくさん。だいぶスッキリした。手塚治虫の本の多くはKindleが良心的な値段で提供してくれているので、思い切って手放すことにした。
晴れ
すごく良くなっている。これでC++20のスタートを着ることができる。
以前試したとき、やはり4Kだと重いように感じていた。ちょっと調べてみると、起動時の設定である /boot/firmware/config.txt をいじると良さそうなような情報を見つけたので試してみた。結果、何も変化なし。4KだとFull HDに比べてやはりもっさりしている。もう一台Full HDのディスプレイが必要かもしれない。
激しい雨のち曇り
表面的な技術だけではなく、知能とはなにか、根底から問うところから始まる。はっきりした答えはまだないにしても、意味のあることだ。
2010年ごろの本。最新版があれば読みたい。
記憶領域への負荷を下げるために、思い切って手放す。
曇り
もらった大型の棚を組み立てて、いろんなものを移動させた。少しだけ片付いた。
曇り
全然悪い本ではないのだけど、期待したほどではなかった。Ghost of Tsushimaが実績としてあることが信頼の証でもある。割とたくさん掲載されているC++のコードはかなり保守的だ。チームとして厳格なルールを敷いている。窮屈にさえ思える。正直、そんなチャンスもないだろうけど、ここでプログラミングをしたいと思えるような魅力的な環境には思えなかった。
雨
「達人」という当て訳に嫌悪感を抱くのは自分だけではないと思いたい。実際、C++ソフトウェア設計の参考文献には原著の方が挙げられていて、親近感を覚えたりした。
セールス上の理由なのだろうが、この当て訳はすごく良くない。およそ実態はかけ離れているのに「達人」の振りをしたり自称したり思い込んだりできるのはどこを探してもこの領域だけだろう。
GOSICKを全部読み終えて、ようやく手を付けることができるようになった。GOSICKはあまりしっくりこなくて、やや微妙な感じで読んでいた。だから時間がかかったというのもあるだろう。そういわけなので、それほど期待していたわけではなかった。蓋を開けてみると、これは面白い。あっという間に読み終えた。残りにも期待できる。
雨、曇
C#やJavaのような言語を前提としているフシがあるので、要望に完璧にマッチするわけではなかった。しかし、堅実で、大変ためになる内容だった。
壊れているSolusと、ずっと使っていないAV Linuxを削除した。GarudaはDr460nized Editionを入れた。以前、一度ログアウトすると再ログインができなかったりする症状があったので使えなかった。だいぶ時間がたっていることだし、もう一度試してみることにした。どうやら問題なく利用できそうだ。ただ、やはり色がファンシーすぎる。それが良いのだけど。Fedoraはちょうど40がリリースされたところだった。インストール、起動とも何も問題ない。快適に動作する。
曇り、雨
なっとく!関数型プログラミングが良かったので、買い揃えたシリーズの一つ。関数型プログラミングはそれほど簡単な内容ではなかった。こちらは、まあ、簡単と言っても良いだろう。突き詰めれば何もかもが簡単とは言えない。それに、後半のグラフアルゴリズムや動的計画法は必ずしも初歩的なアルゴリズムではない。本のタイトルが偽りにならないように、深入りしすぎず、かつ表面的になりすぎてごまかしたようにならないようになっている。その目標は達成されていて、確かになっとくできる。
曇り、雨
もらったニトリのカラーボックスを組み立てるのに合わせて、本を移動した。特に読み終わった本を収納している廊下の本をガラスケース付きの棚に移動した。理由は、廊下はチョコ専用のスペースとなっているので、何かの拍子に傷をつけてしまわないかを危惧したためだ。ずっと気にかかっていたのを修正できたのでスッキリした。組み立てたカラーボックスにはまだ入れるものがなく、空っぽのままとなっている。ベッドのところにおいたのだけどあまり乗り気ではない。寝るところはできるだけ何も置かないでおきたい。
いい本だった。無料で読めることを知らなかったけど、全然損した気にはならない。これでやや不安に思っていた3Dグラフィックスの足場ができたと思う。思い残すことなくOpenGLの修行を再開できる。
晴れ
用事があったので出かけてきた。せっかくなので本屋によった。もうめぼしいものはない。なんとか1冊興味のあるものを見繕って買っておいた。あとはラーメンを食べて帰った。
ctagsdは全く機能しない。clangdはcompile_commands.jsonが生成されないので、オプションを反映させることができない。
GitHubのissueにヒントがあった。
https://github.com/eranif/codelite/issues/3214
要約:
このUbuntu 23.10の環境の場合、/usr/lib/codelite/codelite-make が見つからないというメッセージが見つかった。たしかにそのパスにはない。/usr/bin/codelite-make に存在していたので、そこへのシンボリックリンクを張っておいた。すると、clangdは期待通りの動作をするようになった。ctagsdはだめなままだが、無視してよいだろう。
晴れ
三角形を塗りつぶす。
晴れ
買ったまま放置状態だったXP PEN Deco V2を接続した。EndeavourOSはArch LinuxベースのディストリビューションなのでAURにドライバが存在していた。インストールしてみたが、認識してくれなかった。公式のサポートでLinux汎用のドライバが提供されていた。それをインストールしたらバッチリうまく行った。いまさらだけど良い買い物をしたものだ。
直線、正確には線分を書くところまで。
雨、晴れ
パースペクティブ。
曇り
ラスタライザのパートに入っている。一発目は直線を描画することから。前パートのレイトレーシングと比べるとやさしくなっている。まだ序盤であり、3Dが関係しないため直感的であることが理由だろう。
直線を描く、単色で塗りつぶされた三角形を描く、さらにグラデーションで塗りつぶすところまでやる。いずれも補間 (Interpolation)を意識することが重要となる。
ここの部分はYouTubeの動画にできないかを考えている。ちょうどOpenGLで三角形を描画するところまでやったあとなので、タイミングもちょうどよい。
晴れ
とても苦戦した。raylibをビルドするときに、MakeあるいはCMakeのオプションでOpenGLのバージョンを明示的に指定してやることが必須である。
$ cd src
$ make PLATFORM=PLATFORM_DESKTOP GRAPHICS=GRAPHICS_API_OPENGL_21
これは公式のWikiにも書かれている。
CMakeならば次のようにする。
$ mkdir build
$ cd build
$ cmake -DPLATFORM=Desktop -DGRAPHICS=GRAPHICS_API_OPENGL_21 ..
一応は使えるようになったものの、プラットフォームをDRMにすると動作しないことにまだ引っかかりを覚えている。
晴れ
floatの精度による誤差で期待通りの結果が得られない問題と格闘していた。floatをdoubleに置き換えれば解決することを発見した。そうすると、raylibのVector3は使えない。自前の簡易的なユーティリティを作成した。結果、問題は解決した。
これでパート1のレイトレーシングは終了となる。仕上げとして、これまでのレイトレーサーを拡張するヒントが書かれている。これまでと違い、本の中では実際にやることはなく、読者の課題となっている。全部やっていたらかなり大変だが、理解もずっと深まることだろう。。まずは1周してしまうのが良いだろう。
晴れ
朝、部屋を開けたら嘔吐物が散乱していた。調べてみると、昨日寝る前に食べた食事を全部吐き出したようだ。いつもと違ったものを出してみたら、おいしそうによく食べてくれるので、調子に乗って一袋全部あげたのが良くなかった。今後気をつけよう。
晴れ
OpenGL SuperBibleの4章を読み進めていたところ、もっとグラフィックスの基礎となるところの理解に不安を覚えてきた。1年ほど前に購入して読もうと思って手つかずだったこの本を開いてみた。最初がレイトレーシングから始まることに戸惑いを覚えていていたのだが、実際に読んでみると、このアプローチは非常に優れていることがわかった。ピクセルを画面に描画するPutPixel、あるいはSetPixelやDrawPixelなどと呼ばれる関数だけを使って、タイトル通りフルスクラッチで学んでいく。素晴らしい内容だ。3章まで読んで定番の基本的なライティングをしっかり学んだ。本書のサンプルコードはJavaScriptを採用しているが、自分はraylibを使った。DrawPixelに加えて、Vector3、Colorを使っている。それだけでも関心のあるグラフィックスに集中して取り組むことができるようになり、大変助かっている。
GitHubで全文が公開されていることを知った。本の方が明らかに読みやすいので損したなどとは全く思わない。
晴れ
携帯に通知が来たあと少し揺れる。
1週間経ったのでトイレのパッドを交換した。受け皿も洗った。全然匂いがしない。ちゃんと自分からトイレでしてくれるようになったし、この製品は大当たりだった。
3回目くらい。問題なし。
晴れ
これはすごい本だ。
晴れ
いつもどおり、本屋に立ち寄って、ラーメンを食べる。実用Gitとプログラミング言語AWKを購入。
晴れ
経過良好。
雨
読みやすい。