2023年5月の日記
2023年5月31日 (水)
晴れ
禁煙3日目
2023年5月30日 (火)
晴れ
禁煙2日目
2023年5月29日 (月)
雨
禁煙1日目
2023年5月28日 (日)
晴れ、曇
Amazonで買い物
- Introduction to Algorithms, fourth edition
前々から欲しかった本。
Amazon出品のものが、11000円程度にまで下がっていたので、思い切って買ってしまった。
1000ページ超であることを考えれば、妥当な価格だと思う。
DQ6 伝説の装備が揃った
ずっと停滞していた。
なんとなく手にとって進めてみたら、ちょうど良いところまで進んだ。
まだエンディングは先になりそうなので、FF5を先にクリアしておきたい。
Fireタブレット どちらを買うか
Fire Max 11を購入するつもりいたのだけど、よく考えると、Kindleの本を読むだけの目的のためには、オーバースペックであることに気づいた。
必要なのは、今使っているiPhone SEほど小さすぎない画面だけだ。
各モデルのサイズを確認してみると、Fire HD 8でも十分に思える。
しかし、現在Fire HD 10 Plusが切り替え時期にあるためだろう、セール中になっていて、2000円程度しか違わない。
ならば、Fire HD 10 Plusで良くないかということになる。
しかし、10は2年前のモデルなので、ちょっと古い。
選択肢は、Kindle専用にFire HD 10 Plusで無難に抑えるか、Fire Max 11にキーボードやペンをつけたフルセットにするか、どちらかだ。
Fire HD 10 Plusのセールがいつまでかは知らないが、終了したら10は選択肢から外れる。
また、6月1日から微妙なポイントがつくセールがあるので、Fire Max 11を買うならそのタイミングになる。
悩ましい。
2023年5月27日 (土)
晴れ
アマゾンタブレットの13世代の発売が決まった
6月14日発売。
名前がFire HD 10からFire Max 11に変わっている。
価格が¥35,000と、11世代から¥15,000くらい上がっている。
キーボードやカバーなど諸々をつけたら、5万くらいになる。
Kindleの本を大きい画面で読みたいだけで、こんな高価なものは必要なかったのだけど、仕方ないか。
PS5は来年になりそうだ。
2023年5月26日 (金)
晴れ
Odin
ElixirとCrystaは一通りやったけど、Odinはまだだ。
本が存在していないので、手探りでやることになる。
raylibのバインディングがバンドルされている。
それを試してみた。
簡単に使えて、いい感じだ。
PS2
部屋の掃除をしていた。
余っているテレビを部屋の隅に配置した。
なんとなく、PS2をつないでみた。
最初は、あまりの映像の粗さに戸惑った。
慣れてくると、これはこれでありかもと思えてきた。
S端子のケーブルを持っているので、それにしてみると気持ちちょっときれいになった気がする。
いくつかプレイしてみて、もうちょいプレイしてみたいものが3つ。
- ラジアータストーリーズ
- テイルズオブデスティニー
- エヴァーグレイス
全部はじめてプレイする。
序盤だけどなかなか面白い。
まだPS4にも大量に未プレイのがある。
どちらを優先するか、悩ましい。
過去を振り返ってみる気持ちで望むのが良いだろう。
Kindle本 追加
- C++のためのAPIデザイン
まったく欲しいとは思っていなかったのだけど、目に入ってきた。
3700円に対して、ポイントが1800円が入るキャンペーンに釣られて購入した。
評価も高く、そんな悪い買い物ではなかっただろう。
2023年5月25日 (木)
晴れ
今日の読書
- C++20 STL Cookbook 1章
読み始めた。
まずはC++20新機能のおさらい。
サクサク読める。
初心者によるC++入門 #17 ポインタ
1時間超えになった。
だいたい喋りたことは喋ったつもりだった。
いくつか、訂正したいことや、付け加えたいこともある。
スタックのイメージで、intとポインタの四角形のサイズが一緒なのが誤解を招きそう。
nullptrに対してdeleteをしても、害は発生しない。
昔よく見かけたSAFE_DELETEマクロは、それを利用して、2回適用しても害がないようにしている。
しかし、2回適用されること自体が、ロジックに問題を含んでいる。
そういう意味でも、こんなものは使うべきではない。
2023年5月24日 (水)
曇り
今日の読書
- Moder C++ チャレンジ 3章
ずっと放置していて、気にかかっていた。
3章は文字列と正規表現。
なかなか面白くなってきた。
しかし、別に日本語化されるほど難しい文章でない。
他に優先して翻訳されるべきものはもっとあると思う。
どういう基準で選択されたのか、不思議だ。
2023年5月23日 (火)
曇り、晴れ
今日の読書
- OpenGL Shading Language Cookbook 3章
トーラスやティーポットのデータを生成するコードが意味不明で、消化不良な感じが否めない。
2023年5月22日 (月)
曇り、にわか雨
今日の読書
- Deciphering Object-Oriented Programming with C++ 3、4章
OOPには直接関係しない、C++の初歩的な内容。
それ以前の準備段階。
タイトルの「deciphering」に惹かれて、期待して読み始めたのだが、まだ、それに見合った内容ではない。
2023年5月21日 (日)
曇り
今日の読書
- SFML Game Development By Example 5章
眺めただけ。
微妙。
Lispの本
- Common LISP: A Gentle Introduction to Symbolic Computation
Kindleで購入した。
サンプルを見て、良さそうに思えた。
3000円弱と比較的安いのも決め手だった。
iPhone SEで開いてみると、いつもは文字が小さくて読む気になれないのだが、この本は丁度いいサイズで読みやすい。
緊急性は高くないので、ぼちぼち読んでいくことになるだろう。
Linux Device Driverという定番の本も、Kindleで比較的安く購入できるので、迷った。
できれば紙で欲しい気持ちもあって、今回は見送っておいた。
2023年5月20日 (土)
曇り
今日の読書
- C# 11 and .NET 7 4章
- Deciphering Object-Oriented Programming with C++ 2章
- SFML Game Development By Example 4章
色々と手を付けてみた。
成果は微妙。
特に、SFMLのは文章もコードも読みにくい。
2023年5月19日 (金)
雨のち曇り
今日の読書
- ゼロから作るDeep Lerning ❶ 8章
読み終えた。
なかなかおもしろかった。
このシリーズは全部揃えてある。
先に進む前に、もう1冊、別の入門書もあるのでまずはそちらから読む。
即物的学習
ディープラーニングには、即物的な視点から、良い面と悪い面がある。
即物的というのは、純粋な技術的な関心からではなく、自己の市場価値を高めるためのスキル形成を狙いとしていることを指す。
その視点から見ると、好むと好まざると、否応なしに学ばざるを得ない。
今の時代、ディープラーニングを理解していないのは、単にその能力がないからだとみなされる。
これは悪い面だ。
逆に言うと、学んであれば優位に立てることになる。
ディープラーニングは、割と誰でも学ぶことができる類のものではないところがある。
最初はそうでもないが、実用的なレベルまで到達しようとすると、ある程度の数学の素養が必要とされる。
おそらく、かなり早い段階で、線形代数と微分積分の盤石な理解は必要となると見ている。
もっと先に進もうとするなら、かなりの適正が必要となってくると見ている。
そういうハードルがあるため、労働市場は明らかに供給不足となっている。
これは、即物的な視点からいうと、良いことだと言える。
多くがふるい落とされることで、ちょっとした努力で割のいい優位性を得ることができる。
ということで、いやらしい、下心をもって取り組むことができないわけでもない。
もっとも、そんな動機でやるのはつまらないに違いない。
2023年5月18日 (木)
晴れ
今日の読書
- ゼロから作るDeep Lerning ❶ 5、6、7章
コードを書くのが面倒で、読むだけになってしまった。
おかげでサクサク進む。
7章は特に良かった。
2023年5月17日 (水)
晴れ
今日の読書
- ゼロから作るDeep Lerning ❶ 3、4章
3章まではコードも書いていた。
4章は読んだだけだ。
2023年5月16日 (火)
晴れ
今日の読書
- ゼロから作るDeep Lerning ❶ 2章
2023年5月15日 (月)
晴れ
初心者によるC++入門 #16
配列。
次はポインタ。
苦痛になってきた。
先に必要なものをまとめて取上げていくスタイルで進めている。
それよりも、何かを作りながら必要になった時点で取り上げる方がやりやすい。
そこまでやらなくても、少なくとも、何かしら実践的なベースとなるコードを用意する方が好ましい。
断片的な、動作確認だけのためのものではつまらない。
そうやっていると長くなってしまうので、また苦痛が増してくる。
ここはまだ準備段階で、また、1回で完全に解説をしようとも思っていなくて、最低限のヒントを出す程度に考えている。
何かを作り始めるようになっても、また繰り返ししゃべることになる。
そういうわけだから、とにかく、予定しているところまで今のまま進めてしまうことにする。
2023年5月14日 (日)
曇り、晴れ
今日の読書
- GObject Tutorial for beginners 7〜9 完了
- Deciphering Object-Oriented Programming with C++ 1章
2023年5月13日 (土)
曇り、雨
初心者によるC++入門 #15
関数の初歩。
関数は最大のテーマと言っていいかもしれない。
良い関数を書くことを身につけることが、良いコードを書くことへの最初のステップになる。
真面目にやっていたらいつまでたっても終わらないので、最小限に留めておいた。
もうしんどくなってきた。
はやくテトリスを作り始めたい。
資料を作る側に回ると、こうやって、必要なものを最初に詰め込んでいくスタイルは、退屈な作業だと分かった。
何かを作りながら、必要になった段階ではじめて解説する方式、いわば遅延評価の方がずっと楽だ。
たぶん、動画で先に詰め込むスタイルでやることは、今回はやりきってしまうとしても、それ以降はもうないだろう。
今日の読書
本じゃないけど、一応そうしておこう。
GTKの基礎を知りたいので読んでいる。
Cに強固なオブジェクト指向の基礎システムを持ち込むライブラリ。
コードだけみると狂気じみたものを感じる。
それでも、信頼性の高いシステムであることは、GTKやGNOMEの実績から計り知ることができる。
直接GObjectのコードを書く機会は殆ど無いだろう、と思いたい。
その上に構築されたライブラリだかフレームワークだかを利用するだけでありたい。
2023年5月12日 (金)
曇り
MIT標準 Python 第3版
Kindleのセールが今日までだった。
一応、購入しておいた。
スマホでは小さすぎて非常に読みづらい。
親のお下がりのタブレットが2台あるものの、古すぎてKindleをインストールできない。
一応、ブラウザ版のKindelで読むことができる。
どの本でも読めるわけではなく、対応していない本もあって不便だ。
Kindle White PaperかFire HD 10タブレットを買うことを検討している。
2万程度するので、ちょっと尻込みしてしまう。
初心者によるC++入門 #14
繰り返し(ループ)。
新たな発見があった。
C++第4版には、for文とwhile文の条件のところが「条件」と書かれていて、do文は「式」と書かれている
感覚的に、今まで「条件式」がくるものと思っていた。
なぜ式でなくて条件となっているかと言うと while (int x = getchar())
や for (int i = 0; char c{s[i]}; ++i)
といった形式を受け付けるのが理由だ。
この場合、条件のところは式ではなく、初期化、宣言になっている。
cppreference.comを見ると、詳しくそのことが書かれていて、C++第4版と一致している。
こんな書き方することはないだろうが、C++第4版とcppreference.comの正確さを垣間見ることができた。
Amazonで買い物
- 純粋関数型データ構造
- 関数プログラミング 珠玉のアルゴリズムデザイン
中古で3000円くらい。
なんとなく読んでみたくなった。
2023年5月11日 (木)
晴れ
今日の読書
- プログラミング言語D 12、13章 (完)
読み終えた。
めっちゃいい本だった。
最後はジョークで締めくくっていた。
特に良かった章は、10章の契約プログラミングと13章の並行処理だった。
タイヤ交換
ようやく済ませることができた。
ちょっと腰をやったっぽい。
かがむと痛くなる。
そこまでひどくないので、長引かないとは思う。
運動不足だ。
2023年5月10日 (水)
晴れ
本の大処分
断舎離とまではいかないが、かなりの量の本を処分することにした。
処分には2ステップ踏むことにした。
- ブクログから登録を外す
- 未練のないものと、手放すべきだが踏ん切りがつかないものに分ける
ブクログに登録してあるうち、候補となるものは、登録から外すことにする。
本当に手放したいものは問題ない。
普通にそのままダンボールに入れておいて、まとめてブックオブに持っていく。
微妙なものも、とりあえずブクログから外しておく。
それらはどうせ読むことのないものだろう。
かつ、何らかの理由で残しておきたいという気持ちのあるものだ。
それらは、管理対象外として、目の届かないところにおいておく。
所有しているという意識をなくすことがまずは必要だ。
今日の読書
- プログラミング言語D 11章
今日中に読み終えたかったけど、寝てしまった。
2023年5月9日 (火)
晴れ
今日の読書
- プログラミング言語D 7、8、9、10章
契約プログラミングについて、初めて具体的なコードで学ぶことができた。
事前条件とか事後条件とか不変条件とかなんなのかイメージできずに放置していたところを、うまい具合に補うことができた。
大きな収穫だった。
2023年5月8日 (月)
晴れ
FF5、武器が揃った
めっちゃ強くなった。
もう普通にクリアできそうな雰囲気がする。
まだ召喚獣を2体確保していないので、それやったら突入してしまって、一度クリアしてしまうのが良さそうだ。
このピクセルリマスターのシリーズ、かなり売れているようだ。
PSStoreの4月のダウンロードランキングで、FF6が1位になっている。
4月20日と、月の後半に発売されたにも関わらず、大したものだ。
ゲーム購入
PS Storeでセール中のサガフロンティアと聖剣伝説 Legend of Manaを購入した。
サガフロンティアはやったことない。
LoMは1回だけやったことあるが、ほとんど覚えていない。
FF7、8、9が50%オフだったので、揃えようかと思った。
やりたいのは9だけだけど、ピクセルリマスターで1〜6が揃っているので、どうせなら全部揃えたいという気持ちのみで、あまり賢い買い物ではないので、やめておいた。
PS Plusのエクストラのラインナップにあるので、やりたいならそちらに入った方が良さそうだし、やめておいて正解だった。
2023年5月7日 (日)
雨
今日の読書
- OpenGL 4 Shading Language Cookbook, 3rd Edition 1章
GLADやGLEWといった、OpenGL Loading Libraryの必要性がよく分かってない。
GLSLのコンパイルとリンクについてはまずまず。
SPIR-Vを利用すれば、GLSL以外のシェーダー言語も使えるそうだ。
例えば、HLSLをSPIR-Vにコンパイルして、OpenGLからそれを利用することもできる、はず。
可能性を感じさせる。
MITのPython本がセール中
6000円のが3000円になっている。
第3版でKindle版。
あと5日と表示されている。
迷うところだ。
2023年5月6日 (土)
雨
FF5、結構進んだ
石版集め、2枚め。
クルルが二刀流、みだれうち、まほうけんを覚えた。
ちょっと強くなりすぎた気もする。
2023年5月5日 (金)
晴れ
FF5をちょっと
ギルガメの洞窟をやってみた。
ブリザガで攻める。
ブリンクとぶんしんが有効だ。
今日の読書
- マサチューセッツ工科大学 1、2章
- OpenGL SuperBible 7th 6章
MITの文庫本。
見た目よりずっと濃密な内容で、エンターテイメントというよりエンジニアリングの心構えを説いたような内容だ。
しかも面白い。
これは読む価値がある。
GLを1年ぶりくらいに再開。
「Shaders and Programs」という章。
GLSLのコードのサンプルを示すような内容ではなく、もっと基礎的なところの解説。
GLSLの組み込みの型や関数、コンパイルとリンクの仕組みなど。
パイプラインの各ステージを、複数のプログラムに分割することができる。
例えば、Vertexシェーダーはこのプログラム、Fragmentシェーダーはこのプログラム、のようにすることができる。
ゲームの規模が大きくなれば必要になることだろう。
しかし、今の自分には必要のないことで、オーバースペックな感じがするので上の空だった。
C++の標準ヘッダが見つからないトラブル
解決策
$ sudo apt install g++-13
SpacemacsでC++コードを開くと、LSPがiostreamを見つけられないと報告してくる。
今まで、lsp-clangdを使用していた。
試しに、lsp-cclsにしてみても、やはり発生する。
Ubuntuを23.4にアップグレードしてから、Emacsが28.2になったことが関連しているのではと疑う。
あるいは、lsp-modeに何か問題があるのではないかと疑う。
同じEmacs 28.2がインストールされている、仮想マシンのFedora 38で試すと、そちらは発生しない。
両方ともパッケージはすべて最新の状態にして試した。
色々試しているうちに、clangでも問題が発生することが分かった。
#include <iostream> int main() {}
このようなコードで clang++ hello.cpp
とすると、iostreamが見つからないとエラーになる。
無関係ではないだろう。
libgcc-13-devというパッケージをアンインストールすると、うまくいくことが分かった。
しかし、libgcc-13-devはEmacsが必要とするため、削除するわけにはいかない。
諦めかけて、ダメもとでgcc-13をインストールしたりしてみる。
すると、g++-13をインストールしたところで、パスして、LSPの方も問題なく動作するようになった。
どうやら、Ubuntuではかなり前から知られていた問題のようだ。
これはバグと言ってもいいように思える。
ともかく解決してよかった。
2023年5月4日 (木)
晴れ
何もしてない
ぼーっとしてた。
2023年5月3日 (水)
晴れ
何もしてない
ぼーっとしてた。
2023年5月2日 (火)
晴れ
心機一転
そろそろ動かないといけないなと思い、検索してみた。
なんか思っていたのと違う。
こんなので稼げるようになったところで、あまり得るものはないだろう。
方針を買えることにした。
初心に戻って、3Dグラフィックスの腕を磨くことに専念することにした。
そのために、差別化するために3Dプログラミングを極めることを目標とする。
経験値を稼ぎながら、ポートフォリオを大量に生産する。
最終的にはゲームを作りたいわけだが、それまでの収入が必要だ。
しばし、他のことは忘れることにする。
2023年5月1日 (月)
忘れた
初心者によるC++入門 #13 をアップ
整数型について。
最初は面白そうだと思っていたけど、あまり価値を見いだせなくなってきた。
このペースではいつ完了できるのか、時間がかかりすぎる。
もう少し再生されればやる気も出るのだが。