- 1. Proxmox VE の VMware ESXi インポートウィザードを使ってみました
- 2. 初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話
- 3. ハンガリー生まれのドローンショーOSS Skybrushセットアップ手順
- 4. 主にOSSでラジオ番組作るメモ
- 5. 今の開発組織でトライしたいことをまとめてみる
- 6. ディレクトリには何がある?
- 7. サイズが気になるお年頃?
- 8. 力が欲しいか?…なら
- 9. 今どこにいるのか分からなくなったら
- 10. 全人類SKKとかいうIMEを使った方が良い
- 11. 【影響なし】XZ Utils Backdoor(CVE-2024-3094)のPVEへの影響確認
- 12. オープンソースのバグで開発が止まりかけたので、コミットを積んで直してみた話
- 13. OSS活動としてRuby on RailsのGitHubにプルリクエストを作成した話
- 14. はじめてのOSSコントリビュートをしてみた
- 15. 未経験40代は手始めにLinuC レベル1から
- 16. プリザンターを活用したデータセンター運用管理
- 17. Yocto:レイヤーの追加方法
- 18. OSSコントリビュータデビューした話
- 19. 貢献は力強く、名誉は永遠に、そしてサーバーは空を飛ぶ
- 20. 貢献と名誉によって巡る経済
Proxmox VE の VMware ESXi インポートウィザードを使ってみました
## TL;DR
– PVE 8.1-8 で追加された ESXi インポートウィザードを使ってみた。
– やってみたので手順やTipsまとめ。## 概要
ESXiからのインポートはCLIからできたのですが、GUIからもできるウィザード(Import Wizard for Migrating VMware ESXi Based Virtual Machines)が追加されました!
No-サブスクリポジトリに来ていたので、早速使ってみました!https://forum.proxmox.com/threads/new-import-wizard-available-for-migrating-vmware-esxi-based-virtual-machines.144023/
## 要件など
– PVEバージョン
– 8.1.8以降
– リポジトリ
– test
– No-Subscription
– ※Enterpriseリポジトリはまだ。
– ESXi API を利用## 手順
### No-サブスクリポジトリの設定とアップデート
現在公開され
初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話
## この記事について
この記事では、プログラミング初心者の大学生である(であった)私が試行錯誤しながらなんとかスター数300越えのOSSライブラリを作った過程をまとめたものです。ライブラリ自体はまだまだ発展中のためこの記事も適宜更新してく予定です。ライブラリ自体の詳細というよりも、自作OSSの認知度を上げで他の人に使ってもらうために有用そうな知見をまとめていこうと思います。
## ライブラリの概要
今私が作っているのは、[AIJack](https://github.com/Koukyosyumei/AIJack)という、機械学習モデルがもつセキュリティ・プライバシー上の虚弱性についての各種攻撃・防御手法を実験するためのPythonツールです。既存のライブラリの多くは特定の種類の攻撃や防御に特化したものが多く、複数のタイプの攻撃・防御を組み合わせて実験するためにはいくつものライブラリを組み合わせる必要がありました。そこでAIJackでは、できる限り統一的なAPIで様々な攻撃・防御手法を実装することを目標にしています (まだ道半ばですが…)。
具体的な手法としては、差分プラ
ハンガリー生まれのドローンショーOSS Skybrushセットアップ手順
# Skybrushとは
SkybrushはCrazyfile, ArduCopterベースで動く複数のドローンを制御してドローンショーを行うことができるOSS(GPL-3.0 license)です。
主な特徴は以下の通りです。
* Windows, Linux, MacOSに対応
* Discordにて無料で技術サポートが得られるほか、ビジネス用途向けに有償サポートあり
* 実機での動作~Blender上でのシュミレーション、ショーの設計が可能
* 部分的な日本語対応(ドローンショーを管理するソフトの一部分)▼画像はSkybrush Liveのもの
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2584877/c4de42bd-8e7f-eeb5-ab91-be3148500472.png)# Skybrushを構成するアプリケーション
Skybrushは複数のアプリケーションで構成されており、それぞれの名前と説明は以下の通りとなります。
* Skybrush Server
主にOSSでラジオ番組作るメモ
# 使用ツール
– 動画から音声抽出:hugflash
– 音声編集:Audacity
– 動画編集:kdenlive# やる順メモ
1. お好みのMTGツールで録画をする。
1. MP4ファイルからhugflashを使って音声を抽出
1. Audacityで編集(音声)
– ラウドネスノーマライズを行う。(デジベルの具体値は忘れた)
1. AudacityでBGM追加
– BGMは切替のために2トラックを交互に使う。
– 曲はフェードイン/フェードアウトで繋げとクロスフェードっぽくなる。
– それぞれの曲ごとの設定
– ノーマライズを行う。(デジベルの具体値は忘れたが音声より小さめ)
– 音量は多少大きくても後からトラックで小さくするので細かいことは気にしない。
– 最後の曲は、曲のお尻に合わせて、入りは曲の途中からフェードで置く。
– 書き出しのビットレートは最大でおk。
1. 聴きながらパワポか何かでスライドショーを作る→各スライドを画像にする
– 1回PDFとかにしてから画像にしないと帯
今の開発組織でトライしたいことをまとめてみる
筆者は現在勤務先の研究所で次世代スーパーコンピュータ向けソフトウェアの開発に関わっています。主にAI向けOSS、TensorFlow, PyTorchのArmアーキテクチャプロセッサ向け移植やLLMの性能測定、改修などに取り組んでいます。よって、その業務内容と関連して今後(または現在進行形で)トライしたいことを記載しようと思います。
トライしたいことは、大きく挙げると以下の3点です。
* OSSへのコントリビューション
* OSSのソースコード理解
* DeepXDE, DeepSpeedへの挑戦# OSSへのコントリビューション
業務でTensorFlowやPyTorchなどのOSSを利用しており、バグ修正によるコントリビューションなども行っています。今後も継続してOSSへのコントリビューション(バグ修正、ドキュメント整備等)を継続していきたいです。IssueをSubmitしてもすぐに修正されないということが頻繁に発生します。そういった時に修正コードをCommit出来る様に技術力の強化や内部構造の理解にも努めたいと思います。# OSSのソースコード理解
上記のOSSへのコン
ディレクトリには何がある?
# はじめに
Linuxサーバで作業中に「ここには何があるんじゃろ?」となることがありますよね。そんなときは“ls“コマンド。# “ls“コマンドとは
“ls“コマンドはlistの略で、ディレクトリ内のファイルやディレクトリの一覧を表示するためのコマンドです。ファイルを指定すればファイルの情報を表示します。ファイルやディレクトリを指定しなければカレントディレクトリ(今自分がいるディレクトリ)にあるファイル、ディレクトリを一覧表示します。# よく使うオプション“-l“
ほとんどセットで使うくらいよく使われるオプションが“-l“でしょう。“ls -l“を実行することでファイルやディレクトリの詳細情報を表示します。所有者、所有グループ、サイズ、更新日時などが表示されます。# よく使うオプション“-h“
“-h“オプションを付けることでサイズを人が読みやすい形式で表示します。例えば、1K、2M、3Gなどです。# 見えないものも見えるオプション“-a“
隠しファイル(ファイル名がドットから始まるファイル)も確認したいなら“-a“。# さ
サイズが気になるお年頃?
# はじめに
Linuxに限らずストレージの使用状況が気になるときがありますよね。あとどのくらい空き容量があるのか、どのくらい使用しているのか、確認するときのコマンドがいくつかあります。# “df“コマンド(Disk Free)
“df“コマンドはディスクの使用量や空き容量を確認できます。ただ、オプションなしで“df“と実行するとブロックサイズで表示されるのでいまいち分かりにくい。そこで“-h“オプションを付けて“df -h“で実行するとバイト単位で表示されるので分かりやすくなります。# “du“コマンド(Disk Usage)
“du“コマンドはディレクトリの使用量を確認できます。オプションなしで“du“と実行するとカレントディレクトリ(今自分がいるディレクトリ)の使用量を表示します。“du ディレクトリ名“で実行すれば指定したディレクトリの使用量を確認できます。こちらも“-h“オプションを付けることで読みやすい表示にできます。# “lsblk“コマンド(List Block)
“lsblk“コマンドは利用できるブロックデバ
力が欲しいか?…なら
# はじめに
Linuxで作業をしていて、権限が足りなくて先に進めないときが度々ありますね。そんなときは彼のことが頭をよぎることでしょう。そう、“su“コマンドや“sudo“コマンドです。# suとは
まず“su“コマンドですが、Substitute User、あるいはSwitch Userの略で他のユーザーの権限を借用できます。“su ユーザー名“で指定したユーザーの権限で作業することができますがスイッチするためには指定するユーザーのパスワードを知っていないといけません。# sudoとは
そして“sudo“はSuperman Doの略。ではなくSuperuser Doの略です。root権限で実行することができますが、こちらで要求されるパスワードはrootのではなく自分のパスワードです。# suかsudoか
“su“も“sudo“も自分以外のユーザーの権限を利用できる点は同じですが、セキュリティの面では“sudo“の利用が推奨されます。# さいごに
“sudo su -“でrootにスイッチして作業するのも権限の面では楽ですが、必要な
今どこにいるのか分からなくなったら
# はじめに
Linuxで作業をしていて、ふと「わしは今どこにおるんじゃろぉ」と人生の深淵をのぞき込むような思いが込み上げてきたときに役立つコマンドの話です。それは`pwd`コマンドです。# pwdは何の略?
`pwd`はピーダブリューディーと読みますが
`pwd`とは何を略しているのでしょうか。
Print Working Directory、あるいはPresent Working Directoryの略だと言われています。# pwdでわかること
Present Working Directoryは、直訳すると「現在の作業ディレクトリ」という意味です。
そう、今いるカレントディレクトリを表示できるコマンドなのです。# さいごに
今どこにいるのか不明になったとき、あるいは今どこで作業しているのかログに残しておきたいときなど`pwd`コマンドを使いましょう。LinuCレベル1で出題されるコマンドは結構あって初めてLinuxに触れる初学者には結構大変ですが簡単なコマンドから一つずつ覚えていきましょう。千里の道も一歩から。40歳超えて知識0からでもLinuCレベル3コンプリー
全人類SKKとかいうIMEを使った方が良い
# SKK is 何
SKKとは、”Simple Kana to Kanji conversion program”の略であり、IMEの一種です。
当然OSSで、初出はEmacsですが、現在ではどの環境でも使えるようになっています。
Microsoft日本語IMEやGoogle日本語入力といった通常のIMEとは大きく操作方法が異なっています。
通常のIMEの場合、文章入力後に変換を押すと形態素解析により自動で単語に分割変換してくれます。
例) ねこにこばん ー> 猫に小判
しかし、皆さんご存じの通り、自分の思った通りに変換してくれない事も多く、入力の手戻りが多くなってしまう欠点があります。
例) きょうはいしゃにいった(今日歯医者に行った、と変換したい) ー> 今日は医者に行った
この場合は、カーソルキーで左に戻って変換して元の場所に戻らなければなりません。
この場合はまだしも、単語の区切りが間違っている場合は入力し直す必要があります。
それに対してSKKは自分で単語毎に分割し、単語毎に変換していきます。
例) きょう/はいしゃ/に/い/っ
【影響なし】XZ Utils Backdoor(CVE-2024-3094)のPVEへの影響確認
:::note info
CVE-2024-3094の対象となるXZ Utilsが含まれているDebianのバージョンは`unstable`となります。
PVEの現行最新版8.1のDebianは`bookworm`となるため、対象外となります。
:::## TL;DR
– XZ Utils Backdoor(CVE-2024-3094)のPVEへの影響確認
– Debianベースのため。
– 結果、影響なし。
– ベースになっているDebianのバージョンで、XZ Utilsの対象バージョンが利用されてないため。
– 念のため、実機でも確認。## 概要
「CVSS 3」のベーススコアが「10.0」(Critical)で、Debianも対象だったため確認しました。
結果としてはDebianの`unstable`(検証版)のみが対象であるため、Proxmoxはもちろん商用環境のほとんどでは影響がなさそうです。※本脆弱性そのものよりも、意図的に不正なコードを仕組むということが、OSSの文化へ与える影響の方が大きいかもしれません。
## 脆弱性の概要
以下がよくま
オープンソースのバグで開発が止まりかけたので、コミットを積んで直してみた話
去年、eKYCを利用した本人確認機能を開発していたのですが、導入しようとしたオープンソースにバグがあり、そのままでは開発が進められない事態となりました。
この状況を打破すべく、オープンソースにコミットを積んで運良く直すことができたので、背景や解決までに至ったプロセスなどを紹介します。# 背景
ユーザーが本人確認申請時に個人情報をeKYCへ送信した後、正しくレスポンスが返ってきた場合はユーザーをeKYCの本人確認手続き画面へ誘導する必要がありました。送信するだけであれば同期処理で良いのですが、エラーのレスポンスが返された時にその場で再送信をユーザーへ促したかったことと、レスポンスが正しく返ってきた時はその場で本人確認手続き画面へ誘導させたかったため、なるべく、ユーザーの待ち時間が発生しないように非同期処理にしなければなりませんでした。
ただし、eKYCへの同時リクエスト数が5までであっためSidekiqで制御する必要がありました。
Sidekiq単体で制御を行う場合、有料版のSidekiq Enterpriseへ切り替えなければなりませんでした。しかし、利用料金が高額なことと開
OSS活動としてRuby on RailsのGitHubにプルリクエストを作成した話
## きっかけ
Ruby on Rails の GitHub プロジェクト(https://github.com/rails/rails) にあるドキュメントファイル内に、いくつかタイポがあることに気づきました。
![01-github-readme-before.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/945225/25bed7bb-e1ed-1bc6-824a-36ff7d57924f.png)
赤線部の1つ「Depedencies」は、正しくは「Dependencies」ですね。
これらの誤記を修正しようと思いました。本記事では Ruby on Rails の GitHub プロジェクトをサンプルに、プルリクエストを発行する方法を紹介していきます。
## GitHub pull request 作成までの流れ
### 1. 貢献方法を確認
まずはコントリビュートする方法や注意点を確認します。
一般的には GitHub プロジェクトの `README.md` と `CONTRIB
はじめてのOSSコントリビュートをしてみた
## この記事について
– 今回、はじめてOSSコントリビュートをしたので、実施事項と気づきを記載します
– OSSのコントリビュートを考えている方のご参考になれば幸いです
– 今回コントリビュートしたのは[こちら](https://github.com/aws-samples/bedrock-claude-chat)のリポジトリです## なぜコントリビュートしようと思ったのか
私の場合は、2020年に現職でエンジニアになってから「社外の勉強会に登壇する」「OSSコントリビュートする」が密かに描いていた目標でした
私は普段AWS周りの情報収集をする事が多いのですが、たまたま見ていた[aws-samples](https://github.com/aws-samples)内のリポジトリで、記載を調整した方が良さそうな箇所があり、折角なのでコントリビュートに挑戦してみました
実際にMergeされたPRは[こちら](https://github.com/aws-samples/bedrock-claude-chat/pull/200)です
## コントリビュートの第一歩
PR
未経験40代は手始めにLinuC レベル1から
# はじめに
未経験で40代からSESに転職して、自分を売るために取得したのがLinuCでした。Windowsは多少使えるけどLinuxは名前を聞いたことがある程度、そんなところからのスタート。まずはレベル1。# LinuC レベル1は参考書とPing-tで
何もわからないので先ず参考書から。認定教材にも指定されている翔泳社の「Linux教科書 LinuCレベル1」、あずき本と呼ばれる定番の参考書です。学校のテストと違い、ここから出題されるというものではないので情報量を増やす必要があります。解説の充実した問題集があればと探して見つけたのがPing-tです。安価で問題量も多く、ネットでの評価も高い。LinuC レベル1 認定教材
https://linuc.org/measures/textbook/#01Ping-tのプレミアムプランはコスパがいい
https://mondai.ping-t.com/g/contents/premium_plan_introductionLinuCの認定教材は増えていますね。参考書は自分が読みやすいものを選ぶといいでしょう。
# どの
プリザンターを活用したデータセンター運用管理
# 内容
データセンター運用管理をプリザンターを使用して業務改善した話になります。下記イベントで発表させて頂きました。https://pleasanter.connpass.com/event/312923/
# 問題点とツールの選定
管理されるべき情報が管理されていない、運用フローがないなどの課題がありました。そこでツールを導入した業務フロー改善を計画しました。現在このようなツールはSaaS製品が主流になっていると思いますが、会社で仮想マシンのホスティングサービスを提供している関係上、オンプレの仮想マシンを利用することが出来ましたので、オンプレに無料で構築出来るOSSのプリザンターを選定しました。![スライド4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/ff525ff7-1f0a-a1bd-e452-4e892e5a6f91.png)
# 必要な情報の一元管理
プリザンターではGUIで自由にデータベースを作成できるため、全顧客の一覧ページを作成しました。![スライド
Yocto:レイヤーの追加方法
# 1. はじめに #
本ページでは、Yoctoのビルド環境にレイヤーを追加する方法について紹介します。
Yoctoは、様々なレイヤー(meta, meta-poky, meta-yocto-bsp, etc…)を組み合わせて構成されています。レイヤー毎にレシピ(\*.bbや*.bbappend)が格納されており、ビルド環境にレイヤーを追加することで、そのレイヤーに含まれるレシピを使うことができるようになります。
多くのレイヤーは、githubなどで公開されています。自身のビルド環境に、使いたいパッケージが含まれていないときは、必要なレイヤーを取得&ビルド環境に追加することで、追加したレイヤーに含まれるパッケージも使えるようになります。また、一般的に、Yocto環境に変更を加える場合、github等で取得したレシピには直接変更を加えず、カスタマイズ用のレイヤーを追加し、そこに変更用のレシピを作成していきます。
この記事は、上記のようなシチュエーションを想定した、レイヤーの追加、作成方法について紹介します。
なお、公式のYoctoマニュアルにおけるレイヤー作成についての説明は、以下
OSSコントリビュータデビューした話
## はじめに
怯えながらOSSコントリビュータとしてデビューしたので、その際の手順を残します。今回触ったライブラリはreact-datepickerです。
テスティングライブラリにEnzymeを利用していたため、React Testing Libraryに移行するお手伝いをしました。
## 手順
1. 修正対象ライブラリのgithubから、リポジトリをフォークする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641495/ee093bce-6d9b-461b-54db-65e43c83e3b7.png)
リポジトリをフォークする先のOrganizationを選択して「Create Fork」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2641495/7960c142-a15f-b099-c7fb-59366c9c5cb1.png)
1. フォークしてきた作業用
貢献は力強く、名誉は永遠に、そしてサーバーは空を飛ぶ
# はじめに
私はASUSのROG Flow Z13という虹色に輝くゲーミングタブレットPCを使用しています。厚み1cm程度のタブレットにIntel Core i9とNVIDIA GeForce RTX 3050 Tiが入っているこの素敵な板はWindows 11の他にもAlma LinuxやUbuntuも動作しています。Linuxエンジニアですから。# Linuxのエンジニアであることの意義
一般にパソコンを購入する、使用するというときイメージしているパソコンとはWindows OSではないでしょうか。家電量販店に行ってもWindows PCかMacくらいしか目にすることはないでしょう。それでも我々がLinuxのエンジニアであることの意義とは何でしょうか?パソコンのほとんどがWindows OSであっても、Linuxのエンジニアであることにはいくつかの意義があります。1. 柔軟性とカスタマイズ性
Linuxはオープンソースであり、カスタマイズ性が高いため、エンジニアはシステムを自分あるいは自社や顧客のニーズに合わせて調整することができます。これにより、特定の要件に応じてシステ
貢献と名誉によって巡る経済
# はじめに
誰もがオープンソースムーブメントを利用してソフトパワーを獲得し、競争力を高めることができる現代。実際何をすることで何を得られるのか考えていきましょう。キーワードは **貢献** と **名誉** です。# オープンソースムーブメントにおける貢献とは
オープンソースムーブメントにおける貢献とは、ソフトウェアやプロジェクトに対して何らかの形で寄与することを指します。これには以下のような活動が含まれます。1. コードの貢献
ソースコードの修正や新しい機能の追加などプロジェクトにコードを提供することができます。これによってソフトウェアの品質向上や機能の拡張が可能となります。2. バグの報告と修正
ソフトウェアのバグや問題を報告することで貢献することができます。また、報告されたバグを修正するためにパッチを提供することもあります。3. ドキュメンテーションの改善
ソフトウェアのドキュメンテーションを改善することで貢献することができます。わかりやすいドキュメントは他の開発者やユーザーがソフトウェアを理解しやすくし、効果的に利用できるようにします。4. テストと品質管