The usual artislop, huh?

署名にある「SJVN」の名を見た瞬間、すべて合点がいった。 中国、欧州に続き「Windows」廃止に動く–「Linux」へ移行 記事では中国と欧州の動向を並べて語っているが、両者の背景はまったく異なる。 欧州(ミュンヘン市などの事例)の主眼は、「デジタル主権(Digital Sovereignty)」の確保、GDPRをはじめとするデータプライバシー保護、そして特定ベンダーへのロックイン排除にある。 一方で中国の動きは、建前を取り払えばほぼ地政学的な要因に帰着する。 文脈の異なる事例を同列に扱い「世界的な脱Windowsの潮流」として括るのは、いくら何でも乱暴だろう。 引用箇所もツッコミどころが多い。 また、全ての中国政府機関に対し、一斉にMicrosoft製ソフトウェアを放棄するよう命じられたわけでもない。今回の指示が適用される具体的な範囲は開示されていない。それでもなお、中国政府の将来のデスクトップ環境がLinuxへとシフトしていく方向性は、もはや決定的といえる。 具体的な適用範囲すら不明であると自ら認めながら、「Linuxシフトは決定的」と断定する論理展開には、呆れを通り越して感心すら覚える。 もっとも、筆者がSJVN(Steven J. Vaughan-Nichols)氏である時点で、高望みをする方が野暮なのかもしれない。 彼のコラムには、数十年にわたり変わらないお決まりのパターンがある。 熱烈なデスクトップLinux推し 数十年にわたり「今年こそデスクトップLinuxの年だ」「Windowsの時代は終わる」と唱え続けている。常に結論が先にあり、事実は後付けの材料に過ぎない。 強引な二項対立と結論の飛躍 地政学的な文脈の違いや、現場で直面する運用コスト(アプリケーション互換性、ドライバ対応、既存の認証基盤など)といった泥臭い課題はすべて無視する。「ほら見ろ、世界はオープンソースとLinuxに向かっている」という自分好みのナラティブに力づくで回収していく。 クリックベイト的な煽り構成 ZDNETをはじめとする老舗ITメディアで長年記事を量産してきた結果、読者のPVを集めるための煽り構図だけが極めて高精度に最適化されている。 「いつもの記事スロップ(Artislop)か」と冷ややかに受け流すのが、こうしたコラムに対する最も正しい付き合い方なのだろう。

8月 24, 2026 · 1 分 · 21 文字 · gorn

EvidenceによるBI入門 #002.5

今回はちょっとだけ箸休め的にScoopによる環境構築を多少補足します。 本シリーズでは基本的には、環境構築はScoopを用いることを前提としています。 Scoopはコマンド一つで様々なパッケージを展開可能なツールです。 Scoopは悪い意味ではまっとうなパッケージマネージャではありません。しかし、以下の条件の元では極めて有効に働きます。 You’re a programmer/developer You want to set up a machine without having to visit a bunch of websites, download installers and then click through each one You’re comfortable working on the command line, especially with tools like Git You’re familiar with UNIX tools, and you wish there were more of them on Windows You read Hacker News and you feel like you’re ‘stuck’ on Windows and missing out on lots of cool things You wish there was an easier way to tell other developers how to install programs (maybe your own programs) You use Homebrew/apt-get and think, “this is awesome”. https://github.com/ScoopInstaller/Scoop/wiki/So-What より。 ...

3月 20, 2025 · 1 分 · 162 文字 · Me

Windowsでdotfilesの世界をパクリんぐする

