はてなキーワード: bashとは
結論として、この記事の検証方法には一定の技術的妥当性がある一方、メタデータやコーデックだけで動画の出所を断定するのは危険である。
主要な論点は、ffprobeやメタデータを手がかりにすること自体は有効でも、そこから真正性・入手経路・SNS由来の否定まで断定する飛躍がある点です。
ffprobe -show_format -show_streams で動画コンテナ、ストリーム、メタデータを確認するのは正しい使い方です。
ffprobe 公式ドキュメントも、コンテナ形式・各メディアストリーム形式・メタデータタグを表示できると説明しています。
ただし、記事の中心的な主張である「メタデータやコーデックがSNS標準から外れていれば、そのSNSから保存された動画ではないと強く言える」という部分は、技術的にはかなり危ういです。
実ファイル、取得経路、ハッシュ、HTTPレスポンス、同時期の対照サンプルがない限り、フォレンジックとしては“断定”ではなく“整合・不整合の示唆”に留めるべきです。
ffprobe で動画の構造を見る、という方法自体は妥当です。
-show_format はコンテナの FORMAT 情報、-show_streams は各 STREAM 情報を出力し、-print_format json または -of json で機械処理しやすいJSONにできます。
また、encoder=Lavf... や handler_name=VideoHandler のようなタグが出ることは実際にあります。
FFmpegのメタデータAPIでは、encoder は「ファイルを生成したソフトウェア/ハードウェア名や設定」として扱われ、メタデータはキー・バリュー文字列として保持されます。
したがって、Lavf が出た場合に「最後に libavformat / FFmpeg 系でmuxされた可能性」を疑うのは自然です。
ただし、ここで止めるべきです。
Lavf は「TikTokから来た証拠」ではありませんし、Adobe Premiere Pro や DaVinci Resolve 風の値が見えても、それだけで「SNS由来ではない」とは言えません。
記事は ffprobe コマンドを提示し、動画共有SNSの規格から外れた動画は「十中八九」そのSNSからダウンロードされたものではない、という趣旨の主張をしています。
しかしこれは、配信プラットフォーム、ダウンロード方法、再mux、再エンコード、埋め込みプレイヤー、CDN、編集、保存ツールの影響を過小評価しています。
最大の問題は、メタデータが容易に書き換え可能なことです。FFmpegは -metadata key=value で出力ファイルに任意のメタデータを設定でき、既存の -map_metadata より優先され、空値で削除もできます。
つまり、encoder, creation_time, handler_name, com.apple.quicktime.software などは、基本的に署名済みの真正性情報ではありません。
改ざん困難な証拠ではなく、「最後にどのツールや処理経路を通ったように見えるか」を示す弱い手掛かりです。
記事は「動画共有SNSから動画をダウンロードした場合 tool が埋まることは無い」「Adobe Premiere Pro や DaVinci Resolve、HandBrake が登場したら完全にSNSからダウンロードされたものではない」と述べています。
これは過剰です。
編集ソフトで一度書き出された動画を、その後SNSに投稿して、さらに第三者が保存するケースは普通にあり得ます。
逆に、SNS由来の動画を保存後に再muxすれば Lavf が出ることもあります。
YouTubeやTikTokのようなサービスでは、同じ動画でも複数の品質・コーデック・コンテナ・プロトコルで配信されることがあります。
さらに、保存ツールが音声と映像を別々に取得して、最後にFFmpegで結合する場合があります。
たとえば yt-dlp は、デフォルトで高品質の video-only と audio-only を選び、必要に応じてFFmpegでmuxする挙動を取ります。
また -f bestvideo+bestaudio のように明示的に複数フォーマットを結合することもあります。
この場合、保存後のファイルに Lavf が現れても、それは配信元SNSのエンコーダではなく、保存者側の結合処理の痕跡になり得ます。
したがって、文春のWebページから保存したファイルを解析しても、それは最大でも「文春サイトで配信されていた派生ファイル」の解析です。
文春が元SNSファイルをそのまま置いているのか、再エンコードしたのか、動画プレイヤー用に変換したのかが不明なら、そこから「元のSNS由来性」を断定できません。
記事は「比較的新しいYouTube動画がH.264だと怪しい」という趣旨のことを書いています。
これは言い過ぎです。
YouTube公式ヘルプは、アップロード推奨設定としてコンテナMP4、動画コーデックH.264、音声AAC-LC/Opus等を挙げています。
また、YouTubeは再生画質最適化のためにすべての動画を再エンコードすると説明しています。
つまり、YouTubeにおいてH.264は今でも普通に関連するコーデックであり、H.264であることだけを「怪しい」とは扱えません。
確かに、高解像度や高効率配信ではVP9やAV1が使われることがあります。
YouTube公式ヘルプも、新しい4Kアップロードを4Kで表示するにはVP9対応ブラウザまたは端末が必要と説明しています。
しかしこれは「新しいYouTube動画のH.264は原則不自然」という意味ではありません。
再生環境、解像度、ブラウザ、端末、利用ツール、取得フォーマットによってH.264が選ばれる余地はあります。
記事はTikTokについて、H.264/H.265/AV1、ビットレート、Lavf、VideoHandler、creation_time などを表形式で示しています。
しかし、少なくとも公開一次情報だけを見る限り、TikTokが一般投稿のダウンロードファイルについて、記事のような詳細なコーデック・ビットレート・メタデータ指紋を安定仕様として公開しているとは確認できません。
TikTok for Businessの公開仕様では、広告動画について .mp4 または .mov、非Spark Adsでは .mp4, .mov, .mpeg, .3gp, .avi、最低ビットレート516kbps以上などが示されています。
これはアップロード/広告入稿仕様であって、一般ユーザーがダウンロードするウォーターマーク付き動画の実ファイル指紋とは別物です。
したがって、記事のTikTok表は「経験則」としてなら参考になる可能性がありますが、フォレンジック判定に使うには、同一時期・同一地域・同一アプリバージョン・同一取得方法で採取した対照サンプル群が必要です。
文春側の記事は、電子版で実際の動画を公開していると説明しています。
また、文春のまとめ記事では、複数の中傷動画、礼賛動画、野党候補へのネガキャン動画、Zoom音声を電子版限定で公開しているとされています。
しかし、今回の記事自体は、文春動画の実ファイルの ffprobe 出力、SHA-256、ファイルサイズ、取得URL、取得時刻、HTTPヘッダ、保存方法、比較対象サンプルを提示していません。
つまり、技術検証記事としては検証プロトコルの提案に近く、検証結果にはなっていません。
bash # 1. ファイルの同一性確保 sha256sum input.mp4 stat input.mp4 # 2. ffprobeで構造を取得 ffprobe -v error \ -print_format json \ -show_format \ -show_streams \ -show_chapters \ input.mp4 > ffprobe.json # 3. 必要項目だけ抽出 ffprobe -v error \ -of json \ -show_entries \ format=filename,format_name,duration,size,bit_rate:format_tags:stream=index,codec_name,codec_type,profile,width,height,pix_fmt,avg_frame_rate,r_frame_rate,time_base,bit_rate,nb_frames:stream_tags \ input.mp4 > ffprobe_min.json # 4. 可能なら別ツールでも確認 mediainfo --Full input.mp4 > mediainfo.txt exiftool -G1 -a -s input.mp4 > exiftool.txt
-v quiet ではなく -v error を推奨します。quiet はエラーや警告も見えにくくなるため、検証ログとしては不利です。
さらに重要なのは、同じ取得方法で対照サンプルを作ることです。
たとえば「TikTok公式アプリから保存した動画」「ブラウザ経由で保存した動画」「yt-dlp等で取得した動画」「文春サイトから取得した動画」を混ぜると、メタデータの意味が変わります。
比較は、同一プラットフォーム、同一取得経路、同一時期、同一品質設定で行う必要があります。
この記事は、動画ファイル解析の着眼点としては有用ですが、フォレンジックの結論としては断定が多すぎます。特に、メタデータとコーデックを「由来証明」に使う部分は弱いです。
本件で言えるのは、実ファイルを取得して解析したうえで、
「このファイルは、特定SNSから同条件で取得した対照サンプルとは整合しない」
または
「このファイルは、編集ソフトまたはFFmpeg系ツールで後処理された可能性がある」
という程度です。
「だから文春の動画はSNS由来ではない」「だから一次情報ではない」「だから証拠にならない」とまで進めるには、記事に提示されている情報だけでは不足しています。
ご主人様~♡ あたし、MacでLoRAモデルを動かす方法、めっちゃわかりやすくオタク向けに説明するね! Stable Diffusion(SD)系のLoRA(キャラやスタイルを追加する軽量モデル)だよね? Apple Silicon(M1/M2/M3/M4)MacならGPU(Metal)で結構サクサク動くよ~!
MacでLoRAを「使う」場合と「自作(学習)する」場合で方法が変わるから、順番に教えるね。初心者さんでも大丈夫なやつ中心にピックアップしたよ!
Mac App Storeで無料のDraw Thingsアプリが超便利! インストールするだけでローカルでSD動いて、LoRAもすぐ使える&学習までできる神アプリだよ。
• インストール:Mac App Storeから「Draw Things」を検索してダウンロード(無料)。
• LoRAの使い方:
1 CivitaiとかからLoRAファイル(.safetensors)をダウンロード。
2 アプリ開いて、Settings → Model → Manage からLoRAをインポート(ファイル選択 or URL貼り付け)。
3 生成画面でLoRA欄から選んで、**weight(強さ)**を0.6〜1.0くらいに調整(最初は0.7おすすめ)。
4 プロンプトにトリガーワード(LoRAの説明に書いてあるやつ)を入れると効果バッチリ!
• 学習(自作LoRA)もできる:PEFTタブからベースモデル選んで、画像フォルダ指定→学習スタート。FluxやSDXLにも対応してるよ~。
MシリーズMacならMetal加速で速いし、iPhone/iPad版もあるから持ち運びもOK! 初めてならこれから始めると失敗少ないよ♡
• 手順のざっくり:
1 Homebrewインストール(ターミナルで /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)")。
2 Gitでリポジトリclone:git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
3 モデル(SD1.5やSDXL)をmodels/Stable-diffusion/に置く。
4 LoRAはmodels/Lora/フォルダにドラッグ&ドロップ。
5 ターミナルで ./webui.sh 実行してブラウザで開く。
6 生成画面のLoRAタブから選んで、 みたいにプロンプトに入れる。
Mac版はMPS(Metal)対応してるけど、たまに --no-half オプションが必要になる場合あり。エラー出たら「Mac Stable Diffusion WebUI」で検索して最新情報チェックしてね!
• もっと細かくやりたいなら Kohya’s GUI(bmaltais版):
◦ MacのGPU(MPS)対応させて学習。画像フォルダ用意→タグ付け→TrainでOK。
• ComfyUIもApple Silicon対応版あるけど、ノード組むのがちょっと上級者向けかも。
• メモリ:16GB以上推奨(32GBだと余裕)。M1/M2でも動くけど、M3/M4の方が高速。
• LoRAとベースモデルのバージョン(SD1.5 / SDXL / Fluxなど)を合わせる! 合わないとエラー出るよ。
• CivitaiでLoRA探すときは「Trigger words」と「Base model」確認忘れずに~。
ご主人様がどのMac(M何チップ? RAM何GB?)使ってるか教えてくれたら、もっとピンポイントでアドバイスできるよ~! 例えば「Draw ThingsでFluxのLoRA動かしたい」とか具体的に言ってね♡
何か詰まったらすぐ聞いて! あたし、がんばってサポートするから一緒にオタク活動楽しもうぜ~!✨ 画像生成の成果見せてくれたら嬉しいな♡
プログラミングを始める人からよく「WindowsとMacどっちがいいですか?」と聞かれる。
このときに「どっちでも同じことができますよ」と答える人がいるが、これは半分正しくて半分間違っている。
しかし、問題は「同じことがどれだけスムーズにできるか」であり、ここには大きな差がある。
【大前提】
◾️MacはUnixベースのOSであり、最初から開発者向けの環境が整っている。
・ Node、Python、Git、Dockerなどが素直に動く
そのため、余計な設定をほとんどせずにすぐ開発を始めることができる。
言い換えると、Macは「コードを書くこと」に集中できる環境になっている。
◾️Windowsはそのままだと開発に向いていない
一方でWindowsは、一般ユーザーや企業用途を前提に設計されているOSであり、開発は後付けに近い。
・ cmdやPowerShellはUnix系のコマンドと互換性がない
・教材のコマンドがそのまま使えない
・「PATHが通っていない」などの初歩的なトラブルが頻発する
さらに、DockerやNodeなどのツールもそのままでは安定しないことが多く、環境構築の難易度が上がる。
結果として、初心者は「コードを書く前に詰まる」ことが非常に多い。
現在の開発環境はほぼすべてUnix文化の上に成り立っている。
・ Docker
つまり、Macはそのまま実務環境に近いが、Windowsはそのままだと別世界になってしまう。
ただし、Windowsでも開発ができないわけではない。
WindowsではWSL(Windows Subsystem for Linux)を使うことで、Linux環境を動かすことができる。
これにより、
bashが使える
Dockerなども安定する
つまり、WindowsでもMacとほぼ同じ環境を再現できる。
◾️結論
MacとWindowsの違いは「できること」ではなく「開発体験」にある。
そのため、初心者にとってはこの差が非常に大きい。
最も現実的な答えは以下になる。
「どちらでも開発は可能。ただし、初心者ならMac、もしくはWindowsならWSLを使うべき」
一言でまとめると
Macはそのまま開発に使える
◾️問題
最近のモダン開発はUnix依存なんだけど、昔ちょっとパソコンやってた人が知識更新せずwinでも大丈夫とかクソアドバイスしちゃう。
さらに上記を間に受けた初心者(初心者だからこそwinしかもってない)教材通りのコマンドが使えず、初歩的なトラブルだらけで設定で挫折してしまう。開発体験の差が強く出る。
WSL導入も辛い人ような人こそmacでお気楽開発してからwinでもいいのに。PCアドバイスおじさんが余計なこといってwinで詰む。
または再起動のキーストロークである Ctrl-Alt-Delete (CAD) を有効/無効にする。 このキーストロークは loadkeys(1) によって変更できる。
magic が LINUX_REBOOT_MAGIC1 (値は 0xfee1dead) であり、
かつ magic2 が LINUX_REBOOT_MAGIC2 (672274793) でなければこのシステムコールは失敗し、 EINVAL が返される。
しかし 2.1.17 からはLINUX_REBOOT_MAGIC2A (85072278) が、
また 2.1.97 からは LINUX_REBOOT_MAGIC2B (369367448) が、
bashで実行
$ printf "%x\n" 672274793
printf "%x\n" 85072278
printf "%x\n" 369367448
printf "%x\n" 537993216
5121996
16041998
28121969 → 1969/12/28 (linus Torvaldsの誕生日)
5121996 → 1996/12/05(Linusの第一子の誕生日)
WSL2 USBカメラ+他のUSB機器 2022年09月06日版
WSL2 Linux Kernel 5.10.60.1 からKernelモジュールにUSBIP対応が標準的に組み込まれたらしいが、Microsoft公式が提供しているKernelや手順ををそのまま使用すると動作しない
2022年09月06日時点の最新カーネルは 5.15.62.1 だが、wsl --update で展開されるバージョンが 5.10.102.1 だったため 5.10.102.1 を使用する
以下すべての手順の Windows Terminal を使用する箇所は 管理者権限 で実行
以下、[WT] は Windows Terminal、[Ubuntu] は Ubuntu側のbashを表す
WSLのカーネルアップデートと usbipd-win のインストール
> wsl --update
> wsl --status
> winget install --interactive --exact dorssel.usbipd-win
見つかりました usbipd-win [dorssel.usbipd-win] バージョン 2.3.0
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://github.com/dorssel/usbipd-win/releases/download/v2.3.0/usbipd-win_2.3.0.msi
██████████████████████████████ 10.4 MB / 10.4 MB
> wsl --install --distribution Ubuntu-20.04
[WT] WSLのディストリビューションを起動(WSL2起動用アイコンをマウスでクリックして起動してもよい)
> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
sudo apt install -y linux-tools-5.4.0-77-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20
> wsl --shutdown
[WT] USBカメラが usbipd に認識されることを確認する (この記事では 2-7)
2-2 056e:00d9 USB 入力デバイス Not attached
2-3 1c4f:0027 USB 入力デバイス Not attached
2-7 1bcf:2284 Full HD webcam, USB microphone Not attached
2-11 0495:3011 ESS USB DAC, USB 入力デバイス Not attached
2-14 8087:0029 インテル(R) ワイヤレス Bluetooth(R) Not attached
[WT] USBカメラをUbuntu側にアタッチする(アタッチに成功した場合は何も表示されない)
> usbipd wsl attach --busid 2-7
>
[WT] USBカメラが正常にアタッチされていることを確認する(Attached と表示されていれば成功)
2-2 056e:00d9 USB 入力デバイス Not attached
2-3 1c4f:0027 USB 入力デバイス Not attached
2-7 1bcf:2284 Full HD webcam, USB microphone Attached - Ubuntu-20.04
2-11 0495:3011 ESS USB DAC, USB 入力デバイス Not attached
2-14 8087:0029 インテル(R) ワイヤレス Bluetooth(R) Not attached
[Ubuntu] Ubuntuのbashにログオンした既定のユーザを video グループに所属させる。なお、WSLを起動した時点で既に追加されているメッセージが表示される。
[Ubuntu] WSL2上の Ubuntu20.04 の中からUSBカメラが認識されていることを確認する。 lsusb コマンドを経由すると正常にUSBカメラが認識されているが、/dev/video* にはUSBカメラが列挙されない
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1bcf:2284 Sunplus Innovation Technology Inc. Full HD webcam
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ls: cannot access '/dev/video*': No such file or directory
[Ubuntu] USB CameraがWSL内で認識されるようにLinuxカーネルをカスタムビルドする。下記リポジトリの手順通りに実施すると、WSL Linuxカーネルがカスタムビルドされたものに入れ替わる。注意点は、<windows username> の部分だけは各自の環境のWindowsユーザー名に手で書き換える必要が有ること。なお、.wslconfig は 絶対に windows 側で編集してはならない。絶対に。
> wsl --shutdown
[WT] USBカメラが usbipd に認識されることを確認する (この記事では 2-7)
2-2 056e:00d9 USB 入力デバイス Not attached
2-3 1c4f:0027 USB 入力デバイス Not attached
2-7 1bcf:2284 Full HD webcam, USB microphone Not attached
2-11 0495:3011 ESS USB DAC, USB 入力デバイス Not attached
2-14 8087:0029 インテル(R) ワイヤレス Bluetooth(R) Not attached
[WT] USBカメラをUbuntu側にアタッチする(アタッチに成功した場合は何も表示されない)
> usbipd wsl attach --busid 2-7
>
https://www.imdb.com/de/list/ls599665017/
https://www.imdb.com/de/list/ls599665017/copy/
[WT] USBカメラが正常にアタッチされていることを確認する(Attached と表示されていれば成功)
2-2 056e:00d9 USB 入力デバイス Not attached
2-3 1c4f:0027 USB 入力デバイス Not attached
2-7 1bcf:2284 Full HD webcam, USB microphone Attached - Ubuntu-20.04
2-11 0495:3011 ESS USB DAC, USB 入力デバイス Not attached
2-14 8087:0029 インテル(R) ワイヤレス Bluetooth(R) Not attached
[Ubuntu] WSL2上の Ubuntu20.04 の中からUSBカメラが認識されていることを確認する
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1bcf:2284 Sunplus Innovation Technology Inc. Full HD webcam
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crw------- 1 root root 81, 0 Sep 6 17:29 /dev/video0
crw------- 1 root root 81, 1 Sep 6 17:29 /dev/video1
[Ubuntu] USBカメラがWSL2の中から認識されることを確認するテストコードを作成する
$ pip install opencv-contrib-python
$ cat << 'EOT' > ${HOME}/usbcam_test.py
import cv2
W=640
H=480
cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('M','J','P','G'))
#cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('Y','U','Y','V'))
cap.set(cv2.CAP_PROP_FRAME_WIDTH, W)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, H)
https://www.imdb.com/de/list/ls599660855/
https://www.imdb.com/de/list/ls599660855/copy/
while True:
ret, frame
Custom CVAT リポジトリ
修正した箇所は2箇所のみ
django の起動時ヘルスチェックのうち、ストレージ空き容量に関するチェック部分の 10 (10%の意味) を None に書き換える。なお、私のカスタムCVATのリポジトリにコミットされているリソースはすでに修正を反映済みのため、下記の修正を加える必要はない。
3-3. 該当のissue
CVAT fails health check using >90% disk #5449
3-4. Custom CVAT の実行手順
下記を順番に実行するだけ。
git clone https://github.com/PINTO0309/cvat_custom.git
cd cvat_custom
https://ngarangansawah.graphy.com/courses/jurassicworldfilmiturkcedublajizlehd
docker compose \
build
# CVAT を起動する
docker compose up -d
docker exec -it cvat_server bash \
# ココで、ユーザー名、e-mailアドレス、パスワード、パスワード(再) を設定する
ブラウザを起動して http://localhost:8080 へアクセスする。下図のようなログイン画面が表示されれば成功。
https://ngarangansawah.graphy.com/courses/jurassicworldyenidengogusizlefilmihd
ログイン後のトップポータル。ここに Projects なり Tasks なりを追加してローカルだけで全ての作業を完結することができる。
はい、**ブロックチェーンを使ったタイムスタンプ**は、「元データそのものを共有せずに、その存在と時刻を証明する手段」として非常に有効です。特に、ハッシュ値をブロックチェーンに記録することで、元データを後から提示するだけで、それがある時刻に存在したこと・改竄されていないことを**誰でも検証可能にする**、という形になります。
あなたの希望(元の文章が掲示板などで変形されても検証可能、あるいは元文不要)に近づけるには、**ハッシュをブロックチェーンに書き込んで、後からそのハッシュに一致する元データを見せる**という形式になります。
---
### 基本の流れ:
2. そのハッシュをブロックチェーンに記録(トランザクションのメモ欄など)
3. 後から誰でもハッシュとトランザクションを照合して、時刻と整合性を検証可能
---
## ✅ 推奨ツール:OpenTimestamps(OTS)
[OpenTimestamps](https://opentimestamps.org/) は、ビットコインのブロックチェーンを用いた無料のタイムスタンプサービスです。
---
## ✅ Windows 11 での手順(OpenTimestamps CLI)
Pythonがまだ入っていない場合は、https://www.python.org/downloads/windows/](https://www.python.org/downloads/windows/) からインストーラーを取得し、`Add to PATH` にチェックを入れてインストールしてください。
コマンドプロンプトまたはPowerShellで以下を実行:
```bash
pip install opentimestamps-client
```
たとえば `message.txt` というファイルを用意します(中身は何でもOK)。
```bash
```
これにより、`message.txt.ots` というタイムスタンプファイルが作成されます。
これは「Bitcoinにこのデータのハッシュを記録する要求がされたこと」を表します。
```bash
```
署名がBitcoinブロックチェーンに記録されていれば、次のように表示されます:
```
Success! Bitcoin attests data existed as of 2025-06-08 12:34:56 UTC
```
---
```bash
echo -n "あなたの文" | openssl dgst -sha256
```
このハッシュに一致するファイルを後から提示すれば、それが当時存在していたことを証明できます。
---
## ✅ まとめ
| 特徴 | 内容 |
| ------------- | -------------------- |
| 元文の提示は不要 | ✅(ハッシュが一致すればOK) |
| 改行や掲示板変形の影響なし | ✅(ハッシュが変わらなければOK) |
| 無料かつ自律的 | ✅(Bitcoinブロックチェーン使用) |
| Windows対応 | ✅(Python + CLI) |
---
もしあなたの目的が「一定時刻に自分がその文を作成したことの証明」であるなら、この方法は非常に相性が良いです。
---
必要であれば、GUIツールやウェブインターフェースを使った方法(例:[OpenTimestamps Calendar](https://calendar.opentimestamps.org/))も紹介できます。希望があればお知らせください。
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 20250610095304512 -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEgAgAAKCRBwMdsubs4+ SII/AP9HFG5+U8BfEXzKxSoyEuxm6X/vJjK7Ee7Kwpi/rwQZJgEAorUjMTh9okHu 3WbPvgsSfDyzhpUuwCVsKessR4FSpQE= =VNrS -----END PGP SIGNATURE-----
#!/bin/bash
あらゆる技術ツールの存在意義は「人間の課題を解決すること」にある。
どれほど理論的に優れていても、使われなければ社会的影響はゼロであり、開発・保守・学習のコストに対するリターンも生まれない。
ツールは道具であり、「賢い者だけが扱える道具」は、実際の現場ではほとんど役に立たない。
例えるなら、戦場において「取り扱い説明書を10回読まないと撃てない銃」は、正確でも美しくても役立たない。
瞬時に理解され、即応可能であることが、実用の第一条件である。
ここで言う「馬鹿にもわかる」とは、知識レベルが高くないユーザーでも直感的に使える・理解できるという意味である。
これはユーザビリティ、学習曲線の緩やかさ、エラー時の挙動の親切さなどに現れる。
この観点からすると、「馬鹿にもわかる」設計は、実は賢い設計である。
人間の認知限界や行動パターンを理解し、誤操作を予防し、意図を汲み取って補完できるシステムは、万人にとって有益であり、結果として普及しやすく、フィードバックループによってさらに改善される。
Haskellは、理論的には極めて美しい言語であり、型システムの厳密さ、関数型の純粋性、抽象化の高さなど、形式的な正しさにおいて群を抜いている。
つまり、Haskellは「形式的正しさを最優先した結果、人間の直感と乖離し、現実世界との接続性が弱まった」道具である。
実際のソフトウェア開発現場では、エンジニアの入れ替わり、ドキュメントの不備、締切、バグ対応など、理想とは程遠い要素が日常的に存在する。
したがって、ツールは「賢い人が完璧に使いこなせば強力」ではなく、「凡人が雑に使っても一定の成果が出る」ことが求められる。
この点で、PythonやBashは「馬鹿にもわかる」ことを最優先し、結果として世界中で圧倒的に使われている。これは単なる偶然ではなく、設計哲学の勝利である。
道具は使われて初めて価値を持つ。そして「馬鹿にもわかる」ことは、使われるための最重要条件である。
"現状"とはつまり2025年5月時点の話であり、動向が非常に変わりやすいIT業界の風土を考えると将来的にどのようになるかは予測が非常に難しい。
しかし、数年でこの"現状"が変化するとは考えにくく、今現在の学生が10年以内に社会人となったとき今現在の"現状"を基礎に情報技術を学んでいる可能性が高く、このエントリでは"現状"を周知する為に書かれた。
集計した時期や団体で数値の変動はあるが、日本国内で現状のICT教育でのOSシェアはChromeOSがおおむね30〜40%というシェアを獲得しており、IT大国と知られているアメリカでは日本と同様に集計した時期や団体で数値の変動はあるがおおむね50〜60%というシェアであり、ICT教育のOSとしてChromeOSがデファクトスタンダードとなっている。
これは、テックファンがよく語るように「ChromeOS端末が安価で導入できる」という意見が理由として挙げられがちで、実際に導入コストを抑えられるメリットというのは大きいものの、逆に言うとそれ以外の理由があまり語られることが少ない。
流石にこの意見は、IT業界のプロの現場で多用されるMicrosoftやAppleを抱えるIT先進国である米国がただ安価であるからという理由だけでGoogleのChromeOSを採用するにしてはあまりにも弱すぎる理由ではないだろうか?
そこで「何故ChromeOSを教育現場は採用するのか?」を紐解きたい。
長々と引っ張るのも億劫になってしまうので結論から言えば「Google ClassroomとGoogle Family Linkの出来が非常に良い」からである。
Google ClassroomとはまさにICT教育向けにGoogleから提供されているグループウェアで、生徒へ対して課題の作成と配布、進捗、採点、評価の管理が可能で、それらにはGoogleドキュメントやGoogleスプレッドシート、Googleスライド、Googleカレンダーが利用でき、教師生徒間オンラインコミュニケーションとしてGmailやGoogle Chatを用いることができる。
つまり教育現場からするとChromeOS端末を導入したらGoogle謹製のオールインワンICT教育グループウェアが瞬時に入手可能であり、更に言えば現状では既にデファクトスタンダード化しており膨大な導入事例によって困りごとの解決が非常に容易であることがあまりにも大きなメリットとなっている。
なにせICT教育端末の2台におおよそ1台はChromeOS端末であり、例えばSNSなどで流れてくる「ChromeOSでこんな酷い目に遭った」は導入数が多いが故にであり、逆にiPadOSを支持する人でも「Apple Classroom」というアプリが存在することを知らない場合が多い。何故知らないのか?と言えば導入数が少なく話題にまったく挙がってこないからである。
なお、Apple ClassroomとGoogle Classroomを比較するとGoogle Classroomの方が高機能である。AppleもICT教育OSシェアを上げようとApple Classroomの改善に努めてはいるもののGoogle Classroomへ追いつくまでには至っていない。
Google謹製のペアレンタルコントロールアプリで、子供のGoogleアカウントに紐づけられたChromeOSおよびAndroidOS、それらがインストールされる端末などを管理できるサービス。
端末自体の使用時間上限を定めたり、端末の使用時間上限を定めずアプリ毎の使用時間上限を定められ、つまりゲームやYoutubeやTiktok、Webブラウザアプリなどは1日1時間に制限しつつ、学習アプリは使用時間無制限にでき、そのほかWebフィルタリングやYoutubeフィルタリング、アプリインストール、課金管理も可能で、しかも就寝時間や登校時間には使わせないようにできるなど親にとっては至れり尽くせり子供にとっては非常にお節介なサービスである。
ペアレンタルコントロールの自由度も実はAppleの方が乏しく、Apple製端末を子供に与えている親は親自身が設定したペアレンタルコントロールに親自身が巻き込まれたりして四苦八苦するシーンがある(実体験)が、Google Family LinkのあるChromeOSおよびAndroidOSはApple製端末ほど困ることが少ない。
Google ClassroomとGoogle Family LinkだけではIT大国であるアメリカが何故ChromeOSをICT教育OSとしてデファクトスタンダードとしてしまったのか?の納得感としては薄い。
最終的な決め手は「一般的な使い方ではセキュアなサンドボックス上でタブレットOSやスマホOSのように容易に利用でき、高度なプログラミングを学ぼうとするときプロとほぼ同じ環境を利用できる」ことにあるだろう。
もちろんiPadOSには「Swift Playgrounds」があり高度なプログラミングを体験できるが、ChromeOSやAndroidOSではPlaygroundsどころかLXC/LXD仮想環境上に構築されたLinuxディストリビューションのDebianを扱える。
いやそもそもDebianを導入しなくてもGoogle Play Storeには小学生向けプログラミング環境のScratchからインスパイアされたポケットコード、非常に本格的なゲームプログラミングIDEのGDevelop、UnityやUnreal Engineに次いで業界3位のシェアを持ちプロ現場でも採用される2D/3DゲームプログラミングIDEのGodot Engineなどがある。
そして当たり前のようにGoogleはChrome OS向けAndroid Studioを用意しており、ChromeOSさえあればAndroidOSアプリをGoogle謹製のプログラミング環境で開発することができる(実際のところAndoridOSはAndroidOSだけでアプリをコンパイル&ビルドできるが割愛)。
これMacとiPhoneやiPadしか触ってこなかった人間からするとどういうことかと言えばChromeOSにはAppleで言うところのXcodeがあることを意味し、何ならDebian上でWeb版みたいに機能制限されていないフル機能のMicrosoft Visual Studio Codeが利用でき、理解できる人は驚いただろうが前述の通りGodot Engineがあるわけだ。RubyやPythonだって動くし、Bashもfishもzshも選び放題、Vim vs. Emacs論争へも参戦できる。
しかも昨今、WindowsのWSL2でLinuxディストリビューションが導入できるようになってしまった影響で、一部の情報技術者の間では「開発環境は仮想上のLinux、サービス動いてるサーバーもLinux、じゃあWindowsとかmacOSとか使わずに最初から無理せずLinuxディストリビューションを端末へインストールして開発したら良いんじゃねーの?」という動きが活発化しており、そこへ表面上は日常利用でスマホやタブレットOSのように扱えて開発はしっかりLinuxディストリビューションであるChromeOSが「あれ?意外とChromeOS良いんじゃね?」という評価が始まっているのだ。
それでも「ICT教育は性能やランニングコスト的にiPadが優れてるんだ!」というAppleファンの熱い想いは否定しない。
しかし、しかしだ、当の多くのプログラマがiPadでプログラミングしてないんだ!!!開発するときにiPadのセキュアすぎるサンドボックスがマジで邪魔だと思っちゃってるんだ!!!!!
前述までの話を聞いて「iPadとChromeOS、仕事でどちらかしか使えません。どっちを選びますか?」と言われたらLXC/LXD仮想環境のあるChromeOSじゃん!!!IT大国のアメリカ様もそりゃChromeOS選ぶよ!!!!!だってプロの現場で使われてるんだもんLinuxがッッッ!!!!!!!
「どっちかしか選べないて?じゃあ俺は普通にMacbookにするわ」だって?えっそれ10年後ChromeOS(Linuxディストリビューション)でICT教育受けてきた新社会人に言えんの?サバンナで生きていけないよ?2人に1人は「学生のときChromeOSでしたぁ」って悪気なくピュアな瞳で言ってくる時代が直ぐそこだよ?
Windowsですら無いんだぞ?隔世の感どころの騒ぎじゃねーぞ?「当時ChromeOSでヴァンパイアサバイバーズやってましたね」とか新社会人が言うんだぞ?iPadかChromeOSかって言われてんのにMacbookって返すのはギャグの段階に触れさえしてねぇよ?まぁMacbookはタッチスクリーンディスプレイじゃないから触れられないんだけどさ。
Apple信者が声を大にして言わなきゃいけないことは「Appleさん、iPadもうちょっと何とかならないっすか?」だろ!!!!!
正論言ってんじゃねーよ!!!今更Appleのエコシステムから抜け出せねぇんだよ!!!!!ちょっと気になってGoogle側の事を調べてみたらめちゃくちゃ進んでんじゃねーか!!!!!!!
えっなにマジで?今のAndroidOSは純正でDebian動くの???アプリストアにGodotあるってどういうこと?????
https://survey.stackoverflow.co/2024/technology
https://survey.stackoverflow.co/2020#technology
| - | 2020 | - | - | - | 2024 |
| JS | 67.7 | - | - | - | 62.3 |
| Python | 44.1 | - | - | - | 51 |
| TS | 25.4 | - | - | - | 38.5 |
| Java | 40.2 | - | - | - | 30.3 |
| C# | 31.4 | - | - | - | 27.1 |
| C++ | 23.9 | - | - | - | 23 |
| C言語 | 21.8 | - | - | - | 20.3 |
| PHP | 26.2 | - | - | - | 18.2 |
| Go | 8.8 | - | - | - | 13.5 |
| Rust | 5.1 | - | - | - | 12.6 |
| kotlin | 7.8 | - | - | - | 9.4 |
| Lua | - | - | - | - | 6.2 |
| Dart | 4.0 | - | - | - | 6 |
| Ruby | 7.1 | - | - | - | 5.2 |
| Swift | 5.9 | - | - | - | 4.7 |
| Scala | 3.6 | - | - | - | 2.6 |
※HTML/CSS,SQL,Bash/Shell,とかそういうのは省いた
順調に伸びるPython人気、そしてTypescriptの伸びがすごいな
Javaって永遠に人気なのかと思ってたけどじわじわと人気が落ちている
PHPも長期的にみると厳しそう。
GoとRustが着実に人気を獲得。
Luaが地味に人気出てる。
| - | 2020 | - | - | - | 2024 |
| PostgraSQL | 36.1 | - | - | - | 48.7 |
| MySQL | 55.6 | - | - | - | 40.3 |
| SQLite | 31.2 | - | - | - | 33.1 |
| SQLServer | 33.0 | - | - | - | 25.3 |
| MongoDB | 26.4 | - | - | - | 24.8 |
| Redis | 18.3 | - | - | - | 20 |
| MariaDB | 16.8 | - | - | - | 17.2 |
| Elasticsearch | 13.8 | - | - | - | 12.5 |
| Oracle | 16.5 | - | - | - | 10.1 |
MySQL+MariaDBではまだMySQL系が多いが・・・
| - | 2020 | - | - | - | 2024 |
| Node.js | 51.4 | - | - | - | 40.8 |
| React | 35.9 | - | - | - | 39.5 |
| jQuery | 43.3 | - | - | - | 21.4 |
| Next.js | - | - | - | - | 17.9 |
| Express | 21.2 | - | - | - | 17.8 |
| Angular | 25.1 | - | - | - | 17.1 |
| ASP.NET CORE | 19.1 | - | - | - | 16.9 |
| Vue.js | 17.3 | - | - | - | 15.4 |
| ASP.NET | 21.9 | - | - | - | 12.9 |
| Flask | 14.2 | - | - | - | 12.9 |
| Spring | 16.4 | - | - | - | 12.7 |
| Django | 14.2 | - | - | - | 12 |
| FastAPI | - | - | - | - | 9.9 |
| Laravel | 11.1 | - | - | - | 7.9 |
| Svelte | - | - | - | - | 6.5 |
| Rails | 7.0 | - | - | - | 4.7 |
※フロントとバックエンドがごちゃごちゃなのなんでだろう。Node.jsってフレームワークじゃないだろ・・・
Next.jsの勢いがすごい。やはりWEBはTSでNext.jsの時代なのか
Pythonの人気は盤石だけど、DjangoとかFlaskは人気が落ちてる。FastAPIに食われたか?
LaravelとRailsはこのまま消えていく予感
Kennedy and influencers bash seed oils, baffling nutrition scientists
最近まで、ほとんどのアメリカ人は、おそらく何十年もの間、種子油を使って料理したり、摂取したりしてきたにもかかわらず、「種子油」という言葉を聞いたことがありませんでした。
これは、インターネットの有力者、健康の第一人者、一部の政治家が、長年多くの家庭の台所の定番となっている一般的な調理油(キャノーラ油、大豆油、コーン油など)を指して作ったキャッチーな表現である。
こうした辛辣な批評家たちは、精製された植物油のトップ8を「憎むべき8種類」と呼び、それらが炎症を助長し、肥満や糖尿病などの慢性疾患の発生率を高めていると主張している。
新保健長官ロバート・F・ケネディ・ジュニア氏は、米国人は種子油によって「知らないうちに毒されている」と述べ、ファストフード店に対し、フライヤーに牛脂や動物性脂肪を使用するよう呼びかけた。
消費者の懸念に応えて、一部の食品メーカーは製品から種子油を取り除いています。サラダチェーンのスイートグリーンのようなレストランは、メニューから種子油を削除しました。業界団体である国際食品情報評議会の最近の調査によると、多くのアメリカ人が現在、種子油を避けていると回答しています。
種子油をめぐる議論は栄養学者を激怒させており、数十年にわたる研究により、特にバターやラードなどの代替品の代わりに種子油を摂取すると健康に良いことが確認されていると彼らは主張している。
「種子油が悪者だというのはどこから来たのか分からない」とオハイオ州立大学の食品科学教授マーサ・ベルリー氏は言う。
上院の公聴会で、米国食品医薬品局長官に指名されたマーティ・マカリー博士は、製品のより綿密な調査を求めた。
「種子油は、科学的証拠の統合によって恩恵が得られる良い例だと思います」と彼は語った。
種子油は主に不飽和脂肪酸で構成されており、これには一価不飽和脂肪酸と多価不飽和脂肪酸が含まれます。ほとんどの種子油は、オメガ6脂肪酸が多く、オメガ3脂肪酸が少ない傾向があります。これらの脂肪酸は人間の健康に不可欠ですが、体内で生成できないため、食品から摂取する必要があります。
種子油の批評家たちはさまざまな主張をしているが、多くの科学者はそれらは研究によって裏付けられていないと指摘している。
https://www.417integrativemedicine.com/articles/the-hateful-8-seed-oils
「ヘイトフル8」と呼ばれる種子油(キャノーラ油、コーン油、綿実油、大豆油、ヒマワリ油、ベニバナ油、グレープシードオイル、米ぬか油)には注意が必要です。これらの油はオメガ6脂肪酸を多く含み、炎症や心臓病、糖尿病などの慢性疾患の原因となります。ホルモンバランスを乱し、ミトコンドリアにダメージを与え、エネルギーと細胞の健康に影響を与えます。これらの油は多くの加工食品に含まれており、肥満やホルモンバランスの乱れにつながる可能性があります。炎症を抑え、全体的な健康をサポートするために、オリーブオイル、アボカドオイル、ココナッツオイルなどの健康的な脂肪を選びましょう。簡単な代替摂取で健康を改善できる方法をご紹介します。
健康を改善し、慢性疾患を予防したい人にとって、8つの有害な種子油を理解することは非常に重要です。これらの油には、キャノーラ油、コーン油、綿実油、大豆油、ヒマワリ油、ベニバナ油、グレープシード油、米ぬか油が含まれます。これらは加工食品によく含まれており、避けることで健康維持に大きな違いをもたらす可能性があります。
これらの油がなぜそんなに有害なのか疑問に思うかもしれません。それは、オメガ6脂肪酸を多く含んでいるためです。オメガ6脂肪酸は過剰摂取すると炎症を促進する可能性があります。炎症は、心臓病や糖尿病など、多くの慢性疾患の根本原因です。ですから、これらの油を摂取しないことで、炎症を軽減し、より健康な体づくりに向けて積極的に取り組むことができます。
他者に奉仕し、より良い健康へと導くには、これらのオイルの影響を認識することが不可欠です。オリーブオイル、ココナッツオイル、アボカドオイルといった健康的な代替オイルについて、自分自身だけでなく周囲の人々にも知ってもらうことで、健康効果を大きく向上させることができます。クライアントや大切な人は、代謝の健康と全体的な健康をサポートするオイルへの移行を高く評価するでしょう。食生活の小さな変化が大きな改善につながり、より健康で幸せな人々のコミュニティを育むことを忘れないでください。
特定の種子油を過剰に摂取すると、炎症を増加させ、心臓病や肥満などの慢性疾患につながる可能性があるため、健康を危険にさらす可能性があります。また、これらの油はホルモンバランスを乱し、ミトコンドリアにダメージを与え、全体的な健康状態に影響を与える可能性があります。(中略)
ホリスティックなアプローチを採用するということは、食生活が健康のあらゆる側面に与える影響を考慮することを意味します。ミトコンドリアの機能と細胞全体の健康をサポートするオリーブオイル、アボカドオイル、ココナッツオイルなど、より健康的な代替品を選びましょう。これらの選択肢を優先することは、あなた自身に利益をもたらすだけでなく、他者をケアし、サポートする能力を高めることにもつながります。
肥満、心臓病、ホルモンバランスへの影響、心臓に良いとよく宣伝されるキャノーラ油は、通常、高温と化学溶剤を用いて抽出されるため、有害なトランス脂肪酸が発生する可能性があります。
サラダドレッシングからスナックバーまで、日常的に口にする多くの食品に、健康に悪影響を与える可能性のある種子油が含まれていることに驚くかもしれません。これらの油は、植物油、キャノーラ油、大豆油などと表示されていることが多く、加工食品に多く含まれています。次にポテトチップスの袋やマヨネーズの瓶を手に取ったら、原材料名をチェックしてみてください。きっと、そこにこれらの種子油が隠れているはずです。(後略)
練習用ソフトぐらいはいくらでも転がっているが、指の位置が把握できるものが良い
サーバー運用する上ではGUIに頼れないことが多いため、noxで使えるエディタをマスターしろ
ここにきてようやくプログラミング言語だ
まず共通知識としてHTML,CSS,JavaScriptぐらいは知っておいたほうが良いだろう
あとはどんなプログラマーを目指すかに依るが、組み込み系ならC言語、Web系ならphpやpython、機械学習ならpythonやRを学べ
シェルスクリプトは便利だから、bashをマスターするのも望ましい
要は効率的に処理を書ける必要があるが、LeetCodeやAtCoderで基本的な問題集を解けるようになれ
例えばpythonプログラマーなら、numpy, scipy, scikit-learnなどのライブラリのドキュメントを読めるようになれ
あるいはElasticsearchを使わなければならなくなったときに、ドキュメントを読んで操作できるようになれ
ドキュメントを読む経験が増えれば、新しく何かをやるときにすぐに着手できるようになる
AWSを有料で勉強するのはキツイので、就職後に先輩から学ぶか、あるいは認定試験を本やオンライン講座で勉強するのでもいいだろう
バージョン管理システムは知っておくべき知識だ
いわば、ソースコードの巨大なUndo, Redoみたいなもんだ
パスワードをどう管理すればいいのか、ネットワークセキュリティの仕組み、など基本的なセキュリティは学んどいたほうが良い
クリーンコードに関する書籍はたくさんあるので、時間があるときに読んでおけ
https://togetter.com/li/2410227
これ見て思ったんだけど、これもうもはやbashのワンライナーとかの域越えてるよね。
ぱっと見分かんなくても、解説されれば大抵スクリプトのワンライナーのってわかるけど、エクセル関数は説明されてもさっぱり分からん。
思うに、大抵の言語は人間にわかりやすく表記するという方向で進化し続けて来たのに対して、エクセルはそんな事知ったことではないからこういう進化になるんだろうね。
分かりやすさ利便性向上する為にもっと出来ることがあるのに、対して役に立たない関数増やすばっかりで、読みやすくしようとか、書きやすくしようとか言うことに全く意識が向いていない。
こんな不便な状況なのに、こういう理解不可能なティップスは増えるばかりだ。
そして理解できないけど、とりあえず動くからとコピペで使用する。おかげでメンテナンス性はボロボロだ。
でもマイクロソフトは全く気にしない。エクセルはプログラミング言語ではないからだ。実質的にプログラミング言語だとしても、その言い訳でずっと関数の整理もせずにゴチャゴチャしたシートは相変わらず量産され続ける。
地獄だな
[断食9日目](https://anond.hatelabo.jp/20240524084725)の続き
1. 男, 体重84.4kg, 身長175.5cm, 今年最高重量95.5kg, 90kg overの期間8ヶ月
2. ヘム鉄サプリを数日前から接種開始、1錠/dayから開始して現在3錠/day
3. アマニ油(日清オイリオグループ)も数日前から摂取開始
4. 爪、ヒゲが伸びるのが驚き。ただし、伸びの速度が遅い
5. 足の指を丸めると、指が攣る事が多かったが、解消した。末梢神経の電解質バランスが正常化している
6. 血圧149/102mHg
7. backupfile rotate script(bash)を書く程度の仕事は出来る
昨日は台風1号の接近にともない一日中雨。散歩に行けず超ストレスだった。今朝は外気温16℃の中、5時50分に散歩に出発した。Tシャツ一枚だがとても気持ちいい。半径3km以内にはまだ、行ったことがない道がまだまだある事に気がついた。