2024.09.02
個人開発環境が欲しくて

個人的な開発環境が欲しくて昨年末から少しずつ自宅に開発用のサーバー環境を整えています。
基本的には24時間稼働して、どこからでもアクセスできるようにしたいなと思い。色々と試行錯誤しながら構築しました。
そこで今回は、どのようなサーバー環境を整えているかを簡単に紹介したいと思います。

1.機材
まず機材の選定としては、省電力で静音なものを選ぼうと思い、Intel N100プロセッサを搭載した以下のNUCを選択しました。
・Beelink MINI-S12 Pro(2万円程度)

性能的には弱い方ですが、個人開発環境としては十分な性能で省電力・静音なので、今回機材としてはこれを選択しました。
また、2.5インチのSSDも搭載できるので、ついでに2TBのSSDを搭載しました。

2.OS
OSは標準でWindows11 proがインストールされているのですが、この手のPCはライセンス的に怪しい部分があるのでProxmoxをインストールし、複数の仮想マシンを起動できるようにしました。
Proxmoxは、KVMとLXCを使って仮想マシンを起動できるので、個人開発環境としては十分な機能を持っていると思います。

3.VPN
どこからでもアクセス出来るようにするために、VPNを導入することにしました。
極力、自宅のルーターやパソコンの設定を変更したくないので、Tailscaleを導入しました。
Tailscaleは、難しい設定が不要で同じアカウントでログインするだけで、Tailscaleをインストールした端末同士でVPN接続が出来るようになるという非常に優れたソフトウェアです(個人利用では100台まで無料)。
Proxmox上のLXCにTailscaleをインストールしSubnet routerを設定することによって、そのLXCにVPN接続を行うだけで、自宅のネットワークにどこからでもアクセスできるようになりました。

4. KVM・LXC
現在、Proxmox上に以下の仮想マシンを起動しています。
・Ubuntu22.04(KVM) : 開発環境(VScodeとか)
・TrueNAS(KVM) : NAS
・Ubuntu22.04(LXC) : Tailscale専用

とりあえず、現状この3つ仮想マシンで満足していますが、状況に応じて追加・削除する予定です。
Proxmoxはこれらを簡単に操作できるので本当に満足しています。

5. まとめ
今回は、個人開発環境を整えるためにどのようなサーバー環境を整えているかを簡単に紹介しました。
投資費用は4万円程度でランニングコストも電気代で月300円かかるかどうか程度なので、お財布的にもあまり痛くないです。
お金に余裕ができればもう一台サーバーを追加して、クラスタ構成にしたりとか考えていますが、
環境だけ作って満足している部分もあるので、どうするかまだ検討中です。

