全年全月14日の投稿[45件]
2026年6月 この範囲を時系列順で読む この範囲をファイルに出力する
Nim はC言語でやれることを全て出来るのに凄くシンプルな記述です。Python と同じではないけど近い感覚で書けるのがいいですね。
中間言語的にC言語に吐き出(トランパイル)してから gcc などでバイナリまで作る構成ですが、C++ や JavaScript にもトランスパイル出来るのだそうです。C++ も JavaScript も知らない自分にとってはC言語として保存出来るならそれでいいのですけどね。
C言語を経由するのでC言語を知っていた方がいいみたいです。C言語で作れる低レイヤー(ハードウェアにより近い部分)の処理を Python みたいな記述で比較的簡単に書けることがメリットですが、途中でC言語になるのですからそれを知らずに使えるかと問われればどうなんでしょう。C言語の概念が刷り込まれてしまった私の脳ミソではそれを外した評価など出来ません。
今日勉強していた内容ではポインタの概念が必要でした。C言語の要素の中で最も理解し難いと言われるポインタです。わかってしまえば大したことではなく、私の場合は長く書いてきた PIC16 のアセンブラに置き換えながら抽象化の意味を探ってみたら解決しましたが、アセンブラの概念が無い人にポインタをわかってもらう説明ってどうやったらいいんだろうって考えるとなーんにもイメージ出来ませんでした。
他人に Nim を教えようなんて思ってもいませんが、C言語を全く知らずに低レイヤーのプログラミングをするのは無茶だと思った今日の休憩時間でした。
Nim と共にC言語の勉強も継続した方が良さそうです。Rust の世界からは退場することにします。
#Nim #C言語
中間言語的にC言語に吐き出(トランパイル)してから gcc などでバイナリまで作る構成ですが、C++ や JavaScript にもトランスパイル出来るのだそうです。C++ も JavaScript も知らない自分にとってはC言語として保存出来るならそれでいいのですけどね。
C言語を経由するのでC言語を知っていた方がいいみたいです。C言語で作れる低レイヤー(ハードウェアにより近い部分)の処理を Python みたいな記述で比較的簡単に書けることがメリットですが、途中でC言語になるのですからそれを知らずに使えるかと問われればどうなんでしょう。C言語の概念が刷り込まれてしまった私の脳ミソではそれを外した評価など出来ません。
今日勉強していた内容ではポインタの概念が必要でした。C言語の要素の中で最も理解し難いと言われるポインタです。わかってしまえば大したことではなく、私の場合は長く書いてきた PIC16 のアセンブラに置き換えながら抽象化の意味を探ってみたら解決しましたが、アセンブラの概念が無い人にポインタをわかってもらう説明ってどうやったらいいんだろうって考えるとなーんにもイメージ出来ませんでした。
他人に Nim を教えようなんて思ってもいませんが、C言語を全く知らずに低レイヤーのプログラミングをするのは無茶だと思った今日の休憩時間でした。
Nim と共にC言語の勉強も継続した方が良さそうです。Rust の世界からは退場することにします。
#Nim #C言語
2026年5月 この範囲を時系列順で読む この範囲をファイルに出力する
Art-Net 関連機器の製作についてAI/Geminiさんとやりとりをしました。相談出来る達人が近くに居ないので助かります。
大きなヒントを一つもらいました。ブロッキングの活用です。
キーボード入力においてもEtnerの受信においても入力や受信があるまで(または設定した一定時間)一時停止して待つ設定です。処理が一時停止しますが、イベントが発生した時に速やかに処理出来ます。他の処理はスレッドを分けておけば大丈夫です。スレッドとは処理を並列化させる(疑似的に複数の処理を同時進行させる)方法です。止まらせることなく延々と回したい処理とブロッキングしたい処理を別スレッドにすれば全体としては止まることがありません。PICマイコンでやってきた「ひたすら回してフラグで分岐する」って感覚がアタマに固着していたようで、スレッドを分けてブロッキングを活用する発想がありませんでした。ただ、無制限のブロッキングをしますと都合が悪いこともあるので0.1~0.5秒ごとにブロッキングを外して周囲を伺うのが良さそうです。
#Rust #[Art-Net]
大きなヒントを一つもらいました。ブロッキングの活用です。
キーボード入力においてもEtnerの受信においても入力や受信があるまで(または設定した一定時間)一時停止して待つ設定です。処理が一時停止しますが、イベントが発生した時に速やかに処理出来ます。他の処理はスレッドを分けておけば大丈夫です。スレッドとは処理を並列化させる(疑似的に複数の処理を同時進行させる)方法です。止まらせることなく延々と回したい処理とブロッキングしたい処理を別スレッドにすれば全体としては止まることがありません。PICマイコンでやってきた「ひたすら回してフラグで分岐する」って感覚がアタマに固着していたようで、スレッドを分けてブロッキングを活用する発想がありませんでした。ただ、無制限のブロッキングをしますと都合が悪いこともあるので0.1~0.5秒ごとにブロッキングを外して周囲を伺うのが良さそうです。
#Rust #[Art-Net]
2026年4月 この範囲を時系列順で読む この範囲をファイルに出力する
DMX-Timer は回路間違いを派手にやってしまいました。DC12vとDC5vが混在する回路で注意しなければいけない点を見落としていたのです。便利な部品ばかり使っているとダメですね。
当面の対策は基板のパターンをカット&ジャンプすれば何とかなると思ったのですが、部品が小さい、つまりパターンが細かいのでちょっと難しい。良くも悪くもレジストがキッチリ施されているので尚更です。
ならば、原点に戻ってユニバーサル基板で回路を組むのも手です。先日の回路図ならば、2SA1162と2SC2712周辺です。これならデッドストックになっているスルーホールの2SA945と2SC1815を使って組めばいい。2SA945と2SC1815は2SA1162と2SC2712のパッケージ違いの同等品と言ってもいいので回路を共有できます。
モヤモヤしていましたが気分が晴れたので、回路の検算(抵抗値など)をして進めましょう。
#ガチ工作 #器具の製作
当面の対策は基板のパターンをカット&ジャンプすれば何とかなると思ったのですが、部品が小さい、つまりパターンが細かいのでちょっと難しい。良くも悪くもレジストがキッチリ施されているので尚更です。
ならば、原点に戻ってユニバーサル基板で回路を組むのも手です。先日の回路図ならば、2SA1162と2SC2712周辺です。これならデッドストックになっているスルーホールの2SA945と2SC1815を使って組めばいい。2SA945と2SC1815は2SA1162と2SC2712のパッケージ違いの同等品と言ってもいいので回路を共有できます。
モヤモヤしていましたが気分が晴れたので、回路の検算(抵抗値など)をして進めましょう。
#ガチ工作 #器具の製作
2025年12月 この範囲を時系列順で読む この範囲をファイルに出力する
最近、現場の合間に「POSIX(ポジックス)」の勉強をしています。UNIX互換OSの標準仕様を定義したもので、OSや言語の仕様の基です。それぞれについて学ぶことも大切ですが、そもそもを知ることに意味はあります。たぶん最初からPOSIXを学んでも迷宮を彷徨うだけですが、ある程度わかってから読むと「なるほどぉ〜」が沢山です。
#C言語
#C言語
2025年11月 この範囲を時系列順で読む この範囲をファイルに出力する
3D-CADで書いた組図です。

