プログラムdeタマゴ

nodamushiの著作物は、文章、画像、プログラムにかかわらず全てUnlicenseです

PodmanとBuildahに周回遅れで入門してみた

ども。nodamushiです。 さて、前々からプロジェクトのビルドにDockerを使うと、Root権限またはdockerグループに所属する必要があったり、デーモンが必要だったり、なんだかんだ結構不満がありました。 とはいえ、忙しいし、困ってはないということでずっとDo…

Zynqで Microblaze を動かす方法

ども。nodamushiです。今年こそはブログ頑張って書こうと思いつつも早くも3月が終わろうと………え、終わった!? さて、今回は Zynq (Cora Z7-07S) でMicroblaze を動かそうとしたら、意外にも苦戦したのでその記録を残しておきます。 Zynq で Microblaze を動…

脱毛の痛みを数値化してみた

私「髭っていらねぇし、剃るの面倒くさいし、いい加減脱毛しようかと思ってんだけど、通うの面倒くさいんだよねぇ」 母「ていうか、あんた全身脱毛したら?」 私「は?」 母「体毛あると介護するのに迷惑なのよ。あんた身寄りのない痴呆老人になるんだから、…

Zynq をVitisで Lチカするまでの簡単な手順書

Vitis の起動の仕方すらわからないんだけど おもむろに Vitis を起動してみたらこんな画面が出てきた。 え………っと、え?何語?日本語でおk。読めない。 ていうか、え?何?私はC++をコンパイルして動かしたいだけなんだけど………。 何でこんなにボタンいっぱ…

Vivadoに入門できない~DFXも分からない~

Vivadoで DFX (PR)をやってみたので、メモ書き。私は何時になったらVivadoがわかるようになるのか……… デザインの用意 まずは、元々作ってた Lチカデザインから、LED0を Lチカをするための RTLとポート を削除して、代わりに必要なクロックとリセットをデザイ…

Unityに入門したいのにできない~URPでシェーダー書いてみる~

数式扱うようなビジュアル プログラミングなんて死んでもやりたくありません。馬鹿じゃねぇの? というわけで、なんとか自分でURPのシェーダを書いてみます。 自動生成された Lit シェーダを読んでみた 生成されたコードを見るみたいなボタンがあったので押…

Unityに入門したいのにできない~URPを触ってみる~

UnityもVivadoも全然入門できなくて困っています。 まぁ、おっさんが無能なのは置いておいて、今後は URP というのと、 HDRP というのがスタンダードになっていく予定らしいですね。 ということは、新参者のおっさんは取りあえず、 URP と HDRP をやっておけ…

Vivado/VitisのCMakeを強化した

一度CMake化してしまうと、GUI が面倒臭いのであれもこれも Make コマンドから実行したくなります。 というわけで、さらにCMakeを強化したのでメモ github.com 目次 目次 追加 FindXXXの検索パスの追加 Vivado Vivadoプロジェクト定義 引数 オプション引数 …

Vivadoに入門したいんですけど~Vitis HLSの合成とVivadoのCMake化~

おっさん、今回はVitis HLS やって来ました。正直に言うと、めっちゃ苦労しました。 どのぐらい苦労したかって言うと、ここ3日ほどUnityもBlenderもゲームもしてません。 あぁ、GPGPUもやらなきゃ………やることだけが積み上がっていく。お金も積み上がってくれ…

Vivadoにいつまでも入門できないの~VivadoでGUIなしで合成~

おじさん分かった。ブログ書かねぇからいつまで経ってもVivadoがよく分からないんだ。 世の中はインプットに読む人/聞く人、アウトプットに書く人/話す人がいるというけど、私はインプットに書く人、アウトプットはしない人というゴミ屑みたいなタイプなの…

Unityでシェーダープログラムに入門3:ディスプレイスメントマップとノーマルマップ

折角ハルシェーダをやったので、ディスプレイスメントマップをやってみます。ついでにノーマルマップもやってみました。 Blender から Unity にモデルを持っていく そもそもの問題として、このレベルのことからわからんゴミ屑です。一歩一歩やっていくしかあ…

Unityでシェーダープログラムに入門2: コンピュートシェーダ

はい、どうも。流石にシェーダーばっかり弄りすぎて全くゲームを作るという雰囲気じゃないので、いい加減脱線するのをやめて真面目にUnity触っていきたいと思いました。 なので、今日はコンピュートシェーダをやってみます。 初心者がどういう思考をして試行…

Unityでシェーダープログラムに入門1: テッセレーション

ゲームが作りたくて最近Unityを触っています。………のハズだったのですが、気がついたら入門書はchapter5で投げ出してずっとシェーダーばっかり弄ってます。どういうことだってばよ。 特にテッセレーションを数日弄ってました。私がまだおっさんでなかった頃、…

FMP Capsule Update FailとでてWindows Updateが終わらない場合

ThinkPad X1 Carbon Gen9をWindows 11にした後のWindows Updateで、「FMP Capsule Update Fail」と表示され、1時間経っても全く進まずどう見てもハングアップしてる状況になりました。 追記: 2/15日に再発しました このエラーで調べると出てきた公式サポー…

ExplorerのAuto Revealをfalseにしてる人用のVSCode拡張機能作った

marketplace.visualstudio.com GitHub - nodamushi/Reveal-Util なんで作ったの 私はエディタを移動するときに、Explorerの選択も移ってピロピロ変わるのが嫌な人です。特に参照で飛んだライブラリの深いディレクトリとか開かないで欲しい。 なので、設定で …

