今のところこんな感じ
食成分データベース八訂版を使って食べたものを登録(レシピ作成)
卵かけご飯のような普通の飯も登録しておいてカレンダーに登録する
GoogleFitと同期できる
言語はGo
フレームワークはFiber
iPhoneのGoogleFitアプリでの表示はこんな感じ
今のところこんな感じ
食成分データベース八訂版を使って食べたものを登録(レシピ作成)
卵かけご飯のような普通の飯も登録しておいてカレンダーに登録する
GoogleFitと同期できる
言語はGo
フレームワークはFiber
iPhoneのGoogleFitアプリでの表示はこんな感じ
EvernoteからUpNoteへの引っ越し完了
Evernoteは2009年から使っていました
しかし、わたしの場合このまま使うと4月に$249.99/yearを、請求されるらしいです
あり得んでしょ?
実は自前で作っているシステムに引っ越しさせようかとも思いましたが
今回は間に合わず、仕方なくUpNoteに引っ越ししました
Evernoteからのエクスポートには、evernote/backup.exeを使って、コマンドラインからバックアップしましたが、バックアップ前に、Evernoteのメモを作成日ごとに切り分けておきました
一つのenexが1Gを超えるとUpNoteでインポートできません
ちなみにこちらのツールです
https://github.com/vzhd1701/evernote-backup
UpNoteに引っ越してわかりましたが、使い勝手はこちらの方が上です
買い切りで六千円なら買いますよ
さようならEvernote
これまでの主要な経済事象を振り返ると、政治が経済に与える影響は極めて限定的、あるいは皆無であることがわかります。
• 高度経済成長(イザナギ景気)
戦後ゼロからの再出発において、成長は必然的な流れでした。これは社会構造の復興によるものであり、政治の功績ではありません。
• バブル崩壊
市場の過熱とその終焉は経済サイクルの一環であり、政治的コントロールの枠外で発生しました。
• 震災と民主党政権
福島第一原発事故や東日本大震災という未曾有の国難、そして「悪夢」と評された政権下においても、株価は停滞しつつも極端な反応を示さず平行線を辿りました。この事実は、政権交代や重大な政治事象が市場の本質を動かさない証左です。
• アベノミクスによる30年の停滞
多種多様な政策が打たれましたが、結果として待っていたのは「失われた30年」の継続でした。金利操作の限界から外国人投資家の反応も限定的であり、株価の上下動はあったものの、実体経済と政治施策に直接的な因果関係は見出せません。
• サナエノミクスと現状
金利上昇による住宅ローンへの打撃や、1300兆円を超える国債赤字が露呈しています。かつて技術的コアコンピタンスを誇った企業の低迷を見れば、政治主導の技術投資も無意味であることは明白です。
結論
以上の歴史的事実から導き出される結論は一つです。政治は経済に対して実質的な影響力を持っていません。
「経済対策」と銘打たれた数々の政策が、実際の経済動向に寄与した例は皆無であり、経済は政治とは切り離された独自の原理で動いています。
1. 宗教的機能の代替
現代の異世界転生作品は、かつての宗教が担っていた「現世の苦難からの解放」という役割を引き継いでいる。
• 救済の構図: 現実での挫折や閉塞感を、死(転生)を境界線としてリセットする。
• 報酬: 努力の積み重ねではなく、転生時に付与される「能力(チート)」によって即座に成功と承認を得る。
2. 信仰対象の不在と派閥
この現象には、特定の神や教祖が存在しない。
• 信仰ではなく共有: 読者は特定の対象を拝んでいるのではなく、提示された「都合の良い設定」を各自で利用している。
• 派閥の性質: 「悪役令嬢」「追放」などのジャンル(派閥)は、個人の好みの違いであり、教義の対立ではない。
3. 土台としての「ドラゴンクエスト」
作品群の根底には、ドラゴンクエスト(JRPG)が定着させたルールが共通基盤として存在する。
• 共通ルールの利用: ステータス、レベル、魔法、魔王、ギルドといった要素は、説明不要の「周知の事実」として扱われる。
• 効率化: 世界観の説明を省略し、読者が最も求める「成功体験」の部分に物語を集中させることを可能にしている。
結論
異世界転生ブームとは、宗教に代わり、ドラクエ的な共通ルールを道具として用いることで、誰もが手軽に「自分が報われる物語」を消費できる救済の仕組みである。
JSで作ったLISPライク言語
実は少しバージョンアップして、Switch-CaseやFillRectのみですが描画命令を持たせました
これにより、マンデルブロを描画できるようにしてみました。
是非ご観覧ください
https://www.yachiyo.tech/tool/JSLisp/
https://github.com/ChaosReadman/JSLisp
https://github.com/ChaosReadman/Albion
XQueryの完全実装をやめ、必要な機能のみ実装
どこがどう違うのか、開発哲学もREADMEに記述
XQueryに存在しない更新系クエリも実装
もはやwiki、レシピサイト、ブログなども作ることができますが、まだ脆弱性に関する設計を置き去りにしていますので、現状のまま使わないでくださいね
まだまだ変わります
LISPを眺めていて、これはJSONで書けば、LISPの処理をJavaScriptで書けるのではないかと言うアイデアが浮かび、AI使ってコーディングしてみました。
動作例はこちら
https://www.yachiyo.tech/tool/JSLisp/
Gitはこちらになります。
https://github.com/ChaosReadman/JSLisp
描画命令でfillRectも実装し、マンデルブロ描画も出来るようにしました。
わたしはスーファミのプログラムをしていた時、HAL研究所のC言語コンパイラに助けられました。
スーファミのアセンブラは少しクセがあったのと、わたしは当時そこまでアセンブラに明るいわけではなかったのですが、そのコンパイラはC言語からアセンブラへ変換してくれて、アセンブルする事でスーファミのバイナリが出来上がりました。
聞けば、コアはLISPだそうで、どんなCPUにでもアセンブラが出力可能とのことでした。
当時わたしはEmacsを使い、LISPは知らない訳ではなかったのですが、その話を聞いてもさっぱりわかりませんでした。
今回、自分でLISP関数を作っていて実感し始めた事があります。
C言語からS式が作れたら、LISP関数の世界になります。その関数からアセンブラコードなどを吐き出せば、、、
C→S式→LISP関数→アセンブラコードと言う事が出来そうです。
最近のプログラマは、動画、検索、AIなどで途中に覚えるべきことを全部飛ばしている事を危惧していましたが、わたし自身がLISPの自作をすると言うことを飛ばしていたため、ずっとHAL研コンパイラが理解できないままでした。
今回、本当に作ってみてよかったです。
そして、もっと大事なことにも気がつきました。
実はCからアセンブラだけの話ではありません。
他の言語から、他の言語への変換がかなり楽になると言う事です。
実は、ある特殊な言語を、GoやSwiftに変換したいと思い、LEXとBISON、Boost Spirit、ANTLRをずっと研究していたのですが、実はその言語、S式にかなり近い物です。
他のどの方式よりも、今回の方式の方が最短距離です。
最近は、寒くなってきたのでなかなか活用できていなかったTevo Little Monsterですが、冬の間にレイズドベッドの準備がしたく、作り始めています
連結用の部品もデザインしていて、このデザインみたいにオーバルではなく、真四角なレイズドベッドにしようかと思っています
リニアレール化したTevo Little Monsterは本当に音が静かで、Precision Piezo Orionによるベッドの計測もさらに安定し、ノズルもESD Revoにしていてかなり快適で使っています
最近、世間で話題になるGo言語のライブラリを見ていると、どうにも「オブジェクト指向の呪い」が残っているなと感じることが多い。
Goの設計思想はC++の複雑さや、不必要な派閥争いを避けるために生まれたはずなのに、結局、多くのコードがまたあの「うんざりする」OOP的な慣習に引きずられているのです。
Tevo Little Monsterのリニアレール化を行いました
結論から書きます
やってよかったです
基本中の基本かも知れませんが
精度を少しずつでも上げていけば
全体の質が上がります
3Dプリンタはまだまだ未完成の領域であるため
ユーザーは自らの手でカスタマイズすることが必須です
それはたとえBambooLabであろうとPrusaであろうと同じです
以下作業の流れです
治具がThingiversrにあったので、それを光学造形のSonicMiniでプリントし、電動ドリルで穴あけとネジ立てし、3ミリのネジで締めまくりです
なんと、光学造形が少し歪んでて、レールが多少斜めになってしまいました
しかし、1ミリもズレて無いので大丈夫でしょう
ファンアダプタも作りました
少し横幅が大きかったので、小さくした部品も作りました
今度何かのタイミングで取り付けようと思います
ZプローブはPeecisionPiezoOriobを使っています
これはピエゾ素子で、ノズルの先端に衝撃が加わると、それを検知します。
つまり、誤差ゼロでプロービングできるわけです。
しかも、スイッチと違い、繰り返し精度もめちゃくちゃ高い物です
わたしは出始めの頃からずーっと愛用しています
また、とっくの昔にマザボはDuet6HCとラズパイ4の組み合わせに変えており、加速度センサーをつけてあります
これでヘッドの急な動きを抑止できます
あと、試しに赤外線センサーのエンドストップを除去し、モーターのストールデテクションを試しましたが、どうも精度がよくありません。
仕方なく、赤外線スイッチに戻しました。
あと、0.9度モーターに変えていたのですが、
どうも脱調しまくりです
カレントを上げればよかったかもしれませんが、
その前にモーターが信用できなくなり、1.8度モーターに戻しました
他にもあれやこれややりまくり、ようやくうちのプリンタも完全復活したと思います
しかし、穴あけとタップは疲れました
接着剤や両面テープで止めてやろうかと思いました、、、
https://automaton-media.com/articles/newsjp/nintendo-switch-20250908-356797/
わたしは任天堂の社長だった岩田さんとは面識があります
ハル研究所の頃出会いました
当時任天堂は、ゲーム会社が売れるゲームを作っても、思ったほどの量を出荷することに同意してくれず、あちらこちらの会社からは儲け損なったと批判が出ていました
その任天堂の社長になった経緯をわたしは間近で見ていました
(ここで当時のことを詳しくは書きません)
岩田さんが社長になられてからは任天堂も変わり、わたしの中ではアタリショックをよく知っているメーカーとして、きちんとしたコンテンツを提供することに力を割いているため、ダメそうなゲームの生産に同意しなかったのだなと納得していました
ですが、昨今の様子はどうなのでしょうね
わたしはゲームとはゲームでしかないと思います
このニュース記事のように、ハードやソフトの自由を奪うことに注力するのであれば、横井軍平さんのワンダースワンのように、ワンダーウィッチがあれば誰でも開発できるという開いた開発環境が必要だと感じています。
ところで、わたしが作ったゲームが最近Switchで販売されましたが、わたしには一文も入ってきません
もちろん当時のプログラマは(今もでしょうが)自分の書いたコードの著作権を会社に帰属させているため、一文も入ってこないのです。
わたしはプログラマのために、JASRACのような組織が必要だと感じています。
わたしが情熱をかけて作り上げたゲームを、権利を引き継いだ会社が勝手に販売している
わたしにはおかしな光景に映ります
近所のカレー屋さんから勧められて、蠍クリームなる物を購入しました
近江兄弟社のメディカルクリームのようなオレンジの見た目で、家族が気に入ってガンガン消費
すぐに無くなったので、今回また探したのですが見つからず、似たような見かけのクリームで、蠍毒なんたら書かれたクリームを買ってみました
開けてみると、、、
タイガーバーム!
スースーする!
塗るとヒリヒリする!
風邪を引いたら鼻の下に塗る
ヴェポラップ!
痛い痛い!ヒリヒリしすぎ!
こいつは強烈です!
でもなんか癖になってきたので顔にも塗ってみました!
危険!!
目がああああぁ!!
染みます!
しばらく悶えまくれることでしょう
皆さんもいかがですか?
アリエクで買えますよ?
あるツール的なWEB APIを作っていたのですが、
テーブルを定義していて、いつものようにCreatedAt、UpdatedAt、などを作っていました。
わたしはこのやり方はあまり好きではなく、テーブルにいつ誰が作ったか、更新したかを見るのであれば、ログに残せばいいと考えています。
しかしながら、ある現場でCreatedAt、UpdatedAt、CreatedUser、UpdatedUserのようなカラムを全テーブルに持っているプロジェクトがあったので、今回はそれに倣ってやってみようと気軽に考えて、コードの生成をAIにお願いしてみました。
わたしはVSC+Geminiの組み合わせでやってますが、いつものようにGemini君はReadme.mdに書かれた通りの仕様で大体一発でコードを生成してくれました。
で、気になったのがこれ
-- updated_atを自動更新するためのトリガー
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$ language 'plpgsql';
CREATE TRIGGER update_products_updated_at
BEFORE UPDATE ON products
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();
ようするにトリガーでupdated_atにNOWを設定するトリガーを作り
productsのUpdateがあった際に動くようにしているという点です。
これを見たときに、INSERTではトリガーが動かないなと思ったのですが、INSERT時には、テーブル定義でDEFAULT CURRENT_TIMESTAMPが設定されているため、Created_AtもUpdated_Atも同じ時刻が入ります
で、実際更新するときは、管理画面的なところから更新するのでしょうが、
その際は、トリガーが動いて更新日付が更新されるという挙動になります。
更新する際にプログラム側から日付を入れればいいじゃんと思うのですが、トリガーとして動く仕組みのいいところ悪いところをAIに聞いてテーブルを作ってもらいました
| 観点 | データベースのトリガー | アプリケーション側のロジック |
|---|---|---|
| データ整合性 | ◎ 非常に高い (更新漏れがない) | △ 低い (更新漏れのリスクがある) |
| 保守性 | ○ (ロジックが一元化) | △ (コードが分散・重複する可能性) |
| DB独立性 | △ (DB製品に依存) | ◎ 高い (DBに依存しない) |
| 可視性 | △ (コードからは見えない) | ○ (コードで明示的に記述) |
| パフォーマンス | ○ (ほぼ影響なし) | ◎ (トリガーのオーバーヘッドがない) |
結論として、created_atやupdated_atのようなメタデータの管理には、データベースのトリガー(またはDEFAULTやON UPDATE句)を使用するアプローチが強く推奨されます。
データの整合性を担保できるというメリットは、他のデメリットを大きく上回ります。現在のプロジェクトの実装は、このベストプラクティスに従っており、非常に堅牢な設計と言えます。
ぶっちゃけですね、アプリケーション側でやった方が◎が多いんです
しかも△の数も同じです
これでなぜAIがトリガーを強く推しなのかというと、データの整合性の◎はちょっとレベルが違うくらいな◎だということらしいです。
なお、このようにPros/Consをまとめて、同じレベルのものはPros/Consから削除するという手法は、フランクリンがやっていた手法です
まぁ納得いかない人もいるし、別の考えの人もいることでしょう
わたしはモヤッてます
ということで、全行程を書き記し、
さらにUIを作りました
こちらからgit cloneして動かせばよい感じです
https://github.com/ChaosReadman/OnnxStreamWebUI
画像生成をしていると、ロックファイルができ、
他の端末からも操作できなくなります。
タイミング的には操作できちゃうかもなのでバグありと思っています
そのうち直そうと思います
VSCでRemoteSSH接続し、ターミナルから以下の通り実行しただけです。
ユーザー名はtakahiroなので、そこのところは各自変えてください。
まずは環境の準備
sudo apt-get update
sudo apt-get install -y cmake python3-pip libjpeg-dev libopenblas-dev libopenmpi-dev libomp-dev git-lfs
sudo -H pip3 install setuptools==58.3.0
sudo -H pip3 install Cython
sudo -H pip3 install gdown
cd ~
git clone https://github.com/google/XNNPACK.git
cd XNNPACK
git checkout 1c8ee1b68f3a3e0847ec3c53c186c5909fa3fbd3
mkdir build
cd build
cmake -DXNNPACK_BUILD_TESTS=OFF -DXNNPACK_BUILD_BENCHMARKS=OFF ..
cmake --build . --config Release
cd ~
git clone https://github.com/vitoplantamura/OnnxStream.git
cd OnnxStream
cd src
mkdir build
cd build
cmake -DMAX_SPEED=ON -DOS_LLM=OFF -DOS_CUDA=OFF -DXNNPACK_DIR=/home/takahiro/XNNPACK ..
cmake --build . --config Release
cd ~
git lfs install
git clone --depth=1 https://huggingface.co/vitoplantamura/stable-diffusion-xl-turbo-1.0-anyshape-onnxstream
cd ~
cd OnnxStream/src/build/
./sd --rpi-lowmem --turbo --models-path ../../../stable-diffusion-xl-turbo-1.0-anyshape-onnxstream/ --prompt "An astronaut riding a horse on Mars" --steps 1 --output astronaut.png