(担当:きょ。

 

2024.08.26
ネッコサーフィン

暑い日が続いていますが、皆さんお盆休みはどのように過ごされましたか?
帰省や旅行されましたか?それとも、自宅でゆっくり過ごされましたか?
私は相変わらず自宅の冷房が効いた部屋で過ごしました。

さて話は変わりますが、今回は個人的にお気に入りのブラウザ拡張機能「ネッコサーフィン」について簡単に紹介したいと思います。
「ネッコサーフィン」をインストールするとマウスの動きに応じて画面上にシルエットのネコのが出現するようになります。
出現したネコの近くでマウスカーソルを動かすと、動きに反応してジャンプしたり鳴き声を上げるなどのリアクションしてくれます。
無料版と有償版(税込み120円)の2種類があり、無料版では1匹しか出現しませんが、有償版では複数のネコが同時に出現するようです。

便利な拡張機能というわけではありませんが、ネコ好きな方や業務中に少しでも癒しが欲しいと思っている方は、
試しにインストールしてみてはいかがでしょうか?

「ネッコサーフィン」はChromeウェブストアからインストールできます。
https://chromewebstore.google.com/detail/%E3%83%8D%E3%83%83%E3%82%B3%E3%82%B5%E3%83%BC%E3%83%95%E3%82%A3%E3%83%B3/bbfbeaopdnagijhehlhajpjnfghdhohm?hl=ja&pli=1

最後に、暑い日が続きますが、皆さん体調にはくれぐれも気をつけてください。

(担当:(/-ω-)/)

 

2024.08.19

20数年猫を飼っている。

小学生の頃は犬を飼っていたこともある。名前はラッシー。若い人は名犬ラッシーを知らないかな。
20年以上生きるネコなどそうそういないので、通算すると6頭くらいになる。

常に2頭以上は居る状態で、だいたい長毛。
新参猫でも室内でいきなり放し飼い。某番組の様にケージ入れて様子見などしない。
人であろうと、ネコであろうと甘やかさないのが我が家のルール。
長毛であれ短毛であれ抜け毛が多いが、長毛の抜け毛は目立つ。
毎朝コロコロで服についている猫の毛を取ってから出勤、ご飯に猫の毛が混じることも日常茶飯事。
長毛の猫にありがちだが、なんか臭いと思ったらお尻に〇〇〇を付けて歩いていることがたまにある。困ったもんだ。

ペットのことを家族とか、うちの子とかいう人が多い昨今だが、ペットはペットと割り切っている俺はきっと立派な飼い主に違いない。

(担当:もう結構です)

2024.08.06
「センサ/IoT/AI技術展2024」に出展します

バーナードソフトは、2024年8月30日(金)に開催される「センサ/IoT/AI技術展2024」に出展します。

詳細は下記をご覧ください。
「センサ/IoT/AI技術展2024」に出展します

2024.08.06
「センサ/IoT/AI技術展2024」に出展します

※台風10号の接近に伴い、「センサ/IoT/AI技術展2024」の参加を辞退いたしました。

 

 

バーナードソフトは、2024年8月30日(金)に開催される「センサ/IoT/AI技術展2024」に出展します。
当日は新製品嵌合音判定システム「エスカレイドボウル」、リアルタイム音監視システム「エスカレイド」の2製品を紹介します。会場では製品のデモンストレーションや導入事例などを紹介予定です。

 

イベント概要

日時   | 2024年8月30日(金)
開催場所 | 大阪産業創造館 3F・4F
ブース  | 3Fマーケットプラザ 46

※完全事前申込制です。
ご来場をご希望の方は事前にお申し込みいただきますようお願いいたします。
https://www.sansokan.jp/events/eve_detail.san?H_A_NO=43994

大阪産業創造館 8/30開催 【センサ/IoT/AI技術展2024】

 

【新製品】嵌合音判定システム「エスカレイドボウル」

2024年6月発売の新製品「エスカレイドボウル」は、AIで瞬間的な音の正誤を判定するシステムです。コネクタ嵌合やプレス機などの1秒に満たない音や、開閉モーターなどの1〜2秒ごとのサイクルで動作する音の判定が可能です。

コネクタ篏合判定 判定画面イメージ

 

リアルタイム音監視システム「エスカレイド」

「エスカレイド」は、「音」に着目して工場や設備の異常を検知するAIシステムです。AIが機械の「いつもの音」を学習し、リアルタイムで音の監視を行い、「聞いたことがない音」(=異音)を検知します。機械の予知保全や、保守点検の省力化に活用されています。

集音装置 判定画面

 

本件に関するお問い合わせ
株式会社バーナードソフト
担当者:営業部 丹羽
電話番号:011-776-6738
お問合せはこちら

2024.08.05
外食はカレーライスを食べよう

老若男女みんな大好きカレーライス(以後「カレー」とする)。
30歳を過ぎたあたりから周りとの温度感に悩まされることが多くなった…気がする。
友人間の集まりでの外食時、何食べようか?という問いにカレーを提案しても難色を示されたりするのだ。
子供っぽい?実はみんなそんなに好きじゃない?
いやいやそんなことはない、それらは単なる思い過ごしだろう。
カレーが嫌いな人なんて地球上にいないのだから。

原因があるとすればカロリーが高めなところか?
確かにカレーはカロリーが他の料理と比べて少し高めな印象が強い。
しかしそもそもカレーはそれ一品で完成された料理で主食、主菜、副菜、汁物が全てMIXされている。
そうなるとカロリーも高いのは当然だ。
とはいえ標準的なカロリーは並盛1皿600~800キロカロリーくらいで料理全体と考えた場合妥当な数値である。

あとはお店で食べると高いのも難点か。
最近の物価上昇に伴いチェーン店等で提供されるカレーの値段も上昇傾向にある。
だが、カレーにはその値段に見合ったおいしさがある。
これはゆるぎない事実だ。
何でも安いのが正義、高いのは悪という風習は良くない。

これらの誤解さえ解ければ皆もっとカレーに対して素直になれるのでは?
単に昔に比べて外食のバリュエーションが増えただけかもしれないがカレーという選択がもっとあってもいいんじゃないかな。

(担当:リンゴと空き缶屋)

2024.07.31
夏季休業・有給休暇取得推奨日のお知らせ

誠に勝手ながら、下記の期間を夏季休業・有給休暇取得推奨日とさせていただきます。
夏季休業|2024年8月13日(火)~8月15日(木)
休暇取得推奨日|2024年8月16日(金)

期間中のお問合せにつきましては、8月19日(月)より順次対応させていただきます。
お客様・関係者の皆様にはご不便をおかけすることと存じますが、何卒ご理解・ご協力くださいますようお願い申し上げます。

2024.07.29
自転車通勤

自転車通勤を初めてもう20年くらいたっているだろうか。

片道10km余り。雨の日は乗らない、暑い日は乗らない。お尻が痛くなったら乗らない。寒くなれば乗らない。怠慢ツーキニストだ。
道のりの半分はサイクリングロード。ここは、交差点もなくすいすい走れる。その後は裏道を選んでのんびりぎこぎこと走る。
もちろん事故をするわけにはいかないし、加齢臭が気になる年齢となっては汗を極力かくわけにもいかないわけだ。
のんびりと30分余りで会社に到着。デスクワークの身としては、数少ない運動時間だ。

自転車通勤をするのは、お金も少々浮くというのもあるが、なんといっても今は体調のバロメータを知ることだ。
2年ほど前のある日から通勤路のゆるやかな坂道が一気に登れなくなる。
息が切れてしまうのだ。はあはあゼイゼイそんなに大した坂でなかったはずなのに。
コロナがまん延していた時期だから絶対コロナだと思った。何日か悩んだ末、会社の近くの呼吸器科に行ってみたが、問題ないと追い返されてしまった。
とぼとぼと病院を出たがやっぱりおかしいと思ったので引き返して循環器科へ。24時間心電図をつけて次の日に再び行ったら結果をみて即入院+即手術。危ない危ない。
心の臓の血管が詰まりかけているのだと、カテーテルでステントをいれてもらった。自転車通勤のおかげて一命をとりとめたわけだ。

最近、新しい自転車を手に入れた。イギリス製の折り畳み自転車「ブロンプトン」。自転車にしてはちょっとお高め。長年欲しかったし自転車通勤を続けてきた自分へのプレゼントとしては悪くない選択。
折り畳みは慣れれば30秒くらい。小さなコロがついているので、コロコロと転がすことができるし、袋をかぶせれば、スーツケースくらいのサイズで、電車やバスにも乗せることができる。帰りに雨になったら輪行して帰ればいいわけだ。
職場のビルの入り口まで乗ってきて、そこで折り畳み、そして職場の片隅に鎮座させてもらっている。折りたたまれて機械が「みっしり」詰まっているところが、職人技が詰まっているみたいでとてもかっこいい。その待っている姿を見るたびに、にやにやして仕事へのモチベーションもアップというわけだ。

今日もまた、ブロと一緒に因縁の坂道を一気に駆け上り会社にやってきた。気温は高いし家を出るのが遅かったしで少し飛ばしので汗をかいてしまった。
心の臓はとりあえずは問題なかった。汗かいたなあ。加齢臭してないかなあ。ひやひやしながら、こっそりと自席に向かうのであった。

(担当:ぺた)

2024.07.22
閏年判定

閏年は「何年に何回」訪れるでしょう?

「4年に1回」と思っている⽅が⼤半だと思います。私達の⼤半が⽣きている間は「4年に1回」と思っていても困ることはありません。でも正確には「4年に1回」ではありません。

そもそも閏年は何のためにあるのかは皆さんご存知と思いますが、念のためおさらいしておきましょう。地球は365⽇かけて太陽の周りを⼀周していて、それが1年に相当するのですが、正確には365⽇より6時間ほど長く、それが4年分蓄積すると24時間=1⽇分だけ⼀周に届かなくなるので、4年に⼀度1年の⽇数を1⽇増やすことで⾜りない分を補うために閏年が設けられています。

だったら「4年に1回」が正解で良いじゃないかと思われるかもしれませんが、それほど単純な話ではなく「365⽇より6時間ほど長く」の「ほど」の部分を無視する訳にはいかないので細かい調整が必要になります。「6時間ほど」の部分をもう少し正確に秒単位まで計測した値は「5時間49分12秒」となります(どうやって測ったのでしょう)。つまり6時間より10分48秒短いのです。1年にたった10分48秒ですが、閏年が10回あれば1時間48分の誤差となります。これを放っておくわけには⾏きません。「4年に1回」では閏年はちょっとだけ多いのです。

この10分48秒の誤差を解消するためにちょっと多い閏年を間引いてやる必要があります。10分48秒=648秒を1⽇の秒数 =86400秒で割ってやると0.0075となります。つまり「4年に1回」では閏年は0.0075⽇だけ多いことになります。0.0075 = 75/10000 = 3/400なので0.0075⽇を分数で表すと3/400⽇となります。これにより、閏年は「400年に3回だけ余計」であるということが分かります。「4年に1回」のペースだと400年だと閏年は100回あることになりますが、その余計な3回を間引いた

「400年に97回」

がより正確な閏年の回数となります。もっと厳密なことを⾔うと⼀年の⻑さは不変ではないし、秒以下の誤差もあるので数千年後には誤差が⽣じるでしょうが、現時点ではこれがもっとも正確な閏年の回数です。

具体的には現⾏のグレゴリオ暦では「4で割り切れる年、ただし『100で割り切れて400で割り切れない年』は除く」が閏年となります。つまり下2桁が00ではない年は普通に「4で割り切れる年は閏年」と思っておいて⼗分なのですが、下2桁が00の年(=100で割り切れる年・当然4でも割り切れる)の場合は400で割り切れるかどうかで閏年であるかどうか違ってきます。

直近では2000年が下2桁が00の年でしたが、2000は400でも割り切れる年のため通常通り閏年となりました。しかしその前の下2桁が00の年である1900年は「100で割り切れて400で割り切れない年」のため4で割り切れる年なのに閏年ではありませんでした。

次に来る下2桁が00の年である2100年も400で割り切れないので同様に閏年ではありません。⾔い換えると「4で割り切れるのに閏年ではない」という年は2100年までやってきません。冒頭で「私達の⼤半が⽣きている間は」と書いたのはそのためです。2100年ごろに「今年って閏年じゃないの?」と騒ぐ様⼦が⾒たかったのに残念です。どうしてもそれを体験したい⽅は頑張って2100年まで⽣きてください。

ソフトウェア開発の会社らしくプログラムに関する話もしておきましょう。⻄暦年 y が「4で割り切れる年、ただし『100で割り切れて400で割り切れない年』は除く」に該当するかどうかを判定する処理(閏年の判定)をどう書くか?という問題はなかなか興味深いところではあります。⼀例としてかぎ括弧内の⽂をそのままコードにすると次のように書くことができます。

fun isLeapYear(int: y): Boolean {
return y % 4 == 0 && (y % 100 != 0 || y % 400 == 0)
}

% は割り算の余りを求めるために⽤いる剰余演算⼦というとても重要な演算⼦で、y % 4 は y を4で割った余りとなります。

もっとトリッキーな書き⽅もできますが、そうなると元のアルゴリズムがわかりにくくなるため個⼈的にはこのくらいの野暮なコードがちょうど良いと思っています。

閏年については他にもいくつかトピックがあって、たとえば「各年の1⽉1⽇の曜⽇を求める」という問題はなかなか⾯⽩いのですがそれはまた別の機会に。⻑⽂失礼しました。

参考:⿊後家蜘蛛の会(アイザック・アシモフ)4巻第5話

(担当:六度七分)

2024.07.16
RaspberryPi pico Wを買いました

RaspberryPi pico Wという1400円くらいのマイコンボードを買いました(私物)
非力でOSを動かすことはできませんが、PCとUSBで接続してPythonプログラムが実行できるものです。
この値段でWiFiとBluetoothまで持っていて、簡単にIoTデバイスを作ることができるのが買った理由の1つ。
写真は温度・湿度・気圧センサーを繋いで、WiFi経由でサーバーPCに通知させてみたものです。
通信系機能やI/O制御はPythonライブラリとして用意されているので、面倒な処理を書く必要はありませんでした。

約10年ぶりの組み込み用マイコンボードでしたが、使い始めるまでの手順の簡単さに驚きました。
この手のマイコンボードを動かすには専用の開発環境を構築してC言語でコードを書くというイメージがありましたが、そんな面倒なことは全然なくてすぐに使い始めることができました
通信機能を持っていることも時代の変化を感じました。

(担当:霜月