プリント基板の作成

電子回路を自作するときには,昔はユニバーサル基板を使っていた.しかし,同じ回路を複数作る場合には,面倒である.そのような場合には,銅基板をエッチングすると良い.パターンをレーザープリンターで転写シートに印刷して,それを銅基板と重ねて,アイロンで加熱して押し付けることによって,インクを銅基板に移して,その後で余分な紙を除去することによって,マスキングを作っていた.また,エッチングは塩化鉄だと使いにくいので,過二硫酸ナトリウムを水に溶かしたもので,エッチングを行っていた.溶液が透明なので,銅が溶けている様子がよく分かって良い. 今回,複数の基板を作る必要性が出てきたが,穴あけも面倒だし,業者に頼んで見ることにした.どの業者を使おうか迷ったのだが,結局PCBWayというところに注文した.比較的安いのと,自分の作る基板の情報を公開することもできるのが面白そうなので,そこに頼むことにした.5cm角ぐらいの一層の基板が5枚で$5と送料でした.KiCADで回路図を作って,ガーバーdataを作ったのだが,いろいろと初めてのことがあって,手間取った.dataが間違っていて,使えないものが出来ないか心配だったが,一応大丈夫だった.一つ間違えたのが,三端子レギュレーターやトランジスタのfootprintがよく分からなかったので,SIPにしていたが,穴が少し小さくて,1.0mmのドリルで穴を広げる必要があったことである.正しくは,TO-220-3というfootpringを選ばなければいけなかった. やり方は一通り理解できたので,今後はプリント基板は業者に頼むことが増えると思う.

Read more...

VESTAのインストール

結晶構造を表示するプログラムとしては,VESTAを使わせてもらっているが,今回は正式なリリース前にOSをインストールしたので,VESTAを入れるのに苦労するだろうと思って,まだイントールしていなかった. でも,やってみたら簡単だったので,やり方を書いておく. VESTAはMateriAppsに入っているので,以下のようにしてMateriAppsのrepositoryをaptに登録すれば良い.

wget https://sourceforge.net/projects/materiappslive/files/Debian/setup.sh
sudo sh setup.sh
sudo apt update

そしたら,aptでvestaをインストールできるようになる. ちなみに,curlが入っていなくてシェルスクリプトがエラーを出したので,それもaptで入れる必要があった. Debian 13のtrixie用のものはまだ準備されていないのではと思っていたら,すでに用意されていたようである. 感謝したい.

Read more...

Juliaのインストール

Juliaのインストールの仕方を調べると,公式サイトにはjuliaupを使うように書いてある. しかし,シェルスクリプトを読んでみると,ユーザーのhomeの下に,いろいろとファイルが置かれるようで気持ち悪い. そこで,手動でやってみた. 以下のようにして,現時点での最新のものを取ってきて,移動させて,シンボリックリンクを張った.

wget https://julialang-s3.julialang.org/bin/linux/x64/1.11/julia-1.11.5-linux-x86_64.tar.gz
tar -xvzf julia-1.11.5-linux-x86_64.tar.gz
sudo mv julia-1.11.5 /opt/
sudo ln -s /opt/julia-1.11.5/bin/julia /usr/local/bin/julia

私が初めてjuliaを使ったときには,まだversionが1以下だったが,1.11まで来ている. 最近はあまり使っていないので,どう変わっているのかよく理解していないが. 文字列の扱いが少し面倒で,文字列操作が必要なときには,ついrubyでやってしまう. 今度,何かに使ってみよう.

Read more...

Thunderbirdのショートカットは危険

普段はThunderbirdでメールを読んでいるのだが,特定の人からのメールが消えてしまった.webメールを使ったときに,そのメールを発見したのだが,Thunderbirdでは見えない.いろいろと調べてみたら,スレッドを無視するように設定されて,そのメールに返信すると,そのスレッドに属することになるので,無視されて表示されていないということが判明した.そのメールを表示できるようにするには,メニューからViewのThreadsでIgnored Threadsにチェックを入れれば良い.スレッドを無視する設定は,ショートカットのKに割り当てられていて,メールを読んでいる時に,誤ってKを押してしまうと,このような状況になってしまう.無視を解除するのもKで出来るが,注意が必要だ.あとAを押すとarchiveされるらしく,それも注意が必要だ.調べてみたら,3つのメールがArchivesの中に入っていたので,以前に誤ってAを押してしまったのだろう.

Read more...

Trixieのインストール

やはり新しい新しいkicadを使う必要性が出てきたので,メインのOSをDebian 13に更新した.インストールしたらgrubが立ち上がらなくなって少し苦労したが,インストールし直して,無事に動くようになった./homeフォルダはOSとは別のパーティションにしているので,dataはそのまま使えるので,それほど苦労せずに環境を移行できる.kicadもversion 9.0となった.小さなトラブルとしては,pdfで文字化けが起こった.pdffontsで使っているフォントを調べて,結局はfonts-takanoをインストールしたらほぼ解消した.texはサイズが大きいので,帰るときにインストールしようと思う.

Read more...

Debian