機構に目途がついたのでレンズを搭載しLED光源を作っていきます。
LED光源はロッドリフレクタにするか小型凸レンズをLED素子毎にするか悩み中です。
#器具の製作

機構に目途がついたのでレンズを搭載しLED光源を作っていきます。
LED光源はロッドリフレクタにするか小型凸レンズをLED素子毎にするか悩み中です。
#器具の製作
2025年9月 この範囲を時系列順で読む この範囲をファイルに出力する
SS用途に特化したスポットを妄想しています。
SSには8インチの凸スポット(いわゆるC8)を使うことが多いと思います。C8は不向きでソースフォーの方が良いと考える私の好みはともかく、横長の長方形の照射をするスポットライトが良いと思います。また、SSだって色が変わった方が便利です。
ELPを使えって正論はともかく、C8を改造してこんなのにしたらどうかと。
電球とリフレクタを取り外し筒端が横長のロッドリフレクタを通したLED光源を入れます。ロッドリフレクタを用いると面光源になるのでこれを投影するのです。
ロッドリフレクタはバックストロークが長くなるので収まるか不安はありますが、実験は面白そうです。
追記
ChatGPTに聞いたらナカナカ具体的な答えが出てきた。
時間が無くて途中で止めたけど、設計まで提案してくれた。
すごよね。
まずはLED素子をロッドリフレクタに通してみたいです。
追記
ハニカム構造のロッドリフレクタも面白いなぁ~なって思ったりましたが、その昔バリライトVL4に使われていたのが特許だと聞いたことを思い出した。
ダイクロフィルタを傾斜させて色を混ぜる構造でしたが、ロッドリフレクタで色むらを消していたのだなと改めて納得。
#器具の製作
SSには8インチの凸スポット(いわゆるC8)を使うことが多いと思います。C8は不向きでソースフォーの方が良いと考える私の好みはともかく、横長の長方形の照射をするスポットライトが良いと思います。また、SSだって色が変わった方が便利です。
ELPを使えって正論はともかく、C8を改造してこんなのにしたらどうかと。
電球とリフレクタを取り外し筒端が横長のロッドリフレクタを通したLED光源を入れます。ロッドリフレクタを用いると面光源になるのでこれを投影するのです。
ロッドリフレクタはバックストロークが長くなるので収まるか不安はありますが、実験は面白そうです。
追記
ChatGPTに聞いたらナカナカ具体的な答えが出てきた。
時間が無くて途中で止めたけど、設計まで提案してくれた。
すごよね。
まずはLED素子をロッドリフレクタに通してみたいです。
追記
ハニカム構造のロッドリフレクタも面白いなぁ~なって思ったりましたが、その昔バリライトVL4に使われていたのが特許だと聞いたことを思い出した。
ダイクロフィルタを傾斜させて色を混ぜる構造でしたが、ロッドリフレクタで色むらを消していたのだなと改めて納得。
#器具の製作
2025年7月 この範囲を時系列順で読む この範囲をファイルに出力する
帰宅したら扇風機が動きません。
軸が重いのでベアリングが摩耗したかグリスが固着したと思われます。
掃除を兼ねて分解したところグリスの固着でした。つか、安物のためか回転軸にボールベアリングは使ってません。
パーツクリーナー的なモノで洗い流し、グリスを塗布してベルハンマーを噴いて流し込む。
快調、快調。
そのウチ、モーター自体もバラしてオーバーホールしてやりましょう。
#器具の修理
軸が重いのでベアリングが摩耗したかグリスが固着したと思われます。
掃除を兼ねて分解したところグリスの固着でした。つか、安物のためか回転軸にボールベアリングは使ってません。
パーツクリーナー的なモノで洗い流し、グリスを塗布してベルハンマーを噴いて流し込む。
快調、快調。
そのウチ、モーター自体もバラしてオーバーホールしてやりましょう。
#器具の修理
空き時間に少しずつ RUST の勉強をしています。
変数の型について読んでいる段階ですが、C言語と Python の両方を知っていると比較的わかりやすく思えます。
記述するコードもC言語よりも RUST の方が読みやすい印象があります。
開発環境も神先達が整えてくださっています。VSCode 用いる環境整備はC言語のそれと大差無さそうです。Windows から RaspberryPi に SSH で入っての操作も可能です。
ポインタがあり変数の型が厳密なのでお気楽簡単スクリプト言語ではありませんが、C言語の初歩から次の段階に突っ込んでいこうと思っていた矢先なので、RUST を本命に替えても勉強量は大差なさそうです。
今時ソースコードは AI に書かせればいいぢゃん!って話はごもっともなのですが、自分で書くことに意味がある趣味の領域ですからいいのです。もちろん、AI に質問はしますけどね。
#RUST
変数の型について読んでいる段階ですが、C言語と Python の両方を知っていると比較的わかりやすく思えます。
記述するコードもC言語よりも RUST の方が読みやすい印象があります。
開発環境も神先達が整えてくださっています。VSCode 用いる環境整備はC言語のそれと大差無さそうです。Windows から RaspberryPi に SSH で入っての操作も可能です。
ポインタがあり変数の型が厳密なのでお気楽簡単スクリプト言語ではありませんが、C言語の初歩から次の段階に突っ込んでいこうと思っていた矢先なので、RUST を本命に替えても勉強量は大差なさそうです。
今時ソースコードは AI に書かせればいいぢゃん!って話はごもっともなのですが、自分で書くことに意味がある趣味の領域ですからいいのです。もちろん、AI に質問はしますけどね。
#RUST
2025年6月 この範囲を時系列順で読む この範囲をファイルに出力する
現地照明でしたが、シュートが終わったらバラシまで待機という名の休憩。直しとトラブルシュートに対応出来ればいいのでまとまった空き時間です。こんな時は設計という名の妄想が一番です。
課題は毎度おなじみ「ArtNetPatch」です。主にソフトウェアの構成が課題です。
受けたデータを一時保存、加工、出力しますので、機能は映像ストリーミングに近いかもしれませんが、自分のイメージはデータベースです。
その昔ファイルメーカーを母体に機材の稼働管理システムを作って今も使っていますが、データを動的に仕分けて加工する感覚が今回活用出来ています。
アルゴリズムと言えばそうなんですが、データを保管する構造体の設計が主な作業です。可能か不可能かを確認しながらになりますが、最終的にまとめる構造体が決まれば仕分けて加工するアルゴリズムはおのずと決まってくるので私にはこの感覚で進めるのが性に合っているようです。処理の全体像が見えてきました。
アセンブラではないので構想の段階で処理時間の見込みを付けることは難しいのですが、そもそもRaspberryPiのCPUにおけるマシンコードの動作速度はどうだと計算したら恐ろしい数字。ARMの2.4GHzですが、PICの感覚で単純計算したら1クロック当たりの時間は0.42nsec。PICに比べたら桁違いというか単位違い。OSを介するので単純には比べられないもののマシンコードのイメージで書けばかなり速くなりそう。例えば、積や商を求めるために四則演算をするかビットシフトをするかってことです。2倍や1/2などの2の乗数に関わる積や商ならビットシフトの方が速いハズです。この辺りが「C言語はアセンブラを汎用化したもの」ってイメージであり、Pythonとは違い、C言語はアセンブラの感覚で使うベシってのが私個人の感覚になりつつあります。出来るだけ単純な計算方法を目指してデータ構造を考えるのです。C言語の難解さがアセンブラ傾向のアプローチで軽くなった気分です。普通は逆なんでしょうけど。
C言語を作った神達はアセンブラをマクロ化して手間を減らすところから始まってますので、世代を経ても底辺はアセンブラなんでしょう。同時代のCOBOLやFORTRANは意味付けが違うようですけど。
勝手な妄想はともかく、どんなデータをどう変換・加工するかを明らかにすればおのずと見えてくるようです。
#[Art-Net] #器具の製作 #C言語
課題は毎度おなじみ「ArtNetPatch」です。主にソフトウェアの構成が課題です。
受けたデータを一時保存、加工、出力しますので、機能は映像ストリーミングに近いかもしれませんが、自分のイメージはデータベースです。
その昔ファイルメーカーを母体に機材の稼働管理システムを作って今も使っていますが、データを動的に仕分けて加工する感覚が今回活用出来ています。
アルゴリズムと言えばそうなんですが、データを保管する構造体の設計が主な作業です。可能か不可能かを確認しながらになりますが、最終的にまとめる構造体が決まれば仕分けて加工するアルゴリズムはおのずと決まってくるので私にはこの感覚で進めるのが性に合っているようです。処理の全体像が見えてきました。
アセンブラではないので構想の段階で処理時間の見込みを付けることは難しいのですが、そもそもRaspberryPiのCPUにおけるマシンコードの動作速度はどうだと計算したら恐ろしい数字。ARMの2.4GHzですが、PICの感覚で単純計算したら1クロック当たりの時間は0.42nsec。PICに比べたら桁違いというか単位違い。OSを介するので単純には比べられないもののマシンコードのイメージで書けばかなり速くなりそう。例えば、積や商を求めるために四則演算をするかビットシフトをするかってことです。2倍や1/2などの2の乗数に関わる積や商ならビットシフトの方が速いハズです。この辺りが「C言語はアセンブラを汎用化したもの」ってイメージであり、Pythonとは違い、C言語はアセンブラの感覚で使うベシってのが私個人の感覚になりつつあります。出来るだけ単純な計算方法を目指してデータ構造を考えるのです。C言語の難解さがアセンブラ傾向のアプローチで軽くなった気分です。普通は逆なんでしょうけど。
C言語を作った神達はアセンブラをマクロ化して手間を減らすところから始まってますので、世代を経ても底辺はアセンブラなんでしょう。同時代のCOBOLやFORTRANは意味付けが違うようですけど。
勝手な妄想はともかく、どんなデータをどう変換・加工するかを明らかにすればおのずと見えてくるようです。
#[Art-Net] #器具の製作 #C言語