BitSummitに行ってみて

こんにちは mtjです。

京都で開催されているビットサミットに行ってみました。
日本だけでなく海外からのインディーゲームの展示もありかなりグローバルなイベントだという印象を受けました。
大手企業から学生作品まで大小様々な規模のゲームが展示されており見てて飽きないイベントでした

開発者視点から言うと業界の繋がりを深めるにはいいイベントだなと感じました
学生でそういった開発者(学生同士でも)と話せる機会、作品を見せれるはそれほどないので
こういったイベントでこそこういった物を作ってる等交流を行うことでチャンスを増やすことができると感じました。

ビットサミットとは関係ないのですが当日は祇園祭の出店の日だったのもありかなりの人出でしたどちらも活気があり
京都が盛り上がってる気がしました。

remove.bg

remove.bg (https://www.remove.bg/)という写真や画像の背景を消すサイトを使ってみました。
試しにremove.bgを使ってフリー素材から背景を消してみました。

他の画像でも試してみましたが、人物がきれいに切り抜かれています。

また、背景をぼかしたり、

背景を別の画像に差し替えることもできます。

使ってみると結構面白かったです。
趣味でコラ画像を作るのが捗りそうです。

ChatAIを用いたオープンソースコードの調査

先日、PythonのコードをC#に書き直すことになる案件の工数見積のために、
Pythonコードの調査を行いました。
以前もPythonの書き直しの案件はありましたが、
今回は以前と違って他社さんが作成したコードでなくGithub上のオープンソースのコードが対象です。
(もちろんライセンスには準拠します。)

自分がPythonに不慣れなのもあるのですが、
Pythonは型宣言がほとんどなくデータの型を追いにくい
(特に多次元行列をスライス記法でnumpyなどに投げた結果、
 どのようなデータに整形されたかがわかりにくい)
といった理由で読むだけでは判断が付かず、
実際に動かしてみないと処理内容に確証が持てないことが自分は多々あります。

そこで今回は、読んでいる途中でBingChatに投げてみました。
メソッドを貼り付けて、
・「以下のコードを説明してください」
・「以下のコードを1行ずつ説明してください」
などとお願いしたところ、
わかりやすくメソッド概要とコードの1行ずつの解説が出力してくれて、調査の時短になりました。
説明が不明瞭or不足している箇所も部分的に「この部分を説明してください」とお願いすることで、
深堀りして説明を得られました。
これさえあれば自力で解読する必要はないかもしれませんね。
(解説を理解し、間違っていないか判断するためにプログラムの知識は必要ですが)

業務コードを投げるのはコンプライアンス的に問題ですが、オープンソースなら大丈夫ですし、
・GPTのバージョンにより学習期間は異なりますが、
 オープンソースは基本学習済みのため精度の高い回答を貰える可能性が高い
・単純なコードでない限り、自力で解読するより圧倒的に速い
ように思いますので、オープンソースの解読には積極的にChatAIを利用しようと思います。

「GitHub Copilot」で効率的なコーディング

「GitHub Copilot」とは、コーディング中にAIがコード例を提示してくれる、今後のソフトウェア開発を大きく変える革新的なツールです。
弊社でも最近このツールを使用しております。
VisualStudio標準のAI補完機能「InteliCode」よりも柔軟にコード例を提示してくれます。

自分が書いたコードを学習し、適切なコード例を提案してくれます。
開発者は、Copilotが提供するコード例を参考にしながら、より迅速かつ正確なコードを作成することができます。
これにより、開発の生産性が向上し、バグのリスクを低減することができます。

Copilotはまだ新しいツールであり、正しくないコードを提案することもあります。
しかし、Copilotの精度は徐々に向上していくことが期待できますので、今後が楽しみです。

IT技術の勉強

こんにちは mtjです。

IT業界は昔から常に勉強と言われている業界です。
どんどん新しいサービス、デバイス、技術等が生まれ消えていっています。

数十年前はクラウドでクラウドと盛り上がり
その数年後にはディープラーニングで盛り上がり。
現在ではChatGPTでしょうか

盛り上がった物だけで考えてもかなり移り変わっていると思います
デバイスで考えても小型化、高速化も顕著です

そういった技術についていき活用する、勉強することで自分の価値というものが上がっていくと思います。
会社で使っていないから勉強しない、覚えないでなくなんでも吸収していく事をこういう業界だからこそ心掛けたいと思います。

オープンソースのライセンス

先日、とある案件でライセンスを表記せずに使っているオープンソースがたくさんある、
という問題が発生し、対応を依頼されました。

ライセンスにもさまざまな種類があり、
利用する際にソースコードの開示が必要なもの、著作権を表示するだけでよいものなどがあります。

もしライセンスに違反してしまうと、製品の配布停止や損害賠償などにつながる恐れがあります。
実際にライセンス違反で訴訟される事例もあります。

株式会社オージス総研 岩佐 朗子
「OSSライセンス違反とその対策」(2023年6月12日アクセス)
https://www.ogis-ri.co.jp/otc/hiroba/technical/oss-license-violations/

オープンソースを利用するときはライセンスが何かをきちんと確認して、
ライセンス違反しないように利用条件を守ったうえで利用していきたいものです。

商用利用については、GPLなどソースコードの開示の必要がある場合は
自社の独自技術の流出のリスクがあるために製品としての配布が難しいので、
ApacheやMITなど、ソースコードの開示の必要がないものを
使用した方が無難と思われます。

おすすめのアミノ酸

皆さん、日々元気にお過ごしでしょうか。

自分は平日毎日働くだけで疲れがちだったのですが、
最近ネットで味の素のアミノバイタルなるアミノ酸を飲むと良いと見かけたので、
試しに買ってみて就寝2,3時間前に毎日飲んでいます。
まだ2週間程度ですが既に効果を実感しており、
疲労が溜まりにくく元気に過ごせております。
アミノ酸量の異なる2種(アミノバイタル プロ3800mg/アクティブファイン2200mg)を試してみているのですが、
量の多い方がより効果を感じています。

本来は運動や筋トレをしている人が踏ん張る力や疲労回復を目的に運動前や運動後に飲むことが多いようなのですが、
デスクワーカーでも効果があるみたいです。
もしプラシーボ効果だったとしても日々を元気に過ごせるなら儲けものですね!

以上、おすすめ商品紹介でした。

アプリからWindows共有フォルダを作成する方法

先日、ある案件でアプリからWindows共有を作成する必要がありました。

調査しました結果、コマンドラインで以下の2つを実行すれば良いことがわかりました。


net share <共有名>=<共有するフォルダのフルパス> /grant:everyone,full
icacls <共有するフォルダのフルパス> /grant everyone:(OI)(CI)F

C#の場合、これをProcessクラスを使用して実行すれば良いだけです。
案外簡単に出来てしまいます。

ただし、管理者権限が必要なので、それだけ注意です。

AI学習、使用のモラル。

こんにちは mtj です。

最近ではAI生成等が色々な分野で流行っていますね
しかし誰でも扱えるようになった反面 学習データ、生成等に関してはモラルが求められている状態になっています。

他人の絵を勝手に学習して生成し その生成物でお金を取ったり
声であれば 声を学習し歌を歌わせたり
gitのCopilotも 著作権の保護されたコードを出力する等もありました。

絵でもなんでも自分が努力して描いた、作成したものがAIで物の数分でコピーされて金儲けに利用されるなら元の作成者も面白くないでしょう
そうなると作成者がどんどん撤退し 最後には昔のデータを学習したAIが一生古い物を学習して作り続ける袋小路になってしまう気がします

おそらくそのような状態になった事に気づくのが一番遅いのはモラルのないAI使用者になるでしょう。

メモに書いた内容を忘れてしまうのを防ぐには?

私はパソコン上でメモをとり、そのメモをテキストファイルで残しておくことが多いのですが、どのファイルにどの内容のメモを残しておいたか忘れることがよくあります。
下の画像は研修の一環で行っている社内用アプリの開発に関するメモが入ったフォルダです。

その日に何を行ったかでメモが分割されており、ファイル名は作業を行った日付となっています。
メモのファイル名を「日付」にして、その日に何を行ったかをそのメモに書くという癖が染みついてしまっているのですが、この分割方法では自分が参照したい内容を探すのに時間がかかって意味がないと感じました。
「何の内容に関するメモか」をメモのファイル名とし、その内容に関することはすべてそのメモにまとめておいた方が良いと思いました。