アドベントカレンダーに参加しています。 dotfiles Advent Calendar 2019 Windowsでdotfilesの世界をパクリんぐする話をします。 Windowsにおける設定情報 Windowsにおいては昨今、設定情報はかなり混沌と設定している、今となってはレガシー化しつつある、レジストリ情報に加えて、*NIX風のdotfilesをUser Profileの直下に置くパターンなどいくつものパターンがある。一旦、整理してから話を進めたい。 レジストリ情報 dotfilesの方向性としては異なるが整理のため、触れることにする。レジストリ情報はHKEY_LOCAL_MACHINEなど各種の階層で格納されているが一般にユーザごとの情報はHKEY_USERSの下にあり、実際にはそれがHKEY_CURRENT_USERにリンクされているものと考えられる。ただ、これは知っての通りバイナリデータとしてユーザにはコントロールしにくい形で存在していること、また、dotfilesの形とは言い難いため議論はここまでとする。 User Profilesの下に置かれるdotfiles User ProfileはデフォルトのインストールではUsers\<ユーザ名>に置かれるファイル群である。この中にはHKEY_USERSに置かれているレジストリも含まれている。昨今では特に*NIXからポーティングされたツールを中心にここに.で始まるファイルや_などで始まるファイル群を展開するものが散見される。例えば、scoopでvimをインストールした場合、_vimrcはUser Profileの直下に格納される。 User ProfileのAppData以下 User Profileには一般にAppDataとDocumentsが格納されている。標準的なデザインとしてはユーザにその存在を認識させるファイルはDocumentsにその存在を認識させなくてもいいファイルをAppDataに格納し、さらにAppDataの中で移動プロファイルでローミングするファイルはRoamingにマシン固有のファイルはLocalに置かれることになっている。例えば、ConsoleZの設定情報はAppData内のRoamingにConsole\console.xmlという形で格納されている。また、Visual Studio Codeの設定情報はRoamingのcode以下に格納されている。 UWPのLocalState 狭義のUWP (U先のniversal Windows Platform)アプリケーションにおいては、先のAppDataのLocalの下にあるPackagesディレクトリの下にアプリケーションごとにディレクトリを作成しその中にある、LocalStateディレクトリ内に格納されることが多い。たとえば、WindowsTerminalにおいては、少なくとも現時点においてはPackages内のMicrosoft.WindowsTerminal_8wekyb3d8bbweディレクトリにLocalStateが存在している。 WSL WSL1の場合は、ファイル群はdevfsとdrvfsと考えられるが、一般にdevfsの構造はWindowsから見ると深いディレクトリに置かれていること、また、Windows側からdevfsのファイルを操作すると、metadataを損壊することになるため、注意を要する。従って、WSLの設定情報については現状、Windowsのdrvfsにレポジトリをおいて、適時シンボリックリンクを張っているが、後述する、Windows上でのgitの特性から、WSL上で独自にdotfilesをコントロールしたほうがいいかもしれない。 dotfilesによる設定情報のコントロール dotfilesでコントロールしやすいもの 先までに上げたものの中で、dotfilesによるコントロールに適するのは基本的にはレジストリを除いたものであると考えられる。レジストリはバイナリデータとして格納されているため、*NIX的な管理はし辛い。 dotfilesによるコントロールのサンプル dotfiles風にコントロールの容易なものとして、以下に例をあげる。 vimrc Windows Terminal git nyagos ConsoleZ WSLのdotfiles これらを分類すると以下のようになる。 名前 種類 vimrc User Profile Windows Terminal UWP LocalState git User Profile nyagos User Profile ConsoleZ AppData WSL dotfiles WSL シンボリックリンクの活用 レポジトリから各ファイルへはシンボリックリンクを用いる。シンボリックリンクは開発者モードでは一般ユーザでも作成できる。ただし、開発者モード以外ではシンボリックリンクの作成には管理者特権が必要であるため、シンボリックリンクの構築スクリプトをPowerShellで作る場合、以下のような構造になるであろう。 $userProfile = $env:USERPROFILE if($PSVersionTable.PSVersion.Major -gt 4) { if (([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(` [Security.Principal.WindowsBuiltInRole] "Administrator")) { } else { Write-Warning "管理者権限が付与されていません" exit 1 } } else { Write-Warning "PowerShellのバージョンが条件を満たしていません" } PowerShellのバージョンを確認するのはPowerShellでシンボリックリンクが作成できるようになったのは、Windows PowerShell 5.xからであり、それ以下の場合には構築できないだけでなく、削除をした場合にリンクが削除されるだけでなく元のファイルまで消えてしまうためである。したがって、バージョンを確認する必要がある。 ...

12月 24, 2019 · 2 分 · 383 文字 · Me

dotfilesの世界をパクってみた

はじめに ようこそdotfilesの世界へを参考に、Windows上での環境整備を始めてみた。ツールとしては、gitとCMD Batch、robocopyを使用。ディレクトリ構造としてはいったんこのような構造で。 Backgrounds Icons Scripts dot WindowsTerminal ConsoleZ BackgroundsはWindowsTerminalの壁紙を格納、%USERPROFILE%のPictures\Backgroundsに展開。IconsはWindowsTerminalのアイコンを格納、%USERPROFILE%のPictures\Iconsに展開する。Scriptsは環境の展開用のCMD Batchを格納している。dotには%USERPROFILE%以下に展開される、ドットファイルを格納。ConsoleZとWindowsTerminalはそれぞれ、ConsoleZとWindows Terminalの設定ファイルを格納してる。 現在の、deploy.batはこのような内容。 copy ..\WindowsTerminal\profiles.json %USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\profiles.json copy ..\ConsoleZ\console.xml %USERPROFILE%\AppData\Roaming\Console\console.xml copy ..\dot\.nyagos %USERPROFILE%\.nyagos robocopy ..\Backgrounds %USERPROFILE%\Pictures\Backgrounds /e robocopy ..\Icons %USERPROFILE%\Pictures\Icons /e

12月 8, 2019 · 1 分 · 30 文字 · Me