これが最速!VSCodeプラグイン開発に失敗

VSCodeのプラグインを開発してみる 最近は猫も杓子もVSCodeである。嫌になる。 かくいう私もEmacsなんて最近立ち上げた記憶が無い。 補間インターフェースはEmacsの方が楽だけど、LSPとの連携の問題なのか、ユーザー数の問題なのか圧倒的にVSCodeの方が優秀…

CLIP STUDIO PAINTのレイヤ名を親フォルダと同じにするプログラムをRustで作った

五月蠅いから結論だけ言え 「レイヤ 番号」になっているレイヤを「親フォルダ名 番号」に変更するプログラムをRustで作った。 Gitをインストール Rustをインストール コマンドプロンプトなどを立ち上げる git clone https://github.com/nodamushi/clip_layer…

ノートンのショートカットが勝手に作られるから解約した

昨今はWindowsにおいて、セキュリティソフトは要らないという話もある。時代は変わった物だ。 思えば私とノートン先生との付き合いも長い。私が2008年に初めて自分のパソコンを手にしたときからだから、もう13年になる。実家もノートン先生だったので、実際…

Lenovo ThinkPad X1 Gen9でUSB-C(Thunderbolt)でモニタ出力できない

TL;DR 起動時に「Enter→F1キー」でBIOSの設定画面に入り、ConfigにあるThunderbolt4 の PCIe Tunnelingをoffにすると、理由は知らんけど認識した ミニドック買った 外部モニタも欲しい、高速なLANケーブルも繋ぎたい、でもUSBポートがない。 というわけで、L…

地球平面説は人権問題じゃね?って話

一昨年(2019年)辺り、少し世間で話題になった地球平面説をご存じだろうか?読んで字の如く、地球は平らであるとする主張だ。 本日、面白い本を見つけてしまった。 地球平面説【フラットアース】の世界 Kindle版がないのが残念である。 さて、この本が届く…

jbangがJavaの初学者にめっちゃ便利な件について

jbangという、Java をスクリプト言語のように実行できるツールを知りました。 これ、プログラミング初心者が Java を学び始めるのにとても有用だと思います。 JDKのインストールが不要 準備が大体コピペだけですむ コンパイルせずに、.javaファイルを直接実…

Visual StudioのEmacs Emulationで選択範囲を一気に消せるぞ!

Visual Studio(Codeじゃないよ)には Emacs Emulation 2 という拡張機能がありますが、ちょっと微妙です 特に私を苛つかせるのが、コレ ①範囲を選択する ②Delete(Ctrl + Dなども) アバババババババババ ヽ(゜ロ。#)ノ 範囲選択→削除なんて日常茶飯事にやる…

Emacsで Mozilla rr を使えるようにしてみた

Windows野郎で未だにWSL1の情弱である私も、昨日の記事で遂に Mozilla rr が使えるようになりました。 nodamushi.hatenablog.com しかし、Emacsで使いにくい。Emacs用のパッケージも特に無さそう?というわけで、設定追加したので晒してみる。 -exec-reverse…

Hyper-VにUbuntu20.04を入れてから、 Mozilla rr を動かすまで

Mozilla rr という、実行のイベントを保存して、プロセスの実行を再現するデバッガを今更最近知りました。 ステップ実行を逆方向に行えるので、とても便利ですね。 仕組み的にはWSL2なら使えそうな気がしますが、WSL1の私は使えません。(ていうか、Windows …

JavaのOptionalは現状失敗作

チマチマとは書いていたんですが、1年ぶりぐらいに真面目にJava書いています。 前からずっと思っていて、実際何度か口にしたことがあるんですが、やっぱ言いたい。 JavaのOptionalは失敗作 JavaのOptionalの何が悪いの? 言語機能じゃないから。完全にここに…

組み込みでラムダは使って良いけど、std::functionは駄目っぽい

例えば、組み込みでウォッチドックタイマー(WDT)を使う場面を想定しましょう。 void main() { クロック設定とか; WDT->Prescaler = プリスケーラの設定; WDT->Clear = クリア; WDT->Control = イネーブル; for(;;){ WDT->Clear = クリア; 何か処理; } } 無…

static_assertで比較した値を表示したい

「C++のconstexprの値がおかしいんだけど、static_assertで間違った値表示できないの?」と聞かれました。 できねぇんだな、これが C++11からstatic_assertはあるというのに、何故static_assert_eqやstatic_assert_ltとかがないのだろう。謎で仕方がないです…

C++の相互参照ってどう作るのが良いの?

スマポと相互参照 GCを持っていない以上、根本的にC++のスマポと循環参照は相性が悪いけど、私が問題にしたいのはソコではないです。 例えば、前回公開したSVDライブラリだと以下の様に、木構造の情報を構成します。 デバイスはペリフェラルを複数保持する …

C++のCMSIS5 SVD読み込みライブラリ作った

Tock Registerはよく分からないっすけど、SVDはXML Schemaがあるんで、自動的にバインドさせれば、案外簡単に解析できますよ。— nodamushi (@nodamushi) 2019年5月18日 ブーメランという言葉をご存じだろうか。そう、今は無き民主党のあれである。 C++ heade…

helm-swoop--editが動かない

久しぶりにHelm Swoop Editを使おうとしたら apply: No such action ‘helm-swoop--edit’ for this source って言うて動かない。どうやら、Helm本体の仕様が変わったらしく、1年放置されているhelm-swoopが仕様変更に対応してないのが問題っぽい。 github.com…