2025年08月10日
_ [computer] プログラミングの昔話
仕事にしている訳ではないので、プログラムを書くというのは、ずっと趣味です。昔々、マイコンでのBASICしか無かった時代でも、とにかくプログラムを書いて動かしてみる事が出来るのが楽しかったです。
初めてプログラミングと言うのをやったのは、高校2年生位の時だったかと思います。未だにパソコンはおろか、TK-80とかのマイコンも出ていない時代です。(TK-80は1976年発売との事ですから、丁度その直前くらいだったですね)高校に、誰も使っていないHitac-miniと言う機器があるのを見つけ、一緒に有ったマニュアルを読んで、遊んでみたのが最初です。丁度その頃NHK(多分ラジオだった様な気がしますが)でコンピュータ講座があり聞いていました。高校時代のNHKの放送では、後年大学で教えて戴く事になる、米田先生も講師をしておられたのを憶えています。
Hitac-miniは当時有名だったミニコンのHitac-10をおもちゃにしたみたいな機器で、機能としては数年後に出てくるプログラム可能な関数電卓と同じぐらいでしたが、当時の私には楽しくて仕方有りませんでした。初歩的ですが、円周率の計算とかさせて喜んでしました。普段の日では、使用する事があまり出来なかったので、ある日曜日、普通に制服を着て高校に行って、こっそり部屋に忍び込んで使っていたら見回りの先生に見つかった事があります。(幸い、無罪放免してくれた)
大学に入ってコンピュータ研究会に入ると、大学の汎用コンピュータMelcomが比較的自由に使えました。当時はプログラムはパンチカードでした。端末もありまして、マシン室の端末が空いていれば(顔パスで)自由に使えました。今だとセキュリティ上考えられない事ですが、当時はおおらかでした。しかし、当初端末は1台で、パンチカードタイプライターは2台、業務が優先ですからそれほどずっと使えた訳でもありませんし、課金が有りまして、CPUタイム1秒で1円でした。でも使えるのは、主にFortoranとCobolだけでした。
大学入ってすぐの学祭の時に、誰かがTRS80を持ってきました。初めて使ったBASICですが、学祭の展示の為と言う事で、学祭中ずっとTRS80で色々なプログラミングしてました。内容は、迷路を作ったり解いたり、とか、色々なゲームを作ったりとか、今となって全く大した事ないものなのですが。
それ以後、マイコンと言われていた物が少しずつ出回る様になり、友人と秋葉原のマイコンショップによく見に行きました。AppleIIなんて、高価でしたから、憧れでした。その数年後、やっと自分のマイコンFM-8を購入しました。グリーンモニタで当初はカセットテープの記憶装置です。ラップトップパソコンと言う物の実機がまだ出ていない時代、電車の中なんかの移動中でもプログラミンが出来たら、どんなに楽しいだろうと思っていましたが、実際にそういう環境になっても、結局そんな事しなかったですね。
昔はプログラム言語の処理系も有料なのが当たり前で、フルセットのC(Whitesmith-Cなんてのが有った)とかなどは何十万円もしていたと思うのですが、最初に買ったのは整数処理しか出来ないDOH-Cと言うCのコンパイラですが、FM-8上で動かせていまして、とても楽しかったです。それから、地元に帰って、仕事の為という名目でPC-98を使う様になるのですが、、まだ先が長いのでこの位で、
今や、プログラミング開発の処理系は無料が当たり前で、何でも選び放題です。「こんな風になったら、どんなに楽しい事か、」とか思っていた事が現実になっても、実際はそれほど感慨が無い事にびっくりしますね。結局私が一番熱心にプログラミングしていたのは、informix+MSCでPC-98のMS-DOS上で色々書いていた頃でした。続けてWindows上でも色々挑戦はした気がしますが、結局はあまり書く気がせず、どれも中途半端でした。
そう言えば、UNIX上では、NetBSD+Postgres+rubyで顧客管理のシステムも書きました。ネットには繋がっていないシステムなので、旧バージョンとなっても問題が無いので、未だに使っています。本当の所は、さすがにもう改修した方が良いのでしょうが、もうやる気が無いと言うのが本当の所で、プログラミング出来る事自体を楽しみにしていた昔との差を感じます。
_ [computer] Python+win32com+Excel
それでも、必要にかられるとまた別です。プリンタ関係の事情から、事務関係の幾つかの処理を、やっと、と言うかいよいよPC-98+MS-DOS上からWindowsに移す事になりまして、Excel+pythonで少しづつやっています。とっかかりは、数年前に買った「PythonでExcl、メール、Webを自動化」と言う本です。
openpyxlというのは、この本で知りましたし、SMTPサーバにアクセスして、セラーの温度監視のMailを送る様にしたのもこの本を参考です。具体的には検索して見つけた、コードも参考にしました。
昔から、新しい処理系でのプログラミングなんかのやり方は、「まず本を探して買って勉強して」でしたが、大分前からは「知りたい事をネットで検索して」が加わっています。
そして、最近は「Chat-GPT(AI)に教えてもらう」と方法が加わりました。一応毎月3千円弱も課金しているので、利用しないと勿体ない、と言う事もあります(他の事にはほぼ使っていません、やはり勿体ないですね)。ただ、流石に「全部書いてもらう」というのは駄目です。私は、何やってるのか分からないのが嫌いなので、たとえちゃんと動いたとしても、一応プログラムの内容は理解できないと気持ち悪いです。
Excel+pythonでは、前述のopenpyxlと言うライブラリを使うのが多い様ですが、更にシート操作を考えた場合、openpyxlでは出来ないと、どっかでのネットの解説で有ったので、此処をChat-GPTに訊いた所、VBマクロとVBスクリプトの組み合わせを提示してきました。Excel操作ならやはりVBを使う事になるかなか、と思っていましたので、その予想通りだったので、その方向で考えました。
そこで、Chat-GPTにちょいちょい質問しながら、結局VBマクロを備えた".xlsm"のエクセルファイを作り、VBスクリプトでそれを動かして作業をする。と言うプログラムを書きました。
これでやりたい事は一応解決なんですが、私はどうもVBが好きではありません。そこで、試しにChat-GPTに、これpythonで書けない?、と訪ねた所、pythonでも同じ事が出来ると返答してきました。win32comを利用したサンプルコードも書いてもらい、その後に、最近のトレンドとして、どっちが良さそう?、と聞いた所、pythonの方がお勧めとの返答です。(それなら、最初から、こちらを提示して下さいよ)
翌日本屋さんに行ったので、パソコンのコーナーの新刊を見ると、「Python X Excel X AI 業務自動化の教科書」なる本が出ていまして、ざっと内容を見てみると、まぁ何と!、昨日Chat-GPTと色々相談して書いたプログラムのストーリーがそのまま載っています。私は昔の本好きの人なので、ほぼ分かっている様な内容かなぁ、と思いつつも、ついつい購入しました。
お盆の休みの日に、全部一通り目を通してみましたが、ほぼ最初の予想通り既知の事が殆どですが、流石にそこはページ数の有る本なので、微妙に細かい所を埋めてくれるのは、それはそれで良かったです。seleniumも一時はまってプログラム書いたし(その折は、ネットで検索した情報のみでした)、やってないのはPDFとか、グラフ書いたりとか、AI APIを使うとかですが、それらは近々には使用する予定はないです。DBとの接続は、今後有るかも知れませんので、その時は参考にさせてもらいます。総じて読みやすくて、時節に合った良い本でした。
やはり、ちょっと変な事でも色々AIに質問できるのは楽しくて、win32comは何で"32"なの?、とか、調べた所COMは古い技術で(その以前は"OLE"らしい、この名前は結構聞いた事がある)後継として出ているのが、良く名前を聞く".NET Framework"との事なので、win32comでなくて".NET Framework"で書けないかとか訊いてみたりしました。(出来る様で、サンプルコードも書いて貰ったけど、この目的にはあまりお勧めでは無い由)
こういう事なんかは、ネットで検索して調べると結構大変だから、AIがとても役に立ちますね。
2025年08月13日
_ [computer] 落雷で、パソコン等の故障多数
昨日夕方、ごく近所に落雷があった様で、直後に帰宅したら、以前程ではないけれど、それでもあちらこちらに不都合箇所が多数。
まず、工場のボイラーが作動不能の後、電源が入らなくなりました。
工場2Fの電源が落ちてしまっていたのは、ブレーカーが2カ所切れていました。それを復帰させると電源も戻りこちらは一安心。
監視カメラの1台が映らなくなっています。
部屋に入るとピーピーと音がするので、見てみるとOKIのプリンタが、動作エラーになっていました。
部屋の2台有るパソコンの1台が落ちていて、電源が入らなくなっています。
生きている方のパソコンからも、ネットワークが繋がらなくなっていました。
ボイラーはメーカーの緊急呼出番号に電話して、修理をお願いしました。監視カメラの不調はそれほど緊急ではないので、お盆の休み明けに修理をどこかに頼みたい所ですが、見たところ最近の監視カメラは有線にしろ無線にしろ殆どLAN接続。修理と言うよりは、全取っ替えになる可能性が高いですね。
ネットワークが繋がらなくなっていたのは心配しましたが、ルーターやNASサーバーは正常でした。調べてみた所、手元の16ポートスイッチが原因の様で、臨時に他のルーターに交換すると通信できました。でもLED表示などからは正常そうに見えていたので、試しに電源を入れ直してみると、無事復帰しました。
電源が入らなくなったパソコンは、取り出して分解し、とりあえず使用していない550Wの電源を探し出して来て、交換しますと起動しました。ATX電源が死んでしまっていた様です。マザーボードとかCPUまで死んでいたら結構面倒なのですが、まだ良かったです。すぐさま、新しい電源を手配しました。
本日午後から、パソコンの電源の交換に入りましたが、このパソコンMicroATXですが、ケースはRaijintekのMictoTAXとしてはかなり小さいサイズの物を使っていまして、もとより組立は割と大変です。
新しい電源は先のより少し大きくなったので、更に難易度が上がり、マザーと電源を設置してしまうと、後から配線できない箇所が幾つか出てきました。一カ所、面倒なので無理に配線しようとしてソケットのピンを曲げてしまいまして、電源からマザーボードまで再度全部ばらしてから、そのピンを矯正するはめになり、結構時間がかかりました。
CPUクーラーのフィンやその他で怪我をした事が何度かある過去の経験から、パソコンを組む場合は指先カットの手袋をする様にしていますが、気がついたら、その出ている指の所をまた怪我してしまいました。そんなこんな有りながら、2時間以上かかりましたが、電源交換でパソコンは復旧しました。
あとはエラー表示がでているOKIのプリンタですが、電源再投入でも初期中に同じエラーになり症状は変わらずです。これはどうも、基板がやられてしまっている様で、もう駄目かも知れません。休み明けに、代替えを考えなければ、です。
追記1: お盆明け、PC-98で仕事をしたら、前回の落雷の時と同じくネットワークが使えなくなっていました。もう勘弁してくれと言う感じ。見たところ、ネットワーク用のドライバの組み込みでエラーになっていましたので、イーサネットカードが駄目になっている様です。
念のため、LANケーブルを他のパソコンに繋げてみた所、繋がりません。元までたどって調べてみると、どうやら先に不調だった16ポートスイッチの、その該当ポートのみがおかしいみたいです。ケーブルには問題は無く、ポートを変えて繋ぎ直すと通信可能でしたので、そのポートは使用不可としました。PC-98本体の方は、さらに予備として保管してあった同じ型のイーサネットカードに交換しますと通信可能になりました。これで、このカードの交換は2回目になります。
そのうち、エミュレータに移行するつもりでしたので、この際に思い切って移行する事も考えましたが、本日更新分のバックアップが取れていないので、ネットワークカードの予備も有ったし、とりあえず現状復帰を目指しました。
追記2: 監視カメラの方は、有線接続の場合、現在はほぼ全てIP接続の様です。現状の装置は、ずいぶん昔、父がどこかで設置して貰ったのが元で、その後機器が故障したので、同軸の配線はそのまま利用して、秋葉原で私が購入した機器に交換したものです。同軸での配線なので、配線自体から機器も交換するのが妥当でしょう。
調べてみると、「配線レスキュー」と言うサイトがあり、連絡すると、地元の業者さんが見に来てくれました。配線の交換だけなので、ちょっと申し訳ないのですが、こちらで交換して貰えれば有り難いです。
2025年08月14日
_ [wine] Vinica 10月で運営終了
昨晩飲んだワインのコメントでも、と思いアプリを開けたら、Vinica終了のお知らせ、と言うタイトルが目に入った。
正直な所、いつまで続くかなぁ、とは時折思っていたけれど、ちょっと予想よりは早かった気もします。考えてみれば、収益の見通しが無さそうなので、何時までも無料では運営も成り立たないでしょう。
前々より、もしやめる事になっても投稿データはもらえるだろうとは思っていましたが、その通り、10月の終了間際をめどにダウンロード可能な様にしてくれるみたいで、その手続きを進めました。まだ、どういう形でデータを引き取れるか不明ですが、、
この所記憶力がかなり曖昧なので、飲んだワインの記録は何とか続けておきたいのですが、今後どうするか、すこし検討しないといけませんね。
2025年08月29日
_ [audio] Gustard A22のUSB入力が不調になり、SMSL PO100 PROでI2S接続。
本日、Gustard のDAC、A22で音楽を再生させようとすると、ソフトがエラーになります。
調べてみたところ、コントロールパネルの「サウンド」で見てみても、該当機器が表示されておらず、Windowsがそもそも A22を認識していない様です。
一応、ケーブルもチェック、ドライバも削除してから入れ替えてみましたが、状況に変わり有りません。入力をUSBに選択時の表示は、パソコンに繋いである/ない、に関わらず常に44.1で接続されている表示のままです。
他のパソコンで試してみても、やはり状況は変わらず。しかし、A22の代わりにGustard U16を繋ぐと認識されました。このU16から、I2Sで A22に接続するときちんと再生されます。
以上から、どうやらA22のUSBレシーバ基板が駄目みたいですね。XMMOSの定番の物を使っているらしいので、一応どっかで売っていないか探しましたが、流石に同じ基板は無いようです。
蓋を開けて、中のUSBレシーバの基板の様子をチェックするのは、また休みの日にやるとして、現状I2Sでは音が出るのですから、I2S出力を持つ、安いDDコンバータは無いかと探しましたところ、SMSL PO100 PROと言うのが見つかりました。おまけにセール中で、8千円以下でしたので、発注してしまいました。(U16経由では、どうやっても、時折音がとぎれます。同じメーカーなのに、よほど相性が悪いようです。ちなみに、同じ報告は沢山あがっていまして、私も最新のファームウェアをいれてみたりしましたが改善されません。メーカーとしても、それで後継機のU18を出したのでしょう。)
HDMIでのI2Sでは、メーカーによって微妙にピンアサインが違うので、メーカーも違う事もあり、使えるかどうか(切替の選択は2つだけ)、多少ギャンブル的なところがありますが、、、
追記:SMSL PO100 PRO届きました。ASIOドライバは、この所購入した他のSMSLの製品と同じものです。でも、これだと、同じパソコンに、複数のSMSLの製品を繋げる事が出来なさそうです。
取扱説明書に、I2SのHDMIピン配列がのっていましたので、Gustardのピン配列表と見比べて、(2)の方を選び接続しますと、問題無く使用できました。