私はメインのPCのOSとしてはDebian Linuxを,サブとしてubuntu linuxを使っている.次の5月か6月にはDebian 13 Trixieがリリースされる予定であるが,私は未だにDebian 11 bullseyeを使っている.サポートはされているが少し古いOSを私が使い続けているのにはいくつかの理由がある.まず,新しいOSはしばしばバグがあり,私は通常はリリースから数ヶ月経ってからインストールすることが多い.また,物質科学系のソフトのポータルであるMateriAppsが,なかなか新しいOSに対応してくれないので,それらのソフトを使う場合には,対応を待つ必要がある.例えば,Debian 12への正式な対応がリリースされたのは今年の二月であり,OSのリリースから二年弱も経っている.新しいOSがリリースされると,部分的なサポートはされるのだが,使いたいソフトがいつ対応されるのかは分からない.さらに,Debian 12では,プログラム言語のjuliaがaptから外れてしまったので,今回は11のまま使い続けている.しかし,juliaの公式ページを見ると,Linuxに付属するJuliaはバグがある可能性が高いので,公式からインストールするように勧めている.フォルダの構造を変にしたくないので,aptで入れられるものはaptで入れるようにしていたが,juliaに関しては,公式ページの助言に従うべきなのだろう.
電子回路の設計には,kicadを使っているが,Debian 11ではversionが古く,新しいものを使う必要性が出てきたので,そろそろOSごと新しくしようかと思っている.backportsを使う方法もあるが,あと二ヶ月まって,Debian 13にしようかと考えている.それとも,リリースを待たずにtestingの状態でdailyビルドを使っても良いけど,どうしよう.MateriAppsの問題もあるし.

Read more...

日本語を含む圧縮ファイル

最近は,ユニコードが普及して来たのでトラブルは減ってきたが,まだ時々は日本語の文字コードのために不具合が起こることがある.その一つが,圧縮されたファイル名にシフトJISの日本語が含まれている場合である.少し古いwindowsでは,そのような場合が多いようである.圧縮ファイルを展開するときには,コマンドラインではunzipやunrarなどを,GUIとしてはxarchiverを使っているが,これらでは上記の場合にしばしば問題が起こる.unarを使うと,その問題を解決できるようなので,使ってみた.インストールはaptから簡単にできて,

unar -e shift-jis file.zip

とすると,シフトJISを使っていても,問題無く解答できる.この問題に時々苦しめられていた私のような人にとっては,このソフトは大変有用である.

Read more...

tDiary to Hugo

ブログを復活させたかった理由は2つあります.一つは,記録を残して置きたいという理由です.もう一つは,前の前の所属のときのホームページが最近消えてしまったからです.そのブログの内容は前のブログに残っているのですが,それもいずれは消える可能性が高く,それらのデータを新たなところにブログとして公開したかったのです.いろいろな可能性を考えたのですが,静的なブログとして公開することにしたのです.

tDiaryで書いていたブログの内容は,月ごとに202503.td2などというファイルに格納されている.これをHugoで読み取れる形式に変換する必要があったので,変換するrubyのスクリプトを作って,以前のブログの内容を移行した.そのスクリプトの内容はこんな感じ.

Dir.entries(".").grep(/\.td2$/i).sort.each{|fl|
open(fl,"r"){|f|f.read}.split(/\n\.\n/).map{|e|
title=e.split(/\n/).grep(/^Title:\s*(.+)/){$1}[0]
year,month,day=e.split(/\n/).grep(/^Date:\s*(\d{4,4})(\d{2,2})(\d{2,2})/){[$1,$2,$3]}[0]
contents=e.split(/\n\n/)[1..-1]*"\n\n"
contents=contents.sub(/\n/," <br>\n")
str= <<"STRING"
---
title: "#{title}"
date: #{year}-#{month}-#{day}T13:42:27+09:00
draft: false
---

#{contents} STRING open("%s%s%s.md"%[year,month,day],“w”){|f|f.puts str} } }

生成したmdファイルを年毎にフォルダに分けて,contentの中に入れれば,dataの移行は完了である.これで,以前のブログが消えても,大丈夫である.ブログ内を検索は,google検索で行えるようにした.公開したばかりの昨日はまだ検索できなかったが,今日にはもう検索できるようになっていた.

Read more...

静的なブログ

2007年の末から続けていたブログだが,一年以上も更新が止まってしまった.それは,新しく使うことになったサーバーでは,静的なコンテンツしか置けないために,それまでブログとして使っていたtDiaryを動かすことができなかったからである.ようやく,静的なコンテンツとしてブログを再開できる目処がたった.

新たに使ったのはHugoというフレームワークで,ローカルで公開するブログの内容を作って,それをuploadすることによって,静的なブログを実現できる.まずは,インストールしてthemeを選ぶ.今回はwhiteplainを使ってみた.

sudo aptitude install hugo
hugo new site SetupDiary
git clone https://github.com/taikii/whiteplain.git themes/whiteplain
そして,config.tomlを以下のように変更する.
baseURL = "https://www.ipc.shimane-u.ac.jp/weda/SetupDiary/"
languageCode = "ja-jp"
title = "Setup Diary"
theme = 'whiteplain'

[markup] [markup.goldmark] [markup.goldmark.renderer] unsafe = true

後半の部分は,HTMLコマンドを有効にするために必要だった.そして,

hugo new 2025/20250325.md

などとすると,content/2025/20250325.mdというファイルができるので,これを編集して,ブログの中身を作る.そして,hugoと実行すると,publicフォルダに公開すべきファイルができる.これをサーバーにuploadすれば良いのである.

まだ,見た目などの細かい設定が出来ていないが,少しずつ整理して行こうと思う.

Read more...