<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mac Mini on 或る阿呆の記</title><link>https://hack-le.com/tags/mac-mini/</link><description>Recent content in Mac Mini on 或る阿呆の記</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Thu, 17 Sep 2026 14:50:39 +0900</lastBuildDate><atom:link href="https://hack-le.com/tags/mac-mini/index.xml" rel="self" type="application/rss+xml"/><item><title>そういえばMacを使って15年以上経過している</title><link>https://hack-le.com/mac15years/</link><pubDate>Sat, 11 Jul 2026 09:31:24 +0900</pubDate><guid>https://hack-le.com/mac15years/</guid><description>&lt;p&gt;僕のメインPCはなんだかんだいってM2 Pro Mac miniで未だにMacなのだけれど、なんでずっとMac使っているんだろう、としばしば思う。初めてのMacがMacBookAir 2010なので、もうかれこれ16年Mac使っていることになるのだが、正直別にMacでないといけないと思っているわけではない。&lt;/p&gt;&#10;&lt;p&gt;先日のMacの値上げもあるが、とにかく今のMacは高騰化しており、これを今後も使い続けるのがいいのかどうか、よく思う。というか、何度か脱Macをはかったこともある。まぁ、結局今のところMacユーザであり続けているのだけれど…。&lt;/p&gt;&#10;&lt;p&gt;外形的にはまずMagicTrackpadがあげられる。トラックパッドの体験を超えるものが未だにない。Windows/Linuxにおいてどこぞの似たようなものを使っても、体験としてまったく追いつかない。正直、Windows/Linuxならトラックボールを使ったほうがよいと思う。&lt;/p&gt;&#10;&lt;p&gt;まぁトラックパッドも、標準では使いづらくて、Bettertouchtoolがあるからこそ便利なのだが…。&lt;/p&gt;&#10;&lt;p&gt;あとは地味にEmacsキーバインドが標準で使えることの便利さがある。Windowsでも有志の努力によって似たような挙動はできるのだけれど、しかし標準でサポートされている安定性にはかなわない。&lt;/p&gt;&#10;&lt;p&gt;といっても、こちらもKarabinerがあるから使いやすいのであって、これがなければ微妙だなと思う。&lt;/p&gt;&#10;&lt;p&gt;あとはよく言われるように一応UNIXであることか。お陰様で割とカジュアルに色々なソフトウェアを入れられるし、開発もできる。とはいえこのへんは本来的にはLinuxのほうがよい。&lt;/p&gt;&#10;&lt;p&gt;あとはまー、たいていのソフトウェアについては最近はMac用はだいたいある、なんならMac用しかない、というのも地味に良いか。&lt;/p&gt;&#10;&lt;p&gt;基盤となる機能のうえに、Windowsほどではないが有志による無料ないし少額のソフトウェアがある程度充実していることが大きいね。AirDropとかiMessageとかFacetimeとかはクソどうでもいいけど。Mac標準機能で良かったのは最近だとユニバーサルコントロールくらいだな…。従来のアプリならプレビュー.appは標準アプリ界の中でも名作。FinderはMSのスパイがAppleの評判を落とすために作った。&lt;/p&gt;&#10;&lt;p&gt;こうして思い返すと、なんだか大昔（13年前）にMacを使う理由について書いたときと全然変わらなくて笑った。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/32323358-2/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;MacのメリットはトラックパッドとUnix&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/32323358-2/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_2573_1789396057.webp" alt="MacのメリットはトラックパッドとUnix" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;あとハードウェア面の話をするならば、&lt;strong&gt;スペックを考えると静音性と省エネルギーなのは確か&lt;/strong&gt;だよなと思う。ただこれはラップトップはともかくデスクトップPCだと微妙かもしれない。ってかどうせハードディスク積んだガチャベイやらRTX4070積んだStable Diffusionサーバやらがグオングオン言っている環境で省エネだの静音性だの言っても仕方ない。あと爆熱。俺、いつかMac miniで目玉焼き焼くんだ…。まぁそれでも結局壊れずに歴代Mac miniも何年も持ってるんだよな。&lt;/p&gt;&#10;&lt;p&gt;しかし&lt;strong&gt;ここであげたことをゴチャゴチャというより、使っている時、なんとなし使いやすいと感じる、という面が大きい&lt;/strong&gt;。なんだろうね。文字が綺麗だから？地味にあるかも。ぬるっと動く感じが心地よいのだろうか？どうなんだろう。&lt;/p&gt;&#10;&lt;p&gt;慣れの問題と思われるかもしれないが、自分は15年くらい複数OSをずっと扱っており、現在のノートPCはWindowsとLinuxがメインであって、もはやMacは使っていない中で、それでもやはり&lt;strong&gt;Macは何か肌になじむような感覚がある&lt;/strong&gt;、と思う。この感覚は名状しがたい。&lt;/p&gt;&#10;&lt;p&gt;個人的にはMacはLion以降ずっと間違え続けていると思うし、AppleSiliconは衝撃だったものの今やその優位性も限定的だと思う。そして高くなりすぎている。だからMacを人に勧める気は全然ないし、&lt;strong&gt;常にもうMacやめたいと思っている&lt;/strong&gt;。特に最近の開発者（特にWebを中心としたIT系）はMacでしょみたいな風潮見ると逆張り気質なので本当にやめたくなる。&lt;/p&gt;&#10;&lt;p&gt;だが今のところ僕のメインPCは結局Macなのだし、また少なくともこのマシンが生きている限りは使い続けるだろうとも思うし、&lt;strong&gt;なんならイカれてもブツクサいいながらまたMac買う気もする&lt;/strong&gt;。その時になってみないとわからないけど。&lt;/p&gt;&#10;&lt;p&gt;まぁ自分で言うのもなんだが、僕がMacを使い続けている間は、世間一般的なイメージとは裏腹に、なおMacは泥臭く良いところがあり続けているんじゃなかろうか。その判定は、結局のところ使い続けているかどうかという自分の行動に現れるように思う。そこは自分の感性を信じられている。&lt;/p&gt;&#10;&lt;p&gt;&amp;lt;関連記事&amp;gt;&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m2-pro-mac-mini-1-5/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M2 Pro Mac mini を購入して1年5か月経過：静かに革命&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m2-pro-mac-mini-1-5/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2025/04/zakki-image-2.webp" alt="M2 Pro Mac mini を購入して1年5か月経過：静かに革命" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/macbook-neo-review/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;MacBook Neoは実用に即して削ぎ落されている&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/macbook-neo-review/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/03/eyecatch_48574_1773331941.webp" alt="MacBook Neoは実用に即して削ぎ落されている" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;</description></item><item><title>ブラウザでSSHログインして操作できるShell In A Boxが便利だった（Mac）</title><link>https://hack-le.com/shellinabox/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0900</pubDate><guid>https://hack-le.com/shellinabox/</guid><description>&lt;p&gt;Webブラウザ経由でCLI実行できるの助かる。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://github.com/shellinabox/shellinabox" target="_blank" rel="noopener"&#10; &gt;shellinabox/shellinabox: Official-ish Fork of Shell In A Box&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;ターミナル横に開けばええやないかいとか思われそうだが、いやブラウザで開けるところに価値がある。特に&lt;strong&gt;ブラウザとしてVivaldi使っていると、Webパネルという機能でサイドバーにWebアプリを開けるのだけれど、この組み合わせが非常に強力&lt;/strong&gt;。CLIの簡単さとブラウザの強力なGUIが組み合わさって非常に強い。&lt;/p&gt;&#10;&lt;p&gt;開発自体はだいぶ前に止まっている模様。また、日本語の入力が厳しそうな感じだったので、そのうち別アプリも試したい。本格的に開発で使うぞっていうのではなく、&lt;strong&gt;いくつかのCLIツールを実行できるだけでハッピー&lt;/strong&gt;なので、とりあえずヨシ！&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&#10;&lt;ul&gt;&#10;&lt;li&gt;macOS Sonoma 14.8.1&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;ShellInABox 2.20&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="インストールと使い方"&gt;インストールと使い方&#10;&lt;/h2&gt;&lt;h3 id="インストール"&gt;インストール&#10;&lt;/h3&gt;&lt;p&gt;homebrewで一発だった。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install shellinabox&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="使い方"&gt;使い方&#10;&lt;/h3&gt;&lt;p&gt;そして利用はこれだけ。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;shellinaboxd -t&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;-tはhttpsの無効化。LANでしか使わないので。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;http://IPアドレス:4200&lt;/code&gt;にブラウザアクセスしたら、あとは普通に使える。&lt;/p&gt;&#10;&lt;p&gt;LAN内の別PCからもアクセスできる。sshログインするより楽かもしれない。&lt;/p&gt;&#10;&lt;h3 id="オプション"&gt;オプション&#10;&lt;/h3&gt;&lt;p&gt;以下は使いがち&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;-t&lt;/code&gt;: http接続（https無効）&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;-h&lt;/code&gt;: ヘルプ表示&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;--no-beap&lt;/code&gt;: ブラウザ経由で音を出さない&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;-p ポート番号&lt;/code&gt;: 起動するポート番号を変更する&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;--version&lt;/code&gt;: バージョン番号の表示&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="macで自動起動するplist"&gt;Macで自動起動するplist&#10;&lt;/h3&gt;&lt;p&gt;こいつを例によって &lt;code&gt;$(HOME)/Library/LaunchAgents/&lt;/code&gt;において &lt;code&gt;launchctl load&lt;/code&gt;する。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;?xml &lt;span class="nv"&gt;version&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;UTF-8&amp;#34;&lt;/span&gt;?&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;!DOCTYPE plist PUBLIC &lt;span class="s2"&gt;&amp;#34;-//Apple//DTD PLIST 1.0//EN&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;plist &lt;span class="nv"&gt;version&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;dict&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- ドメインは自分ので調整 --&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;key&amp;gt;Label&amp;lt;/key&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;string&amp;gt;com.example.shellinabox-m2&amp;lt;/string&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;key&amp;gt;ProgramArguments&amp;lt;/key&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- パスとオプション調整 --&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;array&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;string&amp;gt;/opt/homebrew/bin/shellinaboxd&amp;lt;/string&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;string&amp;gt;-t&amp;lt;/string&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/array&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;key&amp;gt;RunAtLoad&amp;lt;/key&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;true/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;key&amp;gt;KeepAlive&amp;lt;/key&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;true/&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- ログも好きな場所に調整 --&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;key&amp;gt;StandardOutPath&amp;lt;/key&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;string&amp;gt;/tmp/shellinabox-m2.log&amp;lt;/string&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;key&amp;gt;StandardErrorPath&amp;lt;/key&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;string&amp;gt;/tmp/shellinabox-m2-error.log&amp;lt;/string&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/dict&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/plist&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="日本語問題"&gt;日本語問題&#10;&lt;/h2&gt;&lt;p&gt;そのままだと日本語が化けた。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/12/image-2-700x197.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;LANGを設定すると表示できる。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;LANG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ja_JP.UTF-8&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/12/image-3-700x160.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;でも入力はつらそう&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/12/image-4-700x42.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;これは解決できていない。&lt;strong&gt;強いて言えば日本語を使わない&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;h2 id="vivaldiのwebパネルとの相性がよい"&gt;VivaldiのWebパネルとの相性がよい&#10;&lt;/h2&gt;&lt;p&gt;リアルで使っている人を自分以外見たことがない系マイナーブラウザの中ではメジャーブラウザVivaldiには、Webパネルという機能がある。このWebパネルは便利だ。サイドバーにWebサイトを表示できるのだが、これによって&lt;strong&gt;サイドバーにターミナルを出現させることが可能&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;これは個人的に非常に便利だ。&lt;strong&gt;CLIの作業はけっこうブラウザで手順書を見ながらやることが多い&lt;/strong&gt;。コンテナ作る時とかね。特にインフラ周りの作業だとけっこうあるはず。&lt;/p&gt;&#10;&lt;p&gt;また、自作のスクリプトなどはわざわざGUIにするのがめんどくさいなので、コマンドまんまだったりTUIだったりする。僕の場合はサイト管理のためにいくつかのツールを作っているのだが、サイトを閲覧しながらツールを実行できるのは、けっこう快適である。&lt;/p&gt;&#10;&lt;p&gt;たとえば以下は、記事を編集しながら、その隣で&lt;code&gt;wp-mkimg&lt;/code&gt;なるWordPressサイト向けの自作コマンドを実行しようとしている。これができるのはけっこう嬉しかったりする。LAN内のどのPCからもできるし。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/12/ba0be3680d5e67ebcd67735a68952dad-700x201.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;lazydocker&lt;/code&gt;とか&lt;code&gt;htop&lt;/code&gt;を使ってブラウザを見ながらリソース管理することも可能だ（やりたいかは知らない）。&lt;/p&gt;&#10;&lt;h2 id="所感"&gt;所感&#10;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;ブラウザ経由でよく使うCLIツールを使いたいという第一の欲求は満たせた&lt;/strong&gt;。とりあえずよかった。日本語問題は今後困りそうなので、別のも試したい。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://github.com/tsl0922/ttyd" target="_blank" rel="noopener"&#10; &gt;tsl0922/ttyd: Share your terminal over the web&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://github.com/butlerx/wetty" target="_blank" rel="noopener"&#10; &gt;butlerx/wetty: Terminal in browser over http/https. (Ajaxterm/Anyterm alternative, but much better)&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;っていうか、最初は&lt;code&gt;ttyd&lt;/code&gt;を試したのだけれど、動かなかったんだよねぇ。&lt;/p&gt;&#10;</description></item><item><title>Jellyfinでメディアサーバ、セルフホスト最初の一歩に一番いいかも</title><link>https://hack-le.com/try-jellyfin/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/try-jellyfin/</guid><description>&lt;p&gt;Jellyfinの名前は知っていたが、特にメディアサーバを持ちたい欲求が最近はなかったので後回しにしていた。しかし、最近&lt;strong&gt;YouTubeを開くのもウンザリする&lt;/strong&gt;ようになっており、もう手持ちの動画をループ再生するので良いのではないか……という気持ちになった。&lt;/p&gt;&#10;&lt;p&gt;それでJellyfinをインストールしたのだけれど、配布されたバイナリを実行するだけで、かなり拍子抜けしてしまった。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;p&gt;以下で試した。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&lt;/li&gt;&#10;&lt;li&gt;GMKtec EVO-X2&#10;&lt;ul&gt;&#10;&lt;li&gt;Windows 11 Home&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="jellyfinはメディアサーバ"&gt;Jellyfinはメディアサーバ&#10;&lt;/h2&gt;&lt;p&gt;Jellyfinは端的にいうとメディアサーバになると思うが、特徴としては以下がある。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Win/Macでバイナリ配布なので秒でインストールできる&#10;&lt;ul&gt;&#10;&lt;li&gt;むしろWin/MacではDockerよりバイナリ使ってくれやと公式ドキュメントにあった&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;ユーザ管理がある（家族でそれぞれ個別に使える、権限設定あり）&lt;/li&gt;&#10;&lt;li&gt;UIがYouTubeっぽくて比較的リッチ&lt;/li&gt;&#10;&lt;li&gt;ファイルはディレクトリベースの管理 + ライブラリ管理&#10;&lt;ul&gt;&#10;&lt;li&gt;メタデータを同一ディレクトリに保存することで可搬性も上がる&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;個人的なポイントはディレクトリベースであるところだ。ディレクトリ管理最強伝説を思い知らされただけの20年だった。独自管理はダメだ。&lt;strong&gt;今どんなに華々しく見えるあのサービスも、絶対終わるか有料化・高騰する&lt;/strong&gt;。&lt;strong&gt;俺の寿命のほうがサービスより長い&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;とはいえアプリケーションというのは独自の機能があるからこそであって、その管理にはやはり固有のフォーマットが必要なのも事実である。そんなわけでメタデータからは逃れられないのだけれど、そのメタデータをどう扱うのかがアプリケーションの肝と言える。&lt;/p&gt;&#10;&lt;p&gt;Jellyfinの場合、ファイルと同一の場所にメタデータを置くこともできるようなので、そういうことをすればマシン入れ替えなんかの移行も比較的スムーズかもしれない。&lt;/p&gt;&#10;&lt;h2 id="インストールの運用の所感セルフホスト最初の一歩になる"&gt;インストールの運用の所感：セルフホスト最初の一歩になる？&#10;&lt;/h2&gt;&lt;p&gt;インストールについては公式サイトからバイナリ落として実行しましたおしまい、なので本当になにもいうことがない。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://jellyfin.org/" target="_blank" rel="noopener"&#10; &gt;The Free Software Media System | Jellyfin&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;導入後はWebブラウザでアクセスし、ライブラリを追加すればよい。設定周りはメタデータの運用含めどうするか、ちょっとこの後やりながら最適解を考えていきたい。&lt;/p&gt;&#10;&lt;p&gt;一点、シャッフル再生や連続再生をしようとするとエラーが出た。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/12/image-5-700x474.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;すべてのフォルダの起きるわけではなくて、なんだかファイルとフォルダが入り混じっているとか、ファイルの量が多いフォルダで起きている気がする。300以上の動画ファイルがあったものを分割すると、シャッフル再生できるようになったので。ちゃんと階層つくるのが重要になるかな。&lt;/p&gt;&#10;&lt;h2 id="他のも試したい"&gt;他のも試したい&#10;&lt;/h2&gt;&lt;p&gt;メディアサーバは色々あるので、他のも試していきたい。当面はフォルダの整理を進めつつ、ある程度わかってきたら「&lt;a class="link" href="https://github.com/stashapp/stash" target="_blank" rel="noopener"&#10; &gt;stashapp/stash: An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc&lt;/a&gt;」とかも試したい。&lt;/p&gt;&#10;</description></item><item><title>whisper.cppで文字起こしをM2 Pro Mac miniとWindows/Ryzen AI Max+ 395/Vulkanでやって比較</title><link>https://hack-le.com/whisper-cpp-m2-pro-mac-mini/</link><pubDate>Fri, 14 Nov 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/whisper-cpp-m2-pro-mac-mini/</guid><description>&lt;p&gt;30万のAI PC、Ryzen AI Max+ 395をせっかく購入したので、ローカルで色々やらせようとしている。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/ryzen-ai-max-395-128gb-ram/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;30万でRyzen AI Max&amp;#43; 395 &amp;#43; 128GB RAM ならちょっとほしい&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/ryzen-ai-max-395-128gb-ram/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_19575_1789622185.webp" alt="30万でRyzen AI Max&amp;#43; 395 &amp;#43; 128GB RAM ならちょっとほしい" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;基本的にLLM目当てではあったけれど、どうせなら色々……と思ってwhisper.cppもやらせてみた。めっちゃ疲れた。&lt;/p&gt;&#10;&lt;p&gt;Macだと割とサクッと環境構築できるのだが、Windowsはなんだか色々としんどい。とりあえずLLMにはものすごく振り回された。どや顔で手順1〜10まで出して完璧ですみたいな感じ出してきて、やってみると手順1でエラー出ると何か良くないものが芽生える。&lt;/p&gt;&#10;&lt;p&gt;あれこれやってとりあえず出来たのだが、まとめる気力もなかったので環境構築記事はAIに書かせた。環境構築手順が見たい人はこれらの記事を見て。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://ai.hack-le.com/m2-pro-mac-mini%e3%81%a7whisper-cpp%ef%bc%88large-v3%ef%bc%89%e3%82%92metal%e5%af%be%e5%bf%9c%e3%81%a7%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e6%96%87%e5%ad%97%e8%b5%b7%e3%81%93%e3%81%97%e3%81%99/" target="_blank" rel="noopener"&#10; &gt;M2 Pro Mac miniでWhisper.cpp（large-v3）をMetal対応で動かして文字起こしする手順&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://ai.hack-le.com/windows-msys2-mingw-vulkan-%e3%81%a7-whisper-cpp-%e3%82%92%e4%bd%bf%e3%81%86/" target="_blank" rel="noopener"&#10; &gt;Windows + MSYS2/MinGW + Vulkan で whisper.cpp を使う&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;チャット内では色々な手順を試してAIも大混乱しているのか、書かせた記事は滅茶苦茶だったが、一通り修正した……はず。なので手はだいぶ入っているがAI記事なので別館行き。&lt;strong&gt;一度構築した環境は二度構築することは多々あるので、メモは残すに限る&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;最近はこの程度のメモ記事はAI記事にしているため、本館と別館に情報が散らばってしまい、正直後で見返す時に「どっちに書いたんだっけ？」ってなることが多い&lt;/strong&gt;。また&lt;strong&gt;AI記事別館のほうが既に本館の数倍アクセスがあって、色々と思うところがある&lt;/strong&gt;。実際今回も手順はAI別館のほうに投げているが、そちらのほうが一般的には参考にされるのかもしれない。まぁ、もうどうでもいいけど。&lt;/p&gt;&#10;&lt;p&gt;そんならこの記事は何を書くのかというと、まぁやってみましたということの思い出と、苦労したという報告と、AI記事のほうがアクセスあるってなんやねんっていう愚痴と、そして&lt;strong&gt;M2 Pro Mac mini vs Ryzen AI Max+ 395でwhisper.cppやったメモ&lt;/strong&gt;である。&lt;/p&gt;&#10;&lt;p&gt;長い前置きをしておいて、結果だけしれっと書くと以下。これは13分くらいの音声について、large-v3で文字書き起こしをした時のもの。&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;デバイス&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;threads&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;GPU&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;M2 Pro Mac mini&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;4&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;METAL&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;113秒&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;M2 Pro Mac mini&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;8&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;METAL&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;113秒&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GMKtec EVO-X2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;4&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Vulkan&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;123秒&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GMKtec EVO-X2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;8&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Vulkan&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;121秒&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;ということでM2 Pro Mac mini（12CPU, 19GPU)のほうが早かった。なるほどという感じではある。&lt;/p&gt;&#10;&lt;p&gt;まぁこれはそうかもなとは思っていた。元々圧倒的な128GBというユニファイドメモリなら、オフロードすることで70Bとか120BのLLMも使える、というそれだけのために買ったものだし、また実際、優位性はそれくらいだと思う。&lt;/p&gt;&#10;&lt;p&gt;とはいえMacで同容量のメモリを用意すると平然と倍くらいかかる。現在EVO-X2はAIサーバとしてメインの用途とは切り離した運用をしているが、さすがにこの価格差になると、次ばかりは本当に脱Macになるかもしれない。&lt;/p&gt;&#10;&lt;p&gt;正直120Bだと、できるタスクは確かに広がるのだけれど、やっぱり「うん……まぁ……」という感じなので、&lt;strong&gt;671Bは最低限必要な気もする&lt;/strong&gt;。メモリどんくらいいるんだろうね。512GBでギリいけるのかしら。&lt;/p&gt;&#10;&lt;p&gt;現状でも普通の人が買えるものとしてRAM512GBはギリギリなくはなく、Mac Studioで512GB積めるは積めるが、150万円からで震える。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/image-16-700x448.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;しかし&lt;strong&gt;今まで買ったPCや周辺機器の合計するととんでもないことになりそうだなと思ったところで、考えるのをやめた&lt;/strong&gt;。以上。&lt;/p&gt;&#10;</description></item><item><title>LAN内でMac + Nextcloudを構築する</title><link>https://hack-le.com/lan-mac-nextcloud/</link><pubDate>Mon, 03 Nov 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/lan-mac-nextcloud/</guid><description>&lt;p&gt;やりたいことはCollabora Onlineの利用なんだけれど、そのための基盤としてNextcloudが必要だったので。Collabora Onlineを使いたい人はあまりいない気もするので、この記事はNextcloudまでで独立。Collabora Online構築すること前提の設定になっている。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&#10;&lt;ul&gt;&#10;&lt;li&gt;macOS Sonoma 14.7.7&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;OrbStack 2.0.4&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;LAN 内運用が基本。&lt;strong&gt;AIO(All in One)は証明書発行とか色々あってむしろやりづらい&lt;/strong&gt;ので、イチから作ったほうがよし。&lt;/p&gt;&#10;&lt;p&gt;公式によると、Docker DesktopではなくOrbStack推奨とのことだった。OrbStackの入れ方は以下の記事。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/docker-desktop-orbstack/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;Docker Desktop for Mac → Orbstackへ移行する&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/docker-desktop-orbstack/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2025/10/output-53.webp" alt="Docker Desktop for Mac → Orbstackへ移行する" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="サーバインストール手順"&gt;サーバインストール手順&#10;&lt;/h2&gt;&lt;p&gt;ディレクトリつくる。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir ~/nextcloud-docker&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/nextcloud-docker&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;docker-compose.yml&lt;/code&gt;つくる。DBはポスグレ。&lt;strong&gt;パスワード変える&lt;/strong&gt;。ポートは初期設定だと8080なんだが、使いたくなかったので21180にしている。&lt;/p&gt;&#10;&lt;p&gt;nextcloudとDBのバージョンは固定している。最初latestでやったのだが、なにかぶっ壊れていて画像の閲覧すら失敗する始末だった。固定したほうがいいと思う。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;services:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; db:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; image: postgres:15.8&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; restart: always&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; environment:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; POSTGRES_USER: nextcloud&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; POSTGRES_PASSWORD: パスワード &lt;span class="c1"&gt;# &amp;lt;----------変更&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; POSTGRES_DB: nextcloud&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; volumes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - db_data:/var/lib/postgresql/data&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; app:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; image: nextcloud:28-fpm&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; restart: always&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; volumes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - nextcloud_data:/var/www/html&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; depends_on:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - db&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; web:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; image: nginx:stable&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; restart: always&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ports:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - &lt;span class="s2"&gt;&amp;#34;21180:80&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# &amp;lt;-----------変更&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; volumes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - nextcloud_data:/var/www/html:ro&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - ./nginx.conf:/etc/nginx/conf.d/default.conf&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; depends_on:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - app&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;volumes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; db_data:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; nextcloud_data:&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;リバースプロキシする&lt;code&gt;nginx.conf&lt;/code&gt;をつくる。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;server &lt;span class="o"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; listen 80&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; server_name localhost&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; root /var/www/html&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; index index.php&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; client_max_body_size 512M&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_buffers &lt;span class="m"&gt;16&lt;/span&gt; 16k&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_buffer_size 32k&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; location / &lt;span class="o"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; try_files &lt;span class="nv"&gt;$uri&lt;/span&gt; &lt;span class="nv"&gt;$uri&lt;/span&gt;/ /index.php&lt;span class="nv"&gt;$is_args$args&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_set_header Host &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_set_header X-Forwarded-Proto &lt;span class="nv"&gt;$scheme&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_set_header X-Forwarded-For &lt;span class="nv"&gt;$proxy_add_x_forwarded_for&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_set_header X-Real-IP &lt;span class="nv"&gt;$remote_addr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; location ~ &lt;span class="se"&gt;\.&lt;/span&gt;php&lt;span class="o"&gt;(&lt;/span&gt;?:$&lt;span class="p"&gt;|&lt;/span&gt;/&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_split_path_info ^&lt;span class="o"&gt;(&lt;/span&gt;.+&lt;span class="se"&gt;\.&lt;/span&gt;php&lt;span class="o"&gt;)(&lt;/span&gt;/.+&lt;span class="o"&gt;)&lt;/span&gt;$&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; include fastcgi_params&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_pass app:9000&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_param SCRIPT_FILENAME &lt;span class="nv"&gt;$document_root$fastcgi_script_name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_param PATH_INFO &lt;span class="nv"&gt;$fastcgi_path_info&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_intercept_errors on&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_request_buffering off&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_read_timeout 300&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_param HTTPS off&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_param HTTP_X_FORWARDED_PROTO &lt;span class="nv"&gt;$scheme&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_param HTTP_X_FORWARDED_HOST &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fastcgi_param HTTP_X_FORWARDED_SERVER &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; location ~* &lt;span class="se"&gt;\.&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;?:css&lt;span class="p"&gt;|&lt;/span&gt;js&lt;span class="p"&gt;|&lt;/span&gt;woff2?&lt;span class="p"&gt;|&lt;/span&gt;svg&lt;span class="p"&gt;|&lt;/span&gt;gif&lt;span class="p"&gt;|&lt;/span&gt;map&lt;span class="o"&gt;)&lt;/span&gt;$ &lt;span class="o"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; try_files &lt;span class="nv"&gt;$uri&lt;/span&gt; /index.php&lt;span class="nv"&gt;$request_uri&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; add_header Cache-Control &lt;span class="s2"&gt;&amp;#34;public, max-age=15778463&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; access_log off&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gzip on&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gzip_vary on&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gzip_comp_level 4&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gzip_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; location ~ /&lt;span class="se"&gt;\.&lt;/span&gt;ht &lt;span class="o"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; deny all&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;実行。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose up -d&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;http://localhost:21180&lt;/code&gt;で初期セットアップ画面にアクセスできる。管理者ユーザ名とパスワードは適当に決めつつ、データベースの設定をPostgresにしつつ、設定ファイルとあわせる。&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;項目&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;値&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;データベースユーザー&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;nextcloud&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;データベースパスワード&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;変更したパスワード&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;データベース名&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;nextcloud&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;データベースホスト&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;db&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;次、&lt;strong&gt;推奨アプリはスキップする&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;ダッシュボードが表示されたらサーバは準備完了。&lt;/p&gt;&#10;&lt;h3 id="動作確認"&gt;動作確認&#10;&lt;/h3&gt;&lt;p&gt;とりあえずファイルからpngとかpdfのviewerが機能することを確認する。&lt;/p&gt;&#10;&lt;p&gt;この時点ではdocxとかはまだ使えない。&lt;/p&gt;&#10;&lt;h3 id="ipアドレスでアクセスできるようにする"&gt;IPアドレスでアクセスできるようにする&#10;&lt;/h3&gt;&lt;p&gt;このままだとlocalhostからしかアクセスできないので。設定ファイルを書き換える。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose &lt;span class="nb"&gt;exec&lt;/span&gt; -u www-data app php occ config:system:set trusted_domains &lt;span class="m"&gt;1&lt;/span&gt; --value&lt;span class="o"&gt;=&lt;/span&gt;IPアドレス&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;コンテナは再起動する。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose down&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose up -d&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="ミスった時-クリーンインストール"&gt;(ミスった時) クリーンインストール&#10;&lt;/h2&gt;&lt;p&gt;けっこう何度か再インストールすることになってしまった。全削除。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose down -v&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;止めてるやつ全部消していいならprune -aしたらスッキリ（自己責任）&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker system prune -a&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="クライアント側"&gt;クライアント側&#10;&lt;/h2&gt;&lt;p&gt;クライアント側は「&lt;a class="link" href="https://nextcloud.com/install/#desktop-files" target="_blank" rel="noopener"&#10; &gt;Download and install Nextcloud&lt;/a&gt;」よりアプリをダウンロードしてインストール。&lt;/p&gt;&#10;&lt;p&gt;実行すると、サーバのIPアドレスについて聞かれるので、ここまでに設定したIPアドレス:ポート番号を入力すると、ログイン&amp;amp;許可を求められるので、ログインして許可すればOK。同期フォルダを選択すれば、後はDropbox感覚でいける。&lt;/p&gt;&#10;&lt;h2 id="所感"&gt;所感&#10;&lt;/h2&gt;&lt;p&gt;色々とハマった。最初All in Oneパッケージでやろうと思ったが、余計なことしすぎていて、LAN内で必要なことだけしたい自分にはむしろ設定がしんどかった。AIにもかなり嘘をつかれた……いったい昔より楽になったのかわからない。昔だったら検索したらドンピシャな記事が出てきたもんだけどな……。あと証明書とかいうバカバカしい問題に取り組まなくて済んだわけだし。&lt;/p&gt;&#10;&lt;p&gt;とりあえず1日が消えた。ここまで苦労してやる意味があるのかと思った。まぁ苦労したのは次の記事でやるCollabora Onlineを設定があったからではあるんだが……。&lt;/p&gt;&#10;</description></item><item><title>Docker Desktop for Mac → Orbstackへ移行する</title><link>https://hack-le.com/docker-desktop-orbstack/</link><pubDate>Fri, 31 Oct 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/docker-desktop-orbstack/</guid><description>&lt;p&gt;OrbstackはMacで動かせるDocker Desktopの代替。本家より軽量で、いくつかのアプリケーションではこちらを推奨されることがある。というかNextcloudで推奨された。なので、入れることにした。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://orbstack.dev/" target="_blank" rel="noopener"&#10; &gt;OrbStack · Fast, light, simple Docker &amp;amp; Linux&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;すごいざっと見たところでは、Docker DesktopよりMac対応で統合してるし軽量だし性能いーくてLinuxデスクトップ環境まで作れる、ということらしい。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&lt;/li&gt;&#10;&lt;li&gt;macOS Sonoma 14.7.7&lt;/li&gt;&#10;&lt;li&gt;Docker Desktop for Mac 4.49.0 はひとまずインストールしたまま実行&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="orbstackの料金とか"&gt;Orbstackの料金とか&#10;&lt;/h2&gt;&lt;p&gt;「&lt;a class="link" href="https://docs.orbstack.dev/faq" target="_blank" rel="noopener"&#10; &gt;Frequently asked questions · OrbStack Docs&lt;/a&gt;」より&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;OrbStack は有料製品&lt;/strong&gt;（ベータ終了後に有料化）。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;個人利用&lt;/strong&gt;は無料。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;商用利用・非営利団体含む法人利用&lt;/strong&gt;は月 8 ドル／ユーザー。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;教育利用・非商用のオープンソース開発&lt;/strong&gt;は申請により無料ライセンスが可能。&lt;/li&gt;&#10;&lt;li&gt;30日間の猶予期間あり。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;商用でも中小規模だとDocker Desktopは無料なので、ここは考えどころになる場合はあるかもしらん。今回はホームユースでNextcloud使うためなので、個人利用。&lt;/p&gt;&#10;&lt;h2 id="orbstackの利用"&gt;Orbstackの利用&#10;&lt;/h2&gt;&lt;h3 id="インストール"&gt;インストール&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://docs.orbstack.dev/quick-start" target="_blank" rel="noopener"&#10; &gt;Quick start · OrbStack Docs&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://docs.orbstack.dev/install" target="_blank" rel="noopener"&#10; &gt;Install OrbStack · OrbStack Docs&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;いったんDocker Desktopは終了する。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install orbstack&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;確認&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;docker&lt;/span&gt; &lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt; &lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;getting&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;started&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;http://localhost&lt;/code&gt;でDockerのチュートリアルが開けることを確認する。&lt;/p&gt;&#10;&lt;p&gt;これだけだとorb使ってんのかどうかわからんないので、以下を実行。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ docker context ls&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NAME DESCRIPTION DOCKER ENDPOINT ERROR&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;default Current DOCKER_HOST based configuration unix:///var/run/docker.sock &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;desktop-linux Docker Desktop unix:///Users/masudataku/.docker/run/docker.sock &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;orbstack * OrbStack unix:///Users/masudataku/.orbstack/run/docker.sock&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;orbstack&lt;/code&gt;のところに&lt;code&gt;*&lt;/code&gt;がついているので、正しく切り替わっている。Docker Desktopに切り替える場合は以下。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker context use desktop-linux&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;orbstackに戻す時は以下。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker context use orbstack&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="docker-desktopからイメージとか移行"&gt;Docker Desktopからイメージとか移行&#10;&lt;/h3&gt;&lt;p&gt;常駐アイコンからOrbstackのGUIを開ける。初回時は「Migrateする？」みたいなの表示されていると思うが、メニューバーの「File」からもMigrateは可能だし、以下のコマンドでも可能。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;orb docker migrate&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;何をしているのかは、ChatGPTによると&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;code&gt;orb docker migrate&lt;/code&gt; は、Docker Desktop のイメージ・コンテナ・ボリュームを OrbStack 側に&lt;strong&gt;コピー&lt;/strong&gt;するだけなので、結果として「両方に同じ名前・タグのイメージが存在」します。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;なので、Docker DesktopとOrbStackが併存する環境においてのコンテナの利用は、どちらのcontextをuseするかで決まる、ということになる。&lt;/p&gt;&#10;&lt;h3 id="自動起動"&gt;自動起動&#10;&lt;/h3&gt;&lt;p&gt;常駐アイコンのSettingsから、Start at loginを有効化する。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/image-9-700x699.png"&gt;&lt;/p&gt;&#10;&lt;h3 id="orbstackのアンインストール手順"&gt;OrbStackのアンインストール手順&#10;&lt;/h3&gt;&lt;p&gt;やっぱりいらねぇ、となった場合。アプリケーションフォルダから OrbStack.app を削除する。&lt;/p&gt;&#10;&lt;p&gt;データを完全に消す場合は以下。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -rf ~/.orbstack&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -rf ~/Library/Group Containers/HUAQ24HBR6.dev.orbstack&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Docker Desktop に戻す場合&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker context use desktop-linux&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="docker-desktopの削除"&gt;Docker Desktopの削除&#10;&lt;/h3&gt;&lt;p&gt;やる場合は。Docker Desktopを起動し、常駐アイコンの「Troubleshoot」よりアンインストール。&lt;/p&gt;&#10;&lt;h2 id="所感"&gt;所感&#10;&lt;/h2&gt;&lt;p&gt;今のところ特に何も不具合なく使えている。しばらく使って問題なさそうならいいかなぁ。関係あるのかわからないが、これインストールした後にMacを再起動すると、なぜか起動ディスクを選ぶところから始まった。その後の動作は問題ない。&lt;/p&gt;&#10;&lt;p&gt;LAN内でのhttpsなどOrbStackならではの機能もある。全部localhostとかIP直打ちは管理上も不便だし、httpだとキレてくるアプリも多いので、便利かもしれない。でもCalibreだと挙動おかしかったなぁ。&lt;/p&gt;&#10;&lt;p&gt;商用利用だと有料確定演出なので、結局みんなDocker Desktopを使い続ける気もしつつ、次はNextcloudかな。&lt;/p&gt;&#10;</description></item><item><title>Gitea on Macのサインアップ（登録）を禁止する</title><link>https://hack-le.com/gitea-on-mac-signup/</link><pubDate>Wed, 29 Oct 2025 13:05:37 +0900</pubDate><guid>https://hack-le.com/gitea-on-mac-signup/</guid><description>&lt;p&gt;大した内容ではない。GiteaをずっとLAN内で運用していたが、やはりそれだと不便なので外部公開の必要を感じた。とはいえお一人様なのでサインアップはさせたくない。ので、設定するだけ。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini, Intel Mac mini 2018&lt;/li&gt;&#10;&lt;li&gt;macOS 14.7.7 (Sonoma)&lt;/li&gt;&#10;&lt;li&gt;gitea 1.24.5 (via brew)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;brew services start gitea&lt;/code&gt;で起動&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="手順"&gt;手順&#10;&lt;/h2&gt;&lt;p&gt;まず現状を確認する。右上に登録がある。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/image-18-700x404.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;これを殺す。とりあえずサービスを止める。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew services stop gitea&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;app.ini&lt;/code&gt;を書き換える。&lt;code&gt;brew services&lt;/code&gt;を使っている場合は&lt;code&gt;ps ax&lt;/code&gt;でわかるとおり以下となる。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;58271&lt;/span&gt; ?? S 0:00.75 /opt/homebrew/opt/gitea/bin/gitea web --work-path /opt/homebrew/var/gitea&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;そんなわけで以下を編集する。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;emacs /opt/homebrew/var/gitea/custom/conf/app.ini&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;そうしたら&lt;code&gt;[service]&lt;/code&gt;セクションより以下の項目を操作する。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;service&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DISABLE_REGISTRATION&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;いけたらサービス再起動。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew services start gitea&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Web画面を確認する。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/image-19-700x404.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;右上から「登録」が消えていることを確認。これでOK。&lt;/p&gt;&#10;</description></item><item><title>セルフホストでDify + ローカルLLM + RAG</title><link>https://hack-le.com/dify-local-llm-rag/</link><pubDate>Wed, 22 Oct 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/dify-local-llm-rag/</guid><description>&lt;p&gt;今さらRAGやる。サクッと試すならDifyかなということで、またローカルLLMとローカルデータベースにこだわりを見せてやる。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&#10;&lt;ul&gt;&#10;&lt;li&gt;12コアCPU、19コアGPU&lt;/li&gt;&#10;&lt;li&gt;RAM 32GB&lt;/li&gt;&#10;&lt;li&gt;macOS Sonoma 14.7.7&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;LLM&#10;&lt;ul&gt;&#10;&lt;li&gt;ollama 0.12.5&#10;&lt;ul&gt;&#10;&lt;li&gt;deepseek-r1:14b&lt;/li&gt;&#10;&lt;li&gt;deepseek-r1:32b&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;ollamaは使っていること前提。&lt;/p&gt;&#10;&lt;p&gt;ollamaを別マシンで動かす場合、Macの場合は以下を実行する。(&lt;a class="link" href="https://docs.dify.ai/en/development/models-integration/ollama" target="_blank" rel="noopener"&#10; &gt;Integrate Local Models Deployed by Ollama - Dify Docs&lt;/a&gt;)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# M2 Pro Mac mini側でターミナル実行&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;launchctl setenv OLLAMA_HOST &lt;span class="s2"&gt;&amp;#34;0.0.0.0&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="手順"&gt;手順&#10;&lt;/h2&gt;&lt;h3 id="インストール"&gt;インストール&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/langgenius/dify.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cd dify/docker&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;環境変数を設定する。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 新しいキーを生成&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;openssl rand -base64 &lt;span class="m"&gt;42&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# envを編集する&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp .env.example .env&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;emacs .env&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 生成された値を.envファイルの以下の行に設定&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SECRET_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;生成された値をここに貼り付け&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ポート変更する場合: デフォルトは80&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;EXPOSE_NGINX_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;好きなポートにする&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Difyの起動。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose up -d&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose ps&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;すべてのサービスが&lt;code&gt;running&lt;/code&gt;になっていればOK。&lt;/p&gt;&#10;&lt;h3 id="セットアップからollama連携"&gt;セットアップからollama連携&#10;&lt;/h3&gt;&lt;p&gt;ブラウザで以下にアクセス&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://localhost:設定したポート/install&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;（デフォで0.0.0.0で待ち受けるのでIPアドレスでもよい）&lt;/p&gt;&#10;&lt;p&gt;アカウントとか作成。&lt;/p&gt;&#10;&lt;p&gt;ollamaのほうも準備する。モデルは好きな物を使えばいいがたとえば以下。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# LLMモデル&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ollama pull deepseek-r1:14b&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 埋め込みモデル（RAG用）&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ollama pull nomic-embed-text&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Dify側でOllamaを設定する。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Difyにログイン&lt;/li&gt;&#10;&lt;li&gt;右上のアイコン → &lt;strong&gt;設定&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;モデルプロバイダー&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Ollama&lt;/strong&gt; を選択&lt;/li&gt;&#10;&lt;li&gt;接続情報を入力（下図）&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;strong&gt;Mac/Windows (Docker Desktop):&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://host.docker.internal:11434&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;他マシンで開放している場合はIPアドレス&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Linux:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://172.17.0.1:11434&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;&#10;&lt;li&gt;モデル名を入力（例: &lt;code&gt;deepseek-r1:14b&lt;/code&gt;）&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;保存&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/9a6c7c9b67e149b9430139cf828da256-700x1021.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;埋め込みモデルも同様に設定する。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/7c1fe727fb0042c3a64cafb20f0748dc-700x681.png"&gt;&lt;/p&gt;&#10;&lt;h3 id="動作確認llm"&gt;動作確認(LLM)&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;スタジオより新しく作成&lt;/li&gt;&#10;&lt;li&gt;チャットフロー選択&lt;/li&gt;&#10;&lt;li&gt;hi&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/image-5-700x149.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;返事がきたらOK。&lt;/p&gt;&#10;&lt;h3 id="動作確認rag"&gt;動作確認(RAG)&#10;&lt;/h3&gt;&lt;p&gt;「ナレッジ」より新しくナレッジを追加する。どうするかなと思ったけど、とりあえず下記の記事をナレッジにする。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/android-pc-ssh/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;外出先からAndroidタブレットで自宅PCにSSHでログインしてターミナルで遊ぶ&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/android-pc-ssh/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_45235_1789622472.webp" alt="外出先からAndroidタブレットで自宅PCにSSHでログインしてターミナルで遊ぶ" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;コイツをMarkdownにして登録する。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/d67347163e99df5c314e2a54733211ed-700x653.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;登録してからしばらく待つことになる。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/c0e19555c8cf1066d311dbf48ea54804-700x91.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;待ったら使える。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/image-6-700x65.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;整ったら、再びスタジオよりチャットを新規作成。&lt;/p&gt;&#10;&lt;p&gt;ブロックから「知識探索」を追加して、開始とLLMの間に置く。知識探索ブロックにさっき作ったナレッジを設定。LLMに繋いで、LLMで知識探索の結果を使うように「コンテクスト」と「プロンプト」の設定をする。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/bee9ad8f9df260506b4f0f8fc12b8be9-700x576.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;そしたらプレビューより「Androidでssh使いたい」と聞いてみる。頑張れ……！Mac miniがんばれ……！&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/918cf109e600889d37f0e3ff572ed0c5-700x122.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;頑張った。Mac mini頑張った。結果は微妙だけど一応ちゃんと使っている感ある。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/be8af74611b569bcfd583778ca6a4c53-700x620.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;内容的には、独自ドメインについて記述したconfigの設定すっ飛ばしているため、意味不明な回答となっている。意味不明だが、一応ナレッジを使っている、ということは言える。&lt;/p&gt;&#10;&lt;h2 id="所感"&gt;所感&#10;&lt;/h2&gt;&lt;p&gt;とりあえず動くことはわかった。ここから先はノウハウの世界になる。チャンクの粒度はどうするのか、そもそも元の文章に手を入れる必要があるんじゃないのか、どのナレッジを使うか選択するエージェントが必要なのか……。&lt;/p&gt;&#10;&lt;p&gt;……原理的には結局フレーム問題のような気がする。このナレッジのこの部分を使うべきだとわかればそりゃできるだろうが……。完全なFAQデータベースがあり、1つのFAQを引っ張ってくるだけなら、多分いけるんだろうけれど。&lt;/p&gt;&#10;&lt;p&gt;しかし先ず問題は、その整然とされたナレッジは誰がどうやって用意するのか。次の問題は、本当にユーザが求めているのはそのナレッジなのか。多くの場合、ユーザは自分の本当のQをわかっていない。&lt;/p&gt;&#10;&lt;p&gt;うーん、不毛な感じがあるが……まぁもうちょっといじるしかないか。&lt;/p&gt;&#10;</description></item><item><title>M2 Pro Mac mini 32GB RAM + SINQ + DeepSeek R1 32B Q4を使おうとする</title><link>https://hack-le.com/m2-pro-mac-mini-32gb-ram-sinq-deepseek-r1-32b-q4/</link><pubDate>Wed, 15 Oct 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/m2-pro-mac-mini-32gb-ram-sinq-deepseek-r1-32b-q4/</guid><description>&lt;p&gt;&lt;a class="link" href="https://gigazine.net/news/20251006-sinq-sinkhorn-normalized-quantization-huawei/" target="_blank" rel="noopener"&#10; &gt;AIモデルのメモリ使用量を60～70％も削減し安価で低性能なハードウェアでも動作するようにできるオープンソースの量子化手法「SINQ」をHuaweiが発表 - GIGAZINE&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;この記事読んで「ええやん」と思った。要は量子化ビット数Q4で精度めっちゃあがったよ、ということらしい。タイトルのとおりの手順と検証メモ。SINQのチュートリアルを環境にあわせて書き換えて実行する感じ。&lt;/p&gt;&#10;&lt;p&gt;結論的にM2 Pro Mac mini 32GBで、一応実行はやったと思うんだが、ちょっと使えないレベルの遅さではあった。うーん。使い方が違うのか、MPSで最適化されてないのか。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&#10;&lt;ul&gt;&#10;&lt;li&gt;12CPU, 19GPU&lt;/li&gt;&#10;&lt;li&gt;32GB RAM&lt;/li&gt;&#10;&lt;li&gt;SSD 外付け HIKSEMI FUTURE 4TB&lt;/li&gt;&#10;&lt;li&gt;macOS 14.7.7&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;SINQ&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://github.com/huawei-csl/SINQ" target="_blank" rel="noopener"&#10; &gt;GitHub - huawei-csl/SINQ: Welcome to the official repository of SINQ! A novel, fast and high-quality quantization method designed to make any Large Language Model smaller while preserving accuracy.&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;DeepSeek R1&#10;&lt;ul&gt;&#10;&lt;li&gt;32B: &lt;a class="link" href="https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B/tree/main" target="_blank" rel="noopener"&#10; &gt;deepseek-ai/DeepSeek-R1-Distill-Qwen-32B at main&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;14B: &lt;a class="link" href="https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B/tree/main" target="_blank" rel="noopener"&#10; &gt;deepseek-ai/DeepSeek-R1-Distill-Qwen-14B at main&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="不要なアプリを終了する"&gt;不要なアプリを終了する&#10;&lt;/h2&gt;&lt;p&gt;大量のメモリを消費するので、不要なアプリは全部終了する。アクティビティモニタでメモリくってるやつ全部終了する。&lt;strong&gt;普通に落ちかねない&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;h2 id="ダウンロードから量子化コードの実行まで"&gt;ダウンロードから量子化コードの実行まで&#10;&lt;/h2&gt;&lt;h3 id="sinqを入れる"&gt;SINQを入れる&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/huawei-csl/SINQ" target="_blank" rel="noopener"&#10; &gt;https://github.com/huawei-csl/SINQ&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 1. Clone the repository&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;git clone https://github.com/huawei-csl/SINQ.git&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;cd SINQ&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 2. Install dependencies&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;pip install -r req.txt&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 3. Install SINQ&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;pip install .&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="モデルのダウンロード"&gt;モデルのダウンロード&#10;&lt;/h3&gt;&lt;p&gt;ツールのインストール。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;pip install huggingface-hub&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ダウンロード。32Bの場合。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --local-dir ./deepseek_32b_fp16&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;14Bの場合は&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-14B --local-dir ./deepseek_14b_fp16&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ただ実際にやると、1つ8GBある&lt;code&gt;xxx.safetensors&lt;/code&gt;のダウンロードが99%で切れるという嫌がらせが発生した。パラレルでダウンロードするとそうなる気がする。しかしなんで毎回99%でキレますか……。これについては仕方ないので、不足分を個別でダウンロードした。ブラウザからダウンロードするなら以下から。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;32B: &lt;a class="link" href="https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B/tree/main" target="_blank" rel="noopener"&#10; &gt;deepseek-ai/DeepSeek-R1-Distill-Qwen-32B at main&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;14B: &lt;a class="link" href="https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B/tree/main" target="_blank" rel="noopener"&#10; &gt;deepseek-ai/DeepSeek-R1-Distill-Qwen-14B at main&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;CLIから個別でやるなら以下。個別でやっても止まる。100%で止まる。ブラウザが一番安定している……？&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# ディレクトリ作る&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;LOCAL_MODEL_DIR=&amp;#34;./deepseek_32b_fp16&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;mkdir -p $LOCAL_MODEL_DIR&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 不足しているやつを落とす&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-32B \&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;local-dir $LOCAL_MODEL_DIR \&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;include &amp;#34;model-00003-of-000008.safetensors&amp;#34; \&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;resume&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;deepseek_32b_fp16&lt;/code&gt;ディレクトリを確認して揃っていればOK。&lt;/p&gt;&#10;&lt;h3 id="量子化コードの実行"&gt;量子化コードの実行&#10;&lt;/h3&gt;&lt;p&gt;量子化コードの実行。以下を実行すると&lt;code&gt;deepseek_32b_q4_sinq&lt;/code&gt;に保存される。14Bは32を14に置換。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;import torch&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;from transformers import AutoTokenizer, AutoModelForCausalLM&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;from sinq.patch_model import AutoSINQHFModel&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;from sinq.sinqlinear import BaseQuantizeConfig&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;model_name = &amp;#34;deepseek-ai/DeepSeek-R1-Distill-Qwen-32B&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;local_path = &amp;#34;./deepseek_32b_fp16&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;tokenizer = AutoTokenizer.from_pretrained(local_path)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 修正: offload関連のオプションを削除し、シンプルにロード&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;model = AutoModelForCausalLM.from_pretrained(&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;local_path, &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;torch_dtype=torch.bfloat16,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device_map=&amp;#34;cpu&amp;#34;, &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# まずCPUにロード&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;low_cpu_mem_usage=True &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# メモリ効率的なロード&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;quant_cfg = BaseQuantizeConfig(&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;nbits=4,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;group_size=64,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;tiling_mode=&amp;#34;1D&amp;#34;,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;method=&amp;#34;sinq&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Macのデバイス判定&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;if torch.backends.mps.is_available()&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;current_device = &amp;#34;mps&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;current_device = &amp;#34;cpu&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 量子化実行&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;qmodel = AutoSINQHFModel.quantize_model(&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;model,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;tokenizer=tokenizer,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;quant_config=quant_cfg,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;compute_dtype=torch.bfloat16,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device=current_device&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 保存&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;save_dir = &amp;#34;deepseek_32b_q4_sinq&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;AutoSINQHFModel.save_quantized_safetensors(&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;qmodel,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;tokenizer,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;save_dir,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;verbose=True,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;max_shard_size=&amp;#34;4GB&amp;#34;,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="テストコードの実行"&gt;テストコードの実行&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;import torch&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;from transformers import AutoTokenizer&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;from sinq.patch_model import AutoSINQHFModel&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 保存したディレクトリ&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;save_dir = &amp;#34;deepseek_32b_q4_sinq&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# トークナイザーのロード&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;tokenizer = AutoTokenizer.from_pretrained(save_dir)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Macのデバイス判定&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;if torch.backends.mps.is_available()&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device = &amp;#34;mps&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;print(&amp;#34;🚀 Using MPS (Apple Silicon GPU)&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device = &amp;#34;cpu&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;print(&amp;#34;💻 Using CPU&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 量子化モデルのロード&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;qmodel = AutoSINQHFModel.from_quantized_safetensors(&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;save_dir,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device=device, &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# CUDA → MPS or CPU&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;compute_dtype=torch.bfloat16,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(&amp;#34;✅ Model loaded successfully!&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 推論テスト&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;prompt = &amp;#34;Hi&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;inputs = tokenizer(prompt, return_tensors=&amp;#34;pt&amp;#34;).to(device) &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 同じデバイスに&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(f&amp;#34;\n📝 Prompt: {prompt}&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(&amp;#34;🤔 Generating response...\n&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;with torch.inference_mode()&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;out_ids = qmodel.generate(&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;**inputs,&lt;/span&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;max_new_tokens=10, &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 短い応答&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;do_sample=False,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;pad_token_id=tokenizer.eos_token_id &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 警告を避ける&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;response = tokenizer.decode(out_ids[0], skip_special_tokens=True)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(f&amp;#34;🤖 Response:\n{response}&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;実行するととても頑張ることになる。スワップやばかったのでアプリ終了しまくったら10GBくらいになった。乗り切らないのか……。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/image-700x125.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;CPUはそれほどでもない。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/image-1-700x128.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;13分ほど経過&lt;/strong&gt;したら返事がきた。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/10/image-3-700x174.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;0.013tokens/秒ってことなの……？&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 id="14bで再チャレンジ"&gt;14Bで再チャレンジ&#10;&lt;/h2&gt;&lt;p&gt;14Bにして再チャレンジした。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;import torch&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;from transformers import AutoTokenizer&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;from sinq.patch_model import AutoSINQHFModel&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;import time&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;save_dir = &amp;#34;deepseek_14b_q4_sinq&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;tokenizer = AutoTokenizer.from_pretrained(save_dir)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 明示的にMPSを指定&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;device = &amp;#34;mps&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(f&amp;#34;🚀 Using device: {device}&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;qmodel = AutoSINQHFModel.from_quantized_safetensors(&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;save_dir,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device=device,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;compute_dtype=torch.bfloat16,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# デバイス確認&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(f&amp;#34;🔍 Model is on: {next(qmodel.parameters()).device}&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 短いテスト&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;prompt = &amp;#34;Hi&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;inputs = tokenizer(prompt, return_tensors=&amp;#34;pt&amp;#34;).to(device)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(f&amp;#34;🔍 Input is on: {inputs[&amp;#39;input_ids&amp;#39;].device}&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(&amp;#34;\n⏳ Generating 20 tokens...\n&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;start = time.time()&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;with torch.inference_mode()&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;out_ids = qmodel.generate(&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;**inputs,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;max_new_tokens=20,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;do_sample=False,&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;pad_token_id=tokenizer.eos_token_id&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;elapsed = time.time() - start&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(tokenizer.decode(out_ids[0], skip_special_tokens=True))&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;print(f&amp;#34;\n⏱️ {elapsed:.1f}s ({20/elapsed:.2f} tokens/sec)&amp;#34;)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;結果&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;m2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;~/git/tama/SINQ&amp;gt; python test_code_14b_2.py &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;You are using the default legacy behaviour of the &amp;lt;class &amp;#39;transformers.models.llama.tokenization_llama_fast.LlamaTokenizerFast&amp;#39;&amp;gt;. This is expected, and simply means that the `legacy` (previous) behavior will be used so nothing changes for you. If you want to use the new behaviour, set `legacy=False`. This should only be set if you understand what it means, and thoroughly read the reason why this was added as explained in https://github.com/huggingface/transformers/pull/24565 - if you loaded a llama tokenizer from a GGUF file you can ignore this message.&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;🚀 Using device&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mps&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="l"&gt;%|████████████████████████████████████████████████| 147/147 [00:00&amp;lt;00:00, 65072.58it/s]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="l"&gt;%|████████████████████████████████████████████████| 337/337 [00:00&amp;lt;00:00, 30431.46it/s]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;🔍 Model is on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mps:0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;🔍 Input is on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mps:0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;⏳ Generating 20 tokens...&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Hi&amp;lt;think&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;&amp;lt;/think&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Hello! How can I assist you today? 😊&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;⏱️ 171.5s (0.12 tokens/sec)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;10倍速い……けど……。0.12 tokens/sec……。&lt;/p&gt;&#10;&lt;h2 id="cpuで再チャレンジ"&gt;CPUで再チャレンジ&#10;&lt;/h2&gt;&lt;p&gt;もしかしてCPUのほうが早かったりするのかな、と思って再チャレンジ。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;m2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;~/git/tama/SINQ&amp;gt; python test_code_14b_cpu.py &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;You are using the default legacy behaviour of the &amp;lt;class &amp;#39;transformers.models.llama.tokenization_llama_fast.LlamaTokenizerFast&amp;#39;&amp;gt;. This is expected, and simply means that the `legacy` (previous) behavior will be used so nothing changes for you. If you want to use the new behaviour, set `legacy=False`. This should only be set if you understand what it means, and thoroughly read the reason why this was added as explained in https://github.com/huggingface/transformers/pull/24565 - if you loaded a llama tokenizer from a GGUF file you can ignore this message.&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;💻 Using device&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;cpu&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="l"&gt;%|████████████████████████████████████████████████| 147/147 [00:00&amp;lt;00:00, 70207.55it/s]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="l"&gt;%|████████████████████████████████████████████████| 337/337 [00:00&amp;lt;00:00, 31066.19it/s]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;🔍 Model is on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;cpu&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;⏳ Generating 20 tokens on CPU...&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Hi&amp;lt;think&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;&amp;lt;/think&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Hello! How can I assist you today? 😊&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;⏱️ CPU&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;280.&lt;/span&gt;&lt;span class="l"&gt;0s (0.07 tokens/sec)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;oh&amp;hellip; 0.07 tokens/sec かぁ……。&lt;/p&gt;&#10;&lt;h2 id="ollama"&gt;ollama&#10;&lt;/h2&gt;&lt;p&gt;一応ollamaでも超簡易的に見てみる。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;m2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;~/git/tama/SINQ&amp;gt; time ollama run deepseek-r1:14b &amp;#34;Hi&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Hello! How can I assist you today? 😊&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;real&#9;0m8.628s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;user&#9;0m0.026s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;sys&#9;0m0.029s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;m2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;~/git/tama/SINQ&amp;gt; time ollama run deepseek-r1:14b &amp;#34;Hi&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Hello! How can I assist you today? 😊&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;real&#9;0m1.854s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;user&#9;0m0.017s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;sys&#9;0m0.017s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;初回はモデルをロードしてなかったので。でもはやい。2回目が10トークンで1.9sくらいだから、5tokens/sくらいはあるんよな。&lt;/p&gt;&#10;&lt;p&gt;ついでに32Bも動かす。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;m2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;~/git/tama/SINQ&amp;gt; time ollama run deepseek-r1:32b &amp;#34;Hello&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Hello! How can I assist you today? 😊&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;real&#9;0m19.901s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;user&#9;0m0.038s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;sys&#9;0m0.052s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;m2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;~/git/tama/SINQ&amp;gt; time ollama run deepseek-r1:32b &amp;#34;Hi&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Hello! How can I assist you today? 😊&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;real&#9;0m3.248s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;user&#9;0m0.017s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;sys&#9;0m0.030s&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3tokens/s くらい出ている。&lt;/p&gt;&#10;&lt;h2 id="所感"&gt;所感&#10;&lt;/h2&gt;&lt;p&gt;ollamaだと同じdeepseek-r1のQ4_K_Mで普通に使えているので、これは明らかに遅いなぁ。なんか間違えているかなぁ。&lt;/p&gt;&#10;&lt;p&gt;LLMになんか情報ない？と聞きつつ調べても直接的なのはみつからなんだが、まぁしかしチュートリアルもcuda決め打ちだし、MPS対応がまだ最適化されてないんじゃね、というような感じ。とすると、Macだと結局ollama使い続けるのが楽かつ現実的という話になるね。うーん。&lt;/p&gt;&#10;&lt;p&gt;気が向いたら持っているRTX4070でもチャレンジしてみる。14BのQ4ならギリのるはず……。&lt;/p&gt;&#10;</description></item><item><title>外出先からAndroidタブレットで自宅PCにSSHでログインしてターミナルによる開発生活</title><link>https://hack-le.com/android-pc-ssh/</link><pubDate>Tue, 14 Oct 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/android-pc-ssh/</guid><description>&lt;p&gt;やりたいことは表題のとおり。なんかこう、省エネで外から開発するのに最低限必要な、でも普段使いのブランジングとかには困らなくて、かさばらなくて……そういうのないかなぁMabは高いしなぁ、とか思っていたところ、タブレット良いのでは？という風に思われた。&lt;/p&gt;&#10;&lt;p&gt;まぁ現実的には色々と制約があるのだが、とりあえず最低限のことはできそう。&lt;/p&gt;&#10;&lt;h2 id="環境および前提"&gt;環境および前提&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Android&#10;&lt;ul&gt;&#10;&lt;li&gt;Lenovo Yoga Tab Plus&#10;&lt;ul&gt;&#10;&lt;li&gt;SoC: Snapdragon 8 Gen 3&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;システムバージョン 17.0.12.046&lt;/li&gt;&#10;&lt;li&gt;Android 15&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;ホストマシン&#10;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&lt;/li&gt;&#10;&lt;li&gt;macOS 14.7.7&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;インフラ&#10;&lt;ul&gt;&#10;&lt;li&gt;Cloudflare Tunnelを使う&#10;&lt;ul&gt;&#10;&lt;li&gt;またかよ&#10;&lt;ul&gt;&#10;&lt;li&gt;便利だからつい……&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;つまり独自ドメイン必須&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;今回いれたやつ&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Termux&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;JuiceSSHなどが有名らしいんだが、使って見ると見た目はモダンだけど逆にわかりづらかった。Termuxのほうがターミナル民にとっては親しみやすいのではないかと思うがどうか。無料だし。&lt;/p&gt;&#10;&lt;p&gt;ただ、マルチユーザでやると、Termuxはプライマリユーザでないと使えないという制約があった……。&lt;/p&gt;&#10;&lt;h2 id="lan内での接続"&gt;LAN内での接続&#10;&lt;/h2&gt;&lt;p&gt;まずLAN内でやる準備。ホストマシン側は既に受け入れ準備できているものとする。&lt;/p&gt;&#10;&lt;h3 id="androidの設定"&gt;Androidの設定&#10;&lt;/h3&gt;&lt;p&gt;まずTermuxをインストール。そしたら鍵認証の準備。pkgはaptのラッパーらしい。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;pkg install openssh&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;ssh-keygen -t ed25519 &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 鍵ペア生成 rsa でも別に&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;なんらかの手段でホストマシンに鍵を送る。自分はAndroidストレージへのアクセスを許可をして、鍵をコピーし、さらにDropbox経由で転送するというよくわからない手順をした。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;termux-setup-storage &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# Androidストレージへアクセス許可&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 公開鍵をMacに転送して設定&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;あとお好みでtmuxなど入れておくと良い。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;pkg install tmux&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;pkg install emacs&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ホストマシン"&gt;ホストマシン&#10;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;authorized_keys&lt;/code&gt;に公開鍵を追加する。&lt;/p&gt;&#10;&lt;h3 id="再びandroid"&gt;再びAndroid&#10;&lt;/h3&gt;&lt;p&gt;ログイン実験。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;ssh hogetaro@ホストマシンのIP&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;入れたらOK。&lt;/p&gt;&#10;&lt;h2 id="インターネットからの接続"&gt;インターネットからの接続&#10;&lt;/h2&gt;&lt;p&gt;LANがOKなら次はいよいよネットから。&lt;/p&gt;&#10;&lt;h3 id="cloudflare-tunnel"&gt;Cloudflare Tunnel&#10;&lt;/h3&gt;&lt;p&gt;例によってZero Trustから、ホストマシンのポート22に向けて送る設定をする。&lt;/p&gt;&#10;&lt;h3 id="ホストマシン-1"&gt;ホストマシン&#10;&lt;/h3&gt;&lt;p&gt;cloudflaredも入れて、受け入れ準備できているものとする、といったものの、一応鍵認証のみ、パスワード認証を受け付けない、程度のことは確認しておく。&lt;/p&gt;&#10;&lt;h3 id="android"&gt;Android&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;pkg install cloudflared&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;SSH over HTTPSとなるので、以下のように設定する。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# ~/.ssh/config に設定&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Host 独自ドメイン&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ProxyCommand cloudflared access ssh --hostname %h&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;User ユーザ名&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;そしたら以下で入れるかを確認する。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;ssh 独自ドメイン&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;入れたらOK。&lt;/p&gt;&#10;&lt;h2 id="所感課題など"&gt;所感、課題など&#10;&lt;/h2&gt;&lt;p&gt;とりあえずこれでターミナルライフを送れるようになる。そしてLenovo Yoga Tab PlusのPCモードはなかなか便利であるため、けっこう快適……に思うのだが、やはり&lt;strong&gt;日本語入力変換という壁が立ちはだかる&lt;/strong&gt;。日本語使わなければいいという豪の者もいるかもしれないが、普通にClaude Codeに日本語で相談しているんでさすがに。ファイル名日本語のものだってあるわけなのだし。&lt;/p&gt;&#10;&lt;p&gt;また、僕の場合はHHKB US配列という制約があるため、キーの数は少ないしでなかなか苦戦している。Braveでは日本語入力できるのだが、どういうわけかtmuxではできない……操作が競合している可能性とかあるかもしれない（Ctrl + Spaceで切り替えだったので）。このへんまだ調査が必要だけれど、とりあえず別途かなぁ。&lt;/p&gt;&#10;&lt;p&gt;なんかもうMacBook買えばよいのではないか？という気持ちになりつつも、今あるものは使わないとの精神。&lt;/p&gt;&#10;&lt;p&gt;[itemlink post_id=&amp;ldquo;17028&amp;rdquo;]&lt;/p&gt;&#10;</description></item><item><title>Slack/Teams代替？セルフホストできるチャットサービス Campfire を軽く試す</title><link>https://hack-le.com/slack-teams-campfire/</link><pubDate>Mon, 22 Sep 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/slack-teams-campfire/</guid><description>&lt;p&gt;Redditで何か話題になってたので。OnceのCampfireはざっくり言うならSlackやTeamsのようなチャットツールと言うと多分通りがよいと思われる。OSSで、自分でサーバたてられるのが特徴。現実的にはRuby on Railsの会社っていうのが一番の気もしつつ。&lt;/p&gt;&#10;&lt;p&gt;チャットできるやつちょっとほしいなと思っていたので、軽くローカルで試した。ほんとに軽く。。。メッセージの送受信とbotだけ。。。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&lt;/li&gt;&#10;&lt;li&gt;macOS Sonoma 14.7.7&lt;/li&gt;&#10;&lt;li&gt;Docker Desktop 4.43.2&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="インストール最小限"&gt;インストール（最小限）&#10;&lt;/h2&gt;&lt;p&gt;とりあえず「&lt;a class="link" href="https://github.com/basecamp/once-campfire" target="_blank" rel="noopener"&#10; &gt;basecamp/once-campfire&lt;/a&gt;」からcloneする。その後、本当に最小限、ローカルで動作を確認することだけを目的にした起動。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# クローン&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;git clone https://github.com/basecamp/once-campfire.git&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;cd once-campfire&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 秘密鍵を生成&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;export SECRET_KEY_BASE=$(openssl rand -hex 64)&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# ビルド&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;docker build -t campfire .&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 実行（SSL無効でローカルテスト）&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;docker run \&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;publish 3000:80 \&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;volume campfire-storage:/rails/storage \&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;env SECRET_KEY_BASE=$SECRET_KEY_BASE \&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;env DISABLE_SSL=true \&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;campfire&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;SSL切ってるし通知も切ってる。とにかく動作を見たかった。&lt;/p&gt;&#10;&lt;h2 id="動作確認"&gt;動作確認&#10;&lt;/h2&gt;&lt;p&gt;最初、管理者の設定となる。例によってポート3000にアクセスし、名前、メールアドレス、パスワードを入力してログイン。&lt;/p&gt;&#10;&lt;p&gt;開くといきなりチャットルームになる。これは全員参加。適当に話すと適当にチャットできる。&lt;/p&gt;&#10;&lt;p&gt;新しい人を参加させるには、参加者が招待URLを送る方式。これは管理者じゃなくてもできるようだ。なので、&lt;strong&gt;参加URLを知っている人なら誰でも参加できる模様&lt;/strong&gt;。招待URLはいつでも更新可能。&lt;/p&gt;&#10;&lt;p&gt;ただし、参加後に閲覧できるルームは管理者が制御する。逆に言うと、&lt;strong&gt;ルームごとのアカウント制御を管理者が適切にする方式っぽいね&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;参加したあとはまんまSlack。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/09/4edf6e699160b7ab0a533b430fd8d785-700x270.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;全員自分。そしてbot。悲しい。&lt;/p&gt;&#10;&lt;p&gt;botは設定画面の、右上にあるロボットっぽいアイコンから設定することが可能。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/09/e1f8b2cbb6f5ffd006ac44ff5d4a4f8e-700x530.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;Webhook URLはレスポンスほしい時の投げ先なので、投稿するだけなら空でよし。設定するとcurlのサンプルがあるので、実行するとtestロボットが投稿。つまりこれもURL知ってるとできる感じだね。なんかあったらURL変えたらええやろのスタンスか。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/09/b0063a09640af2d91027228d7e6c07ae-700x270.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;こんな感じ。&lt;/p&gt;&#10;&lt;h2 id="所感"&gt;所感&#10;&lt;/h2&gt;&lt;p&gt;ということでマジでインストールしてちょっといじっただけなので、これからちょいちょいと触っていきたい。&lt;/p&gt;&#10;&lt;p&gt;所感としては、なんというか、本当にシンプルなんだけれど、それ以上に人を信頼してるシステムだなぁと思った。さすがというべきなのか。&lt;/p&gt;&#10;&lt;p&gt;管理人がルームごとに参加者の制御と適宜なんかあったらURL変更する運用かな。URL知っていれば参加できるけどルームへの参加は許可がいるし、なんかしたらBANされてURLも変えられるし、それでええやん、って感じ。&lt;strong&gt;参加者に一定の信頼を置いた、管理者による人治主義のシステム&lt;/strong&gt;と思った。&lt;/p&gt;&#10;&lt;p&gt;検索すると使った人の記事より先にコードを読みたがっている人の記事が出てくるようなアプリではあるんだが、コードの行数が少ないと驚かれていたけれど、言語の表現力や技術だけでなく、設計思想の根幹に&lt;strong&gt;ユーザへの信頼&lt;/strong&gt;もあるんでなかろうか。&lt;/p&gt;&#10;&lt;p&gt;まぁ人は確かに間違える生き物なんだけど、その間違いを「許せない！！責任を取れ！！！」みたいに許容できなくなったり、まして「人間は悪意を持った犯罪者だ！！！」みたいに一切信用しないと、システムはどんどん複雑になるよね。逆に言うと、&lt;strong&gt;人間に信頼し、間違いを許容すればシステムはシンプルになる&lt;/strong&gt;。&lt;strong&gt;とはいえ事故はある&lt;/strong&gt;ので、それを防ぐガードレールはあったほうがいいんじゃないってのはそうだと思うし、塩梅ではあるんだけれど。&lt;/p&gt;&#10;&lt;p&gt;とりあえず、いじっていこうかな。チャットボットちょっとほしかったんだ。&lt;/p&gt;&#10;</description></item><item><title>30万でRyzen AI Max+ 395 + 128GB RAM ならちょっとほしい</title><link>https://hack-le.com/ryzen-ai-max-395-128gb-ram/</link><pubDate>Fri, 19 Sep 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/ryzen-ai-max-395-128gb-ram/</guid><description>&lt;p&gt;&lt;a class="link" href="https://pc.watch.impress.co.jp/docs/news/2044545.html" target="_blank" rel="noopener"&#10; &gt;Ryzen AI Max+ 395とメモリ128GBのミニPC「A9 MEGA」がGEEKOMから登場 - PC Watch&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;ミニPCは見ていて楽しい。ミニPCには夢がある。&lt;/p&gt;&#10;&lt;h2 id="化物pc"&gt;化物PC&#10;&lt;/h2&gt;&lt;p&gt;RTX4060よりはやーいとかいう噂もあったRyzen AI Max+ 395 + 128GB RAMという化物ミニPCだが、1900ドル、つまり30万円くらいとして出資を募っているらしい。&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;GEEKOMは、CPUにRyzen AI Max+ 395、メモリに128GBを搭載したミニPC「A9 MEGA」を、クラウドファンディングサイトKickstarter上で出資を募り始めた。入手するのに必要な出資額は1,899ドル(約28万円)&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;ちなみにAmazonだとGMKtecが96GB RAMのやつを26万くらいで売ってる。&lt;/p&gt;&#10;&lt;p&gt;[itemlink post_id=&amp;ldquo;19577&amp;rdquo;]&lt;/p&gt;&#10;&lt;p&gt;価格設定は36万だが例によってクーポン商法なので。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/09/image-6-700x319.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;95,000円クーポンってなんぞｗこれ適用し忘れる人類も世の中にはいるのだろうか。&lt;/p&gt;&#10;&lt;p&gt;こっから+3万くらいで128GB RAMにできたら嬉しいよね。中華ミニPCの競争は凄まじい。ただ中華ミニPCに30万出せるのか問題はある。&lt;/p&gt;&#10;&lt;p&gt;ブランドでいくとAppleなのだが、M4 Mac Studioで128GB RAMにしようと思ったら、最小でも553,800円だって🥺&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/09/image-5-700x149.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;ちなみにこれは16コアCPU、40コアGPU、NE16コアの構成。GEEKOMの倍の値段と考えるとつらい感じはする。&lt;/p&gt;&#10;&lt;h2 id="ローカルllmやstable-diffusionで"&gt;ローカルLLMやStable Diffusionで&#10;&lt;/h2&gt;&lt;p&gt;うちには既にRTX 4070があるので、推論だとStable DiffusionならSDXLモデルも扱えるしまぁまぁ不満はないんだけれど、LLMでデカいモデルを動かしたい、みたいなのだと、現状はやっぱり統合モデルが唯一解になるんだろうか。&lt;/p&gt;&#10;&lt;p&gt;M2 Pro Mac miniもLLMの推論ならそれなりに動いてくれるので、DeepSeekの13Bくらいのやつを使ったりしているんだけれど、正直阿呆なのは否めない。かなり限定的なタスクじゃないと厳しい現状はある。これが70Bや120Bだったら強いんだろうか？という期待もあるが、どうなんだろうなぁ。&lt;/p&gt;&#10;&lt;p&gt;まぁ手元にはRTX 4070があるので、マザボとVRAM揃えて……というのも考えられるんだけれど、やっぱり帯域幅がネックになる気がする。ちなみにこの分離のアーキテクチャでは下記記事がとても参考になって&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.itmedia.co.jp/aiplus/articles/2508/06/news066.html" target="_blank" rel="noopener"&#10; &gt;OpenAIの「オープンなAI（gpt-oss-120b）」はGPUサーバじゃないと動かない？→約30万円の自作PCで動かしてみた - ITmedia AI＋&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;gpt-oss-120bが8.4token/s出たらしい。コンテクスト長は8192だが、ローカルLLMだと現状簡潔なタスクやちょっとした会話くらいだろうな、というのはあるのでまぁよいのではないか。&lt;/p&gt;&#10;&lt;p&gt;PCIe 4.0 x16だと転送速度は理論値32GB/sでそれがネックなら、メモリ帯域幅が256GB/sのRyzen AI Max+ 395ならけっこう期待できるのかなぁ。&lt;/p&gt;&#10;&lt;p&gt;そんなわけで、買わないミニPCを見てほしいなぁと言い続けるだけの毎日である。&lt;/p&gt;&#10;&lt;h2 id="追記買った"&gt;（追記）買った😄&#10;&lt;/h2&gt;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/localllm-ryzen-ai-max-395-128gb-ram-gmktec-evo-x2/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;ローカルLLMやりたくてRyzen AI Max&amp;#43; 395 &amp;#43; 128GB RAM の GMKtec EVO-X2(30万円)を震えながらポチった&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/localllm-ryzen-ai-max-395-128gb-ram-gmktec-evo-x2/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/07/eyecatch_45815_1783902299.webp" alt="ローカルLLMやりたくてRyzen AI Max&amp;#43; 395 &amp;#43; 128GB RAM の GMKtec EVO-X2(30万円)を震えながらポチった" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;</description></item><item><title>Homebrew環境におけるGiteaのエクスポート：brew services start giteaとgitea webの違いがわかる男</title><link>https://hack-le.com/homebrew-gitea-brew-services-start-gitea-gitea-web/</link><pubDate>Fri, 12 Sep 2025 00:00:00 +0900</pubDate><guid>https://hack-le.com/homebrew-gitea-brew-services-start-gitea-gitea-web/</guid><description>&lt;p&gt;なんか色々躓いたので、復元は後日にして、今回はエクスポートについてのみ。なんか色々ハマった。&lt;/p&gt;&#10;&lt;p&gt;具体的には、最初に &lt;code&gt;gitea web&lt;/code&gt; で動かして、その後 &lt;code&gt;brew services start gitea&lt;/code&gt;のほうがいいやんけと思ってそっちにしたんだが、その後バックアップ手順を確認しようと &lt;code&gt;gitea dump&lt;/code&gt;したら、なぜか最初に &lt;code&gt;gitea web&lt;/code&gt; で作ったほうがバックアップされる。よく見たら実行プログラムのパスが違っており、それによって読み込まれる設定ファイルが違ったと思われる。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini, Intel Mac mini 2018&lt;/li&gt;&#10;&lt;li&gt;macOS 14.7.7 (Sonoma)&lt;/li&gt;&#10;&lt;li&gt;gitea 1.24.5 (via brew)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;brew services start gitea&lt;/code&gt;で起動&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="giteaが分裂した"&gt;giteaが分裂した。&#10;&lt;/h2&gt;&lt;p&gt;公式: &lt;a class="link" href="https://docs.gitea.com/administration/backup-and-restore" target="_blank" rel="noopener"&#10; &gt;Backup and Restore | Gitea Documentation&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;公式にあるとおり、エクスポートはコマンドが用意されており、 &lt;code&gt;gitea dump -c /path/to/app.ini&lt;/code&gt;に尽きる。ただここで問題は、 &lt;code&gt;gitea&lt;/code&gt; のパスとコンフィグファイルのパスである。&lt;/p&gt;&#10;&lt;p&gt;たとえばコイツを見てくれ。コイツをどう思う？&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;ps&lt;/span&gt; &lt;span class="nx"&gt;aux&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="nx"&gt;grep&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="nx"&gt;gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="mi"&gt;19745&lt;/span&gt; &lt;span class="mf"&gt;0.7&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt; &lt;span class="mi"&gt;412867040&lt;/span&gt; &lt;span class="mi"&gt;168992&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="nx"&gt;S&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;38&lt;/span&gt;&lt;span class="nx"&gt;PM&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;00.56&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt; &lt;span class="nx"&gt;web&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="nx"&gt;work&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;path&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="err"&gt;/gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;which&lt;/span&gt; &lt;span class="nx"&gt;gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;/opt/homebrew/bin/gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;すごく……パスが違います……。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;gitea&lt;/code&gt;コマンドは &lt;code&gt;/opt/homebrew/bin/gitea&lt;/code&gt;なんだが、brewで起動する &lt;code&gt;gitea&lt;/code&gt;は &lt;code&gt;/opt/homebrew/opt/gitea/bin/gitea&lt;/code&gt;という。&lt;/p&gt;&#10;&lt;p&gt;ただ、こいつらはバイナリとしては同じ臭い。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;ls&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;la&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;/opt/homebrew/bin/gitea@ -&amp;gt; ../Cellar/gitea/1.24.5/bin/gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;ls&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;li&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;Cellar&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;1.24&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;251898619&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;xr&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;xr&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="nx"&gt;admin&lt;/span&gt; &lt;span class="mi"&gt;107386178&lt;/span&gt; &lt;span class="nx"&gt;Aug&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt; &lt;span class="mi"&gt;01&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;34&lt;/span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;ls&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;la&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;/opt/homebrew/opt/gitea/bin/gitea*&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;ls&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;li&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mi"&gt;251898619&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;xr&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;xr&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="nx"&gt;admin&lt;/span&gt; &lt;span class="mi"&gt;107386178&lt;/span&gt; &lt;span class="nx"&gt;Aug&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt; &lt;span class="mi"&gt;01&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;34&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;なので、実行プログラムのパスで、読み込まれる暗黙のコンフィグパスが異なったものと思われる。brewで起動した方は、&amp;ndash;work-pathを指定しているね。ここにコンフィグファイルもある。&lt;/p&gt;&#10;&lt;h2 id="パスの違いがわかる男"&gt;パスの違いがわかる男&#10;&lt;/h2&gt;&lt;p&gt;ということで、work-pathも踏まえて、dumpのコマンドは以下となる。停止できるなら停止したほうが安全だね。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;brew&lt;/span&gt; &lt;span class="nx"&gt;services&lt;/span&gt; &lt;span class="nx"&gt;stop&lt;/span&gt; &lt;span class="nx"&gt;gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt; &lt;span class="nx"&gt;dump&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;c&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="err"&gt;/gitea/custom/conf/app.ini&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;brew&lt;/span&gt; &lt;span class="nx"&gt;services&lt;/span&gt; &lt;span class="nx"&gt;start&lt;/span&gt; &lt;span class="nx"&gt;gitea&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ファイル名に日付けを入れるなら&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt; &lt;span class="nx"&gt;dump&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;c&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt;&lt;span class="err"&gt;/gitea/custom/conf/app.ini -f gitea-backup-$(date +%Y%m%d-%H%M%S).zip&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;こいつをunzipすると以下のような感じだ。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;gitea&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;backup&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;YYYYMMDD&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;HHMMSS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;zip&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ini&lt;/span&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;設定ファイル&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;アプリケーションデータ&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nx"&gt;attachments&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;添付ファイル&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nx"&gt;avatars&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;アバター画像&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nx"&gt;gitea&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;db&lt;/span&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;データベースファイル&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nx"&gt;repos&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;Gitリポジトリ&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;repo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;git&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;実際のGitリポジトリ&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="nx"&gt;gitea&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;db&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sql&lt;/span&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;データベースダンプ&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;このうち、&lt;code&gt;app.ini&lt;/code&gt;は違うマシンでやるときにはゴチャゴチャと手動調整しないといけなくなると思う。ネットワーク環境とか、リポジトリのパスとか、環境によって変わるはずなので。特にMacからLinux……とかやるとね。&lt;/p&gt;&#10;&lt;h2 id="所感"&gt;所感&#10;&lt;/h2&gt;&lt;p&gt;サクッとできるだろうと思ったら思いのほか躓いた。LLMは永遠に存在しないパスを教えてくれるので10倍疲れた。インフラ周りになると途端に無能になるLLMさんェ……。それでもいるだけマシだろうと言われたらそうかもしれないんだが、昔は検索したら同じようなところで躓いた人の記事が出たもんだけどなぁと思ってしまう。&lt;/p&gt;&#10;&lt;p&gt;まぁ今回は &lt;code&gt;brew services&lt;/code&gt; あんまり使ったことなかったから、それでちょっとハマったよね。自分でplist作ったら問題なかったんだろうけど。&lt;/p&gt;&#10;&lt;p&gt;今回はMacかつHomebrew経由特有の問題があったので、Dockerコンテナなら環境の共通化は多少できると思う。けど、ネットワーク環境とかはやっぱり違うだろうし、 &lt;code&gt;app.ini&lt;/code&gt;は同一マシンでの復元以外は基本的に編集しないといけないんじゃないかな。となると、編集項目が1箇所でも5箇所でも、編集しないといけない時点で大して変わらないし、Docker使うと &lt;code&gt;docker-compose.yml&lt;/code&gt;の管理もあるから、どっちがいいかはちょっとわかんないね。&lt;/p&gt;&#10;&lt;p&gt;疲れたので、復元はまた後日。&lt;/p&gt;&#10;&lt;p&gt;&amp;lt;関連記事&amp;gt;&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/github-gitea-1/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;脱GitHubに向けて：Giteaを試し始める on Mac&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/github-gitea-1/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_19169_1789090146.webp" alt="脱GitHubに向けて：Giteaを試し始める on Mac" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;</description></item><item><title>FreeFileSync + FTP on Mac -&gt; QNAP NASで文字コードも問題なくバックアップできている</title><link>https://hack-le.com/freefilesync-ftp-on-mac-qnap-nas/</link><pubDate>Mon, 08 Sep 2025 02:38:51 +0900</pubDate><guid>https://hack-le.com/freefilesync-ftp-on-mac-qnap-nas/</guid><description>&lt;p&gt;FreeFileSyncは僕がバックアップで使っているGUIツールだ。無料でも使えるが、幾ばくを寄付することで寄付版になり、長いことお世話になっているから寄付版を手に入れた。&lt;/p&gt;&#10;&lt;p&gt;今はMac上のファイルを、FreeFileSyncで、プロトコルはFTPを使い、QNAPのNASに問題なくバックアップできている。これをわざわざ書いたのは、文字コードの正規化問題にずっと悩まされてきたからだ。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&#10;&lt;ul&gt;&#10;&lt;li&gt;macOS 14.7.7&lt;/li&gt;&#10;&lt;li&gt;FreeFileSync 14.4 寄付版&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;QNAP NAS TS-233&#10;&lt;ul&gt;&#10;&lt;li&gt;QuFTP Service&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="nfcとnfd"&gt;NFCとNFD&#10;&lt;/h2&gt;&lt;p&gt;Mac使いならば悩まされてきたであろう、Unicode正規化方式の違い。Windows/LinuxではNFC(Normalization Form Composed)が使われているが、Macでは何故かNFD(Normalization Form Decomposed)という方式が使われる。これによって何が起きるかというと、Macで作成した「がきぐげご.txt」をNAS(Linux)に転送して保存すると「か゛き゛く゛け゛こ゛.txt」になってしまい、アクセスできなくなったりなんだりするという、割と深刻な問題だ。&lt;/p&gt;&#10;&lt;p&gt;これに対応するため、昔rysncとか使っていた時には特殊なオプションが必要だったりなんだりして、色々と苦労している。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/30878779-2/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;rsyncでiconvオプションをつけると、deleteオプションの挙動が変わる？？(Mac)&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/30878779-2/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_2570_1789396159.webp" alt="rsyncでiconvオプションをつけると、deleteオプションの挙動が変わる？？(Mac)" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;オンラインストレージのDropboxはなんとこれについて補修をしてくれているようで、あれは一時期Dropboxをバックアップ先に使っていた理由の一つであった。&lt;/p&gt;&#10;&lt;p&gt;この問題は普通の人にはかなりしんどい問題だと思うんだが、みんなどうしていたんだろうと思うものの、まぁ考えて見ると一般的な人は家庭に複数のOSでバックアップなどということにはならないのかもしれない。&lt;/p&gt;&#10;&lt;h2 id="macはsmbつらいつらい"&gt;MacはSMBつらいつらい&#10;&lt;/h2&gt;&lt;p&gt;これは一時期、僕がNASをあまり使わなくなった理由の一つとも思えるが、その後なんやかんやあって、2023年7月よりまたNASを使うようになっている。数ヶ月後に控えている次のDropbox有料会員は契約更新しないつもりだ。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/qnap-ts-233/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;QNAP TS-233&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/qnap-ts-233/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;いつの間にやら、SMBでNASとやりとりする限りは特に困らなくなっていた。Unicode文字列の扱いが良くなっているとかなんとか聞くが、詳細は知らない。ただ、とりあえず濁点問題は起きなかった。&lt;/p&gt;&#10;&lt;p&gt;なのでしばらくずっとSMBを使っていたのだけれど、これとは別個、MacのSMBクライアントはめちゃくちゃ遅いという問題があり、これはなんかもうずっと未だにどうにもならない。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/rnas104smbup/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;MacとReadyNAS 104の通信速度が遅い時の対処法(SMB)&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/rnas104smbup/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_4148_1789563052.webp" alt="MacとReadyNAS 104の通信速度が遅い時の対処法(SMB)" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;この頃から悩んでいるんだけれど、多少マシにする方法はあれど、未だにどうにかなっていない。しかも不安定でしょっちゅう接続が切れる。&lt;/p&gt;&#10;&lt;h2 id="そうだftpしよう"&gt;そうだ、FTP、しよう&#10;&lt;/h2&gt;&lt;p&gt;ということで、非常にNASがバックアップ先として非常に使いづらい状況で、最近は外付けHDを引っ張り出してきてそこにバックアップなどもしていた。まぁこれ自体はNASを使っていようがいまいがやったほうがいいことではある。&lt;/p&gt;&#10;&lt;p&gt;ただまぁやっぱり面倒くさくて、NASへのもうちょっとどうにかならんかなぁと思っていたところ、ふと「ファイル転送ならFile Transfer Protocolでは？？？」と急に思い出した。&lt;/p&gt;&#10;&lt;p&gt;で、前述の文字コード問題などあるので、やや不安がありつつ、もう2025年なんだ頼む、という気持ちで、QNAPのNASでFTPサービスを立ち上げ（QuFTP Serviceというのがある）、FreeFileySyncからFTP経由で転送。とりあえず、&lt;strong&gt;データ転送速度は爆速&lt;/strong&gt;。めっちゃFileをTransferしてくれてる……。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/09/b9d0892a704a5e11d76c2ab0ca85cc0c-700x364.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;3分30秒足らずで8GBを転送してくれている。これなら十分に実用的。&lt;/p&gt;&#10;&lt;p&gt;問題は濁点問題だが……起きていない。普通に問題がない。これがFreeFileSyncとQuFTPあるいはQNAPのなんかのソフトウェア、どちらかあるいはどちらも頑張ってくれているのか、ちょっと調べた感じだとわからなかったのだけれど、とりあえずうまくいく。おー。&lt;/p&gt;&#10;&lt;h2 id="所感"&gt;所感&#10;&lt;/h2&gt;&lt;p&gt;ということで、なんかしらんがうまくいってますという身も蓋もない記事になり申した。どっかのタイミングで一度ちゃんと調べたい気はしつつ、とりあえずよかったよかった。&lt;/p&gt;&#10;&lt;p&gt;[itemlink post_id=&amp;ldquo;15811&amp;rdquo;]&lt;/p&gt;&#10;</description></item><item><title>WebベースのファイラFile Browserを試す：こういうのでいいんだよ</title><link>https://hack-le.com/web-file-browser/</link><pubDate>Thu, 04 Sep 2025 23:42:10 +0900</pubDate><guid>https://hack-le.com/web-file-browser/</guid><description>&lt;p&gt;&lt;a class="link" href="https://filebrowser.org/" target="_blank" rel="noopener"&#10; &gt;File Browser&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Webベースで使えるファイルブラウザ、その名もFile Browserを試している。名前すごい。これは本当にその名の通りで、Web上からファイル操作ができるものだ。Webベースなので、タブレットやスマホからPCのファイルにアクセスできるのが良いところ。&lt;/p&gt;&#10;&lt;h2 id="すべてのメディアに専用アプリはいらないので"&gt;すべてのメディアに専用アプリはいらないので&#10;&lt;/h2&gt;&lt;p&gt;たとえば自分の場合は、さっと音楽ファイルを聞きたいときなんかに使うことがある。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/09/image-1-700x356.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;こんな感じでPC上にあるすべての音楽ファイルに慣れたディレクトリ構成でアクセスできる。他にもちょっと「あの写真見たい」とか「あそこにドキュメントおいてたな」みたいな時に使う。&lt;/p&gt;&#10;&lt;p&gt;それらはまぁ専用アプリにはより高度な機能のビューアやエディタがあるわけだが、&lt;strong&gt;すべてのデバイスにすべてのメディアについて専用アプリを入れているわけじゃないし、そもそも常にそんな大仰なことをしたいわけでもない。俺はただファイルの中身を見たいだけなんだ&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;また、場合によっては、他のPCで操作したドキュメントを置きたいとかもある。そんな時にも使える。いちいちDropboxだのでインターネットを経由する必要はないし（DropboxはLAN内同期もあるけど）SMBでボリュームマウントとかもしたくないんだ。&lt;/p&gt;&#10;&lt;p&gt;なので、&lt;strong&gt;このアプリはまさにこういうのでいいんだよ&lt;/strong&gt;、という感じだ。&lt;/p&gt;&#10;&lt;h2 id="macでのインストールと自動起動"&gt;Macでのインストールと自動起動&#10;&lt;/h2&gt;&lt;p&gt;環境&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&lt;/li&gt;&#10;&lt;li&gt;macOS 14.7.7&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;インストールはバイナリが色々あるので、OSごとにそれ用のやつを使えばいいと思うが、Macの場合はHomebrewになる（別に使いたければDocker使えばいいけど、ホームユースでその意義はない気がする）。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;brew&lt;/span&gt; &lt;span class="nx"&gt;tap&lt;/span&gt; &lt;span class="nx"&gt;filebrowser&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;tap&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;brew&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="nx"&gt;filebrowser&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;実際に起動する時のコマンドは以下となる。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;filebrowser&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;to&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;your&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;files&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;アプリの性質上、ログイン時に起動したいんだがなぁ、ということもあるだろう。そういう場合は例によってLaunchAgentsを使うことになる。 &lt;code&gt;~/Library/LaunchAgents&lt;/code&gt;に適当な一意のファイル名（なんでもいいけど &lt;code&gt;homebrew.mxcl.filebrowser.plist&lt;/code&gt;とかそんな感じで）にして、下記のようにする。&lt;/p&gt;&#10;&lt;p&gt;以下のうち、ポート番号と&amp;lt;ユーザ名&amp;gt;と&amp;lt;パス&amp;gt;のところを、やりたいようにする。ここではポート番号は13000にしているが、空いているところを適当に。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="nx"&gt;xml&lt;/span&gt; &lt;span class="nx"&gt;version&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt; &lt;span class="nx"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;UTF-8&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;?&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="nx"&gt;DOCTYPE&lt;/span&gt; &lt;span class="nx"&gt;plist&lt;/span&gt; &lt;span class="nx"&gt;PUBLIC&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;-//Apple//DTD PLIST 1.0//EN&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;plist&lt;/span&gt; &lt;span class="nx"&gt;version&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;dict&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Label&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/key&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;homebrew&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;mxcl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;filebrowser&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;ProgramArguments&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/key&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;array&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;/opt/homebrew/bin/filebrowser&amp;lt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;-&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;-&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;13000&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;-&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="sr"&gt;/Users/&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ユーザ名&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;/&amp;lt;ブラウジングしたいしたいパス&amp;gt;&amp;lt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/array&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;RunAtLoad&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/key&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;KeepAlive&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/key&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;WorkingDirectory&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/key&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="sr"&gt;/Users/&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ユーザ名&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;StandardOutPath&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/key&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;/tmp/filebrowser.log&amp;lt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;StandardErrorPath&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/key&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;/tmp/filebrowser.error.log&amp;lt;/string&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/dict&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="err"&gt;/plist&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;できたらloadする。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;launchctl&lt;/span&gt; &lt;span class="nx"&gt;load&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="err"&gt;/Library/LaunchAgents/&amp;lt;作ったplistのファイル名&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;やったら &lt;code&gt;http://&amp;lt;サーバのIPアドレス&amp;gt;:&amp;lt;ポート&amp;gt;&lt;/code&gt;にアクセスして確認する……のだが、この時、管理ユーザ&lt;code&gt;admin&lt;/code&gt;の初期パスワードがランダムで発行されてんだよね。なので、plistファイルにあるとおり標準出力パスの &lt;code&gt;/tmp/filebrowser.log&lt;/code&gt;からランダム生成されたパスワードをコピペする。&lt;/p&gt;&#10;&lt;p&gt;そしたら admin &amp;amp; パスワード でログインできる。パスワードは変更しておく。&lt;/p&gt;&#10;&lt;p&gt;あとは見たら使えるやろファイラだし。&lt;/p&gt;&#10;&lt;h2 id="所感"&gt;所感&#10;&lt;/h2&gt;&lt;p&gt;なんか本当に「こういうのでいいんだよ、こういうので」って感じ。Cloudflare Tunnelとか組み合わせればインターネット経由でもまぁやれるし、用途次第ではDropboxとかGoogle Driveの代わりにもなるんじゃないかな。&lt;/p&gt;&#10;</description></item><item><title>脱GitHubに向けて：Giteaを試し始める on Mac</title><link>https://hack-le.com/github-gitea-1/</link><pubDate>Wed, 03 Sep 2025 17:22:19 +0900</pubDate><guid>https://hack-le.com/github-gitea-1/</guid><description>&lt;p&gt;最近のMSはまたMSになってきたので、GitHubもいつどうなるかわからない、ということで、コード管理をセルフホストにしていきたい。&lt;/p&gt;&#10;&lt;h2 id="環境とインストール"&gt;環境とインストール&#10;&lt;/h2&gt;&lt;p&gt;ひとまず手元のMacで動かす&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;M2 Pro Mac mini&lt;/li&gt;&#10;&lt;li&gt;Intel Mac mini 2018&lt;/li&gt;&#10;&lt;li&gt;macOS 14.7.7&lt;/li&gt;&#10;&lt;li&gt;gitea 1.24.5 via Homebrew&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;インストールは 「&lt;a class="link" href="https://docs.gitea.com/category/installation" target="_blank" rel="noopener"&#10; &gt;Installation | Gitea Documentation&lt;/a&gt;」色々あるわけだが、楽なのでbrew install。もしVPSでやるときは、Linuxなのでまた考える。でも別に家のMac miniでいい気もしている。Dockerは特に使う必要性を感じなかったので使わない。データベースでSQLite以外使うならコンテナでまとめてやったほうがいいかなと思う。今回はデータベースもSQLiteでファイル管理するつもりだし、無駄にオーバーヘッド作る必要もないかなって。&lt;/p&gt;&#10;&lt;p&gt;（2025-09-11）この記事を書いた時はDockerいらんかなと思ったんだけれど、バックアップ/復元まで考えたときに、パスなど環境の差分がけっこうしんどい感じだった。Dockerのほうがその点は吸収できそうだが、ただ結局IPアドレスやポート番号など、差分はやはりあるし、docker-compose.ymlの管理もあるので、どちらが良いかは一概には言えないかなぁという感じ。&lt;/p&gt;&#10;&lt;p&gt;公式: &lt;a class="link" href="https://about.gitea.com/" target="_blank" rel="noopener"&#10; &gt;Gitea Official Website&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="セットアップ"&gt;セットアップ&#10;&lt;/h2&gt;&lt;p&gt;インストールしたら &lt;code&gt;brew services start gitea&lt;/code&gt; で開始する。これはつまり&lt;code&gt;gitea web&lt;/code&gt;をしてそれ用のplistも作って登録する感じなんだが、わざわざ自分で頑張る意味もないので、Homebrew勢は黙ってstart gitea。&lt;/p&gt;&#10;&lt;p&gt;そしたら、 &lt;code&gt;http://&amp;lt;サーバのIPアドレス&amp;gt;:3000&lt;/code&gt; にWebブラウザでアクセスして初期設定をする。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;データベースはSQLite3&lt;/strong&gt;にする。ファイルで管理したいから。&#10;&lt;ul&gt;&#10;&lt;li&gt;Homebrewだとファイルパスの初期設定は &lt;code&gt;/opt/homebrew/bin/data/gitea.db&lt;/code&gt; になるようだ&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;リポジトリのルートパス（リモートリポジトリのデータの実体）、LFSファイルパス（Large File Storage……でかいファイルは別におくようだ）はひとまず初期値で続行&lt;/li&gt;&#10;&lt;li&gt;サーバードメインはLAN内の固定したプライベートIPアドレスを割り当て&lt;/li&gt;&#10;&lt;li&gt;HTTPポートは3000使いたくないので変更&lt;/li&gt;&#10;&lt;li&gt;内部でしか使わないのでベースURLはサーバードメインとポートそのまま&lt;/li&gt;&#10;&lt;li&gt;オプション眺めたが、ひとまず初期値で続行&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;新しいURLで入り直すと、初期画面がある。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2025/09/605375b117ae067b2f378449ace1d898-700x575.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;右上の登録から最初のユーザを登録する。これが管理者になる。&lt;/p&gt;&#10;&lt;h2 id="試す"&gt;試す&#10;&lt;/h2&gt;&lt;h3 id="リポジトリの作成とpullpush"&gt;リポジトリの作成とpull/push&#10;&lt;/h3&gt;&lt;p&gt;とりあえずリポジトリを適当に作って試す。まずWeb画面上でリポジトリを作成する。宗教上の理由によりブランチ名をmain-&amp;gt;masterにし、それ以外は初期値でGo。リポジトリはできた。&lt;/p&gt;&#10;&lt;p&gt;クローンする。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;git&lt;/span&gt; &lt;span class="nx"&gt;clone&lt;/span&gt; &lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;//&amp;lt;サーバアドレス&amp;gt;:&amp;lt;ポート&amp;gt;/&amp;lt;リポジトリ名&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;cloneは可能。移動してpushまで試す。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;master&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;touch&lt;/span&gt; &lt;span class="nx"&gt;hoge&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;master&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;git&lt;/span&gt; &lt;span class="nx"&gt;add&lt;/span&gt; &lt;span class="nx"&gt;hoge&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;master&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;git&lt;/span&gt; &lt;span class="nx"&gt;commit&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;m&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;first commit&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;master&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;git&lt;/span&gt; &lt;span class="nx"&gt;push&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;user名とパスワードを求められるが、入力すればとおる。ふむ。&lt;/p&gt;&#10;&lt;p&gt;いったん作ったディレクトリを削除して、次にssh経由を試す。&lt;/p&gt;&#10;&lt;h3 id="ssh鍵"&gt;ssh鍵&#10;&lt;/h3&gt;&lt;p&gt;ssh鍵くらいは登録しておく。ここでは既存の公開鍵 &lt;code&gt;id_rsa.pub&lt;/code&gt; を使う。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;右上のプロフィールアイコンから「設定」&lt;/li&gt;&#10;&lt;li&gt;左メニューの「SSH/GPGキー」&lt;/li&gt;&#10;&lt;li&gt;SSHの「キーを追加」で &lt;code&gt;id_rsa.pub&lt;/code&gt; の中身を登録&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;そしたら &lt;code&gt;git clone ssh://ほげほげ&lt;/code&gt; でクローンする（適当）。入って適当にファイル作ってaddしてpushできるかを確認。特にパスワードを求められずに登録できたらOK。&lt;/p&gt;&#10;&lt;p&gt;その後気づいたのだが、Giteaはsshについてだいぶトリッキーなことをしているようで、~/.ssh/authorized_keysにcommandを記述している。で、リモートログインの時に支障をきたす。また、アンインストール時にはここの部分を削除しないといけない。&lt;/p&gt;&#10;&lt;h2 id="少しずつ試していく"&gt;少しずつ試していく&#10;&lt;/h2&gt;&lt;p&gt;ということで、今回はさらっと最低限のssh経由のpush/pullをやっただけだが、一応これだけでもローカル内にあるちょっとしたプロジェクトの管理には使える格好だ。とはいえ実際のバックアップ・復元手順なども確認する必要もあるし、GitHub Actionsみたいなことをしたくなったらどうなるんだろう、とかわからないことも多いので、これから少しずつ試していきたい。&lt;/p&gt;&#10;</description></item><item><title>バックアップは結局NASと外付けHDっていう</title><link>https://hack-le.com/backup-nas-hd/</link><pubDate>Wed, 18 Jun 2025 11:55:11 +0900</pubDate><guid>https://hack-le.com/backup-nas-hd/</guid><description>&lt;p&gt;データは命。命を大事に。デジタルデータは壊れやすいが、しかし複製することができる。&lt;/p&gt;&#10;&lt;p&gt;したがって、我々はつねにバックアップについて実践的かつ継続的にしなければならない。何かがあってからでは遅い。事故は起きる。&lt;/p&gt;&#10;&lt;h2 id="クラウドは信用しない"&gt;クラウドは信用しない&#10;&lt;/h2&gt;&lt;p&gt;まず大前提、クラウドは信用しない。Dropboxの有料会員が言うことではないかもしらんが、同期サービスは同期が便利なのであって、バックアップとして使ってはいけないと思う。災害リスクを考えると良いという意見もあるが、どう考えても&lt;strong&gt;未曾有の大災害リスクよりもサービス側の勝手なアカウントBANややらかしのほうが現実的なリスク&lt;/strong&gt;。まぁ僕自身は今までクラウドサービスに勝手なBANなどをされたことは幸運なことに未だないが、それはこれからもないことを意味しない。&lt;/p&gt;&#10;&lt;p&gt;したがって、クラウドサービスは同期やファイル共有の機能が便利だから使うのであって、データという命を預けてよい場所ではない。バックアップ先の一つとしてする分にはよいが、少なくとも唯一のバックアップ先にすべきではない。&lt;/p&gt;&#10;&lt;h2 id="nasと外付けhd"&gt;NASと外付けHD&#10;&lt;/h2&gt;&lt;p&gt;そうすると、結局伝統的な外付けHD、あるいはNASという結論になる。楽なのは明らかにNASだ。しかしNASの場合、ネットワークがボトルネックになる。特にMacを使っている場合、なんか知らんが色々と遅い。あとよく切れる。これは以前から色々とやっているんだが、あまりうまくいっていない。一応下記記事のようなことはしているが、それでも遅い。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/rnas104smbup/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;MacとReadyNAS 104の通信速度が遅い時の対処法(SMB)&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/rnas104smbup/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_4148_1789563052.webp" alt="MacとReadyNAS 104の通信速度が遅い時の対処法(SMB)" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;とはいえ、バックアップに時間がかかるからなんだ？という考えもある。あるのだが、実際に1日たってもバックアップが終わってない風景など見ると、なんだかなぁという気になる。&lt;/p&gt;&#10;&lt;p&gt;速度の面では、やはり有線の外付けHDが最強ではあるものの、セットアップが面倒臭い。&lt;/p&gt;&#10;&lt;p&gt;また、運用上の問題として、複数PCで同期して使いたいファイルなどもある。こればかりは外付けHD運用ではどうにもならない。やはり中央サーバ的なものが必要になってくる。Dropboxで収まるならばよいのだが、自分は今Dropboxの役割を縮小させようとしているため、ちょっと厳しい。NASは同期の役割も担えるので、こちらにシフトしていきたい。&lt;/p&gt;&#10;&lt;p&gt;まぁ色々考えると、やはりNASにこまめにバックアップしつつ、たまに外付けHDにもバックアップする、というのがとりあえずの結論になる。NAS重いなぁと思いつつ。&lt;/p&gt;&#10;&lt;p&gt;ちなみに持っているのはQNAPのTS-233で、スペック的に色々キツイのかもしれない。&lt;/p&gt;&#10;&lt;p&gt;[itemlink post_id=&amp;ldquo;15811&amp;rdquo;]&lt;/p&gt;&#10;&lt;p&gt;でもキツイなりに、あまり無理させなければ（2TBのフォルダを同期とか）それなりに動いてくれるからなぁ。&lt;/p&gt;&#10;&lt;h2 id="nextcloudを使うのは"&gt;Nextcloudを使うのは？&#10;&lt;/h2&gt;&lt;p&gt;少し話が変わってくるが、複数端末の同期問題については、わざわざNASを使わずともメインデスクトップ(M2 Pro Mac mini)にNextcloudをインストールするということも考えられる。というか実際これは良い手に思える。思えるものの、少し面倒臭い。個別の事情だが、現在外部ストレージを起動ディスクにしているのだけれど、そのうち内蔵ディスクを起動ディスクに戻そうと思っているため、現時点において母艦めいたことをすると、二度手間になる。また、内蔵ディスクを起動ディスクにした場合、外部ストレージの接続は保証されなくなるため、Nextcloudのサーバとするには安定性の面でやや心許ない。&lt;/p&gt;&#10;&lt;p&gt;このようなことを考えると、スペック低いとはいえ、一応ハードウェアとしてのNASもあるし、何も自前で頑張らなくてもいいかな……というのが現時点の結論だ。&lt;/p&gt;&#10;&lt;p&gt;しかし、NASのスペックがあまりにもつらすぎる、と思ったら、メインデスクトップであるMac miniあるいは別の常時稼働計デスクトップマシンのNextcloudサーバ計画を実行することになるかもしれない。ハイエンドのNASを買うお金はないのでな……。&lt;/p&gt;&#10;</description></item><item><title>Mac mini 2018 で Docker Desktop のCPU利用率が100%に張り付くので対症療法で誤魔化している</title><link>https://hack-le.com/mac-mini-2018-docker-desktop-cpu-100/</link><pubDate>Thu, 24 Apr 2025 21:52:55 +0900</pubDate><guid>https://hack-le.com/mac-mini-2018-docker-desktop-cpu-100/</guid><description>&lt;p&gt;うちのMac mini 2018は実質コンテナサーバと化しているのだが、最近やけに五月蠅い。Docker Desktopがずっと暴走している。対症療法はあるが、解決できていない。しばらく様子を見て、ダメそうならOrbstackへの移行も考える（それでおさまればだが、恐らくDocker Desktopに起因しているので……）。&lt;/p&gt;&#10;&lt;p&gt;とりあえず、対症療法のメモ。&lt;/p&gt;&#10;&lt;p&gt;（追記：その後、バックアッププログラムを走らせるとCPUが暴走することがわかった。おおう……）&lt;/p&gt;&#10;&lt;p&gt;（さらに追記 2025-05-02：Docker Desktopが4.41.0になったら解消したかも）&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/docker-volume-cli-backup/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;DockerのボリュームをCLIでバックアップ・復元する&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/docker-volume-cli-backup/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2024/09/docker-volume-cli-backup.webp" alt="DockerのボリュームをCLIでバックアップ・復元する" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Intel Mac mini 2018&#10;&lt;ul&gt;&#10;&lt;li&gt;macOS 14.6.1&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Docker Desktop 4.40.0&#10;&lt;ul&gt;&#10;&lt;li&gt;コンテナはいっぱい起動してるが、、、&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="症状"&gt;症状&#10;&lt;/h2&gt;&lt;p&gt;Mac miniが五月蠅い。&lt;/p&gt;&#10;&lt;p&gt;静音性だけが取り柄なのにどうしたことだろうとアクティビティモニタを見たら、Docker DesktopとおぼしきタスクがCPU利用率100%になっている。「そんなに」と思ってダッシュボードを見ると、特にコンテナのCPU利用率は高くない。しかしアクティビティモニタでは明らかにDockerが100%を使い続けている……。&lt;/p&gt;&#10;&lt;p&gt;「めんどくせぇ再起動しよう」と思い、Docker Desktopを再起動した。&lt;strong&gt;CPU利用率が200%になった&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;どういうことやねんと思い、もっかいDocker Desktop再起動かける。すると、今度は終了後の起動が永遠に終わらない。おおぅ……。Mac自体を再起動したらとりあえずDocker Desktopは再び起動したが、やはりCPU利用率は100%。はぁ……。&lt;/p&gt;&#10;&lt;h2 id="対症療法"&gt;対症療法&#10;&lt;/h2&gt;&lt;p&gt;あれこれした結果、以下の手順でしばらく収まった。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;「設定」で以下をオフにする&#10;&lt;ul&gt;&#10;&lt;li&gt;Start Docker Desktop when you sign in to your computer&lt;/li&gt;&#10;&lt;li&gt;Open Docker Dashboard when Docker Desktop starts&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;コンテナを全部落とす&lt;/li&gt;&#10;&lt;li&gt;Docker Desktopを「終了」する（再起動ではなく）&lt;/li&gt;&#10;&lt;li&gt;Docker Desktopを起動する&lt;/li&gt;&#10;&lt;li&gt;コンテナを全部起動する&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;ただしばらくすると再発する感じ。&lt;/p&gt;&#10;&lt;h2 id="ひとまず様子見"&gt;ひとまず様子見&#10;&lt;/h2&gt;&lt;p&gt;コンテナが悪さしているとも思えない。おまかんの気もする。今のMac mini 2018は購入から6年以上第一線でほぼほぼ24時間起動し続けており、メインデスクトップを退いてからもホームサーバとしてずっと働いている。なんか色々溜まっているのかもしれない。再起動すると起動までに何分かかかるし。&lt;/p&gt;&#10;&lt;p&gt;とはいえDocker Desktopに起因する問題っぽいし、もうしばらく様子を見て症状が治らないようなら、一縷の望みをかけてOrbstackあたり試してみようかと思う。&lt;/p&gt;&#10;</description></item><item><title>M2 Pro Mac mini を購入して1年5か月経過：静かに革命</title><link>https://hack-le.com/m2-pro-mac-mini-1-5/</link><pubDate>Tue, 08 Apr 2025 03:03:42 +0900</pubDate><guid>https://hack-le.com/m2-pro-mac-mini-1-5/</guid><description>&lt;p&gt;Intel Mac mini 2018からM2 Pro Mac miniに買い換えて1年5か月が経過した。M3は悲しい感じでM2大勝利だったが、M4で飛躍的な進化を遂げたので、結果論だともう少し待てばよかったのにこの愚か者、という感じではあるけれど、そうは言ってもあの時どうにも欲しいという情動があったのは事実だし、また1年早く多くのことを楽しめたのだからやはり買ってよかったのだと思え思うしかない思って。&lt;/p&gt;&#10;&lt;h2 id="体験は満足度が高い"&gt;体験は満足度が高い&#10;&lt;/h2&gt;&lt;p&gt;まぁM4が強すぎるのでぐぬぬとなっているのは事実なんだけれど、&lt;strong&gt;正直M2 Proでほとんど不満がない&lt;/strong&gt;。これは&lt;strong&gt;最大限の賛辞&lt;/strong&gt;だと思ってよい。まぁLLMを使う上ではM4 Proだったらもうちょっと使い物になるかもと思える応答速度だったりしたのかなぁと思ったりなんだりもするけれど、結局普段使いはChatGPTやCodyなんだし、ローカルLLMに全振りするにはまだまだ時期が早い。&lt;/p&gt;&#10;&lt;p&gt;というわけで、全体的にMac mini 2018からすべてがパワーアップした一方、特に不便になったこともない。あったかもしれないけど思い浮かばない。この&lt;strong&gt;不便がない、というのはとても素晴らしいこと&lt;/strong&gt;で、実際のところ、普段使いにおいて重要なことはいかに不満が少ないかだ。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;一般的なレビューでは、この新商品はアレができるコレができるということを言いたがるものだが、現実的に本当に手に馴染むかは何ができるかよりも何ができないか&lt;/strong&gt;のほうがきいてくる。まぁもちろん何ができるかも重要ではあるので、そういう意味ではレビューも有り難いし、実際僕も買う前にはよく見るのだが、しかし最終的に本当に自分にとって良いかは機能ではない。&lt;/p&gt;&#10;&lt;p&gt;僕は長期的な使い勝手こそ本質だと思っているので、思い出したようにプロダクトの所感についてあーだこーだと書いている。別に開封の儀を腐すつもりはないのだが、しかし&lt;strong&gt;プロダクトの良さはインパルスではなく積分であるはず&lt;/strong&gt;で、振り返って初めて、良かったなぁとか、あんまりだったとか、そういう感慨がわいてくるものだ。&lt;/p&gt;&#10;&lt;p&gt;それで僕はこうして、「特に不便がない」とわざわざ書き、そしてそれ以外特に言うことがない。&lt;strong&gt;この言うことの無さにじんわりとプロダクトとしての良さを実感するばかりだ&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;h2 id="懐かしのセルフホスティング自宅サーバ"&gt;懐かしのセルフホスティング（自宅サーバ）&#10;&lt;/h2&gt;&lt;p&gt;まぁこれでは記事としてあんまりな気がするので、一点良かったなと思うことを書くと、&lt;strong&gt;セルフホスティングの良さを再び経験できている&lt;/strong&gt;ことだ。まぁつまり自宅サーバなんだが、VPSでやっているサーバもあるので、全部含めてセルフホスティング。&lt;/p&gt;&#10;&lt;p&gt;ただしここでセルフホスティングしているのは主に買い換える前までメインデスクトップにしていたMac mini 2018だ。M2 Pro Mac miniを買った後、まだ動くMac mini 2018を見て、コイツどうしてくれようか、まだまだ使えるし、売って端金にするのも尺だなぁと思って、コンテナサーバにしてみるかと思って使ったところ、これがなかなか具合がよい。ちょっと試してみたいソフトウェアをスナック菓子感覚で楽しめる。なんなら常用しているサーバも数多い。&lt;/p&gt;&#10;&lt;p&gt;もちろんM2 Pro Mac miniでも問題なくできるのだが、コンテナはけっこう何かと重たいし、またできるだけ常時稼働させたいものだから、常用していると再起動も億劫になってしまうので、物理的にメインデスクトップと切り分けできたのはよかったと思う。メインデスクトップであるM2 Pro Mac miniを開発サーバとして、いけるなと思ったらMac mini 2018にデプロイするということも可能だ。まぁそこまでちゃんとやってるのはあんまりないけど。&lt;/p&gt;&#10;&lt;p&gt;このブログも今はレンサバでやっているのだけれど、またセルフホスティングに戻したいと思う。まぁこのブログは一時期よりアクセスが大幅に減ったとはいえ、それでもだいたい常に何人かは来訪してもらえているので、帯域や安定性を考えると、さすがに自宅サーバよりはVPSかなとは思うけど。&lt;/p&gt;&#10;&lt;h2 id="m2-pro-mac-miniが変えた生活"&gt;M2 Pro Mac miniが変えた生活&#10;&lt;/h2&gt;&lt;p&gt;M2 Pro Mac miniあんま関係ないやんと思われたかもしれないが、&lt;strong&gt;M2 Pro Mac miniを買わなければ、ここまでセルフホスティングを積極的に試していなかった&lt;/strong&gt;であろうということに注目されたい。つまり、&lt;strong&gt;M2 Pro Mac miniは我が家のシステムを変えた&lt;/strong&gt;のだ。こんなに素晴らしいことが他にあるだろうか。&lt;/p&gt;&#10;&lt;p&gt;つまり、&lt;strong&gt;良いプロダクトとは、まず不満がないことで、あまりにも不満がないために何も言うことがなく、気がつくと月日が過ぎており、思い返してその良さを積分でじんわりと感じられるもの&lt;/strong&gt;だ。そしてさらに振り返れば、&lt;strong&gt;生活そのものが実は変わっていた&lt;/strong&gt;。そういうものであり、&lt;strong&gt;僕にとってM2 Pro Mac miniはまさに良いプロダクト&lt;/strong&gt;だったのである。&lt;/p&gt;&#10;&lt;p&gt;これで明らかなように、M4まで待つ必要はなかったというのが論理的帰結であり、それはそれとしてM4 Pro Mac mini欲しい。&lt;/p&gt;&#10;&lt;p&gt;&amp;lt;関連記事&amp;gt;&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m3-mac-m2-pro-mac-mini/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M2 Pro Mac Miniをポチった&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m3-mac-m2-pro-mac-mini/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_12198_1789621271.webp" alt="M2 Pro Mac Miniをポチった" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m2-pro-mac-mini/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M2 Pro Mac mini (2022)&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m2-pro-mac-mini/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;</description></item><item><title>M4 Mac miniのベンチを見て悔しがるM2 Pro Mac miniユーザなど</title><link>https://hack-le.com/m4-mac-mini-m2-pro-mac-mini/</link><pubDate>Thu, 14 Nov 2024 08:36:38 +0900</pubDate><guid>https://hack-le.com/m4-mac-mini-m2-pro-mac-mini/</guid><description>&lt;p&gt;先日M4 Mac miniが発表された。なんだかんだと言われているAppleだが、それでも5年周期くらいで「やるやん」みたいな機種が出てくる。「ここ数年の微妙なアップデートはなんだったんだよ」みたいなやつ。その意味で、&lt;strong&gt;今回のM4 Mac miniはM1ほどではないにせよ衝撃が大きい&lt;/strong&gt;。また、Intel→AppleSiliconの時のような「使えるソフトは大丈夫か」などの心配もなく、&lt;strong&gt;純粋に実用的&lt;/strong&gt;だ。&lt;/p&gt;&#10;&lt;h2 id="m3とはなんだったのか"&gt;M3とはなんだったのか&#10;&lt;/h2&gt;&lt;p&gt;自分は去年からのM2 Proユーザなので、新機種の登場には矛盾した二つの想いがある。一つは「あまり進化してくれるな（悔しいから）」というせせこましい気持ちと、もう一つは「でも進化してくれないとつまらない」というガジェットオタク的に業界の進歩を願う気持ちだ。&lt;/p&gt;&#10;&lt;p&gt;その意味で、&lt;strong&gt;M3 Proには安堵と落胆をさせられた&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m3-m2-pro-mac-mini/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M3発表後にM2 Pro Mac mini 整備済み製品はお得といえるのかどうか&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m3-m2-pro-mac-mini/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_12980_1789621199.webp" alt="M3発表後にM2 Pro Mac mini 整備済み製品はお得といえるのかどうか" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;M2 Proで全然いいなと思った。まぁそもそもM3 Mac miniは出なかったのだが。&lt;/p&gt;&#10;&lt;p&gt;まぁ出なくて良かったよね。&lt;strong&gt;M3 Pro Mac miniなんか出してたら、購入したユーザから恨みの声が出たんじゃないか&lt;/strong&gt;。それくらい今回のM4 Proは違う。ってかマジでなんだったんだよM3。&lt;/p&gt;&#10;&lt;h2 id="m2-ultraよりはやーい"&gt;M2 Ultraよりはやーい！&#10;&lt;/h2&gt;&lt;p&gt;まぁ大きさについては正直個人的にはいいかな。現状のMac miniの筐体の大きさでも十分満足している。これ以上小さくしたところで、ケーブルによる占有が大きいからあまり恩恵はない。それより&lt;strong&gt;USB Type-Aのほうがほしかった&lt;/strong&gt;。デスクトップだと周辺機器としてなんだかんだであと10年は生き残ると思う。変換あまり使いたくないんだよなぁ。ハブなんて置こうものならますます机の上がゴチャつき、本体が小さくなった意味がまるでないという。&lt;/p&gt;&#10;&lt;p&gt;あと熱は大丈夫なんだろうかという心配はあるけれど、これはいまさらかもしれない。Mac miniはいつだって爆熱。物議を醸している電源ボタンの場所についてもまぁ、僕もMacについてはスリープする運用なのでさして困らないと思うが、嫌な人はいるだろうな、くらいの感じ。&lt;/p&gt;&#10;&lt;p&gt;しかし&lt;strong&gt;筐体とかどうでもよくなるくらい、純粋にスペックが高い&lt;/strong&gt;。ベンチマークを見ていると、レビューも概ね好評で、「ちくしょう……ちくしょう……」みたいな気分になる（参考「&lt;a class="link" href="https://www.tomsguide.com/computing/desktop-computers/mac-mini-m4-review" target="_blank" rel="noopener"&#10; &gt;I tried the new Mac mini M4 and this tiny mini PC is an absolute powerhouse — even if you don&amp;rsquo;t get the pro model | Tom&amp;rsquo;s Guide&lt;/a&gt;」）&lt;/p&gt;&#10;&lt;p&gt;やはりPCの華形はCPUであって、そのCPUが劇的に向上しているとなれば魅力を感じざるを得ない。去年買ったばかりのProが無印に負けるなんて……（一応僕のは盛ってるから無印よりはまだ勝っているようだが……）。&lt;/p&gt;&#10;&lt;p&gt;まぁでも一番歯ぎしりしてるのは（M4 Proは）M2 Ultraよりはやーい！とか言われているM2 Ultra Mac Studioユーザかもしれない（参考「&lt;a class="link" href="https://gori.me/macmini/156589" target="_blank" rel="noopener"&#10; &gt;M4 Pro搭載Mac mini、M2 Ultra超えの驚異的性能を実現 | ゴリミー&lt;/a&gt;」）。お値段的に。&lt;/p&gt;&#10;&lt;h2 id="m4-macを持ってきてください本物の16gbを見せてやりますよ"&gt;M4 Macを持ってきてください、本物の16GBを見せてやりますよ&#10;&lt;/h2&gt;&lt;p&gt;あと個人的に「やっとかよ」となったのは&lt;strong&gt;吊るしのメモリが16GBになったこと&lt;/strong&gt;だ。2023年までAppleは「Macの8GBはもはや16GB」などと意味不明な供述をしていたが（参考「&lt;a class="link" href="https://gigazine.net/news/20231113-apple-m3-ram/" target="_blank" rel="noopener"&#10; &gt;Appleが「M3 MacBook Pro」の8GBのユニファイドメモリは16GBの他製品RAMと同等であると主張 - GIGAZINE&lt;/a&gt;」）、ようやく&lt;strong&gt;16GB RAMとは16GBのメモリのことですという進次郎も知っている事実を認めたらしい&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;具体的に何が出来るのかよくわからないApple Intelligenceは特に期待していないが、お値段据え置きでメモリの容量が上がったことは喜ばしい。ってか&lt;strong&gt;SoCに組み込まれて変更できないのに8GBを2023年まで標準として発売していたのは、この先数年禍根を残すと思われる&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;まぁそれでもお高いことには変わりないのだが、AI用途だとMacのユニファイドメモリが輝くという話もあるっぽい。&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;しげぽんさんがメモリ192GB積んだM2Ultraでテストしたところ、4bit量子化のCommand R+の推論が、NVidia GPUのA6000+RTX3090環境では9.5tpsだったところ、M2Ultraは9.9tpsで抜いてしまったらしい。&lt;/p&gt;&#10;&lt;p&gt;この比較表のCommand-R-Plus 4bit量子化版速度比較で、a6000+RTX3090Power limitなしの9.5token/secに対してM2Ultra Mac Studio(192GB GPU76コア)が9.91token/secで抜いた。ワッパと構成でRTXを超えてるhttps://t.co/zSNQKzHKUx &lt;a class="link" href="https://t.co/kq1UnOA5wH" target="_blank" rel="noopener"&#10; &gt;pic.twitter.com/kq1UnOA5wH&lt;/a&gt;— まじかる☆しげぽん@VRoid (@m_sigepon) &lt;a class="link" href="https://twitter.com/m_sigepon/status/1786097499218010367?ref_src=twsrc%5Etfw" target="_blank" rel="noopener"&#10; &gt;May 2, 2024&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;２枚のGPUをぶん回すPCよりもM2Ultraの方が省電力だろう。とはいえメモリを192GB積んだM2Ultraは100万円くらいする。A6000+RTX3090のPCと値段自体は同じくらいだろう。&lt;/p&gt;&#10;&lt;p&gt;MacのGPU自体はそこまで大した性能ではない。じゃあなんでこんなに推論速度が速いの？というと、LLMの推論というのは実は演算性能よりもメモリ帯域幅がモノを言うらしい。&lt;/p&gt;&#10;&lt;p&gt;Macのメモリはチップに直結されてるユニファイドメモリだから帯域幅が爆速で800GB/sもある。GPUのVRAMの帯域幅も爆速で、RTX4090では1008GB/sもある。これが推論速度に効いている。一方、私のPCのメインメモリなんて25.6GB/s、デュアルチャネルでも51.2GB/sしか出ない。全然遅い。だからCPUの推論も全然遅くなってしまうわけだ。&lt;/p&gt;&#10;&lt;p&gt;— &lt;a class="link" href="https://www.notion.so/LLM-soy-software-135140b4a919810eb587e04745fd6323" target="_blank" rel="noopener"&#10; &gt;最近ローカルLLMがアツいらしい – soy-software&lt;/a&gt;&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;まぁこの記事ではその後「だからといってコスパがいいかは疑問の余地がある」と続けられているのだが、あくまでAI&amp;quot;も&amp;quot;できるという使い方ならば、M4 Ultraの性能と価格次第では案外選択肢に上ってくるのかもしれない。ローカルLLMも含めてAI事情は日進月歩なので、この先のことはわからないが……。&lt;/p&gt;&#10;&lt;p&gt;いずれにせよ、&lt;strong&gt;8GBなどという人権侵害系のMacが姿を消すことは素直に喜ばしい&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;h2 id="ストレージ交換したい早くしたい"&gt;ストレージ交換したい早くしたい&#10;&lt;/h2&gt;&lt;p&gt;ストレージ周りの変化も見逃せない。独自規格とはいえモジュラー式で着脱可能とのことだ（参考「&lt;a class="link" href="https://applech2.com/archives/20241113-ifixit-apple-m4-mac-mini-2024-teardown.html" target="_blank" rel="noopener"&#10; &gt;iFixit、Apple M4/M4 Proチップを搭載した「Mac mini (2024)」の分解レポートを公開。ストレージはアップグレード可能で、分解の際は底面の電源ボタン周りに注意。 | AAPL Ch.&lt;/a&gt;」）。&lt;/p&gt;&#10;&lt;p&gt;まぁとはいえ交換難度はだいぶ高いだろうし、またお高いんでしょう？ということであれば、&lt;strong&gt;結局外付けSSD運用になるような気もする&lt;/strong&gt;。速度は内蔵より多少落ちるものの十分だし。安定性についても、外付けSSDを起動ドライブにして1年以上経過するが、特に問題なく使えている。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/mac-mini-2018-ssd-3weeks/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;Mac mini 2018の起動ディスクを外付けSSDにしてから3週間&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/mac-mini-2018-ssd-3weeks/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2023/09/2023-09-11-02.16.56-2-3-scaled.webp" alt="Mac mini 2018の起動ディスクを外付けSSDにしてから3週間" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;この記事は2018時代のものだが、その後M2 Proになってからも同じ外付けSSDを使い回して起動ディスクにしている。&lt;/p&gt;&#10;&lt;p&gt;あと地味なところだが、Mac miniは256GBストレージはチップ1枚でスペックがショボい（遅い）ということで有名だったが、今回はちゃんとチップ2枚に戻っており、早くなっているという話だ（参考「&lt;a class="link" href="https://www.macrumors.com/2024/11/08/m4-mac-mini-modular-storage/" target="_blank" rel="noopener"&#10; &gt;New Mac Mini Has Modular Storage, 256GB Model Will Have Faster SSD - MacRumors&lt;/a&gt;」）。ただそもそもデスクトップのストレージが256GBというのは2024年において人権を侵害していることは指摘しておきたい。&lt;/p&gt;&#10;&lt;h2 id="くやしいでも"&gt;くやしい、でも……&#10;&lt;/h2&gt;&lt;p&gt;総じて、&lt;strong&gt;今回のM4 Mac miniについては「買い」の一言だと思った&lt;/strong&gt;。もし僕が未だIntel Mac mini 2018をメインに据えていたら、整備済みを待つなどとせず即日ポチった可能性が高い。思えばMac mini 2018の時もそうだった。&lt;/p&gt;&#10;&lt;p&gt;とはいえM2 Pro Mac miniも十分な性能だし、現状何も困っていないので、買い換えるということはない。&lt;strong&gt;圧倒的なスペック差の前に「ぐぬぬ……」と思う気持ちはあれど、「やったぜ」という気持ちもある&lt;/strong&gt;。これだからAppleは油断ならないんだよなぁ。なんだかんだ言われているけれど、Appleにはやっぱり期待したいんだ。&lt;/p&gt;&#10;&lt;p&gt;でも&lt;strong&gt;もう少しお安くなりませんかねぇ……&lt;/strong&gt; 。10年代前半Sandy時代のことが忘れられないよぉ……。&lt;/p&gt;&#10;</description></item><item><title>DockerのMariaDBコンテナが起動失敗すると思ったら /etc/hosts が60GBで100% usage だった</title><link>https://hack-le.com/docker-etc-hosts-full/</link><pubDate>Thu, 07 Nov 2024 08:00:00 +0900</pubDate><guid>https://hack-le.com/docker-etc-hosts-full/</guid><description>&lt;p&gt;表題のとおりなのだが、MariaDBコンテナが突然起動に失敗するようになり、永遠に再起動をしていた。で、ログを見るとどうも容量不足っぽかった。……え？&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# df -h&#9; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem Size Used Avail Use% Mounted on&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;overlay 59G 56G 704K 100% /&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tmpfs 64M 0 64M 0% /dev&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;shm 64M 0 64M 0% /dev/shm&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/vda1 59G 56G 704K 100% /etc/hosts&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tmpfs 12G 0 12G 0% /proc/acpi&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tmpfs 12G 0 12G 0% /sys/firmware&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;？？？🤔&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Intel Mac mini 2018&lt;/li&gt;&#10;&lt;li&gt;macOS 14.6.1&lt;/li&gt;&#10;&lt;li&gt;Docker Desktop 4.35.1&lt;/li&gt;&#10;&lt;li&gt;WordPressのコンテナをたてていた&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;本質ではないが &lt;code&gt;docker-compose.yml&lt;/code&gt; は以下。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-dockerfile" data-lang="dockerfile"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;services:&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--- 省略 ---&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; db:&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; image: mariadb:latest&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; environment:&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; MYSQL_ROOT_PASSWORD: &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;MYSQL_ROOT_PASSWORD&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; MYSQL_DATABASE: &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;MYSQL_DATABASE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; MYSQL_USER: &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;MYSQL_USER&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; MYSQL_PASSWORD: &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;MYSQL_PASSWORD&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; volumes:&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - db_data:/var/lib/mysql&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; restart: always&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---省略 ---&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;volumes:&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; wordpress_data:&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; db_data:&lt;span class="err"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="症状"&gt;症状&#10;&lt;/h2&gt;&lt;p&gt;MariaDBコンテナが永遠に再起動する。&lt;/p&gt;&#10;&lt;p&gt;ログがかろうじて取れた。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-plaintext" data-lang="plaintext"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2024-11-03 22:17:59 2024-11-03 13:17:59 0 [ERROR] InnoDB: preallocating 12582912 bytes for file ./ibtmp1 failed with error 28&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2024-11-03 22:17:59 2024-11-03 13:17:59 0 [ERROR] InnoDB: Could not set the file size of &amp;#39;./ibtmp1&amp;#39;. Probably out of disk space&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2024-11-03 22:17:59 2024-11-03 13:17:59 0 [ERROR] InnoDB: Unable to create the shared innodb_temporary&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2024-11-03 22:17:59 2024-11-03 13:17:59 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;なんか &lt;code&gt;out of disk space&lt;/code&gt; とか言ってる。んなアホな。&lt;/p&gt;&#10;&lt;h2 id="原因"&gt;原因&#10;&lt;/h2&gt;&lt;p&gt;デバッグ用のコンテナを作成して調べた。デバッグ用コンテナの作り方は以下の記事を参照。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/docker-mongodb-restart/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;DockerでMongoDBのコンテナが永遠に再起動する時の対応&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/docker-mongodb-restart/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_16151_1789090846.webp" alt="DockerでMongoDBのコンテナが永遠に再起動する時の対応" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;結果は以下。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# df -h&#9; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem Size Used Avail Use% Mounted on&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;overlay 59G 56G 704K 100% /&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tmpfs 64M 0 64M 0% /dev&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;shm 64M 0 64M 0% /dev/shm&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/dev/vda1 59G 56G 704K 100% /etc/hosts&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tmpfs 12G 0 12G 0% /proc/acpi&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tmpfs 12G 0 12G 0% /sys/firmware&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;/&lt;/code&gt;と &lt;code&gt;/etc/hosts&lt;/code&gt;が100%。そんなわけないよな。&lt;/p&gt;&#10;&lt;p&gt;ChatGPTに聞くとかなり意味不明かつ支離滅裂で頼りにならなかった。実際滅茶苦茶なことを言っているということだけはわかったが、僕の圧倒的な知識不足のために詰めることができない……。でもとりあえず &lt;code&gt;/etc/hosts&lt;/code&gt;が56GBは異常なのは確かだ。&lt;/p&gt;&#10;&lt;p&gt;操作して怪しかったのは以下。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Docker DesktopのVMにシェルでアクセス&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -it --privileged --pid=host justincormack/nsenter1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;入ったらoverlay2の容量を確認する。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;du -sh /var/lib/docker/overlay2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これが45GBほどあって、どうにも怪しい。&lt;/p&gt;&#10;&lt;h2 id="対応"&gt;対応&#10;&lt;/h2&gt;&lt;p&gt;ランボー怒りの &lt;code&gt;docker system prune -a&lt;/code&gt;で解決。&lt;/p&gt;&#10;&lt;p&gt;いや……うん……。&lt;/p&gt;&#10;&lt;p&gt;ChatGPTとは色々押し問答したがDocker全部消せばいいじゃないですか？ぐらいの提案をカジュアルにしてきてつらい。ChatGPTマジで &lt;code&gt;sudo rm -rf /&lt;/code&gt;みたいなこと平気で言ってくるのはなんなの？&lt;/p&gt;&#10;&lt;p&gt;まぁでも結局 &lt;code&gt;docker system prune -a&lt;/code&gt; ですわ。これを実行したところ、 &lt;code&gt;overlay2&lt;/code&gt;の容量は1.2GBまで削減。MariaDBコンテナの &lt;code&gt;/&lt;/code&gt;も18GB程度におさまり、無事起動するようになった。&lt;/p&gt;&#10;&lt;h2 id="所感-何がなんだかわかってない"&gt;所感: 何がなんだかわかってない&#10;&lt;/h2&gt;&lt;p&gt;Docker、しかもMac版のDocker Desktopについてわかってないとダメっぽいように思った。ChatGPTに説明させてみたけど、「絶対違う」という感じ。コッチが知らないと思って適当に言ってるように思う。ぐぬぬ……。&lt;/p&gt;&#10;&lt;p&gt;まぁ勉強するとして、とりあえず対応のみ備忘録。&lt;/p&gt;&#10;</description></item><item><title>Dockerコンテナ内からLAN内のマシンにアクセスできなかったので、network再作成した</title><link>https://hack-le.com/docker-lan-netwoork/</link><pubDate>Wed, 25 Sep 2024 01:01:56 +0900</pubDate><guid>https://hack-le.com/docker-lan-netwoork/</guid><description>&lt;p&gt;どういうわけか、家のIntel Mac mini 2018のDockerコンテナで、LAN内の他マシンにアクセスできない状態になっていた。原因について色々調べていたけれど結局わからず、最終的にnetwork全部削除して再作成という力業をしたという話。&lt;/p&gt;&#10;&lt;h2 id="症状"&gt;症状&#10;&lt;/h2&gt;&lt;p&gt;Intel Mac mini 2018 + Docker Desktopで管理しているコンテナから、LAN内の他マシンに一切アクセスできない。インターネットには繋がる。LANだけいかない。具体的にはpingが通らない。IPアドレス指定してもダメ。ただしルータには届く。host.docker.internalでホストマシンに接続もできる。また、外部からのアクセスは通る。&lt;/p&gt;&#10;&lt;p&gt;まったく同じDockerfileを食わせた他のMacでは、AppleSiliconなやつでもIntelなやつでも、問題なくコンテナ内から他サーバと通信できる。&lt;/p&gt;&#10;&lt;p&gt;……色々調べたが、原因はわからなかった。お手上げ。明らかにおまかんで、なにか衝突していそうな気もしたが、Docker不勉強過ぎてわからない。Docker全部消せばなおるんだろうなという気はしたが、さすがにそれは……。&lt;/p&gt;&#10;&lt;h2 id="対応"&gt;対応&#10;&lt;/h2&gt;&lt;p&gt;全部消すくらいなら、networkの再作成だけやるほうがマシだろう。神に縋る気持ちで以下を実行した。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker stop $(docker ps -aq)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker network prune&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これは危険性のあるコマンドで、今あるDockerのネットワークが全部消えてしまう。&lt;/p&gt;&#10;&lt;p&gt;自分の場合は、すべてdocker composeでコンテナを作成していたので、いったんそれらのコンテナを全部 &lt;code&gt;docker compose down&lt;/code&gt;で消したうえで、再度 &lt;code&gt;docker compose up -d&lt;/code&gt;で再作成することになった。&lt;/p&gt;&#10;&lt;p&gt;結果、LAN内のPCにアクセスできるようになった。Docker Desktop自体はだいぶ前から入れていて、わけもわからないままにチュートリアルのコマンドなど散々うってきたので、環境がぶっ壊れていたのだろうか。うーん、マジでなんだったんだろう……。&lt;/p&gt;&#10;</description></item><item><title>Dockerコンテナサーバー機として余生を生きるIntel Mac mini 2018</title><link>https://hack-le.com/docker%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A9%9F%E3%81%A8%E3%81%97%E3%81%A6%E4%BD%99%E7%94%9F%E3%82%92%E7%94%9F%E3%81%8D%E3%82%8Bintel-mac-mini-2018/</link><pubDate>Thu, 19 Sep 2024 11:46:31 +0900</pubDate><guid>https://hack-le.com/docker%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A9%9F%E3%81%A8%E3%81%97%E3%81%A6%E4%BD%99%E7%94%9F%E3%82%92%E7%94%9F%E3%81%8D%E3%82%8Bintel-mac-mini-2018/</guid><description>&lt;p&gt;衝動買いに近い形でM2 Pro Mac miniを買ってしまってからぼちぼち10か月くらいたつが（はやい）、それまで使っていたIntel Mac mini 2018でも不便があったわけではなかった。というか使えば今も十分使えると思う。&lt;/p&gt;&#10;&lt;p&gt;なんだけれど、まぁ買ってしまったので仕方ないね。そしてIntel Mac mini 2018はどうしようかなと思っていたのだが、なんだかんだでDockerのコンテナサーバとして余生を過ごしている。&lt;strong&gt;余生というかバリバリ現役感が&lt;/strong&gt;ある。&lt;/p&gt;&#10;&lt;h2 id="このスペックのvpsは借りられない"&gt;このスペックのVPSは借りられない&#10;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Mac mini 2018をサーバとして使うと何が良いかといえば、CPU 6コア、32GB RAM（家に64GB RAMもあるので交換可能……めんどくさいからしてない笑）、500GBストレージ、さらにUSBありというVPSでは非常に厳しい機能を実現できる&lt;/strong&gt;ことだね。まぁもちろん停電で落ちるし、なによりJ:COMのうちのネットワーク帯域はうんちっちなので、まともなサーバ環境とは言い難いけれど、別にそんなまともなサーバ環境が必要なものばかりでもないしさ。NASなんて外からのアクセスたまにできたらいい程度だし。以前だとインターネット公開は何かと面倒だったけれど、最近はCloudflare Tunnelとかいう神サービスもあるので、お手軽に自分専用のサーバをたてられるようになった。&lt;/p&gt;&#10;&lt;p&gt;カジュアルにElasticsearchなどスペックが必要なサーバをやれるのはとても良いよ。おかげで重ための開発中Webアプリを気軽にホスティングして試せるし（localhostじゃイヤだい）、出来合いのツールだとGrowiとかWordPressとかスナック菓子感覚でたてられて楽しい。全文検索API作りたいなぁ、クラウドだとたっかいから二の足踏んでたけどセルフホスティングならやってもいいね。Grafanaも個人でやれる。AIもグラボで動かせるやつなら電気代の範囲でできる。ネットワーク環境が光回線ならMisskeyサーバたててもいいなぁ。なんだかんだでサーバは楽しいよ。&lt;/p&gt;&#10;&lt;p&gt;以前（9年ほど前……）自宅サーバは浪漫枠なんて記事を書いたけれど、&lt;strong&gt;再び自宅サーバの時代がきた&lt;/strong&gt;のだ。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/45948138-2/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;自宅サーバーは浪漫枠&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/45948138-2/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_2738_1789453565.webp" alt="自宅サーバーは浪漫枠" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;まぁさすがに全体公開を想定したWebサイトはVPS借りたほうがいいと思うけど。なんかあったらプロバイダに怒られそうだしさ。怒られた。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/dropbox-jcom/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;DropboxでバックアップしてたらJ:COMから帯域制限の警告が配達証明できたよ&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/dropbox-jcom/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2024/09/4038cb102a20229a20a744cda36786cf.png" alt="DropboxでバックアップしてたらJ:COMから帯域制限の警告が配達証明できたよ" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;まぁこれはサーバじゃ無くてDropbox経由のバックアップで怒られたんだけどね（J:COMのしょっぱい上り回線でパブリックに向けた何かをしようとはそもそも思わない）。J:COMは上り回線30GB/日までらしいよー。&lt;/p&gt;&#10;&lt;p&gt;光回線だったらそこまで神経質にならないでいいと思うけど、基本的には「通信帯域はあんまりいらないんだけど、スペック・物理的な拡張性がいる」みたいなのが向いてるね。まぁ全体公開用のWebサーバは大人しくVPSにしとこ。&lt;/p&gt;&#10;&lt;h2 id="静かで小さい"&gt;静かで小さい&#10;&lt;/h2&gt;&lt;p&gt;ただMacである必要はないどころか、むしろDockerメインならMacじゃないほうがよくねと言われると「ぐぬぬ」ではある。でもそうだなぁ、&lt;strong&gt;Mac miniほど小型で静音性の高いデスクトップPC&lt;/strong&gt;となると中々ないんじゃないかな。実際Mac miniのいいところって静音性だと思うし。時々熱くてうるさいけどね。熱いのはいつもか。かれこれ5年以上使ってるけど、よくもってるな。僕の愛が伝わっている（なんか言ってる）。&lt;/p&gt;&#10;&lt;p&gt;HWとは別にSWとしてmacOSのいいところと言われると……画面共有できるのは地味に便利かな……。TimeMachineはもはや使わないし。&lt;/p&gt;&#10;&lt;p&gt;まぁ……総合的に見たらLinuxのほうがいいのはそりゃそう。でもま……ありものを有効に使おうぜってことだから。コイツは去年までうちのメインデスクトップとして頑張ってたんだからよぉ、これでいいんだよ。&lt;/p&gt;&#10;&lt;h2 id="バリバリ現役"&gt;バリバリ現役&#10;&lt;/h2&gt;&lt;p&gt;ということで余生と書いたけど、実はバリバリ現役なんだよ。壊れたら困るなーって思うもの。多分壊れたら、しばらくはメインデスクトップに環境移すとしても（それがすぐできるのも素晴らしいよね）、なんか自作PC組むか中古のPC買うと思う。うーん、それは困るな、出費がかさむ。&lt;/p&gt;&#10;&lt;p&gt;あと10年もってくれ頼むよー。&lt;/p&gt;&#10;</description></item><item><title>M3 Mac miniは出ないかもしれないらしい</title><link>https://hack-le.com/m3-mac-mini-skip/</link><pubDate>Tue, 30 Apr 2024 02:35:41 +0900</pubDate><guid>https://hack-le.com/m3-mac-mini-skip/</guid><description>&lt;p&gt;我慢出来ずにM2 Pro Mac miniを衝動買いした僕に配慮して、AppleはM3のMac miniをスキップする可能性があるらしい。すまん、僕がM2 Pro Mac miniを買ったばかりに……。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://ascii.jp/elem/000/004/195/4195431/" target="_blank" rel="noopener"&#10; &gt;ASCII.jp：アップル新型「Mac mini」M4チップ搭載で2024年末発売か&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;まぁM3微妙だったのでいいかもしれないんだが、問題はM4で本当に出るんだろうな、ということだろうか（10年代のMac mini冷遇のトラウマ）。&lt;/p&gt;&#10;&lt;h2 id="m3は微妙だったので"&gt;M3は微妙だったので&#10;&lt;/h2&gt;&lt;p&gt;僕がM2 Pro Mac miniを購入したのは昨年の10月末で、M3を搭載したMacBook Proが発売されるほんの2,3日前のことだった。整備済み製品でCPUとメモリを盛ったM2 Pro Mac miniが出ているのを見て、衝動買いしてしまった。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m3-mac-m2-pro-mac-mini/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M2 Pro Mac Miniをポチった&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m3-mac-m2-pro-mac-mini/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_12198_1789621271.webp" alt="M2 Pro Mac Miniをポチった" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;愚かなことに、この時点でM3のMBPが発売されるとまことしやかに噂されていたことを知らなかった。ホクホクして記事を書いて公開したら、速攻でM3 MBP発売がTwitterのタイムラインに出てきて泡吹いた。まぁでもポチったものは仕方ないのでシコシコとセットアップをしていた。楽しかった。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m3-night-m2/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M3前夜（？）にM2 Pro Mac miniをいじる&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m3-night-m2/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_12857_1789621235.webp" alt="M3前夜（？）にM2 Pro Mac miniをいじる" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;ただ、その後M3 MBPの情報が出揃ったのを見て、色々と検討したところ、思っていたよりもかなり微妙な代物だったので、結論としてはM2 Pro Mac mini 整備済み製品の購入は悪くない選択であった。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m2-pro-mac-mini-3-m3/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M2 Pro Mac mini 買ってから3ヶ月の使用感 M3待つよりM2の整備済みで良いかもね（特にPro狙いは）&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m2-pro-mac-mini-3-m3/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2024/02/883b0dac14f1f48262c115bced2e3b2a.webp" alt="M2 Pro Mac mini 買ってから3ヶ月の使用感 M3待つよりM2の整備済みで良いかもね（特にPro狙いは）" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;円安を続いているし、M3のMac mini待つくらいならさっさとM2の整備済み製品買っちゃえば？というのが僕の個人的な考えであった。&lt;/p&gt;&#10;&lt;h2 id="最近のmac-mini事情は悪くなかったが"&gt;最近のMac mini事情は悪くなかったが&#10;&lt;/h2&gt;&lt;p&gt;そんなわけだからM3のMac miniは出ないかもという記事を見たときにも、まぁ別にいいんじゃないの、とは思った。特にM3 ProはM2 Proと比較したとき限定的なアップグレード、っていうか一部スペックダウンしているところさえあったので、昨今の為替事情を思えば、たとえM3が出たとしても、整備済み製品でも良ければM2を選択するのも実際ありえそうな感じだ。&lt;/p&gt;&#10;&lt;p&gt;とはいえ、一抹の不安がよぎるのは、「M4は出るんだろうな？」ということだ。Mac miniを10年以上愛好している人であれば、Mac mini 2012の後に続いた長い長い冬の時代を忘れてはいないだろう。実質スペックダウンで拡張性まで落ちたMac mini 2014だけでギルティなのに、さらにそのまま数年にわたり放置。というかデスクトップMacが全体的につらい状態で、一番つらかったのはMac Proユーザであろう。クックが絶対興味ない癖にリップサービスを年一くらいでするだけの状態だった。僕がクック好きじゃないのは、当時の記憶のせいだろうな。あの頃は「もういっそディスコンしてくれ」くらい追い詰められていたぞ僕。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/desktopmac/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;2017年もMac miniの新型出なかったらどうしようかどうしようもない&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/desktopmac/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_4766_1789570501.webp" alt="2017年もMac miniの新型出なかったらどうしようかどうしようもない" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;しかし冬の時代を超えた後にMacは大きく飛躍した。Mac mini 2018は素晴らしかったしメモリの拡張性まで復活したのは想像以上だった。その後のAppleSiliconは業界に激震を走らせた。長らく停滞していたMacが急激に進化を遂げたのは感動ものである。これ絶対Appleの中で何かあったやろ。&lt;/p&gt;&#10;&lt;p&gt;その後、Mac miniはMac Studioとセットになって小型デスクトップ業界の大正義となって君臨し、コンスタントにアップグレードされ続けた。GPUまで考えると必ずしもコスパがいいとは言いづらいんだが、そのコンパクトさと静音性は何物にも代えがたいので、ガチめのGPUがほしいとかでなければ、この価格帯ではアリである（高いには違いないが……）。ただUltra以上になってくると、高い高いと言われるっていうか実際クソたけぇんだよNVIDIAおいのGPUをさらに上回る石油王価格になってしまうため、だいぶ厳しいんじゃなかろうか。実際長年のMac Proユーザだったが音を上げてWindowsにいった人もいたようだ。&lt;/p&gt;&#10;&lt;p&gt;閑話休題。まぁとにかくここ数年のMac miniは中々よかったし、またMacを重視してくれているように見えるのだが、M3が期待を下回っていてかつ、新型アップグレードもスキップと言われると、ちょっと不安な感じもしてくる。また冬にならないだろうか、とか。&lt;/p&gt;&#10;&lt;h2 id="なんでもいいから出してくれ"&gt;なんでもいいから出してくれ&#10;&lt;/h2&gt;&lt;p&gt;生成AIの時代が来て、特にローカルAIではスペックが非常に重要になっているため、Appleのハード屋という立ち位置は美味しいと思うんだが、Apple自体があんまりAIに乗り気に見えないんだよな。なんかApple Car諦めてAIに注力するのだろうみたいな記事をどっかで見たが、そもそも好きじゃなさそうなんだよなぁ。でもそれだったら変にサービスやろうとしないでハード屋に徹すればええやんとも思うし。といってもソフトまで揃わないと如何ともし難いか……。&lt;/p&gt;&#10;&lt;p&gt;とはいえ、Appleはけっこうダークホースだと思っているので、頑張ってほしいんだよなぁ。とりあえず何でもいいからM4 Mac miniは出してくれ。さすがにポチらないが2世代スキップされるとだいぶ不安になる。&lt;/p&gt;&#10;</description></item><item><title>M2 Pro Mac mini 買ってから3ヶ月の使用感 M3待つよりM2の整備済みで良いかもね（特にPro狙いは）</title><link>https://hack-le.com/m2-pro-mac-mini-3-m3/</link><pubDate>Sun, 18 Feb 2024 23:07:41 +0900</pubDate><guid>https://hack-le.com/m2-pro-mac-mini-3-m3/</guid><description>&lt;p&gt;M2 Pro Mac miniを使い始めて3ヶ月が経過した。早いものだ。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m3-mac-m2-pro-mac-mini/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M2 Pro Mac Miniをポチった&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m3-mac-m2-pro-mac-mini/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_12198_1789621271.webp" alt="M2 Pro Mac Miniをポチった" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;数ヶ月以上にわたり散々腐し続けて起きながら突然のMac購入に自分でも「めちゃくちゃやな」と思いつつ知ったことかとPC新調の小躍りをしていたところ、直後にM3 Pro MacBook Proが発表されて派手に転げ回ったわけだが、蓋を開けてみればM3 ProはM2 Proと比べてお値段ほどのパワーアップはしておらず、よかったのか悪かったのか。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m3-m2-pro-mac-mini/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M3発表後にM2 Pro Mac mini 整備済み製品はお得といえるのかどうか&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m3-m2-pro-mac-mini/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_12980_1789621199.webp" alt="M3発表後にM2 Pro Mac mini 整備済み製品はお得といえるのかどうか" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;なんにせよ、M2 Pro Mac miniは今なお悪くないものだと言える。衝動買いに近かったが、この買い物にはかなり満足している。&lt;/p&gt;&#10;&lt;h2 id="すべてがよくなった"&gt;すべてがよくなった&#10;&lt;/h2&gt;&lt;p&gt;僕のMac mini遍歴は 2012 -&amp;gt; 2018 -&amp;gt; M2 Pro(2023) となっており、これで3台目となる。思えば僕がMacにハマったのはMac mini 2012が名機だったからというのはあると思う。2014だったらハマらなかった可能性あるかもしれん。僕のクックに対する評価が低いのは、2013年から数年におよんだMac冬の時代のせい。まぁこのへんは当時Intelが徹底的に舐めプしていたせいでもある（Intelを叩き起こしたという点においてもRyzenの功績は大きいよなぁ）。&lt;/p&gt;&#10;&lt;p&gt;冬の時代を越して出されたIntel Mac mini 2018は、2012に負けず劣らずの名機だった。十分満足度が高く、別に買い換えなくてもいいくらいではあったのだが、いざ新調してみると、全体的に少しずつ体験が向上しているのを感じており、なんだかんだで悪くない気分である。すべての動作が少し速い。また、&lt;strong&gt;画像のアップスケールなどIntel Macではパワー不足が否めなかった処理については、格段に早くなったのを感じ&lt;/strong&gt;る。そもそもIntel Macでは対応していなかったアプリも使える。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;端的に言うと、すべてがよくなった&lt;/strong&gt;。まぁ強いて言えば、2018でメモリ64GBまで増設していた場合は、少しばかり不満があるかもしれないが、実際のところ多くの場合Mac miniのメモリ64GBは実用というよりそれ自体が自己目的化した趣味的なものなので、それで困るということはあまりないだろう。それよりも大幅にパワーアップしたプロセッサの恩恵のほうがはるかに大きい。&lt;/p&gt;&#10;&lt;h2 id="aiもできる"&gt;AIもできる&#10;&lt;/h2&gt;&lt;p&gt;Intel Macでは使えないAI系のアプリもM2 Pro Mac miniではいくらか使える。最近は画像系や音声系など色々なアプリが出ているので、それらを楽しめるのはとても良いことだ。&lt;/p&gt;&#10;&lt;p&gt;一番大きいのは汎用系生成AIの真打ちとも囁かれるLlama2だろう。Metalに対応した形で使えて、速度もそこそこ出た。OpenAIのAPIに金を払うよりは安上がり……と言えるかどうかはわからないけれどねぇ。対話用途ではChatGPTと比べるべくもないが、APIのユースケースだと活路があるように思う。というか、個人的には一つ考えている用途があって、是非サービスに繋げたいなぁとか考えていたりなんだりする。&lt;/p&gt;&#10;&lt;h2 id="m3-proと比較しても悪くない"&gt;M3 Proと比較しても悪くない&#10;&lt;/h2&gt;&lt;p&gt;M3 Proが出たのは想定外ではあった。なんという情弱であろうか。僕が欲しいのはMac miniであってMacBook Proではないが、M3 Pro MacBook Proが出たならば、M3 Pro Mac miniも思っていたより早く登場することになりそうだ。そうはいっても数ヶ月は待つことになるだろうが。&lt;/p&gt;&#10;&lt;p&gt;しかし、どういうわけなのか、&lt;strong&gt;無印やMaxが順当に進化しているのに対し、ProについてはM2からM3への進化は限定的のようだ&lt;/strong&gt;。少なくとも価格差に見合うものとは言い難い。いやそれはだいたい円安のせいなのだけれど、それにしたって、整備済み製品でもよければM2 Proのほうが価格は相当抑えられるわけで、これくらいなら今でもM2 Pro Mac mini、全然買えるなと思ってしまった。買ったそばから価格据え置きで大幅パワーアップの新型が出ても悔しいが、新型があまり代わり映えしないのも、寂しいものである。&lt;/p&gt;&#10;&lt;p&gt;整備済み製品が出るたびに、買う予定もないのに価格をチェックして本当かお得かしばらく考えるという不治の病におかされているため、今もTwitterで整備済み製品の入荷情報が入ってきては、「お得チェック」をするわけだが、M2 Pro Mac miniは今なお良いお買い物だと言える。無印については、M3無印が順当進化なので待った方がいいかもしれないのだが、しかしM3無印 MBPの価格設定を見ると、コストパフォーマンスに不安も残るので、M2 Mac miniも24GB RAMのやつなど狙ってみてもいいかもしれない。&lt;/p&gt;&#10;&lt;p&gt;まぁそもそも出るのかどうかもわからない。10年代などは、2012モデルから2年後の2014はまさかのスペックダウン、さらにそれから4年放置されている。今のまままたしばらく放置される可能性は常にある。&lt;/p&gt;&#10;&lt;p&gt;ということで、円安が進んでいることや、M2とM3のスペック差が言うほどでもないこと、特にProに至っては部分的には下がっている面もあるなど考えると、整備済み製品の狙い撃ちは今なお良い選択肢と言えるのではなかろうか。&lt;/p&gt;&#10;</description></item><item><title>M3発表後にM2 Pro Mac mini 整備済み製品はお得といえるのかどうか</title><link>https://hack-le.com/m3-m2-pro-mac-mini/</link><pubDate>Thu, 02 Nov 2023 13:18:52 +0900</pubDate><guid>https://hack-le.com/m3-m2-pro-mac-mini/</guid><description>&lt;p&gt;M3 Pro発表前夜にウキウキでM2 Pro Mac miniを購入してキャッキャしていた愚か者が私です。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m3-mac-m2-pro-mac-mini/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M2 Pro Mac Miniをポチった&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m3-mac-m2-pro-mac-mini/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_12198_1789621271.webp" alt="M2 Pro Mac Miniをポチった" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;知っててポチったならともかく、何も知らずにポチったので阿呆なのです。そういえばTwitterでそれっぽいこと呟いている人いたなぁと後で思いました。最近私のタイムラインちょっと整理されすぎて技術的な話をする人がだいぶ減ってしまっている模様。ちょっとフォローする人を考え直さないと……。&lt;/p&gt;&#10;&lt;p&gt;まぁそれはともかくとして、ポチってしまった以上後はお楽しむしかないわけですが、それにしても、いったい僕の買い物はお得だったのかどうか、それについては結論を出す必要がある。あるんだ。&lt;/p&gt;&#10;&lt;h2 id="比較"&gt;比較&#10;&lt;/h2&gt;&lt;p&gt;まず買ったものは、M2 Pro Mac miniのプロセッサとRAMを盛ったものだ。これについて比較するため、M3 Pro MacBookProのつるしもかいておこう。恐らくここから10万円ほど差っ引いたものがM3 Pro Mac miniのつるしになると期待されるからだ。&lt;/p&gt;&#10;&lt;h3 id="比較表"&gt;比較表&#10;&lt;/h3&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;項目&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;M2 Pro Mac mini(盛り)&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;M3 Pro MBP(つるし)&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;大本営発表&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CPU&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;12コア (性能:効率=8:4) / 下位版は 10コア&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;11コア (5:6) / 上位版は 12コア&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;高効率コア: +30% / 高性能コア: +15%&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GPU&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;19コア / 下位版は 16コア&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;14コア / 上位版は18コア&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ハードウェアうんたら&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;NE&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;16コア&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;16コア&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;+15%&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;メモリ&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;32GB&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;18GB / 盛れば36GB&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;18GBの違和感がすごい&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;メモリ帯域幅&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;200GB/s&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;150GB/s&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;まさかのダウングレード&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ストレージ&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;512GB&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;512GB&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;-&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;価格&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;282,800円&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;328,000円&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MBPは+4万円。円安よぉ……&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;整備済み&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;221,800円&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;?&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;?&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="cpugpune"&gt;CPU/GPU/NE&#10;&lt;/h3&gt;&lt;p&gt;この表をまとめて思ったことは、「言うほどアップグレードしてないのでは？🤔」ということだ。いや、確かに僕はM2 Proをポチってしまった身である以上、心情としてM3 Proで大幅パワーアップは悔しいという気持ちはあるが、実際この表見るとさぁ……。いや、&lt;strong&gt;コア数増えてないどころか減ってるし&lt;/strong&gt;。コア性能はアップしていると言ってもだよ。つるしだったらM2 ProのCPUは10コアなので増えてるように見えるが、&lt;strong&gt;高性能コアが減っている&lt;/strong&gt;。うーんこれは罠。省電力化には寄与するだろうが、Mac miniだとそれはおいしくない。おいしくないというか、悲しい。ベンチが待たれるが、M2 Pro上位はM3 Proより強いのではないだろうか。&lt;/p&gt;&#10;&lt;p&gt;参考。無印はコア数変わらないだけに純粋に強くなってるっぽい。 &lt;a class="link" href="https://gigazine.net/news/20231102-apple-m3-chip-geekbench-brower/" target="_blank" rel="noopener"&#10; &gt;Apple「M3」チップのベンチマーク結果が続々投稿されM2チップとの性能比が最大20％に上ることが明らかに - GIGAZINE&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;GPUについてはAppleの公式サイトではハードウェアアクセラレーテッドによるレイトレーシング対応としか触れられていない。ゲームユーザの少ないMacだとあまりおいしくなさそう。っていうか僕Macでゲームしないし。&lt;/p&gt;&#10;&lt;p&gt;NEはコア数そのままで性能が上がっているようなので、これは順当に進化している感じ。ただ昨今のAI事情とAppleと他者の差を考えると、微妙といえば微妙。M1-&amp;gt;M2の40%くらいの進化が欲しかった。&lt;/p&gt;&#10;&lt;p&gt;ワットパフォーマンスの改善についてはMac mini目線故ノーコメントで。まぁラップトップならいいとは思う。&lt;/p&gt;&#10;&lt;h3 id="メモリ"&gt;メモリ&#10;&lt;/h3&gt;&lt;p&gt;メモリ容量が地味にパワーアップしている。18GBから36GB。……6の倍数……？🤔&lt;/p&gt;&#10;&lt;p&gt;違和感が凄い。&lt;/p&gt;&#10;&lt;p&gt;まぁもちろん容量が増えるのは歓迎なんだけれど、微妙なところである。18GBでは足りないからどうせ36GBに上げると思うけれど、32GBと36GBは恐らく体感的に変わらないんだよねぇ。つるしが24GBあったら盛らないという選択肢もあったんだけど……そうしたらかなり違ったと思う。&lt;/p&gt;&#10;&lt;p&gt;そしてメモリの帯域幅が地味に落とされている。うーん。まぁでもこれもやっぱり体感には繋がらないかなとは思う。思うけどさぁ……。&lt;/p&gt;&#10;&lt;p&gt;あと今回の比較対象ではないけれど、無印M3 MBPのメモリが8GBなのは何かの条約に違反しているのではないか。25万するマシンのメモリが8GBで増設不可ってMBP 2013の間違いかな？&lt;/p&gt;&#10;&lt;h3 id="価格と為替事情"&gt;価格と為替事情&#10;&lt;/h3&gt;&lt;p&gt;本国の価格は変わらず$2000のようだが、円安を反映してお値段もかなりアップグレードしている。為替は水物であるため、M3 Pro Mac miniが出たときにはまた変わるかもしれない。ただまぁ、昨今の情勢も踏まえると、Mac miniも同じような値上げ幅は覚悟しておいたほうがよいだろう。&lt;/p&gt;&#10;&lt;p&gt;為替による影響の重要な点は、「旧モデルが安くなっても相殺されうる」ということだ。つまり、M3 Pro Mac miniが出たらM2 Pro Mac miniは今より安くなることが期待されるが、為替のために結局変わらない、ということも十分にありえる（まぁ逆もありえるのだが……）。というか現状そういう現象は既に起きている。&lt;/p&gt;&#10;&lt;p&gt;僕がM3 Pro Mac miniを買うとしたらメモリだけ36GBに盛る（なんて違和感があるメモリサイズなんだ）と思うが、その場合は価格が28万くらいになりそうだ。そうすると、整備済み製品まで待った場合、今回と同じくらいの価格になることが期待されるわけだが、そうするとメモリが微妙に上がるものの、肝心のプロセッサ部分は微妙ということになる。&lt;/p&gt;&#10;&lt;h3 id="m3-proが出るまでの時間"&gt;M3 Proが出るまでの時間&#10;&lt;/h3&gt;&lt;p&gt;さて、今回まさかのM3 Pro MBPの発表であったが、M3 Pro Mac miniの発売までは時間があくだろう。さらに整備済み製品に並ぶまで待つぞなんて思った日には、やはり1年くらいは待つことになりそうである（1年後の為替はどうなっているんだろうか……）。時は金なり。今マシンがあることは1年後にマシンがあることよりも強い。&lt;/p&gt;&#10;&lt;h2 id="結論"&gt;結論&#10;&lt;/h2&gt;&lt;p&gt;以上のことから、&lt;strong&gt;M2 Pro Mac miniをM3前夜に買ってしまったことについては、「まぁ悪くない買い物だったか？🤔」というのが現時点における結論&lt;/strong&gt;だ。いや決して現実から目を逸らしているわけでは……。実際、たとえ今M2 Mac miniの整備済み製品が出たとしても、ポチるという行動を取ったような気がする。多分。多分ね。&lt;/p&gt;&#10;&lt;p&gt;詳細については各種ベンチマークが出るのを待つ必要があるのだが、スペックシートを覆すようなことになるとは考えづらい。まぁ、実際のところM2と比べて大幅なパワーアップではないために、M2 Pro MBPについては1年も待たずに新型発表でもいいだろ、ということになったのかもしれない。まぁM2 Proを出すのが遅すぎたっていうのはそうなんだろうね。&lt;/p&gt;&#10;&lt;p&gt;しかし代わり映えしないのもそれはそれでどうなんだという気はしなくもない。M1が出たときの衝撃は凄まじかったが、各社のキャッチアップも凄まじく、今となってはMacのアドバンテージはmacOSであることでしかないし、これは人によっては別にアドバンテージでもない。なんならディスアドバンテージである。まぁ僕にとっては大きなアドバンテージなので、結局Macを使っているのだが……。&lt;/p&gt;&#10;&lt;p&gt;全体的にワットパフォーマンスを優先しているために地味な感じになっている気はする。まぁAppleも今になって急にこんな情勢が変わるとは思っていなかっただろう。だいたいAIのせいだからなぁ。AI向けと考えると微妙感否めないけれど、Appleも認識しているだろうし、M4くらいからはまた変わってくるかもしれない。&lt;/p&gt;&#10;&lt;h2 id="参考"&gt;参考&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://taisy0.com/2023/10/31/178936.html" target="_blank" rel="noopener"&#10; &gt;M3/M3 Pro/M3 Maxの各チップの仕様をM2シリーズと比較してみた ｰ M3 Maxは上位モデルと下位モデルでメモリ帯域幅に違いあり | 気になる、記になる…&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://www.apple.com/jp/newsroom/2023/10/apple-unveils-m3-m3-pro-and-m3-max-the-most-advanced-chips-for-a-personal-computer/" target="_blank" rel="noopener"&#10; &gt;Apple、パーソナルコンピュータ向けとして最も先進的なチップのM3、M3 Pro、M3 Maxを発表 - Apple (日本)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://iphone-mania.jp/news-558322/" target="_blank" rel="noopener"&#10; &gt;M3 Pro、全てがアップグレードなわけではない? - iPhone Mania&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://www.techno-edge.net/article/2023/11/01/2177.html" target="_blank" rel="noopener"&#10; &gt;M3 MacBook ProをM2搭載モデルと比較。見た目は同じ、中身はどこが違う？ | テクノエッジ TechnoEdge&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://gigazine.net/news/20231102-apple-m3-chip-geekbench-brower/" target="_blank" rel="noopener"&#10; &gt;Apple「M3」チップのベンチマーク結果が続々投稿されM2チップとの性能比が最大20％に上ることが明らかに - GIGAZINE&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a class="link" href="https://gigazine.net/news/20231031-apple-m3-pro-max/" target="_blank" rel="noopener"&#10; &gt;Appleが次世代Mシリーズの「M3」「M3 Pro」「M3 Max」を発表、Mac向けとしては初の3nmプロセスチップに - GIGAZINE&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item><item><title>M3前夜（？）にM2 Pro Mac miniをいじる</title><link>https://hack-le.com/m3-night-m2/</link><pubDate>Mon, 30 Oct 2023 03:21:37 +0900</pubDate><guid>https://hack-le.com/m3-night-m2/</guid><description>&lt;p&gt;M2 Pro Mac miniが届きました。土曜日に買って日曜日に届くのは嬉しい。セットアップできるから。まぁおかげで休日は潰れたけれど……いやむしろ正しい休日の使い方なんだろうか。&lt;/p&gt;&#10;&lt;h2 id="外付けssdが起動ディスク"&gt;外付けSSDが起動ディスク&#10;&lt;/h2&gt;&lt;p&gt;あれだけ腐していたMacをポチることになった主因は、真面目な話、外付けSSDを起動ディスクにする戦略がうまくワークすることがわかったからだ。さすがに512GBのストレージでゴチャゴチャやるのはもう嫌だった。かといって、AppleのSSDは阿呆ほど高い。メモリがCTO以外無理っていうだけでも酷いのに、これ以上SSDでも搾り取ろうってのか？という、反発心も大きかった。いや実際高すぎるよね。&lt;/p&gt;&#10;&lt;p&gt;まぁでも、昨今の値下がりしたSSDを起動ディスクにして、内蔵ストレージと遜色ないのであれば、それだけでだいぶ良いかなと思えるようになる。実際、ベンチを取ったが性能的にも問題なさそう。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/10/DiskSpeedTest-1.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;内蔵SSD&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/10/DiskSpeedTest.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;外付けSSD&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;Writeは内蔵のほうが早いかな。Readは遜色ない感じ。なんでちょっとWrite遅いんだろうなぁ。まぁ体感できる違いではないだろうし、いいけどね。やはりストレージは大容量に限る。ちなみに内蔵SSDを1TBにしていた場合、速度も倍になるらしいので、その場合はパフォーマンスにだいぶ違いが出ることになるのだが、やはり体感できる違いではなさそうに思える。&lt;/p&gt;&#10;&lt;h2 id="性能がわかるのはこれから"&gt;性能がわかるのはこれから&#10;&lt;/h2&gt;&lt;p&gt;ひとまずセットアップは8割方済んだ。Intel Mac mini 2018からどれくらい性能が向上しているかはこれから少しずつわかることになるだろう。現時点ではブラウザで40タブ一気に開いた時にカクつかなかったくらいしか見られていない（Intel Mac mini 2018では少しカクついていた）。あとメモリプレッシャーがかなり低いということか。とりあえず画像のアップスケーリングとか、AI使った補正なんかは爆速になることが期待される。&lt;/p&gt;&#10;&lt;h2 id="m3発表前夜なの"&gt;M3発表前夜なの？&#10;&lt;/h2&gt;&lt;p&gt;ところでポチった時には知らなかったのだが、なにげに月末、つまり明日の夜だが、Appleのイベントがあるらしい。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://iphone-mania.jp/news-558044/" target="_blank" rel="noopener"&#10; &gt;31日に発表される新型Macが最終予想！M3搭載Airが遅れる理由も解説 - iPhone Mania&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;そういえばTwitterでそんなようなことをツイートしていた人がいた気がする。マジか。もっとちゃんと騒いで。&lt;/p&gt;&#10;&lt;p&gt;しかも発表の予想には、M3 iMacのみならずM3 Pro MBPがある。ここでM3 Proが発表されると、割と最悪なタイミングでM2 Pro Mac miniをポチってしまった可能性も出てくるので、正直今となっては発表しないでほしい気持ちだ。&lt;/p&gt;&#10;&lt;p&gt;ただ、これまでの例を考えると、このタイミングでM3 Proが発表される、というのはにわかに信じがたい。&lt;strong&gt;M2 Pro発表されたの今年やで&lt;/strong&gt;。あと円安が続いているので、現在のレートが反映される場合、新型が発表されたとしてもM2が安くなるかはちょっと微妙だとも思う。&lt;/p&gt;&#10;&lt;p&gt;いずれにせよM3 Pro Mac miniが発表されるということはなさそうなのだが、若干のやっちまったか？感は正直ある。この情報を知っていたら果たしてポチっただろうか？&lt;/p&gt;&#10;&lt;p&gt;この疑問は微妙なところだ。前述したとおり、M3 Pro Mac miniの発売が後になるのはそうだろう。省電力の恩恵がさぽどないMac miniにおいては、性能アップも期待ほどではない可能性もある（&lt;a class="link" href="https://iphone-mania.jp/news-545592/" target="_blank" rel="noopener"&#10; &gt;M3/M3 MaxのGeekbench 6ベンチマークスコアを予測！〜今秋発表と噂 - iPhone Mania&lt;/a&gt;）。円安が続いていることから、価格改定があってもさほど安くならない可能性がある。&lt;/p&gt;&#10;&lt;p&gt;以上を踏まえたうえで、けっこうレアなRAMとプロセッサを持った整備済み製品に立ち会った時、たとえ翌々日に新型の発表があることを知っていたとしても、ポチった可能性はあるなぁ、と思う。なんか言い訳めいてるけど。まぁでも、M3の評価を見てから決めたかったのは確かだなぁ。&lt;/p&gt;&#10;&lt;p&gt;華々しい試算があるのも確かだし。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://iphone-mania.jp/news-530735/" target="_blank" rel="noopener"&#10; &gt;M3のベンチマーク予測〜シングルコアがM2 Max、マルチコアがM2 Pro超えか - iPhone Mania&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;さすがに無印M3がM2 MaxやProを超えるというのは眉唾だが。&lt;/p&gt;&#10;&lt;h2 id="m3-pro発表は信じがたい"&gt;M3 Pro発表は信じがたい&#10;&lt;/h2&gt;&lt;p&gt;ただ真面目な話、繰り返しになるが、そもそもM3 Pro MacBookProの発表というのは信じがたい。先にM3 MacBook Airでしょ。これについては、iPhone Maniaで以下のように解説されていた。&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;これまでは、M1やM2などベースとなるApple Mシリーズチップが発表された後、M1 ProやM2 Proなどの拡張版が発表されてきました。&lt;/p&gt;&#10;&lt;p&gt;M3シリーズではそれとは異なり同時発表となることについてガーマン記者は、そもそも、&lt;strong&gt;M2の発表が遅れた&lt;/strong&gt;のが原因と指摘しています。&lt;/p&gt;&#10;&lt;p&gt;そのため、&lt;strong&gt;M2搭載MacBook AirをM3に切り替えるには間隔が短すぎる&lt;/strong&gt;ことから、このタイミングでM3を搭載するのはM2を搭載していない24インチiMacだけとなるようです。&lt;/p&gt;&#10;&lt;p&gt;— &lt;a class="link" href="https://iphone-mania.jp/news-558044/" target="_blank" rel="noopener"&#10; &gt;31日に発表される新型Macが最終予想！M3搭載Airが遅れる理由も解説 - iPhone Mania&lt;/a&gt;&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;いやいや、切り替えサイクルが短いという理由でM3 MacBook Airが見送られるなら、M3 Pro MacBook Proこそ見送られることになるやん。M2 MacBook Air出たの2022年の7月、M2 Pro MacBook Pro出たのが2023年2月やで。それでなんでM3 Pro MBPが先に発表になるねん。&lt;/p&gt;&#10;&lt;p&gt;M3 iMacは確かに以前から噂されていたからわかる。ただM3 iMacだけじゃインパクト弱いのはそうだろうし、Macの販売不振も言われているから、テコ入れしたいのかもしれない。それにしたって、M3 MacBook Airが先だろう。一番望まれているのもそれだろうし。&lt;/p&gt;&#10;&lt;p&gt;すべては明日わかることか。まぁ、もうポチったから、何が変わるわけでもないんだけどね。&lt;/p&gt;&#10;</description></item><item><title>M2 Pro Mac Miniをポチった</title><link>https://hack-le.com/m3-mac-m2-pro-mac-mini/</link><pubDate>Sun, 29 Oct 2023 01:38:27 +0900</pubDate><guid>https://hack-le.com/m3-mac-m2-pro-mac-mini/</guid><description>&lt;p&gt;むしゃくしゃして注文した。反省はしていない。&lt;/p&gt;&#10;&lt;p&gt;（後日わからせられた）&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/m3-m2-pro-mac-mini/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;M3発表後にM2 Pro Mac mini 整備済み製品はお得といえるのかどうか&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/m3-m2-pro-mac-mini/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_12980_1789621199.webp" alt="M3発表後にM2 Pro Mac mini 整備済み製品はお得といえるのかどうか" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="整備済み製品に出たので"&gt;整備済み製品に出たので&#10;&lt;/h2&gt;&lt;p&gt;Twitter見ていたら、Apple整備済み製品のモニタリングをしているアカウントからMac mini大量放出のツイートが流れていたので見に行ったのさ。まぁ元々はケチだからM2 Mac miniでSSD256GBなのにメモリ24GBっていうピーキーなやつを狙っていたんだけれど、それは出ていなかったね。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.apple.com/jp/shop/product/G16K3J/A/mac-mini-%E6%95%B4%E5%82%99%E6%B8%88%E8%A3%BD%E5%93%81-8%E3%82%B3%E3%82%A2cpu%E3%81%A810%E3%82%B3%E3%82%A2gpu%E3%82%92%E6%90%AD%E8%BC%89%E3%81%97%E3%81%9Fapple-m2%E3%83%81%E3%83%83%E3%83%97" target="_blank" rel="noopener"&#10; &gt;Mac mini [整備済製品] 8コアCPUと10コアGPUを搭載したApple M2チップ - Apple（日本）&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;その代わりに、M2 Pro Mac miniが放出されていた。しかも吊るしのやつじゃなくて、なんとCPUとメモリを盛ったやつが出ていたんよ。以下は共にメモリ32GB。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;221,800円: &lt;a class="link" href="https://www.apple.com/jp_edu_1460/shop/product/G170VJ/A/mac-mini-%E6%95%B4%E5%82%99%E6%B8%88%E8%A3%BD%E5%93%81-12%E3%82%B3%E3%82%A2cpu%E3%81%A819%E3%82%B3%E3%82%A2gpu%E3%82%92%E6%90%AD%E8%BC%89%E3%81%97%E3%81%9Fapple-m2-pro%E3%83%81%E3%83%83%E3%83%97" target="_blank" rel="noopener"&#10; &gt;Mac mini [整備済製品] 12コアCPUと19コアGPUを搭載したApple M2 Proチップ - 教育 - Apple（日本）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;193,800円: &lt;a class="link" href="https://www.apple.com/jp_edu_1460/shop/product/G1709J/A/mac-mini-%E6%95%B4%E5%82%99%E6%B8%88%E8%A3%BD%E5%93%81-10%E3%82%B3%E3%82%A2cpu%E3%81%A816%E3%82%B3%E3%82%A2gpu%E3%82%92%E6%90%AD%E8%BC%89%E3%81%97%E3%81%9Fapple-m2-pro%E3%83%81%E3%83%83%E3%83%97" target="_blank" rel="noopener"&#10; &gt;Mac mini [整備済製品] 10コアCPUと16コアGPUを搭載したApple M2 Proチップ - 教育 - Apple（日本）&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;いやこれは考えたね。ちょっと、いやけっこう欲しい。僕はケチだけどコンピュータは買う。今まで費やしてきた金を合計したら車買えるだろう。だが車より圧倒的に欲しいものだし、実際毎日使っているものなので後悔はない。特にMac miniのデスクトップは、買えばこれから年単位で毎日使うことが確約されている。だから本当は、M2よりもM2 Proのほうが欲しいんだ。当たり前じゃないか。&lt;/p&gt;&#10;&lt;p&gt;そしてこのモデル、迷っていたらすぐ売り切れることが容易に予想された。ちょっと珍しいからね。CTOしたモデルはAppleストア以外だとなかなか入手が難しいので、少しでも安く調達しようと思ったら整備済み製品が現実的。でもそんなに数はない。つまり、ただでさえ少ない供給に対して、需要は割と多めってことだ。まぁ売れるわな。&lt;/p&gt;&#10;&lt;p&gt;気がついたら、ポチっていた。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/10/58d783a04a28b1b53dde2c47663dfc49-700x265.jpg"&gt;&lt;/p&gt;&#10;&lt;h2 id="盛ってるのはレアなので"&gt;盛ってるのはレアなので&#10;&lt;/h2&gt;&lt;p&gt;221,800円は久しぶりの高い買い物ではあるけれど、まぁでも盛ったモデルにナイスタイミングで巡り会えることはなかなかないんだ。実際、今見たら吊るし以外のやつは全部売り切れていたね。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/10/4aa4852d6f4eabd0f15ffab698d5b067-700x348.jpg"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;&lt;a class="link" href="https://apple-refurb.mn-memo.com/macmini" target="_blank" rel="noopener"&#10; &gt;Mac mini 過去1ヶ月間の在庫状況 | アップルストア整備済製品 在庫履歴&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;上の細長ーい緑が当該のやつ。一番の売れ筋だったか。やはり。ちなみに吊るしのほうはまだ売っていた。&lt;/p&gt;&#10;&lt;p&gt;156,800円: &lt;a class="link" href="https://www.apple.com/jp/shop/product/FNH73J/A/mac-mini-%E6%95%B4%E5%82%99%E6%B8%88%E8%A3%BD%E5%93%81-10%E3%82%B3%E3%82%A2cpu%E3%81%A816%E3%82%B3%E3%82%A2gpu%E3%82%92%E6%90%AD%E8%BC%89%E3%81%97%E3%81%9Fapple-m2-pro%E3%83%81%E3%83%83%E3%83%97" target="_blank" rel="noopener"&#10; &gt;Mac mini [整備済製品] 10コアCPUと16コアGPUを搭載したApple M2 Proチップ - Apple（日本）&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;差額65,000円。SoC盛りで+28,000円、メモリ+16GBで+37,000円やね。メモリ32GBは必須としても、SoCの盛りはまぁちょっと贅沢ではあったな。Mac miniのしょぼい冷却性能を考えると、193,800円のほうでよかったかもしれない、とは思っていた。思っていたが盛った。全部盛った。&lt;/p&gt;&#10;&lt;p&gt;この価格帯だとM1 Mac Studioっていう選択肢も出てくる（ちなみにこれは整備済み製品にもけっこう顔を出している）。大きさはでかくなるが僕はまぁそれは別にいいと思っている。冷却性能も高そうだし。ただ、Neural Engineの性能がM1とM2だとだいぶ違うんだよねぇ。ということで、サイズ以外の性能的にもM2 Pro Mac miniのほうがいいかなと思っている。&lt;/p&gt;&#10;&lt;h2 id="脱macとはなんだったのか"&gt;脱Macとはなんだったのか&#10;&lt;/h2&gt;&lt;p&gt;ところでこのブログを見てくれている人だったら、「この数ヶ月さんざんMacを腐し続けていたのはなんだったんだよ」と思ったかもしれないし、あるいはM2 Mac mini整備済み製品のウォッチを始めていた時点でこうなることを予期していたかもしれない。まぁいずれにせよ脱Macは当分無理ですわ。Windowsを使えば使うほど、やはりMacだなぁと思ってしまう。&lt;/p&gt;&#10;&lt;p&gt;まぁ実際のところ、WindowsマシンはずっとAIぶん回しているし、それは多分今後もそうなので、結局普段使いはMacになってしまうんよな。なので、作ったコンテンツの編集するのは結局Macで、そうするとプログラミングには問題のないIntel Mac mini 2018も、画像だの音だの動画だのと考え始めるとちょっと荷が重い。アップスケールするだけでもプチフリみたいになるしねぇ。&lt;/p&gt;&#10;&lt;h2 id="m3出なかったし"&gt;M3出なかったし&#10;&lt;/h2&gt;&lt;p&gt;あと地味にきいているのが、10月中に出ると噂されていたM3 Macが出なかったことだね。いや、まだあと2,3日あるけど無理でしょさすがに。&lt;/p&gt;&#10;&lt;p&gt;（と思ったがイベント開催予定だったんだね。　&lt;a class="link" href="https://iphone-mania.jp/news-557343/" target="_blank" rel="noopener"&#10; &gt;大画面iMacも計画中！Appleの新製品発表、10月30日か31日に - iPhone Mania&lt;/a&gt; M3 Pro MBPはかなり信じがたい）&lt;/p&gt;&#10;&lt;p&gt;3nmのチップがあまりうまくいってないんだろうなーと思わされた。年内にはiMacで出るんじゃないの？という話ではあったけれど、この調子でいくとMac miniにのるのは早くても2024年の中盤以降になりそうだし、ましてM3 Proは2025年になりそう。まぁ別にそれまでIntel Mac mini 2018で戦えないことはないとは思うし、事実戦うつもりもあったんだけれど、まぁでもやっぱり物欲には抗えなかったよ……。&lt;/p&gt;&#10;&lt;p&gt;それにまぁ、電力的な意味でラップトップのほうは半導体プロセス微細化の恩恵多大かもしれないが、Mac miniのほうはそうでもないような気もした。いや、うーん、どうなんだろう。パワーアップするのかな？まぁでも、Proが出るのはいつになることやら、という感じだしなぁ。&lt;/p&gt;&#10;&lt;p&gt;まぁポチってしまった以上は、その性能をフルに活用すべく今後は技術の枠を超えハイパーメディアクリエイターだっけなんだっけまぁいいやなんでも明日届くの楽しみ。&lt;/p&gt;&#10;</description></item><item><title>Macのストレージのチェックは結局smartctlで済ませる</title><link>https://hack-le.com/mac%E3%81%AE%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%AE%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%AF%E7%B5%90%E5%B1%80smartctl%E3%81%A7%E6%B8%88%E3%81%BE%E3%81%9B%E3%82%8B/</link><pubDate>Sat, 14 Oct 2023 15:56:46 +0900</pubDate><guid>https://hack-le.com/mac%E3%81%AE%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%AE%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%AF%E7%B5%90%E5%B1%80smartctl%E3%81%A7%E6%B8%88%E3%81%BE%E3%81%9B%E3%82%8B/</guid><description>&lt;p&gt;今、メインのMac mini 2018はSSDの外付けキットを使って起動ディスクにしている。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/mac-mini-2018-ssd-3weeks/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;Mac mini 2018の起動ディスクを外付けSSDにしてから3週間&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/mac-mini-2018-ssd-3weeks/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2023/09/2023-09-11-02.16.56-2-3-scaled.webp" alt="Mac mini 2018の起動ディスクを外付けSSDにしてから3週間" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;Mac mini 2018を買ってから、あまりSSDの健康状態には関心を払っていなかった。まぁそこはさすがにAppleだし、問題なかろうと思っていた。が、今回は自前でSSDを調達している。しかも噂のHIKSEMI、確かにユーザの間での評判は上々だが、決して有名ブランドというわけではないし、不安感もある。&lt;/p&gt;&#10;&lt;p&gt;ということで、定期的に健康状態をチェックしたいと思った。&lt;/p&gt;&#10;&lt;h2 id="結局smartctl"&gt;結局smartctl&#10;&lt;/h2&gt;&lt;p&gt;まぁ要はS.M.A.R.T.の情報を見たいわけだが、今更コマンドラインも嫌だなぁと、&lt;a class="link" href="https://binaryfruit.com/drivedx" target="_blank" rel="noopener"&#10; &gt;DriveDx - the most advanced drive health diagnostics and monitoring utility&lt;/a&gt;を試しに使ってみたりしていた。こういうのはインタフェースも大事なもので、GUIでアプリケーション一覧からサクッと起動して一目で視認できるのは価値だと思う。$20なら悪くない。悪くない……悪く……ない……。&lt;/p&gt;&#10;&lt;p&gt;いやCLIでよくないか。どうせTBWと温度と健康寿命くらいしかみないしsmartctlコマンドでいいよね。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install smartmontools&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;インストールからの&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;smartctl -a /dev/disk1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これでいいよね（/dev/disk0は元からの内蔵ストレージのほう）。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/10/e0519eca0c091aa1a927319e4691e971.jpg"&gt;&lt;/p&gt;&#10;&lt;p&gt;うん、まぁ、これで十分よね……。&lt;/p&gt;&#10;&lt;h2 id="drivedxも悪くないんだけど"&gt;DriveDxも悪くないんだけど&#10;&lt;/h2&gt;&lt;p&gt;たしかにDriveDxは画面きれいだし見やすいし立ち上げやすいけどさ……別にそんな色々みたいわけじゃないし。&lt;/p&gt;&#10;&lt;p&gt;昨今の円安もあって、消費税含めると$20で3500円くらいするんよ。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/10/8dd3ced9a2b3c45fe3a962eea599da6a-700x276.jpg"&gt;&lt;/p&gt;&#10;&lt;p&gt;さすがにちょっとつらいなーって。1000円くらいなら買ったかなと思うけれど、3500円だと何か別のものがほしくなる。他にやりようがなかったらともかく、あるからなー……。&lt;/p&gt;&#10;&lt;h2 id="結局コマンドラインなんだなぁ"&gt;結局コマンドラインなんだなぁ&#10;&lt;/h2&gt;&lt;p&gt;バックアップも結局rsyncでやっちゃってるし、なんだかんだでコマンドラインツールは便利なものが揃っていて有り難いと思う。最近は人間が運用する以上はインタフェースも大事だと思うようになったこともあって、金払ってでもGUIソフト買おうかなという気持ちがあったんだけれど、決まり切ったオプションを使ってたまに起動するだけの場合は、やっぱりCLIで十分なのかなとも思う今日この頃。&lt;/p&gt;&#10;</description></item><item><title>M2 Mac mini 24GBの整備済み製品出ないかなって見てる日々</title><link>https://hack-le.com/m2-mac-mini-24gb/</link><pubDate>Mon, 09 Oct 2023 02:44:22 +0900</pubDate><guid>https://hack-le.com/m2-mac-mini-24gb/</guid><description>&lt;p&gt;108,800円のMac miniが出たら狙い目: &lt;a class="link" href="https://www.apple.com/jp/shop/product/G16K3J/A/mac-mini-%E6%95%B4%E5%82%99%E6%B8%88%E8%A3%BD%E5%93%81-8%E3%82%B3%E3%82%A2cpu%E3%81%A810%E3%82%B3%E3%82%A2gpu%E3%82%92%E6%90%AD%E8%BC%89%E3%81%97%E3%81%9Fapple-m2%E3%83%81%E3%83%83%E3%83%97" target="_blank" rel="noopener"&#10; &gt;Mac mini [整備済製品] 8コアCPUと10コアGPUを搭載したApple M2チップ - Apple（日本）&lt;/a&gt;（メモリ24GBなのにSSD256GBのピーキーなやつ）&lt;/p&gt;&#10;&lt;p&gt;なんかずっと見てる。もう脱Macする気ないやろという感じ。なさそう。まぁWindowsもMacもLinuxも全部使えばよかろうなのだ……。WindowsはWindowsで「&lt;a class="link" href="https://techtarget.itmedia.co.jp/tt/news/2308/10/news13.html" target="_blank" rel="noopener"&#10; &gt;Windows 11が永続ライセンスをなくして「毎月課金型OS」に生まれ変わる予感：どうなる「Windows 11」ライセンス【第3回】 - TechTargetジャパン システム運用管理&lt;/a&gt;」みたいな話もあるしね……。ってかサブスクになったらさすがに使わないなぁ。生成AIだけならLinuxでもできること多いしね……。&lt;/p&gt;&#10;&lt;h2 id="ほとんど出てこない"&gt;ほとんど出てこない&#10;&lt;/h2&gt;&lt;p&gt;ずっと見てるとは言ったものの、メモリ24GBのMac miniの整備済み製品が市場に放出されることはあまりない。あまりないとは言ったものの、USキーボードMacbookほどのレアものではなく、一ヶ月待っていったら1回くらいは出るという感じのようだ。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://apple-refurb.mn-memo.com/macmini/?list_type=list" target="_blank" rel="noopener"&#10; &gt;Mac mini 過去1ヶ月間の在庫状況 | アップルストア整備済製品 在庫履歴&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/10/31ceafebb87d1edb13a253a97ce415b5-700x280.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;画像の一番下のやつが狙い目のそれなので、まぁ月に1,2回、しかも出たら数時間、なんなら1時間ももたずになくなるという代物らしい。&lt;/p&gt;&#10;&lt;h2 id="本気でほしいかと言うと微妙"&gt;本気でほしいかと言うと微妙&#10;&lt;/h2&gt;&lt;p&gt;とはいえ、これくらいなら本気で狙っていればいつか手に入るかなという気はするものの、では本当にこれが売られている現場に立ち会えたら買うのかというと、ちょっと、いやかなり怪しい。ProではないM3 Mac miniは登場が近いかもしれないし、なによりこのブログでは何度も書いているのだが、Intel Mac mini 2018で今のところ特に困っていないからだ。&lt;/p&gt;&#10;&lt;p&gt;M2 MacBook Proを会社で使わせてもらっているが、これは確かにMBP 2019とはハッキリと体感が異なるものの、Mac mini 2018と比べた時にどうかというと、さほどでもない。ベンチ上は圧倒しているはずだが。まぁ実際のところコンピュータにおける作業というのは、スペックと線形にパフォーマンスがよくなるというものではなく、ある一定ラインを超えると飽和するものだ。で、Intel Mac mini 2018の6コア3GHzのCore i5は、今のところそたいていの作業においてまだ問題ないレベルであるらしい。開発作業においても特に困っていない……まぁこれは、自分は主にバックエンド開発が多いからかもしれない。&lt;/p&gt;&#10;&lt;p&gt;強いて言うならば、GPUを使うような作業はやはりしんどくて、たとえばPixelmatorのML超解像、つまりアップスケーラだが、これは今のMac miniではちょっとつらい。しかしこれはそんなに多用する機能ではない……少なくとも自分は。&lt;/p&gt;&#10;&lt;h2 id="中古macについて"&gt;中古Macについて&#10;&lt;/h2&gt;&lt;p&gt;ちなみに中古だが、Mac miniの中古は、わかったうえで買うならばまぁアリかなと思う。MacBookはキーボードやディスプレイと一体であるため避けたほうが無難だと思うけれど、Mac miniの場合は気をつけるべき点はさほど多くない。さすがに2014以前を今から買うのは古いOSがほしい特殊な人以外にはまったくオススメできないものの、2018以降ならば、外付けSSDを起動ディスクにしたりRAMを64GBにしたりして遊ぶのは、まぁリーズナブルだと思う。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.janpara.co.jp/sale/search/detail/?ITMCODE=245993&amp;amp;KEYWORDS=Mac&amp;#43;mini&amp;amp;OUTCLSCODE=3" target="_blank" rel="noopener"&#10; &gt;Apple Mac mini CTO (Late 2018) Core i5(3.0G)/16G/512G(SSD)/Intel UHD 630の詳細｜じゃんぱら&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;じゃんぱらだと中古の箱なしランクBが52,990円だった。割り切って使うならアリか。まぁM2よりあえてこっちを選ぶのはなかなかの好事家だと思うが……。&lt;/p&gt;&#10;&lt;p&gt;中古だとサポート的な意味での寿命が気になるが、最近はオブソリートになるまでの期間も長くて、Mac mini 2012なんか2022年になってついにオブソリート製品に加えられた。この傾向は今後も続くと思われ、Mac mini 2018もあと5年くらいはもつことが期待される。まぁ、AppleSiliconに全面移行というイベントがあったために、インテル系は早く手じまいされる可能性もあるかもしれないが、Mac mini 2014もまだオブソリートではないし、大丈夫でしょう多分。&lt;/p&gt;&#10;&lt;p&gt;そんなわけだから、M2 Mac mini 24GBを中古でGetという手もなくはないのだが、実際問題、売ってない。ニッチ過ぎる構成なのか。一応、聞いたことのないネットショップ、しかもGoogle検索のURLから別のドメインに飛ばされるという怪しさ満点のところで、相場より遙かに安いM2 Mac mini 24GB RAMが個人出品されていたりしたが、そんなの役満過ぎて買う気にはなれないよね。謎のネットショップで謎の個人から相場とかけ離れたモノ買えるか。&lt;/p&gt;&#10;&lt;p&gt;まぁまともなところでは売っていたとしても、最近の製品だと整備済み製品と比べても大して安くないだろうしね。ちなみにIntel Mac mini 2018の整備済み製品は今でも売られているのだが、大して値下がりしておらずとても高いので、これはまったくオススメしない。&lt;/p&gt;&#10;&lt;p&gt;115,800円: &lt;a class="link" href="https://www.apple.com/jp/shop/product/FXNG2J/A/Refurbished-Mac-mini-30GHz-6-core-Intel-Core-i5-Space-Gray?fnode=b70f516f6f194920da663b92b30aaf46084efca39754ea64e59eb80c2f539391fc40a3203dc0f4935a1f937bbb52e529685f9d2804491bb2776f49181c0db3542790787313e0870b378b52823cbff332" target="_blank" rel="noopener"&#10; &gt;Mac mini 3.0GHz 6コアIntel Core i5 - スペースグレイ [整備済製品] - Apple（日本）&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;5年前に僕が買った時の定価から3,4万程度しか下がっていない。誰が買うんだ。まぁ円安がきいてしまっている気はする。っていうか円安ほんとに困るね。&lt;/p&gt;&#10;</description></item><item><title>Mac mini 2018の起動ディスクを外付けSSDにしてから3週間</title><link>https://hack-le.com/mac-mini-2018-ssd-3weeks/</link><pubDate>Sun, 24 Sep 2023 14:35:28 +0900</pubDate><guid>https://hack-le.com/mac-mini-2018-ssd-3weeks/</guid><description>&lt;p&gt;Intel Mac mini 2018の起動ディスクを外付けディスクにしてから、かれこれ3週間くらい経過する。&lt;/p&gt;&#10;&lt;div class="blog-card-wrapper"&gt;&#10; &lt;a href="https://hack-le.com/mac-mini-2018-nvme-ssd-boot/" class="blog-card"&gt;&#10; &lt;div class="blog-card-content"&gt;&#10; &lt;div class="blog-card-label"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"&gt;&lt;/path&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span&gt;あわせて読みたい&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-title"&gt;Mac mini 2018に外付けSSDをつけて起動ディスクにした&lt;/div&gt;&#10; &lt;div class="blog-card-url"&gt;/mac-mini-2018-nvme-ssd-boot/&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="blog-card-thumbnail"&gt;&#10; &lt;img src="https://hack-le.com/images/uploads/2026/09/eyecatch_12018_1789620831.webp" alt="Mac mini 2018に外付けSSDをつけて起動ディスクにした" loading="lazy" /&gt;&#10; &lt;/div&gt;&#10; &lt;/a&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;あれから、ビックリするほど何も起きていない。いや、何か起きても困るのだが、正直もう少し色々起きるかなと思っていた。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;まぁ強いていうならば、振動などの物理的接触にはやはり弱く、筐体を手で触れて持ち上げたりなんだりしていたら落ちた&lt;/strong&gt;、ということはある。まぁでもこれはさすがにやったほうがギルティだろう。いや、なんか、温度大丈夫かなー、って気になって。&lt;/p&gt;&#10;&lt;h2 id="容量やドライブについて考えなくて良い"&gt;容量やドライブについて考えなくて良い&#10;&lt;/h2&gt;&lt;p&gt;一つのドライブですべてをまかなうようになって良いこととして、アプリケーションの容量について考える必要がないということがある。具体的には、XcodeやDockerなど、開発するうえで必要だが容量が馬鹿でかいものの扱いについて、あれこれと考えずに済むなぁということだ。&lt;/p&gt;&#10;&lt;p&gt;実際これらはMacで開発するうえで容量不足に陥る要因であり、検索すれば頑張って外部ストレージに逃がす方法を探すユーザの涙ぐましい努力の跡がある。そういったことから解放されるのは良いことだろう。それ以外でも、アプリケーションからの利用を前提とした時、外部ストレージをデフォルトにしていると何かと色々なことが起きるものである、と今は亡きiTunesのデータを外部ストレージにして色々あった身として思う。&lt;/p&gt;&#10;&lt;p&gt;まぁ、ストレージは一つで済むなら一つのほうがいい。&lt;/p&gt;&#10;&lt;h2 id="特に何も起きない"&gt;特に何も起きない&#10;&lt;/h2&gt;&lt;p&gt;何かトラブったら記事にしてやろうくらいの気でいたのだが、もう本当に何も起きない。何も起きないので、書くことがない。&lt;/p&gt;&#10;&lt;p&gt;冒頭で述べたとおり、外部SSDキットの筐体を触ってケーブルいじいじしていたら落ちることはあるが、それはさすがにそんなことするほうが悪い。&lt;/p&gt;&#10;&lt;p&gt;なんで触ったかというと温度が気になったからで、DriveDxで見ると45度付近をキープしているんだが、これもうちょっと熱いだろという気がする。ただ触れないような温度ではない。僕はけっこう大容量のファイルを転送することも多いが、それでサーマルスロットリングが起きたようなこともない。問題なさげ。&lt;/p&gt;&#10;&lt;p&gt;Thunderbolt利用時にBluetoothと電波干渉するという話もあった。実際最初に使った時はそういうこともあったし、その後も全くないこともないのだが、気になるほどではない感じ。&lt;/p&gt;&#10;&lt;p&gt;ということで、極めて良好に使えている、と言って良いだろう。マジでそれ以外なにも言うことないんです。&lt;/p&gt;&#10;&lt;h2 id="m系mac-miniも考え始める"&gt;M系Mac miniも考え始める&#10;&lt;/h2&gt;&lt;p&gt;外部ストレージを起動ディスクにするやり方は、M2 Mac miniでも実行しているユーザがいるので、今でも使える方法であるらしい。となると、あの馬鹿高いCTOをしなくても、多少不格好ではあるが、大容量かつ高速なストレージを実現できるわけで、それなりにリーズナブルな価格でマシンをリプレースすることも可能というわけだ。結局のところどこまでいっても価格の問題なので、それであれば検討しても良いかなと思える。&lt;/p&gt;&#10;&lt;p&gt;ただメモリだけはどうにもならないので、これは盛りたい。M2 Mac miniのSSD 256GB、メモリ24GBの整備済み品とか狙い目かもしれない。24GBあればとりあえず困らないだろう。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;24GB RAM &amp;amp; 256GB SSD: &lt;a class="link" href="https://www.apple.com/jp/shop/product/G16K3J/A/mac-mini-%E6%95%B4%E5%82%99%E6%B8%88%E8%A3%BD%E5%93%81-8%E3%82%B3%E3%82%A2cpu%E3%81%A810%E3%82%B3%E3%82%A2gpu%E3%82%92%E6%90%AD%E8%BC%89%E3%81%97%E3%81%9Fapple-m2%E3%83%81%E3%83%83%E3%83%97" target="_blank" rel="noopener"&#10; &gt;Mac mini [整備済製品] 8コアCPUと10コアGPUを搭載したApple M2チップ - Apple（日本）&lt;/a&gt; 108,800円&lt;/li&gt;&#10;&lt;li&gt;24GB RAM &amp;amp; 512GB SSD: &lt;a class="link" href="https://www.apple.com/jp/shop/product/G16LBJ/A/mac-mini-%E6%95%B4%E5%82%99%E6%B8%88%E8%A3%BD%E5%93%81-8%E3%82%B3%E3%82%A2cpu%E3%81%A810%E3%82%B3%E3%82%A2gpu%E3%82%92%E6%90%AD%E8%BC%89%E3%81%97%E3%81%9Fapple-m2%E3%83%81%E3%83%83%E3%83%97" target="_blank" rel="noopener"&#10; &gt;Mac mini [整備済製品] 8コアCPUと10コアGPUを搭載したApple M2チップ - Apple（日本）&lt;/a&gt; 127,800円&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;内蔵SSDはまったく不要なので、108,800円のほうでよい。ただピーキーな構成のためか、これらのモデルが整備済み製品に並ぶことはあまり多くない。本気で狙うなら、毎日見ることになるだろうな。在庫履歴を参考にしてる。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://apple-refurb.mn-memo.com/macmini/?list_type=list" target="_blank" rel="noopener"&#10; &gt;Mac mini 過去1ヶ月間の在庫状況 | アップルストア整備済製品 在庫履歴&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/efa48dc70f184f71332f919dec3ac476-700x244.jpg"&gt;&lt;/p&gt;&#10;&lt;p&gt;一番下のやつが狙い目。まぁ一ヶ月の間にまったく出てこないわけでもないらしい。&lt;/p&gt;&#10;&lt;p&gt;8GBRAM + 256GBが71,800円なので、メモリ+16GBのために37,000円か……というのは心情的には相当引っかかるところはあるのだが、まぁもう仕方ない。&lt;/p&gt;&#10;&lt;p&gt;M3 Mac miniが出たら整備済み製品も値下がりするだろうか？すると思いたいところだが、円安が続いているからなぁ。さすがにそろそろアメリカ経済も落ちそうな気がするし、日本のほうも低金利限界じゃないの？と思うんだけれど、為替ばかりはわからない。わかってたら大儲けしてるわけで、こんなケチな議論してない。&lt;/p&gt;&#10;&lt;p&gt;まぁ結局買わなきゃタダであることも事実なので、もう何百回同じ事言うんだという感じだが、&lt;strong&gt;今のIntel Mac mini 2018でも特に不自由がなかったりするので、なんだかんだでこのまま使い続けるのかもしれない&lt;/strong&gt;。&lt;/p&gt;&#10;</description></item><item><title>Mac mini 2018に外付けSSDをつけて起動ディスクにした</title><link>https://hack-le.com/mac-mini-2018-nvme-ssd-boot/</link><pubDate>Mon, 11 Sep 2023 02:42:07 +0900</pubDate><guid>https://hack-le.com/mac-mini-2018-nvme-ssd-boot/</guid><description>&lt;p&gt;Mac mini 2018に外付けSSDをつけて起動ディスクにしました。これによって愛機Mac mini 2018はまだまだ第一線でガチれるということになりました。半導体プロセスの微細化が5nmから3nmにまで進むM3 Mac miniでたら、その性能とお値段次第ではポチってやってもええぞ（何目線だよ）。&lt;/p&gt;&#10;&lt;p&gt;……と、このブログを見てくれている人ならば「この数ヶ月脱Mac脱Mac五月蠅かったのはなんだったんだよ」となりそうだが（それともどうせこうなると思われていたか……）、人の心は移ろいやすいもの……などとぶつくさ言いながら、事実としてかれこれ13年Macユーザーなので、そこらへんのApple最高！と言ってiPadとMac比較している者より実はMac愛強いのではないかという気もしてきた。まぁWindowsも相変わらず触ってますよ。&lt;/p&gt;&#10;&lt;h2 id="買ったもの"&gt;買ったもの&#10;&lt;/h2&gt;&lt;h3 id="hiksemi-future-70-04tb"&gt;HIKSEMI FUTURE-70-04TB&#10;&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/2023-09-08-23.36.36-700x527.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;SSDについてはHIKSEMIの4TB NVMe SSDです。ヒートシンクなしで27,800円でした。Gen4対応。R/W 7000MB/sクラス。1200TBW。どういうことなの。やっすい。まぁ実際、各所のレビューでは値段に比して才能が高いということになっており、またそれに納得できる外的要因もあり（米中対立のアレ。日本としてはアメリカに寄りつつも、適度に距離感保っておいしいとこほしいですね）、ということで話題沸騰の模様。&lt;/p&gt;&#10;&lt;p&gt;巷ではこれのチップ使っているところ全般を蝉族と称しているらしく、Amazonレビューでは当然のように蝉蝉言われていて最初は意味がわからなかった。みんなどこで情報やりとりしているんだろう。そんな蝉族で中身が一緒とされるMonsterとか、さらに安くて25,800円だったよ。まぁでも、一応蝉の親玉のほうが多少なりとも安心感あるか？という気もした。それにこの後買う外付けケースの値段まで合わせて考えると、2,000円の差分は誤差かなって。&lt;/p&gt;&#10;&lt;h3 id="外付けssdキットは地獄のサクラ大戦"&gt;外付けSSDキットは地獄のサクラ大戦&#10;&lt;/h3&gt;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/2023-09-08-23.37.13-700x527.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;SSDだけあっても仕方ないので外付けドライブ化キットを用意する必要がある.今回は起動ディスクにしたいので、高いけれどもThunderbolt 3対応のものを選ぶことに。HIKSEMI FUTUREの高性能を少しでも活かしたいしね。&lt;br&gt;&#10;で、買ったのこれなんだけれど、サクラチェッカーでは危険度99%って言われてる中華確定演出。なんでそんなの買ったの？って思われそうだけど、サクラレビューのキットしかなかったんよ（&lt;a class="link" href="https://sakura-checker.jp/itemsearch/?word=m.2&amp;#43;ssd&amp;#43;%E5%A4%96%E4%BB%98%E3%81%91%E3%82%B1%E3%83%BC%E3%82%B9&amp;#43;thunderbolt" target="_blank" rel="noopener"&#10; &gt;m.2 ssd 外付けケース thunderboltのサクラレビュー分析結果一覧&lt;/a&gt;)。地獄のサクラ大戦状態でどうしようもなかった。&lt;/p&gt;&#10;&lt;p&gt;それだったら少しでも安いものをというのと、レビューに同じ構成で試した人がいたことと、またネジ止めタイプなので固定してずっと使うにはよさそう、という理由でこれにした。14000円ちょいしたけど、2000円クーポンやポイントも加味すると実質12000円ってところかな。&lt;/p&gt;&#10;&lt;h3 id="あわせて4万円"&gt;あわせて4万円&#10;&lt;/h3&gt;&lt;p&gt;ということで、SSDと外付けキット合わせて4万円弱という感じです。絶対値としては安くはないけれど、モノを考えると隔世の感がある。AppleのCTO価格を見た後に見ると心が浄化されるね。コスパこそ正義なんよ。っていうかさすがに+168,000円は意味がわからないよ。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/eecb3d50194e5e297b712d98f52fba66.jpg"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;なにもぴったりしねぇよ&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;しかもこれ512GBからの上乗せでこうなので。20万くらいの価格設定らしい。庭から石油出る人限定モデルなんか。8TBのやつはもう目にも入らない。&lt;/p&gt;&#10;&lt;h3 id="drivedx"&gt;DriveDx&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://binaryfruit.com/drivedx" target="_blank" rel="noopener"&#10; &gt;DriveDx - the most advanced drive health diagnostics and monitoring utility&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;これはソフトで、S.M.A.R.T.とかグラフィカルに確認できるソフトウェア。まだ買ってない（試用期間中）けど、買おうかなと思っている。$20ならまぁいいかなって。CLIでフリーのツールあるのはわかるけれど、見づらいし。やっぱこういうの見やすさ大事。&lt;/p&gt;&#10;&lt;p&gt;内蔵ディスクについては123TBWほどに達していて、健康寿命も86%とのことだった。はー、かれこれ4年半使ってるとはいえ、けっこう書き込んでたんだなぁ。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/fc76be0482f52648098844cfd568aea7.jpg"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/f615963d1ecf87f4573625bf9841b0cc.jpg"&gt;&lt;/p&gt;&#10;&lt;p&gt;帝王Appleはもちろんストレージの情報について公開していないが、一説によると、500GBストレージの耐久性は300TBW程度と言われている。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://createdtech.com/how-long-will-the-ssd-in-your-mac-last" target="_blank" rel="noopener"&#10; &gt;How Long Will The SSD In Your Mac Last? - Created Tech&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;まぁでも実際はもっと持つだろう、と言われている。まぁ実際、今のところMac mini 2018のストレージを使い切ったという話は聞かないね。基本的には心配しなくて大丈夫だろう。&lt;/p&gt;&#10;&lt;p&gt;あとずっと確認できていなかった、SanDiskのポータブルSSD Extreme Proの健康寿命も確認できた。100%だった。すごい（データ保管が主な役割だったためか、4.1TBW程度だったのもあるか）。&lt;/p&gt;&#10;&lt;h2 id="しばらく不安定だった"&gt;しばらく不安定だった&#10;&lt;/h2&gt;&lt;p&gt;HWの取り付けについてはまぁ説明書どおり。繋いだら繋がる。ディスクユーティリティからAPFSにフォーマットする。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/2023-09-11-02.16.56-2-700x382.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;例によって見せる気のない写真（一応少し拭いたんだけど……）&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;取り付け後のソフトウェア的な手順については、色々なところで書かれているとおり。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;例によって電源を切った後に起動してCmd + R&lt;/li&gt;&#10;&lt;li&gt;起動セキュリティユーティリティから外部ディスクを起動ディスクとして使うことを許可する&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;この設定をすると、ログイン画面でHHKBが使えるようになるっぽくて、もっと前からやればよかったと思った&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="3"&gt;&#10;&lt;li&gt;外部SSDにOSをインストール&lt;/li&gt;&#10;&lt;li&gt;ディスクを選んで再起動&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;で、ここから先はすんなり……とはいかず、けっこう何度も再起動することになったね。&lt;/p&gt;&#10;&lt;p&gt;僕の場合内蔵ストレージから移行アシスタントを使ったということもあり、例によってApple恒例鬼の許可待ち爆弾が炸裂した。で、どうも起動してしばらくは安定せず、許可コード打っている間にフリーズからの電源落ちを何度か経験してイライラ&amp;amp;不安。&lt;/p&gt;&#10;&lt;p&gt;さらに絶望したのが、Bluetoothの通信が不安定になったことだ。元々Mac miniはBluetoothの通信が不安定で、Trackpadを動かすとイヤホンがブツブツになるのは2012からずっとつきまとっていた。この問題はマイナーかもしれないが、困っている人はそこそこいるものと思う。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.mobile-com.net/apple/mac-mini-2018-usb3-wi-fi/" target="_blank" rel="noopener"&#10; &gt;Mac mini 2018でUSB3.1やThunderbolt 3の電波・ノイズ干渉に悩まされている話！Wi-Fi速度の低下や通信・Bluetooth接続が不安定に！ - モバイルドットコム&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;これはかなり絶望したが、再起動したらなおった。伝家の宝刀の切れ味は2023年もなお健在なり。ただ再発することがないか、今もちょっと不安。&lt;/p&gt;&#10;&lt;p&gt;個別のアプリでハマったやつを言うと、Karabinerはdriverのdeactivateが必要だった。それくらいかな。Clipyも毎回「ログイン項目に追加されました」って言ってくるから、もしかすると再インストールとかしたほうがいいのかもしれない。&lt;/p&gt;&#10;&lt;p&gt;ちなみに一番ハマったのはDropbox問題で発狂しそうになったんだが、これは起動ディスク化とは直接は絡まないのでまた別の記事で愚痴ります。。。Appleはクラウド音痴なのはわかっていたが、まさかDropboxをiCloud並に引き下げる作戦に出ていたとか思わんよ……。&lt;/p&gt;&#10;&lt;h2 id="一度安定してからは基本問題なし別の外付けssdをつけると落ちる"&gt;一度安定してからは基本問題なし、別の外付けSSDをつけると落ちる？&#10;&lt;/h2&gt;&lt;p&gt;さて、不安になりながら幾度もの再起動を経て、ようやく安定的に動いたかな？となってからは、特に何事もなく動かせている。スリープ後の復帰とかも問題ない。心配していたBluetooth通信の不具合も今のところは再発していない。&lt;/p&gt;&#10;&lt;p&gt;ただ一点、別の外付けドライブ……具体的には前述したSanDiskのExtremeだが……を取り付けたり取り外したりすると、フリーズして、その後、落ちる。これは起動ディスクを内蔵ストレージにしていた時には起きなかったので、外部ストレージを起動ディスクにしたためではないかと思う。ただもしかするとケースや外付けSSDとの相性問題もしれない。そこはわからん。おま環かも。まぁそうなりましたよ、という報告。&lt;/p&gt;&#10;&lt;p&gt;ちなみに取り付けたタイミングで落ちるが、その後取り付けたまま起動するとデータの出し入れを普通にできた。ただし、取り外したらまた落ちた。つまり、電源を落としたタイミングで取り付け・取り外しをすれば、一応使えるモノと思われる。まぁそこまでして使う気もないけどね。&lt;/p&gt;&#10;&lt;h2 id="パフォーマンス"&gt;パフォーマンス&#10;&lt;/h2&gt;&lt;p&gt;散々あげられているけれども、一応速度についても。&lt;/p&gt;&#10;&lt;p&gt;まず内蔵ストレージ。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/DiskSpeedTest-internal.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;続いて外付けドライブ。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/DiskSpeedTest-hk.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;READは落ちているが、驚くべき事にWRITEは内蔵ストレージを上回っている。すごい。。。ただHIKSEMI FUTURE本来の性能からはほど遠い。まぁこれは仕方ないね。ただ報告ではRead 3000MB/s出たというのもあったんだがなぁ。&lt;/p&gt;&#10;&lt;p&gt;オマケでSanDiskのExtreme 2TB。これくらいの速度でも実際たいていの作業では問題ないだろうあんと思う。昔はこれでも十分高速だと思ったモノだけどね。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2023/09/DiskSpeedTest.png"&gt;&lt;/p&gt;&#10;&lt;h2 id="様子見"&gt;様子見&#10;&lt;/h2&gt;&lt;p&gt;ということで、無事外付けSSDを起動ディスク化できました。まだ2日程度だけれど、いくつかのトラブルシューティングはしつつも、今のところは問題なく動いている。熱は45度くらいになっているが、ケース触るともっと熱いだろという感じもする。うーん。まぁでも、サーマルスロットリングが発生するような熱が出ていないことは確かだと思う。&lt;/p&gt;&#10;&lt;p&gt;Mac miniのネックはストレージだったが、外付けドライブがこれだけうまく動いてくれるなら、けっこうリーズナブルかも。あれだけ腐しておきながら、M3出たらポチってしまうかもしれない。いやまぁでも、今使っているIntel Mac mini 2018もまぁ十分使えるしねぇ。なによりメモリ32GBと潤沢だし。メモリもCTOすると高いからなー……。整備済みでメモリだけ持ったMac miniが狙い目かも。だいぶレアだと思うけど。&lt;/p&gt;&#10;&lt;p&gt;まぁなんにしても、とりあえず内蔵ストレージには昔のデータを置いておきつつ、NVMe 4TBライフを楽しんでいきたい。&lt;/p&gt;&#10;</description></item><item><title>Mac mini 2018で外付けSSDを起動ディスクにしたい</title><link>https://hack-le.com/mac-mini-2018-ssd/</link><pubDate>Sun, 20 Aug 2023 18:18:38 +0900</pubDate><guid>https://hack-le.com/mac-mini-2018-ssd/</guid><description>&lt;p&gt;発端はDropboxのMacにおける外付けドライブサポート終了問題だった。正確には、オンラインストレージのデータはCloudStorageフォルダに置くことが強制されることになり、これが起動ディスク以外だと具合が悪いというものだ。まぁ、帝王Appleが例によってセキュリティの名目でサードパーティを締め上げているんだなと思った。&lt;/p&gt;&#10;&lt;p&gt;これはけっこう本当に困る。他のマシンとのデータのやりとりでDropboxは本当に便利なんだ。NASも購入したものの、やはりクラウド経由のDropboxの便利さにはかなわない（NASもメーカー謹製の同期ソフトとかあるけど、データが絡むだけにクオリティが心配……）。こうなったらもうWindowsに寝返ってやると考え、実際そこそこ使っている者の、WindowsマシンはAIをぶん回すのに忙しく、結局日常使いはMacのまま。というかまぁ、やっぱりなんだかんだでMacは使いやすい面もあるもので。&lt;/p&gt;&#10;&lt;p&gt;ということで、それなら外付けドライブを起動ディスクにしてしまえばよかろうというわけだ。&lt;/p&gt;&#10;&lt;h2 id="できるのはわかってるが運用はどうか"&gt;できるのはわかってるが、運用はどうか&#10;&lt;/h2&gt;&lt;p&gt;さて、外付けのSSDを起動ディスクにする、ということが理屈のうえでは可能なことはわかっている。ただ問題は、それで安定して運用ができるのかどうかだ。今使っているSSDも、時々予期せぬアンマウントがまったくないこともないし、果たして安定性はどうなんだろうか。&lt;/p&gt;&#10;&lt;p&gt;こういう時、メディア系の解説記事はあてにならない。頼りになるのは、実際にやってみて、それを使い続けている個人のブログである。ということで、色々と見てみる。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://ravfour.exblog.jp/30966692/" target="_blank" rel="noopener"&#10; &gt;Mac mini 2018 外付け起動ディスク化計画 : I rav,Mac!&amp;lsquo;23&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;この方は容量不足を原因として、2022年の1月に外付けSSDの起動ディスク化を果たしている。その後2023年2月の「&lt;a class="link" href="https://ravfour.exblog.jp/32858763/" target="_blank" rel="noopener"&#10; &gt;Mac mini 2018 購入4周年 : I rav,Mac!&amp;lsquo;23&lt;/a&gt;」の記事でも外付けSSDを起動ディスクにしていると書かれているし、また6月には直接言及していないものの、新しいMac miniの候補について考えていることから、変わらず健康に使い続けられているのだろうと推測される。つまり、1年半以上問題なく運用できているということだろう。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://way2go.netlify.app/old/" target="_blank" rel="noopener"&#10; &gt;Macmini 2018を外部SSDで起動 - Way2Go&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;この方は2021年2月に外部化を果たしている。2023年6月にMac Studioに乗り換えられているようだけれど（&lt;a class="link" href="https://way2go.netlify.app/2023-macstudio-order/" target="_blank" rel="noopener"&#10; &gt;Mac Studio 注文しました - Way2Go&lt;/a&gt;）、2年4ヶ月にわたって外付けで安定的に運用できていたということだろうか。ストレージ不足は理由にあっただろうが、「Thunderbolt3ケースとM.2の組み合わせは、内蔵SSDより高速」ということも理由にあげている。Thunderbolt3ケースは15000〜20000円程度とヤケクソに高いが、それでもMacのCTOに比べれば爆安。Thunderboltケース何使ったんだろう。Yottamasterなのはわかる。&lt;/p&gt;&#10;&lt;h2 id="注意ポイントっぽいもの"&gt;注意ポイントっぽいもの&#10;&lt;/h2&gt;&lt;p&gt;以下は先人たちが引っかかったところ。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;ファイルシステム&#10;&lt;ul&gt;&#10;&lt;li&gt;APFSを選択すること&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;T2チップの罠&#10;&lt;ul&gt;&#10;&lt;li&gt;デフォルトで外部起動が許可されていないので、明示的に許可すること&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;もうちょっと色々あるかなと思ったが、特にそれらしい記事は見当たらず。ということは、環境構築はもちろん、運用においてもさほど支障はなかったのだと見てよいのではないか。&lt;/p&gt;&#10;&lt;p&gt;作業自体は億劫ではあるものの、やる価値はありそうだなと思える。&lt;/p&gt;&#10;&lt;h2 id="高速大容量ストレージの夢を追ってもいい"&gt;高速大容量ストレージの夢を追ってもいい&#10;&lt;/h2&gt;&lt;p&gt;今使っているのは最近お騒がせだった（&lt;a class="link" href="https://gigazine.net/news/20230522-sandisk-ssd-mount-error/" target="_blank" rel="noopener"&#10; &gt;SanDiskのSSDで「データが突然消える」などの症状が報告される - GIGAZINE&lt;/a&gt;）SanDiskのエクストリームモデルの2TBのやつで、まぁこいつをそのまま起動ディスクにしてもいいかなと思う一方で、どうせだったら夢を追いかけて、3万もあれば買えるようになった4TB NVMeを繋いでみても面白いかなぁ、とかなんとか思っている（上位モデルはさすがにもっとするが……）。MacのCTOだと4TBは+168000円という馬鹿げた値段設定がされているが、外付けで実現すれば、Thunderbolt3対応のケースが2万したとしても、SSDと合わせて5万程度。このコストメリットは非常に大きい。&lt;/p&gt;&#10;&lt;iframe sandbox="allow-popups allow-scripts allow-modals allow-forms allow-same-origin" style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B0BCP3L7JL&amp;linkId=aad4788c942b07b155a557972b14da1a"&gt;&lt;/iframe&gt;&#10;&lt;p&gt;ちなみにAmazonだとCrucialブランドのP3が23800円、PCIe Gen4対応のP3 Plusが24500円という驚くべき価格で売られている。Crucialブランドでこれはすごいと思ったが、冷静に考えてみると自分は今まさにCrucialのSATA SSDで悲しい気持ちになっている真っ最中である（&lt;a class="link" href="https://hack-le.com/crucial-ct2000bx500ssd1/" &gt;着実に健康状態が悪くなるCrucial CT2000BX500SSD1の経過観察 - 或る阿呆の記&lt;/a&gt;）。それで気になって調べてみたら、果たして、評判は芳しくなかった（参考: &lt;a class="link" href="https://chimolog.co/bto-ssd-crucial-p3-plus/#Crucial_P3_Plus-5" target="_blank" rel="noopener"&#10; &gt;Crucial P3 Plusレビュー：ひどい性能ですが、PS5専用に使うならアリ | ちもろぐ&lt;/a&gt;）。この評価を見ると、他の格安SSDと並んで最安なのもさもありなんという感じ。一定以上の容量を使うと速度がめちゃくちゃ遅くなるようだ。うーん、Crucial今こんな感じなのかー……。&lt;/p&gt;&#10;&lt;p&gt;評判のよくないブランドものに手を出すくらいなら、謎メーカーではあるけどこういうのに手を出してもよいかもしれない。&lt;/p&gt;&#10;&lt;iframe sandbox="allow-popups allow-scripts allow-modals allow-forms allow-same-origin" style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B0CB6CMH9Q&amp;linkId=ea42e72aed20bf73a5cd460cb1f8b7ac"&gt;&lt;/iframe&gt;&#10;&lt;p&gt;29800円だが、こちらはなんとThunderbolt3の転送速度40Gbpsを超える7000MB/s級のR/Wを誇る。恐ろしい。いや、まぁ、Thunderbolt3の転送速度超えたらオーバースペックなんだが。謎とは言ったが、上記のブログによると、少なくともベンチマークはなかなかのものであったようだ（参考: 「&lt;a class="link" href="https://chimolog.co/bto-ssd-hiksemi-future/" target="_blank" rel="noopener"&#10; &gt;HIKSEMI FUTURE NVMe SSDレビュー：コスパの良さは認めざるをえない | ちもろぐ&lt;/a&gt;」）。まぁもちろん長期間の信頼性がどうかはわからないのだけれど、少なくともちょっと使っただけで化けの皮を剥がされたCrucialのP3 Plusよりはまだこちらのほうが良い気もする。&lt;/p&gt;&#10;&lt;p&gt;ちなみに同じようなものでLexarというのもある。&lt;/p&gt;&#10;&lt;iframe sandbox="allow-popups allow-scripts allow-modals allow-forms allow-same-origin" style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B0C9LMJR17&amp;linkId=a143f840d145a3a2bb6afd24eb15012d"&gt;&lt;/iframe&gt;&#10;&lt;p&gt;Lexarは知らなかったが、これもCrucialと同じくMicron傘下のブランドであったらしい。今は中華。「&lt;a class="link" href="https://chimolog.co/bto-ssd-lexar-nm790/" target="_blank" rel="noopener"&#10; &gt;Lexar NM790レビュー：元Micronの傘下ブランドが放つ破壊的コスパSSD | ちもろぐ&lt;/a&gt;」によると（このブログほんとすごいね）、こちらもベンチの結果は上々のようだ。Crucialよりよく見えるんですがそれは……。&lt;/p&gt;&#10;&lt;p&gt;Crucialがここまで下がったなら、他のブランドも追従するか？と思う一方、「&lt;a class="link" href="https://www.bcnretail.com/research/detail/20230815_352256.html" target="_blank" rel="noopener"&#10; &gt;内蔵SSD市場、ようやくGB単価の下落止まる - BCN＋R&lt;/a&gt;」という記事もあるので、さすがにそろそろ底を打ったような気もする。&lt;/p&gt;&#10;&lt;p&gt;まぁ別に無理に買うことはないのだけれど、ケース含めて5万ほどで内蔵ストレージより早くて大容量の環境が整えられるかもしれないと思うと、中々浪漫があり、やってしまいたくなるねぇ。これがうまくいけば、ネックだったストレージ問題が解決するわけだから、噂のM3以降のMac miniも、場合によってはポチることもあるかもしれない。&lt;/p&gt;&#10;&lt;p&gt;脱Macとはなんだったのか。まぁ結局なんだかんだいってMac好きなんだろうねぇ、僕は……。&lt;/p&gt;&#10;</description></item><item><title>結局M3 Macも気になっているけど、Intel Mac mini 2018も戦える</title><link>https://hack-le.com/m3-mac-intel-mac-mini-2018/</link><pubDate>Thu, 17 Aug 2023 14:17:52 +0900</pubDate><guid>https://hack-le.com/m3-mac-intel-mac-mini-2018/</guid><description>&lt;p&gt;このブログでは最近Macについては愚痴めいた記事が多く、Windowsに乗り換えるぞ乗り換えるぞと言い続け、まぁ実際多くの作業をWindowsでやるようになっており、しっかりと役割を担うようになっている。が、メインマシンというよりはAIぶん回し用マシンという感じで、常に負荷がかかっているため、結局メインで使っているのは相変わらずIntel Mac mini 2018だったりする。そして特に支障もない……。&lt;/p&gt;&#10;&lt;p&gt;そして最近そろそろM3 Mac出るっぽいという噂を聞くにつれ、なんだかんだで気になってしまうわけだ。&lt;/p&gt;&#10;&lt;h2 id="そもそもの発端はストレージの問題"&gt;そもそもの発端はストレージの問題&#10;&lt;/h2&gt;&lt;p&gt;そもそもMacをいい加減やめようかと思った根本的な理由は、クラウドストレージをCloudStorage以下に置くことを必須とする新仕様のために、外付けSSDでのDropboxの同期が難しくなる、ということが発端だった。若干ニッチな理由ではあるし、もちろんこれだけの理由ではないのだが、引き金はこれ。&lt;/p&gt;&#10;&lt;p&gt;ただまぁ、その後あれこれ調べていくと、外付けSSDをブートドライブにするという荒技は現在でも有効らしく、であればホームフォルダも必然的に外付けSSD上になるわけだから、CloudStorageもそちらに置かれるわけで、Dropbox問題も必然的に解決することになるだろう。まぁあんまりやりたくないことではあるが……。&lt;/p&gt;&#10;&lt;p&gt;まぁ、Dropboxの問題がなかったとしても、MacのストレージはCTOだとめちゃくちゃ高いので、据え置きのMac miniならば、安くなった外付けSSDをメインドライブにするというのはけっこう現実的な選択肢かもしれない。最近SSDは本当に安くなったし、外付けでもストレージとしては問題なく速い。4万出せば4TBの外付けSSDが買えるのは魅力的な選択肢だ。気兼ねなくDockerでコンテナをたくさんつくれる。&lt;/p&gt;&#10;&lt;p&gt;実際、ちょっと調べてみるとそういう選択をした人たちの記事がよく引っかかる。Mac miniユーザはAppleユーザの中でもコスパ志向が高く、Appleとの距離感も近すぎない人が多いよなと思う。メインがMacだとしても、必要ならWindowsやります、なんならLinuxでもって人が多い。僕もそうだ。&lt;/p&gt;&#10;&lt;h2 id="macでもいいならm3が気になり始める"&gt;MacでもいいならM3が気になり始める&#10;&lt;/h2&gt;&lt;p&gt;外付けSSDを起動ディスクにするのはなかなか骨が折れる作業になると思われるので、作業するのは当分後にしたいところだが、しかしいつまでもMontereyでいるわけにもいかないし、気乗りしないがそろそろ移行のタイミングだろうか。&lt;/p&gt;&#10;&lt;p&gt;外付けSSD起動ディスク化計画がうまくいった場合、ネックだったストレージ問題・Dropbox問題が解決することになるので、そんなら次もMacにしてもいいかなという気が途端にしてくる。この問題、自分の中でかなり大きかったんだなぁ。&lt;/p&gt;&#10;&lt;p&gt;そうすると、昨今のM3 Macの噂もまた気になり始める。AI用途ではまだまだ当分期待できそうもないのが現状ではあるが、別にPCの用途というのはAIだけではなく、というかむしろAI用途のほうが特殊なわけで、普段使いのPCとしてはMacも断然アリではある。&lt;/p&gt;&#10;&lt;p&gt;M3は半導体プロセスの微細化が進むので、性能の大きな向上が期待される。Intel Mac mini 2018と比べて良くなるようならば、購入も選択肢に入ってくる。&lt;/p&gt;&#10;&lt;h2 id="intel-mac-mini-2018もまだまだ戦える"&gt;Intel Mac mini 2018もまだまだ戦える&#10;&lt;/h2&gt;&lt;p&gt;まぁとはいえ、普段使いという意味では別にIntel Mac mini 2018でも現状まったく困っていなかったりする。「まだIntel Mac使ってるの？？？」みたいな煽りを時折見かけるが、あれで比較されているのはほとんどMBPで、確かにMBPだとIntel Macはそろそろしんどくなってきたとは思う。特にMBP 2019は、使っている感じ、CPUのクロックがさすがに貧弱過ぎるよなと思う。2020だともうちょっとマシになっているはずだが。&lt;/p&gt;&#10;&lt;p&gt;しかしMac mini 2018は今でも問題なく使える。さすがにエントリーモデルほうだとつらかったと思うが、ミドルレンジのIntelでも6コア3GHz以上であれば、今でもまったく問題がない。仕事でM2 Pro MBPも使っているが、それと比べても別に悪くないと思う。なんならこちらのほうがよいとすら思っている。メモリ32GBあるし。やろうと思えば64GBにも増設できるし。まぁGPU使うような作業だったら断然MBPだろうが。画像処理とか。&lt;/p&gt;&#10;&lt;p&gt;ああ、そういえばPixelmatorでアップスケールとかすると、Mac mini 2018だとさすがにつらい処理のようで、重くなるなぁ。時間もけっこうかかるし。まぁでも、アップスケールなんてブログの画像作る時くらいにしか使わないし、もしまとめてやる必要があっても、その時はWindowsマシンでやればいいし。&lt;/p&gt;&#10;&lt;p&gt;などとグダグダ考えていると、たとえM3 Macが魅力的なマシンであったとしても、実際に買い換えるかは微妙である。重い処理はGPU載せたWindowsマシンでやればよいし、それ以外の処理は現状Intel Mac mini 2018でも問題ない。&lt;/p&gt;&#10;&lt;p&gt;まぁでも、PCは消耗品だし、より良いマシンにアップグレードできる環境が整っているのは良いことである。&lt;/p&gt;&#10;</description></item><item><title>なんだかんだでMacは使いやすいよなって</title><link>https://hack-le.com/mac/</link><pubDate>Thu, 03 Aug 2023 19:02:57 +0900</pubDate><guid>https://hack-le.com/mac/</guid><description>&lt;p&gt;最近脱Macを本気でやろうとして、Windowsを本格的に使い始めている。だいたいの作業はできるようになったし、懸念点だったまともなトラックパッドがない問題についても、トラックボールに慣れることによって、問題なく移行できそうな感じだ。トラックパッドのほうが良いんだけれど、トラックボールも悪くはない。WSL2もちゃんと動くし、Emacsの呪いも、keyhacとFakeymacsという有志の素晴らしい尽力によって乗り切れそうだ。ストレージ周りは入れ替えて、2TBのSSD2つと2TBのHDとなっており、潤沢。バックアップとメディアサーバ用途として、NASも用意した。&lt;/p&gt;&#10;&lt;h2 id="結局mac使ってるんだが"&gt;結局Mac使ってるんだが&#10;&lt;/h2&gt;&lt;p&gt;ということで、もうほとんどの作業はWindowsでもできるし、むしろWindowsでしかできない作業もあるのだが、結局今こうしてブログ記事を書いているのはMac mini 2018だったりする。今のWindowsは本当によくなったなぁと思いつつ、それでもMacは使いやすい。色々あったけど使いやすい。&lt;/p&gt;&#10;&lt;p&gt;まぁかれこれ10年以上Macをメインにしているわけだから、当然慣れの問題はある。だがそれだけでもないだろう。僕は最初からMacを使っていたわけではない。WindowsもLinuxも使って、そのうえで結果的にMacを日常的に使うようになっていた。20代は自分に合うものを探っていた時で、キーボードもJISキーボードとUSキーボードの両方を使っていた頃もあった。その結果としてのMacユーザーである（そしてUSキーボードの愛好家である）。つまり、今はどうあれ、少なくとも過去、数ある選択肢の中から意識的にMacを選んだユーザというわけだ。ここしばらくはMacを腐していたが、今でも一番使いやすいのはMacだと思っていたりする。&lt;/p&gt;&#10;&lt;p&gt;だからこそ、かなり意識してWindowsへの移行を進めていて、それはそうしなければズルズルとMac使ってしまうだろうなと思ったからなんだけれど、結局今まさにこうしてズルズルとMacを使っていて、それでやっぱり使いやすいなぁとか、馴染むような感じがあるよなぁなどと思っているので、結局僕はなんだかんだといいながらMacを使い続けるのかもしれない。&lt;/p&gt;&#10;&lt;h2 id="windowsマシンは使っていく"&gt;Windowsマシンは使っていく&#10;&lt;/h2&gt;&lt;p&gt;ただそうだとしても、今回ばかり違う面もある。まずMacではもはや機能的に満たされないものがある。昨今の生成AI事情で、今はローカルで動かせて実際に使い物になるやつっていうとStable Diffusionばかりであったが、最近は言語モデルでもLlama2とか出てきているし、これは是非とも手元で動かしたい。そうすると、現実的にNVIDIAのグラボを使うしかないが、現状Macでそれは非常に厳しい。&lt;/p&gt;&#10;&lt;p&gt;コスト面も厳しい。さすがに高い。拡張性がどんどん潰されており、吊るしの貧弱なスペックからちょっとメモリやストレージを盛ろうとすると、それだけで+25000の倍数取られるのだからこれはかなりキツイ。何をどう言われようが高いもんは高い。そして一度決めたらそれっきり。&lt;/p&gt;&#10;&lt;p&gt;PCの良いところの一つは、後で必要になった時にパーツ交換や増設で対応できることだと思うのだけれど、まぁもはやMacにその余地はないわけで、これは変化の大きな時代においては枷だなと思う。思えば過去10年、ホームユースにおけるPCの使われ方は限定的になる一方であったけれど、使える生成AIの登場で状況が変わったのかもしれない。ここ10年、なんでもかんでもスマホに寄せていって、PCの使われ方はシュリンクしていったが、今再び、PC使わないとどうにもならん、ということが増えつつあるように思う。&lt;/p&gt;&#10;&lt;p&gt;まぁ確かになんだかんだでローカルにAIのシステムを構築したい民は全体としては少数派だろうとは思うのだけれど、今後需要が増えることはあっても減ることはなかろうと思っている。人々が本当にAIに求めるものはとてもセンシティブで、デリケートで、昨今の政治的に正しいなんちゃらとかいうお題目を掲げてしまった大企業には、荷が重い面があるように思う。実際、技術的には常に最前線にいたはずのGoogleがサービス面で出遅れているのはそういうことだろうし、MicrosoftもOpenAIへの出資やAzure連携で話題になることはあっても、肝心のBing AIについてはもう話題になることも少なくなった。&lt;/p&gt;&#10;&lt;p&gt;AIの力は自由な個人が一番うまく使えるだろうし、またAIを使えばこれまでマンパワー的にできなかったことができるかもしれないなと思っているし、色々試している。30代の間にこの波が来たことには感謝したいと思う。&lt;/p&gt;&#10;&lt;h2 id="なんだかんだでmacも使い続けそう"&gt;なんだかんだでMacも使い続けそう&#10;&lt;/h2&gt;&lt;p&gt;話がずれてきた。&lt;/p&gt;&#10;&lt;p&gt;まぁ、今回ばかりはMacではできないことも出てきたし、さすがにコストパフォーマンスが悪すぎるという面もあって、メインマシンはWindowsになるかなぁと思っている。ただ一方で、やっぱりMacは使いやすいなと思うのも事実で、そうすると、なんだかんだでセールされてる型落ちMac miniを新調するとかはありそうだなぁ、とか思ったりもするのであった。&lt;/p&gt;&#10;</description></item><item><title>MacからWindowsに回帰するかもしれない</title><link>https://hack-le.com/mac-windows/</link><pubDate>Sat, 15 Jul 2023 18:08:29 +0900</pubDate><guid>https://hack-le.com/mac-windows/</guid><description>&lt;p&gt;初めてのMacは、MacBook Air 2010の13インチモデルだった。つまり、このブログを開設した時(2012年)には、もう既にMacユーザであった。当時はまだMacを使っている人はそんなに多くなくて、なんでMac使うの？と不思議そうに聞かれることも多かった。&lt;/p&gt;&#10;&lt;h2 id="macを使い始めた理由"&gt;Macを使い始めた理由&#10;&lt;/h2&gt;&lt;p&gt;どうしてMacBook Airを買ったんだろうと思い返してみると、iOSアプリを作ろうと思っていたのと、今となっては信じられないが、当時はハードウェアとしてもMacのほうがWindowsマシンよりリーズナブルだったからだ。つまり、いわゆる「コスパ」の面でもMacを選ぶことには合理性があった。&lt;/p&gt;&#10;&lt;p&gt;で、結局その後iOSアプリを作ることはなかったのだが、Mac自体があまりにも使いやすかったものだから、デスクトップもノートも、10年以上Macをメインで使い続けている。ノートPCではMacBook Air 2013 11インチ、MacBook Pro 2019 13インチ、デスクトップではMac mini 2012、Mac mini 2018（今のメインデスクトップ）ときているので、まぁ5台ばかりMacを買っていることになる。&lt;/p&gt;&#10;&lt;h2 id="あれから10年macもwindowsも変わった"&gt;あれから10年、MacもWindowsも変わった&#10;&lt;/h2&gt;&lt;p&gt;ご存知のとおり、Windowsはバルマー時代に迷走の限りを尽くし、非常にひどいことになっていたので、もはやWindowsに戻ることはないだろうと思われた。しかし、バルマー亡き後のサティア・ナデラはめちゃくちゃ優秀な指導者で、驚くべきことにWindowsは使いやすくなった。特に開発者目線では、WSLは本当に大きかった。細かいところでは、フォントの改善などもよかったと思う。&lt;/p&gt;&#10;&lt;p&gt;その一方でMacというと、ジョブズからクックになってからというもの、あまり良いことはなかった。というより、ひどかった。だんだんと拡張性が失われるし、セキュリティの名の下にどんどん窮屈になって、OSアップグレードの後の嵐のような許可ダイアログは、これがAppleの考える最高のUXなのか？といつも疑問に思わされた。&lt;/p&gt;&#10;&lt;p&gt;ハードウェアも停滞、いやむしろ退化した印象すらある。プロ向けのゴミ箱も、タッチバーも、バタフライキーボードも、すべて誤っていたと廃版という形でApple自身が認めざるを得なかった。まぁでも出るだけマシで、特に僕は前述のとおりMac miniユーザだったので、本当に失望させられた。ダウングレードした2014から、さらに4年間放置されたのだから、まぁ仕方ないだろう。2018は良いモデルだったけどね。&lt;/p&gt;&#10;&lt;p&gt;Apple Siliconは革新的だったが、それもワットパフォーマンスが重要なノートPCの話で、デスクトップにおいてはもはや優位性はない。IntelやAMDのCPUと、NVIDIAのグラボを搭載したもののほうが安価でしかも優れている。なにより、拡張性がある。僕は今数年前に購入したHPのマシンで、グラボとSSDだけ換装したものを使っているが、こういうことができる自由さが、PCの良さだと思う。&lt;/p&gt;&#10;&lt;p&gt;そんなわけで、Windowsが良くなってきたのに対して、Macのほうはひたすら悪くなり続けたというのが、僕の偽らざる感想である。&lt;/p&gt;&#10;&lt;h2 id="当面はmacを使うが"&gt;当面はMacを使うが…&#10;&lt;/h2&gt;&lt;p&gt;それでも、今のところはまだMacをメインにしている。UNIXマシンとしての利便性と、なによりトラックパッドが本当に便利だからだ。しかし、WindowsはWSL2が出てかなり使いやすくなったし、トラックパッドは未だにまともなものがないが、トラックボールに慣れればけっこう悪くなさそうに感じている。仕事ではまだしばらくMacをメインにすると思うが、プライベートのほうではWindowsをメインにできるかもしれない。僕の作業でも、既に多くのことでWindowsじゃないとできなかったり、あるいは効率がよかったりしている。&lt;/p&gt;&#10;&lt;p&gt;あまり一般的な見方ではないかもしれないが、少なくとも僕にとって、クックはバルマーと同じような扱いだ。クックもそろそろ引退だと思うが、次の後継者がもしクックと同じような感じなら、Macが凋落するシナリオは、今後十分にありえるんじゃないだろうか。&lt;/p&gt;&#10;&lt;h2 id="その後"&gt;その後&#10;&lt;/h2&gt;&lt;p&gt;（2023-07-15 追記1）そういえば、Macのいいところは静音性だったなと、唸るWindowsマシン見ながら思い出した。昔そういう記事も書いたな。カタログスペックに出ないところで、良い面は確かにあるんだけどな、Mac……。&lt;/p&gt;&#10;&lt;p&gt;（2023-07-16 追記2）Windowsいじった後にMacを触ると、なんとも言えず馴染む。デジタルなのに、名状しがたいFit感のようなものを感じる。単に慣れという以上の心地よさがある……。でも無線通信の不安定さとか（特にBluetooth）、SMBクライアントのクソさとか、問題も多い。&lt;/p&gt;&#10;&lt;p&gt;（2023-07-16 追記3）あとAutomatorも地味に便利で。CLIとGUIの融合がMacは本当に心地よい。余計なことしなかったら本当にMacはよかったのに。&lt;/p&gt;&#10;</description></item><item><title>Mac mini 2018のメモリを64GBに増設するか悩んでいる</title><link>https://hack-le.com/mac-mini-2018-64gb/</link><pubDate>Fri, 12 May 2023 11:11:22 +0900</pubDate><guid>https://hack-le.com/mac-mini-2018-64gb/</guid><description>&lt;p&gt;何もかもが値上がりを続けている中で、メモリとSSDだけはひたすら安く、特にSSDは見ていると世界への愛と感謝で心が満ちていくのを感じる。ついついポチりたくなってしまうが、今のところそれだけの容量のストレージを使う予定もない。そもそも内蔵ストレージはもう既にいっぱいいっぱいだ。&lt;/p&gt;&#10;&lt;p&gt;しかしメモリのほうはまだ増設の余地がある。愛機Mac mini 2018は既にRAM 32GBまで増設しているのだが、これを64GBにすることは可能だ。しかもそれが18,000円ほどでできてしまう。素晴らしい。だが何に使うんだ。うるせぇ。&lt;/p&gt;&#10;&lt;h2 id="メモリが安い"&gt;メモリが安い&#10;&lt;/h2&gt;&lt;p&gt;なんか暇さえあればメモリとSSDを検索してずっと価格を見ている。何もかもうまくいかない世の中にあって、メモリとSSDだけが僕の心にやすらぎを与えてくれる。しかしどんなに安くても買わなくてはどうにもならない。特にメモリはさすがにそろそろ底打ちの気もする。DDR5への世代交代も控えているわけだし。ということは、ポチってみてもいいのではなかろうか。&lt;/p&gt;&#10;&lt;iframe style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B07ZLCVKPV&amp;linkId=f3cd9a5541e6f9896c6944e8f0a0b92a" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" sandbox="allow-popups allow-scripts allow-modals allow-forms allow-same-origin"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B09578GQF1&amp;linkId=a72420cda56e75d25cb896463184ed78" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" sandbox="allow-popups allow-scripts allow-modals allow-forms allow-same-origin"&gt;&lt;/iframe&gt;特にシリコンパワーの17,0001円は圧巻である。Crucialでも19,449円で、これはツクモではさらに安く18,200円だった。&#13;&#10;&lt;p&gt;[Crucial クルーシャル CT2K32G4SFD832A &lt;a class="link" href="https://shop.tsukumo.co.jp/goods/0649528822505" target="_blank" rel="noopener"&#10; &gt;ノート用 / DDR4 SO-DIMM（260pin） / 64GB(32GB × 2枚組)セット / DDR4-3200 CL22-22-22］｜ツクモ公式通販サイト&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;これくらいの価格差ならCrucialにするかなという気はする。別にシリコンパワーで失敗したことがあるわけでもないのだけれどね。&lt;/p&gt;&#10;&lt;p&gt;いやしかし、3万近くかけて32GBにしたというのになぁ。それでも当時は「3万で32GBにできるなんて安い！」と思っていた。その倍の容量を半値近い価格でできるようになるとは……。為替を考えたら半値以下か。&lt;/p&gt;&#10;&lt;p&gt;/mac-32gb/&lt;/p&gt;&#10;&lt;p&gt;こうなると、昔は夢としか思えなかったメモリ64GBも現実である。正直悩ましい。&lt;/p&gt;&#10;&lt;h2 id="ニヤニヤできればいい"&gt;ニヤニヤできればいい&#10;&lt;/h2&gt;&lt;p&gt;とはいえ、64GBのメモリで何をするかというと別段なにかやりたいことがあるわけでもなかったりする。最近React Nativeを始めたので、iOS SimulatorとAndroidのエミュレータを同時に起動してDockerも動かせるよみたいな感じだろうか。うーんCPUのほうが音を上げそう。それとも無限にタブ100万個開けるよみたいな感じだろうか。やっぱりCPUが負けそう。&lt;/p&gt;&#10;&lt;p&gt;まぁRAM 32GBの現在でも、何に使っているのかわからんがちょいちょいスワップしているみたいなので、64GB積めば積んだだけ何かしら使うのかもしれない。しかしそれで別にユーザ体験が変わることもなさそうだなぁ。&lt;/p&gt;&#10;&lt;p&gt;まぁでも正直UXなど知ったことではなくて、メモリ64GBの表示を見るだけで十分ニヤニヤできるから別にそれでいいとか阿呆なことを思っていたりする。なんか前も同じようなこと書いたな。&lt;/p&gt;&#10;&lt;p&gt;正直、一番ネックなのは換装作業だ。Mac mini 2018のメモリ換装は、少々面倒くさい部類に入る。前やったときもちょっとドキドキしたよね。僕、不器用だし。でも換装できるだけいいよ。2014で謎のソルダリングしたのは今でも許してないからな。&lt;/p&gt;&#10;&lt;p&gt;というか、M2 Pro Mac miniも出てきたのに、Mac mini 2018をいったいいつまで使うんだ問題もある。ちょっと前までめっちゃ真剣に検討してた癖にっていう。なんだけれど、なんかまだもうちょっとMac mini 2018で頑張ることになるかもなぁと最近は思っているんだよね。&lt;/p&gt;&#10;&lt;h2 id="pcのスペックが再び大事になった"&gt;PCのスペックが再び大事になった&#10;&lt;/h2&gt;&lt;p&gt;というのも、生成AIという明確なゲームチェンジャー、これの存在が大きい。コイツが出てきたせいで、これまでむしろ持て余され気味だった各種スペックが、突然「むしろ足りねぇ」みたいな感じになってしまった。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.itmedia.co.jp/pcuser/articles/2302/02/news075.html" target="_blank" rel="noopener"&#10; &gt;“無限の柔軟性”を提供するM2搭載「Mac mini」という選択肢の魅力（1/2 ページ） - ITmedia PC USER&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;上記の記事でも触れられているが、使える生成AIの登場で、突然PCのスペックというやつが再び問題になったのである。&lt;/p&gt;&#10;&lt;p&gt;その意味で、「Mac」という縛りの中では確かにM2 Pro Mac miniは魅力があるのだが、その縛りを外すと、だいぶ「うーん」という感じになってしまう。今でさえそういう状況だから、ちょっと時間が立てばM2 Proでは十分戦えないように思う。&lt;/p&gt;&#10;&lt;h2 id="パーツを交換できるのは大事"&gt;パーツを交換できるのは大事&#10;&lt;/h2&gt;&lt;p&gt;そうすると、当面はフツーにNVIDIAのっけたWindowsを使いつつ、Macは引き続き2018を使い続けるというのが一番ありそうなシナリオだ。正直今はMacに金かけるならグラボに金かけたい。実際、この前10万かけてグラボを交換した。他にも2TB SSDの増設などもしている。M2 Pro Mac miniの半額だが、満足のいく買い物だった。PCにとって拡張性はやっぱり大事だよなと思う。&lt;/p&gt;&#10;&lt;p&gt;Appleはずっとオールインワンにしようとしていて、スペックが飽和気味の時はそれもあまり問題にはならないし、M1 MacBook Airなんか飽和の時代の最高傑作だったとすら思う。けれど、&lt;strong&gt;ひとたび「足りない」となった時、拡張性は非常に重要なな「性能」になる&lt;/strong&gt;。拡張性は性能なんだよ。&lt;/p&gt;&#10;&lt;p&gt;PCメーカーとしては買い替えてくれなきゃ儲けにならんと思うのかもしれないが、拡張性があるからこそ、「とりあえず買ってもいいかな」とも思える。スペックが足りなければ後で追加すればいいんだしさ。メモリなんてその最たるものだよな。お陰で今、「メモリを追加してもうちょっと使おうかな」とか考えられていて、こういう体験は、いよいよ新調するぞというときに、「またMacにしよう」と思わさせてくれるものだ。&lt;/p&gt;&#10;&lt;p&gt;これからまたしばらく、PCのスペックが大事という時代になるのであれば、Appleは今のように拡張性がないままだと、少なくともデスクトップは今後苦戦を強いられるんじゃないか。メモリすら最初に盛らないといけないっていうのは、かなり厳しい制約だものな。いくらユニファイドメモリが優秀だといっても、物理的に大容量が必要ということになれば分が悪いだろう。&lt;/p&gt;&#10;&lt;h2 id="期待はしている"&gt;期待はしている&#10;&lt;/h2&gt;&lt;p&gt;それでもHWメーカとしてのAppleには期待しているのだが、時代の変化に適応するのにしばらくかかりそうだなと思っている。個人的には、ティム・クックじゃ厳しそうだなと思っていたりもするが、本人もそろそろ潮時だと思っているようだし、ちょうど良いかもしれんね。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.appbank.net/2022/10/19/technology/2314193.php" target="_blank" rel="noopener"&#10; &gt;AppleのCEOティム・クックが引退、その時だれが後継者になるのか？ | AppBank&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;平時と有事ではリーダに求められる資質は異なる。ティム・クックは典型的な前者だろう。今にして思うと、10年代の世の中はなんというか、本当に安定していたなぁ。技術的にもどこか飽和していて、デザインとマーケティングの時代だったと思う。でも、これからはまた違うんじゃないかな。&lt;/p&gt;&#10;&lt;p&gt;とまぁだいぶ話が脱線したんだけれど、要は今は過渡期で、これからMacもまた変わるんじゃないかと期待しているので、だったらその時まで、今のMac mini 2018をさらに粘らせるのもアリかなと思っていると、そういう話だね。&lt;/p&gt;&#10;&lt;p&gt;と言いつつ、単に64GB積みたい言い訳探しているだけかもしれない。はー、どうしようかなぁ。&lt;/p&gt;</description></item><item><title>結局M2 Mac miniは見送った</title><link>https://hack-le.com/m2-mac-mini-2/</link><pubDate>Thu, 02 Mar 2023 14:19:14 +0900</pubDate><guid>https://hack-le.com/m2-mac-mini-2/</guid><description>&lt;p&gt;あれだけ色々と書いておきながら、結局M2 Mac miniはポチらないまま来週を迎える気になっている。理由は色々とあるのだが、今は転換期のように思えたので、差し迫って必要でない今慌ててポチらなくてもいいかと思った。&lt;/p&gt;&#10;&lt;p&gt;まぁ予算25万という現実の前に「それだったらグラボほしいわ」とか思い始めたのも大いにある。AIやるならなんだかんだでNVIDIAだからねぇ……。グラボもめっちゃ高いけどな……。&lt;/p&gt;&#10;&lt;p&gt;AppleのNeural Engineの進化は目覚ましいものがあるし、M2デバイスのウリもそこだろう。M3でさらなるNEの進化と半導体の微細化が進むなら、それは期待したい。&lt;/p&gt;&#10;&lt;h2 id="25万はそれなりに考えたなぁ"&gt;25万はそれなりに考えたなぁ&#10;&lt;/h2&gt;&lt;p&gt;結局M2 Mac miniはポチらずに3月になってしまい、今の気分やら昨今の情勢やら色々と鑑みると、今回は見送りかなぁという感じになっている。&lt;/p&gt;&#10;&lt;p&gt;理由については色々あるのだが、&lt;strong&gt;まず25万で怯んだ&lt;/strong&gt;というのがやっぱり最初にある。今のIntel Mac mini 2018はSSDだけ盛って15万ちょい、プラス3万でメモリ32GBに自前換装（今の相場ならメモリは半額だけどね、当時はね）だから、なんだかんだで18-19万かかっているわけで、そこに+5万でInter CPUからM2コアと考えると、別段悪くないのかもしれないけれど、しかし逆に言うとそれだけで+5万か、2018からもう5年たつというのに、という気分もある。まぁ2018は年末だったから実質4年ちょっとなんだけれど。&lt;/p&gt;&#10;&lt;p&gt;といっても&lt;strong&gt;円安を考えると当時より2割なんなら3割くらい値上がりしても仕方ない&lt;/strong&gt;わけで、実際為替の影響で20%くらい上がっているので、それを差っ引いて考えると2018年の相場では20万くらいで買えたのかもしれない。20万を切っていたらポチっていただろうか。&lt;/p&gt;&#10;&lt;p&gt;それはけっこうあるかもしれない。25万という価格から「そういえばうちにあるゲーミングPCもそれくらいしたなぁ」ということを思い出し、「この価格だったらゲーミングPCも射程内なのか」などと思い始め、そこから色々と今のグラボ事情やらなんやらを調べているうちに、「今慌ててM2 Mac miniをポチることもないか」という心情になったので、20万を切っていたら違う展開になっていた可能性はある。&lt;/p&gt;&#10;&lt;p&gt;まぁ為替で高くなっているのはもちろんMacだけではなく、むしろグラボこそひどいことになっていて、特にNVIDIAのグラボはかなり割高……なのは商流の問題が大いにあるだろうが。&lt;strong&gt;Appleの地味に偉いところの一つは、中間マージンを嫌ってか全世界に直営店を展開したところ&lt;/strong&gt;だと思う。Appleというよりジョブズの経営センスだろうか。まぁそうせざるを得なかったのかもしれないが。&lt;/p&gt;&#10;&lt;h2 id="拡張性もないし"&gt;拡張性もないし&#10;&lt;/h2&gt;&lt;p&gt;なのでまぁ、&lt;strong&gt;高いなぁと思いつつも、特別に割高だと思っているわけではなかったりする&lt;/strong&gt;。&lt;strong&gt;カスタマイズは割高やけど。&lt;/strong&gt; ユニファイドメモリ+16GBするだけで+56,000円はほんとに勘弁してくださいって感じ。&lt;/p&gt;&#10;&lt;p&gt;SSDはもっとつらい。最初に盛る以外の選択肢を奪っておきながらあの価格。確かにいいものを使っているのかもしれないけれど、前にも書いたがストレージの一番の要件は容量であって速度ではない。もちろん速度は重要だがすべてのアイテムで3GB/sの速度が必要ではない。Appleも内心わかってるからこっそりストレージダウングレードしたんやろ。ユーザ体験変わらんだろって。まぁAppleは明確にユーザ体験変わってもHWのダウングレードすることあるけど（Mac mini 2014の悪夢）。&lt;/p&gt;&#10;&lt;p&gt;といっても、SSDは最近だと外付けが熟れているからなんとかなるかなとは思う。でもなー、外付けはマウント不安定だったりするからやっぱり内蔵がええなぁ。&lt;/p&gt;&#10;&lt;p&gt;とまぁ、商売の仕方は10年代中頃に戻ってしまった感はあるものの、技術的な理由付けで仕方ないかなとユーザに思わせるのはうまくなったなと思う。とはいえこのカスタマイズ性のなさは、購入を見送る動機の一つにもなる。まぁAppleからすれば初期投資抑えられても稼ぎにはならんので、それで多少購入者が減ったとしても、盛ったやつを売りつけるほうが利益になるのかもしれない。実際そのほうが利益になるから今の売り方なんかな。&lt;/p&gt;&#10;&lt;h2 id="激変する生成aiを取り巻く環境とmacの対応"&gt;激変する生成AIを取り巻く環境とMacの対応&#10;&lt;/h2&gt;&lt;p&gt;そんなこんなで、これだったら他にも色々あるんじゃないのかなと、ゲーミングPCとか見始めたわけだ。元々興味をもった発端が、Apple SiliconでもStable Diffusionできるぞという話からだったので、それ目的ならむしろゲーミングPCのほうが正道である。ただまぁ、僕の普段遣いはなんだかんだでMacなので、Macを使いながら生成AIで遊べたらいいなくらいの気持ちであった。&lt;/p&gt;&#10;&lt;p&gt;しかし&lt;strong&gt;この生成AIというやつ、やり始めると存外面白く、今一番ハマっていると言っても過言ではない&lt;/strong&gt;。Stable Diffusionならば確かにMacでも扱える環境はあるものの、生成AIはこれだけではないし、またStable DiffusionにしたってWindows/Linuxのほうが圧倒的に環境が整っているわけだ。なので、やはり素直にNVIDIAをのせたWindows PCでいいんじゃないのという気がする。&lt;/p&gt;&#10;&lt;p&gt;実際、今一番出回っているだろうStable Diffusionのアプリの一つAUTOMATIC1111版（通称1111)と呼ばれているものは、UIをWebサーバでもっているのだが、ちょっと起動スクリプトに引数を足してやるだけでLAN内からアクセスできるようになるので、生成にかかる操作はMacからもブラウザ経由でできるし、正直Stable DiffusionのためにMacを使う理由はない。&lt;/p&gt;&#10;&lt;p&gt;とはいえMacで使えたら便利だなとはやはり思う。ちなみに1111はMacでもけっこうちゃんと動くらしい。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://mac-ra.com/mac-automatic1111-stable-diffusion-webui/" target="_blank" rel="noopener"&#10; &gt;AUTOMATIC1111 版 stable-diffusion-webui を Mac で使う | 林檎コンピュータ&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;この方は速度も書いてくれいて、20steps 512x512で45秒程度とのことで、これはM系列Macの消費電力を考えると驚異的だと思う一方、僕の持っている6年前のグラボGTX1080Tiでもその設定なら15秒もかからずできるわけだ（性能的には今のRTX3060よりちょい上くらいらしい）。もちろん消費電力は比べるべくもないが、デスクトップだと別に多少電気使ってもいいんじゃないの、いくら電気代高騰とはいえそこまで抑え込む必要もないし、という気でいるので、まぁ微妙な感じ。&lt;/p&gt;&#10;&lt;h2 id="macにも期待している"&gt;Macにも期待している&#10;&lt;/h2&gt;&lt;p&gt;ただAppleも常に進化を続けていて、Neural Engineを利用することでなかなかの生成速度を出せるようになったらしい。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://applech2.com/archives/20230225-diffusers-for-mac-support-apple-neural-engine.html" target="_blank" rel="noopener"&#10; &gt;テキストから画像を生成できるオープンソースのStable Diffusionアプリ「Diffusers for Mac」がGPU/Neural Engine選択に対応し、Apple Silicon Macでは生成速度が最大2倍に。&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;実際、M1 Macを持っている友人に試してみてもらったところ、25stepsで14秒弱だったらしく、これだったらGTX1080Tiと遜色ない。&lt;/p&gt;&#10;&lt;p&gt;で、&lt;strong&gt;M3は半導体微細化は当然、Neural Engineのさらなる強化もあるだろうし、またStable Diffusionだけではない他の生成AIへの対応も進んでいくかもしれない&lt;/strong&gt;。そうすると、けっこう期待してもいいように思える。&lt;/p&gt;&#10;&lt;p&gt;Appleは常にHWとSWをセットで進化させてきたので、最先端のSWを堪能するには最先端のHWがいるだろう。そして、生成AIを取り巻く環境は日進月歩で、昨日できなかったことが今日できるようになっている状態だ。であれば、何もこんな時にハードなウェアを買わんでもええかなぁ、という風に思い始めた。今もう既にグラボのせたPCだってあるんだし。&lt;/p&gt;&#10;&lt;p&gt;ということで、別に生成AIを主たる目的にしているわけではないのだが、どうせなら使いたいという気持ちもあり、今回はM2 Mac miniの購入は見送った。25万あったらRTX4080も買えるし。なおRTX4090は買えない模様。なんやこの価格……頭おかしい……。&lt;/p&gt;&#10;&lt;p&gt;M3に期待したい。&lt;/p&gt;</description></item><item><title>M2 Mac miniは結局ポチらず、なぜかWindows PCをまた触り始めているが、まぁでもMacなんだよなぁ</title><link>https://hack-le.com/m2-mac-mini-windows-pc/</link><pubDate>Sat, 18 Feb 2023 04:42:32 +0900</pubDate><guid>https://hack-le.com/m2-mac-mini-windows-pc/</guid><description>&lt;p&gt;発売されて2週間が経過するが、結局その後Mac miniをポチっていない。発売2週間前くらいの時が自分の中で一番盛り上がっていて、発売される頃には既に熱が冷めていた感じだ。&lt;/p&gt;&#10;&lt;p&gt;今のIntel Mac mini 2018よりもよく働いてくれることは想像に易いが、そうはいっても25万円かけて今リプレースするほどでもないか、というお気持ちである。というか、25万あったらゲーミングPC買えるなとか思い始めたのであった。&lt;/p&gt;&#10;&lt;p&gt;その流れで、GTX 1080Ti（VRAM 11GB！）を搭載したWindows PCを現在再稼働しており、最近無駄にSSD 2TBを増設した。たまにWindows PCをいじっていると、PCそのものをいじるガチャガチャ感が感じられて楽しい。Macはこういう楽しさはないよなと思う。ただなんとも言えない使い心地の良さがあって、そのためにふだん使いはもう13年ほどずっとMacであり続けている。&lt;/p&gt;&#10;&lt;h2 id="windowsは楽し"&gt;Windowsは楽し&#10;&lt;/h2&gt;&lt;p&gt;Windowsも悪くない。WSL2が十分実用的な域に達していることが大きい。そりゃまぁターミナルの操作感でいえばUNIXであるMacやネイティブのLinuxのほうに軍配があがるものの、Windowsしか対応していないソフトやドライバは実際問題多く存在する。PCの選択肢もたくさんある。&lt;/p&gt;&#10;&lt;p&gt;確かにゴチャゴチャしているしガチャガチャしている感はあるのだが、それも何かPCをいじっているんだなぁと思わせる楽しさだとも感じられる。実際、最近2TBのSSDを増設した。SATAとはいえCrucialの2TB SSDが14,100円はリーズナブルだったと思う。まぁ増設もなぜだか一部HDのスロットが認識しないなどあり色々と試行錯誤はあったものの、動いたので結果オーライだ。&lt;/p&gt;&#10;&lt;p&gt;久しぶりにいじると&lt;strong&gt;Windows PCにはMacにはない楽しさがある&lt;/strong&gt;なと実感する。Macは熟れているものの、PCをいじっている楽しさみたいなものはあまりない。拡張性もほとんどなく、今やストレージやメモリすらも購入時にゲロほど高いカスタマイズ以外の選択肢がなくなってしまった。&lt;/p&gt;&#10;&lt;h2 id="macは高し"&gt;Macは高し&#10;&lt;/h2&gt;&lt;p&gt;M2 Mac miniの512GBストレージを2TBにする場合、84,000円ほど追加の費用がかかる。下位モデルでは256GBから512GBへのアップグレードに28,000円とっているのを見ると、Apple的に2TB SSDは13-14万くらいの代物とみて良さそうだ。&lt;/p&gt;&#10;&lt;p&gt;もちろんMacに搭載されているストレージの速度性能はぶっ飛んでいるので単純な比較はアンフェアかもしれない。だが思い出してほしいのだが、&lt;strong&gt;ストレージとは「貯蔵」という意味である&lt;/strong&gt;。そのもっとも重要な機能はどれだけ保存できるか、つまり容量だ。速度に過度な比重を置いてストレージを比較することこそ奇妙な話である。&lt;/p&gt;&#10;&lt;p&gt;もちろん速度も重要ではあるが、単なる画像データや音楽データの置き場に3GB/sのインタフェースはどう考えても不要であり、今なおHDですら事足りることは多い（さすがにHDとなると音の問題もあるが）。ゲームのロードなどはもう少し速度がほしいが、それでもSATA SSDで体感的に十分だ。ストレージにおいては、感じられない速度の向上よりも容量あたり価格の割安さのほうが、全体的なUXの向上に寄与する。&lt;/p&gt;&#10;&lt;p&gt;つまり、&lt;strong&gt;無駄に高性能で高価なストレージのみを選択肢にして売りつけるのはAppleのビジネス上の戦略であって、ユーザ体験のためではない&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;まぁそれでもストレージは安くなった外付けSSDという逃げ道がデスクトップならば存在するものの、メモリはそうもいかない。メモリは最初に必要な容量を選ぶ必要がある。&lt;/p&gt;&#10;&lt;p&gt;Mac mini 2014の無意味なソルダリングと違って（当時はMac暗黒期だった。Mac mini 2018発売前の愚痴記事→「&lt;a class="link" href="https://hack-le.com/buywin/" &gt;ここ最近のMacの愚痴 – 或る阿呆の記&lt;/a&gt;」）、今のユニファイドメモリには技術的な意味があるために多少納得感はあるが、それにしても16GBから32GBのアップグレードで+56,000円は二の足を踏む。下位モデルにおける8GBから16GBへのアップグレードが+28,000円であるとことを考えると、メモリについても32GBメモリで11万ほどというのがAppleの提示する相場なのだろう。今はDDR4でDIMMならば8GB4枚組32GBがその10分の1の価格で手に入る。2万払えば64GBだ。果たしてそれほどの価格差に見合うものかは、甚だ疑問である。&lt;/p&gt;&#10;&lt;h2 id="それでもmacは使いやすい"&gt;それでもMacは使いやすい&#10;&lt;/h2&gt;&lt;p&gt;ということで、10年ほど前はハードウェア面でも優れていたMacだったが、今となっては同じ金を出すならば他に選択肢があるだろう、という状態だ。しかしそれでもなお、macOSというソフトウェアには優位性がある。&lt;strong&gt;割高なハードウェアは、macOSを動かすためのライセンス費用みたいなもの&lt;/strong&gt;という認識だ。さらに最近は、&lt;strong&gt;Appleの構築するエコシステムをPCで利用する参加費用&lt;/strong&gt;も加わっている。そのために高騰している、というのが僕の見方だ。&lt;/p&gt;&#10;&lt;p&gt;それだけの価値はある。&lt;strong&gt;なんというかまぁ、使いやすい&lt;/strong&gt;のである。Windowsデスクトップをガチャガチャ楽しんだ後にMac miniを動かすと、なんとも言えず落ち着く。&lt;/p&gt;&#10;&lt;p&gt;直接的には、トラックパッドの操作性と、UNIXのソフトウェア資産をベースに構築された体系の心地よさが大きいだろう。個人的にはEmacsキーバインドがデフォルトで使えるのもすごく嬉しい。このあたりの感覚は10年前から大筋の考えは変わっていない。以下は10年前の記事だ（このブログは10年以上続いている！）。&lt;/p&gt;&#10;&lt;p&gt;/32323358-2/&lt;/p&gt;&#10;&lt;p&gt;この記事から10年、クラウド全盛の今TimeMachineは時の中に置き去りにされ、改悪を続けられた悪夢iTunesはついに死んだが、&lt;strong&gt;今なおMacから離れられていない&lt;/strong&gt;。10年代中盤は暗黒期だったが、乗り越えられたのはSWの使いやすさ故だろう。上記の記事は今読んでなお納得感がある（ちなみに2018年前のMac系の記事は愚痴記事が多い）。&lt;/p&gt;&#10;&lt;p&gt;しかしこのトータルの使い心地の良さは、UNIXだのトラックパッドの操作性だのといった言葉だけでは説明がつかないとも思う。ましてEmacsキーバインドがポイントのはずはない。&lt;/p&gt;&#10;&lt;p&gt;では時折言われるようなフォントの美麗さ故なんだろうか。まぁ綺麗ではある。それは思う。確かに昔は感動した。Automatorなんかも使ってみれば便利だ。だがそのために良いのかと言うと、そうではない気がする。わからない。AppleScriptも未だによくわからない。ただ、とにかくトータルで使いやすい。&lt;/p&gt;&#10;&lt;p&gt;ただしFinderは永遠に使いづらい。お前だけはダメだ。実はMSの刺客なんだろう？そのアイコンは富士通に外注して作ったのか？まぁファイラは別のものを使えばいい。それくらいの自由さはある。&lt;/p&gt;&#10;&lt;p&gt;ソフトウェアの使い心地と相まって、筐体の良さもある。Macノートのアルミニウムボディは今なお素晴らしいし、デスクトップではその静音性と省スペースさも見逃せない。&lt;/p&gt;&#10;&lt;p&gt;そして、Macは揃えるとさらにユーザ体験が向上する。ユニバーサルコントロールは便利だし、iOSとの連携も細かく素晴らしい。そしてこの細かさは、同一の会社がHWから揃えているからこそできることなのだろう。&lt;/p&gt;&#10;&lt;h2 id="メインはmacなんだろう多分"&gt;メインはMacなんだろう、多分&#10;&lt;/h2&gt;&lt;p&gt;25万という現実を前に、少し頭が冷えて他のゲーミングPCなど物色しつつWindows PCを動かし始めた今日このごろ。久しぶりに電源ユニットまで購入してしまい、また自作PCでもやろうかという気にもなっている。たまにやるとPCいじりは楽しい。ただまぁ、あくまで趣味である。&lt;/p&gt;&#10;&lt;p&gt;普段はやっぱりMacを使っている。Mac暗黒期を経て得られた光明Intel Mac mini 2018を当分は使い続けるかもしれないし、どこかでふと思い立ってM2 Mac miniをポチるかもしれないし、半導体の微細化が進むであろうM3を待つかもしれない。ただいずれにしても、これからもメインはMacなんだろうな、とは思う。そうであってほしい、と言うべきかもしれない。&lt;/p&gt;</description></item><item><title>発売したのにMac mini熱が微妙に冷めてるし謎に自作熱も高まる</title><link>https://hack-le.com/mac-mini-vs-jisaku/</link><pubDate>Sun, 05 Feb 2023 04:30:17 +0900</pubDate><guid>https://hack-le.com/mac-mini-vs-jisaku/</guid><description>&lt;p&gt;Mac mini関係だけでいくつ記事書いたんだってくらいしつこく書いてきたにも関わらず、ポチらないまま気がつくと発売日が明日になってしまった。そしてあれだけほしい気がしてMac mini購買熱が急速に冷めていっているのを感じる。&lt;/p&gt;&#10;&lt;p&gt;まぁでもいざ発売されて開封の儀や実際に使用した人たちのレビューが出始めたら、また欲しくなるかもしれない。&lt;/p&gt;&#10;&lt;p&gt;とりあえず今はTwitterでずっとみんなのツイート眺めてる。俺のDeepL Proが火を吹くぜ。&lt;/p&gt;&#10;&lt;h2 id="既にポチった気でいるポチってない"&gt;既にポチった気でいる（ポチってない）&#10;&lt;/h2&gt;&lt;p&gt;これはウィンドウショッピングしていたら満足できるアレに近いものなんだろうか。あれだけ記事を書きまくっていたMac mini、結局ポチらず発売日、そして今微妙に熱が冷めているという。まぁでも発売してみなの手元に届き始めたら、またほしくなるかもしれない。レビューも増えるだろう。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.digitaltrends.com/computing/apple-mac-mini-review/?utm_source=twitter&amp;amp;utm_medium=socialorg&amp;amp;utm_campaign=rss-feed" target="_blank" rel="noopener"&#10; &gt;Apple Mac mini (M2 Pro) review: the best mini computer ever | Digital Trends&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;SSDはやっぱりケチがついてるけど、それ以外については概ね好評。まぁSSDの性能についても、実運用上では正直気にならないのではないかと思う。&lt;/p&gt;&#10;&lt;p&gt;Mac miniのmini PCというポジショニングが唯一無二なんだよね。NUCは一時期注目していたけれど、微妙な感じは拭えない。Mac miniは特に静音性が素晴らしい。&lt;/p&gt;&#10;&lt;p&gt;気になるのは今年の後半にMBAから搭載されるという噂のM3がどうなるのかというところだが、ノートPCならば半導体の微細化による恩恵も大きそうだが、Mac miniだとそれも微妙な気はするので、M3を待つ意味もあまりないように思える。&lt;/p&gt;&#10;&lt;p&gt;とすると、やはりつべこべ言わずにさっさとM2 Pro Mac miniをポチるのが良いのではなかろうか。&lt;/p&gt;&#10;&lt;p&gt;なかろうかと言い続けて一ヶ月近くたっている。すでに買ったような気すらしている。&lt;/p&gt;&#10;&lt;h2 id="ai向きではないよねまぁ"&gt;AI向きではないよねまぁ&#10;&lt;/h2&gt;&lt;p&gt;まぁ実際、色々と情報を集める中で、自分の中で迷いが出ているのはあるよな。元々のモチベはAIイラストだ。普段遣いのついでにStable Diffusionいじれるなら面白そうだな、と思ったのが発端である。&lt;/p&gt;&#10;&lt;p&gt;で、これなんだが以下のITmediaの林信行さんの記事で実測がある。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.itmedia.co.jp/pcuser/articles/2302/02/news075.html" target="_blank" rel="noopener"&#10; &gt;“無限の柔軟性”を提供するM2搭載「Mac mini」という選択肢の魅力（1/2 ページ） - ITmedia PC USER&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;設定が書かれていないが、多分まぁ512x512かなぁと思っている。で、MBAで50秒、Mac miniで25秒となると、記事内では礼賛されているものの、正直そんなもんかぁという気は否めない。やっぱりAIイラスト真面目にやるなら、ちゃんとしたグラボののったマシンでやるべきなのかなーと、実際の数値を目の当たりにすると思わなくもない。&lt;/p&gt;&#10;&lt;h2 id="今はもう動かないおじいさんのハイエンドpc"&gt;今はもう動かないおじいさんのハイエンドPC&#10;&lt;/h2&gt;&lt;p&gt;いや、これくらいの速さだとね、思うんよ、今うちにある、眠っているGTX 1080TIで十分なんちゃうんかと。いや、多分十分なんだけれど、これがのってるPC、今起動しない状態で。簡易チェッカーだと電源はおかしくないっぽいんだが、そうするとロジックボードかなぁ。一番面倒なやつ。いやでも簡易チェッカーで大丈夫でも、実際電源が生きてるかなんてわかんないよなー。生きていたとしても、まぁ電源は寿命もあるし諦めるほうがいいよね。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://support.hp.com/jp-ja/document/c05877140" target="_blank" rel="noopener"&#10; &gt;OMEN by HP 880-186jp Desktop PC 製品仕様 | HP®カスタマーサポート&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;ちなみに確かこれのはず。当時としてはけっこう良いやつです。パーツが全部いかれているわけではなかろうし……と思って未練がましくずっと持ってる。。。&lt;/p&gt;&#10;&lt;p&gt;まーでも、今さらGTX 1080Tiとか中古で3万くらいなんだよね。今のやつだと3060Ti未満くらいのようだ。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://gamingpcs.jp/hikaku/hikaku_gpu/geforce-gtx1080ti/" target="_blank" rel="noopener"&#10; &gt;GeForce GTX 1080 Tiの性能スペック＆ベンチマークレビュー【2022年】 ｜ ゲーミングPC徹底解剖&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;でもGTX 1080TiはVRAMが謎に11GBあるんだよね。RTX 3070でも8GBなのに。VRAM10GB超えはStable Diffusion目的だと嬉しい。&lt;/p&gt;&#10;&lt;p&gt;メモリもDDR4だけどDDR5の普及はまだ時間がかかるだろう。NVMe SSDは使えると思うし。HDもね。まぁそうすると、BTOでグラボなしでストレージとメモリ手を抜いたPC買って、入れ替えるのがパーツ入れ替えるのがいいのかねぇ。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://review.pastime.ne.jp/personal-computer/pc-parts/stable-diffusion/#toc5" target="_blank" rel="noopener"&#10; &gt;Stable Diffusionを快適に使うための最適解。現時点で最強のビデオカード“RTX3090”を試す - Items&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;と言いつつも、この方のレビューを見ると、やっぱり1080Tiはおじいさんのハイエンドなんだなという現実。そりゃそうだよね。真面目にやりたいならそんな昔のグラボ使おうと躍起になってるんじゃないよ、という正論が頭をもたげるのであった。&lt;/p&gt;&#10;&lt;p&gt;いやーでもRTX4090とか数十万円しますしおすし。ちょっとローカルでStable Diffusionやりたいっていうだけなのにそれはちょっと。さすがに。ねぇ？&lt;/p&gt;&#10;&lt;p&gt;そんならいっそCPUとマザボだけ安いやつ買って、今もってるパーツのっけていけるかどうか試してみるのはアリかもな？それだったら3万くらいで試せるし。CPUはRyzenでもいいだろうし、この機会にいまさらRyzenデビューして見るのもアリか🤔もし電源がいっていたとしたら電源追加すればいいわけだし。&lt;/p&gt;&#10;&lt;p&gt;などと、Mac miniについて考えていたはずが、なぜか今さら自作PCくさい話を考える真夜中なのであった。寝ろ。寝る。&lt;/p&gt;</description></item><item><title>ベンチマークを見ながらM2 Mac miniの購入を考える日々</title><link>https://hack-le.com/m2-mac-mini/</link><pubDate>Thu, 26 Jan 2023 00:24:04 +0900</pubDate><guid>https://hack-le.com/m2-mac-mini/</guid><description>&lt;p&gt;いつまで悩んどるねんという感じですが、未だにIntel Mac mini 2018からM2 Pro Mac miniへの買い替えを悩んでいたりします。もうさっさと注文しろという感じはします。いやでも、ベンチ、ベンチを見てから……。&lt;/p&gt;&#10;&lt;p&gt;っていうかベンチとか見始めると、ゲーミングPCも気になり始めるよね。。。&lt;/p&gt;&#10;&lt;h2 id="ベンチ"&gt;ベンチ&#10;&lt;/h2&gt;&lt;p&gt;ベンチ出てました。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.macotakara.jp/macintosh/entry-44187.html" target="_blank" rel="noopener"&#10; &gt;Mac mini (2023) ベンチマーク（暫定） | Mac | Mac OTAKARA&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;これを見ると、CPU性能は、Intel Mac mini 2018のCore i5と比較すると、シングルコアもマルチコアもM2で倍ぐらいありますね。Proにするとコア数分されに強くなる感じか。&lt;/p&gt;&#10;&lt;p&gt;まぁでも、やっぱり大きいのはGPU性能でしょうか。M1で5倍、M2で7倍、M2 Proなら10倍くらいに。10倍は大きいなぁ。PixelmatorのML超解像処理もすぐに終わるんだろうな……。まぁそんな何度もやる処理ではありませんが。&lt;/p&gt;&#10;&lt;p&gt;M1とM2の性能差もそこそこあるので（Neural EngineもM2が強いし）、たとえ整備済み品などでもM1は選択肢に入らなさそうですね。まぁ、吊るしのエントリーモデルでいいよって人ならありでしょうけれど。少なくともM2 Proを考えている人は対象外ですね。&lt;/p&gt;&#10;&lt;p&gt;M2 ProのCPU/GPUのオプションもありますが、性能差を見ると、ちょうどコア数分、マルチコアなやつは15%くらいアップ、って感じですかね。うーん、まぁこれは微妙かなぁ。&lt;/p&gt;&#10;&lt;h2 id="ゲーミングpcとかも思い浮かぶけど"&gt;ゲーミングPCとかも思い浮かぶけど&#10;&lt;/h2&gt;&lt;p&gt;とすると、やっぱりM2 Pro Mac miniをメモリ盛って24万円、が一番いいかなぁ。10GbEをつけたら254,800円。いずれにしてもざっくり25万か。&lt;/p&gt;&#10;&lt;p&gt;25万……25万かー、うーん、なるほどなぁ。もしかして、今までに僕が買ってきたPCの中で一番高いのではないだろうか。多分高い。ふーむ。そうか、そう考えると同価格帯のゲーミングPCも見る必要があるのか……。25万だとだいたいRTX3070とか3070Ti搭載くらいのPCになるね。性能的には比べるべくもない。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.tomshardware.com/news/apple-m2-gpu-analysis" target="_blank" rel="noopener"&#10; &gt;Don&amp;rsquo;t Believe the Hype: Apple&amp;rsquo;s M2 GPU is No Game Changer | Tom&amp;rsquo;s Hardware&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;実際OpenCLのベンチとか見ればその差は歴然。まぁでもMac Proならともかく、あのちっちゃな筐体と消費電力で比べるのはアンフェアであろう。。。&lt;/p&gt;&#10;&lt;p&gt;Macの魅力の一つは静音性なんよね。Mac mini、ほんと静か。時々唸るし目玉焼きでもやけそうなくらい熱くなったりはするけど。あとmacOS自体の魅力もある。普段遣いにはやっぱりmacOS。&lt;/p&gt;&#10;&lt;p&gt;悩めば悩むほどに欲しくなる。だが未だポチっていない。なぜならば、ポチるともう悩めなくなるからだ（哲学）。&lt;/p&gt;</description></item><item><title>M2 Macを買ったら、Intel Mac mini 2018はどうしたらいいんだ</title><link>https://hack-le.com/m2-mac-intel-mac-mini-2018/</link><pubDate>Tue, 24 Jan 2023 00:00:56 +0900</pubDate><guid>https://hack-le.com/m2-mac-intel-mac-mini-2018/</guid><description>&lt;p&gt;売るの？まぁ売ればそこそこの値段にはなるかもしれないけれど。第8世代Core i5 6コア、RAM 32GB、内蔵SSD 512GB、ぱっと見で、今でも悪くないけどね。いや、むしろ使える。実際僕はこれで2030年まで戦うつもりだったんだぞ。&lt;/p&gt;&#10;&lt;p&gt;マシンはあればあったでけっこう便利なので、置いといてもいいかなと思う。けっこう色々な用途が考えられる。&lt;/p&gt;&#10;&lt;h2 id="nas説"&gt;NAS説&#10;&lt;/h2&gt;&lt;p&gt;まず、NASとして使える。NASとして見た時のスペックは十分すぎる。というより、贅沢に過ぎる。&lt;/p&gt;&#10;&lt;p&gt;僕が今現在NASを使っていない理由は、Dropboxのほうが便利だからというのが大きいのだが、もうひとつあって、通常のSMBだとMacはどうもパフォーマンスが出ないという問題があった。これについては昔から苦しんでいて、以下のような記事を書いている。&lt;/p&gt;&#10;&lt;p&gt;/rnas104smbup/&lt;/p&gt;&#10;&lt;p&gt;この記事の対応である程度は改善するのだが、それでもファイルの一覧表示などのパフォーマンスは満足のいくものではなかった。&lt;/p&gt;&#10;&lt;p&gt;しかし、同じMac同士ならばそこまで遅いということもないので、けっこう使えるかもしれない。有線で繋げば速度的にも問題ないだろう。普通のNASだと騒音問題があるが、Mac miniは部屋の中においていても許されるくらいの静かさがあるし。&lt;/p&gt;&#10;&lt;p&gt;ただ、それM2 Mac miniをNASとして使うのと何が違うの？と考えると何も違わない。むしろ不便まである。&lt;/p&gt;&#10;&lt;h2 id="vps代わりにバッチ処理とか"&gt;VPS代わりにバッチ処理とか&#10;&lt;/h2&gt;&lt;p&gt;最近、ConoHaから値上げのメールがきた😭&lt;/p&gt;&#10;&lt;p&gt;昨今の情勢を考えれば仕方がないとはいえ、やはり値上げは悲しい。&lt;/p&gt;&#10;&lt;p&gt;それでふと、VPS代わりに使えば良いのではないか、という気もしている。とすると、このブログをどこに置くんだ、まさか今更自宅サーバじゃあるまいな、という話になるわけだが、もちろんそんなことはしない。WordPressの運用ならばいわゆるレンサバで十分なので、そちらに移行すればよいと思っている。&lt;/p&gt;&#10;&lt;p&gt;ちょうどいい機会かもしれない。Webサーバの運用はしんどい。WordPressだけでも、OS、Webサーバ、PHP、MariaDBと各種のアップデートに追いつかなければいけない。しんどい。いや、たしかに僕は楽しんでそういう作業をしていたこともあったよ。でも、もう僕はそこに喜びを見いだせないんだ。楽しくないんだ。&lt;/p&gt;&#10;&lt;p&gt;なので、ブログの運用はレンサバに移行し、そのほかのバッチ処理やビットコインの自動トレードプログラム（最近は止めている）などで使えば良いのではないか、という考えだ。&lt;/p&gt;&#10;&lt;p&gt;僕は定常的に何かとバッチ処理を流しているので、これはけっこう良いアイディアに思える。そしてVPSの契約を解約できれば、年間で1万円以上の節約になる。&lt;/p&gt;&#10;&lt;p&gt;まぁこれもM2 Mac miniでもできそうな気はしなくもないが、常時処理を走らせるマシンが別にあってもいいかなとは思う。&lt;/p&gt;&#10;&lt;p&gt;あと、気軽に環境壊せるマシンがあるのはいいかも。&lt;/p&gt;&#10;&lt;h2 id="クリーチャー製造機"&gt;クリーチャー製造機&#10;&lt;/h2&gt;&lt;p&gt;僕は今AIイラストにハマっている。今回M2 Macをほしいと思ったのも、AppleがStable DiffusionのApple Silicon対応に乗り気だからだ。なので、M2 Macを買った暁には大いに使いたいところだが、現実的にすぐには使いこなせないだろうと思われる。&lt;/p&gt;&#10;&lt;p&gt;色々なチューニングがされたNovelAIやそのほか各種AIイラストサービスは、今後も必要になる。で、そういうサービスを使うのであれば、マシンスペックはそこまで必要ではないので、こちらのMac miniに生成のアシスタントをさせるという使い方は考えられる。実際、今はMacBook Proがその役割を担っていて、ノートPCにこんなことさせるのもなんだかなぁと思っていたところだ。&lt;/p&gt;&#10;&lt;p&gt;ついでに上記のバッチ処理サーバーの役割ももたせれば、けっこうなことをできる。&lt;/p&gt;&#10;&lt;h2 id="だいたい補助的な役割"&gt;だいたい補助的な役割&#10;&lt;/h2&gt;&lt;p&gt;まぁここまでつらつらと書いてきたものの、なければないで別に困らないなという感じ。そりゃそうではあるんだけれど。うーん。まぁでもあったら便利かな、くらいの感じ。サンドボックス的に使える、のが一番響いたかもしれない。macOSだとあんまりOS再インストールからという気にはならんし。&lt;/p&gt;&#10;&lt;p&gt;うーん、まぁでも弱いか。なにか一つ、「おっ、これは便利になるぞ」と心から思えるような、そういう変化もほしいところではあるなぁ。&lt;/p&gt;</description></item><item><title>Macを真剣に選ぶことは社会貢献だから</title><link>https://hack-le.com/m2-mac/</link><pubDate>Mon, 23 Jan 2023 00:00:42 +0900</pubDate><guid>https://hack-le.com/m2-mac/</guid><description>&lt;p&gt;「M2 Mac miniをポチったとして、いったい何に使うのか」という根本的な問題に立ち返っている。さんざんM2 Mac miniほしいほしいと書き連ねてきて今それかという感じだが、実際に自分がどう使うか、具体的なイメージがまだなかったりする。&lt;/p&gt;&#10;&lt;p&gt;もともと今のMac mini 2018はこの先10年戦うつもりで購入したものだし、実際今でも全然戦えている。買わなきゃタダというつまらない現実もあるし、ポチった後このMac mini 2018どうしてくれよう問題もあるし、開発用途ではなんだかんだ今なおIntelが無難というのもある。&lt;/p&gt;&#10;&lt;p&gt;ちょっとちゃんと考えておきたい。&lt;strong&gt;PC選びは社会貢献だから&lt;/strong&gt;。いやほんとに。&lt;/p&gt;&#10;&lt;h2 id="m2-macがほしい理由"&gt;M2 Macがほしい理由&#10;&lt;/h2&gt;&lt;p&gt;そもそも僕がなぜ急にさして興味を示さなかったM2 Macをほしがるようになったかというと、最近AIイラストにハマったからだ。今はNovelAIの課金ユーザで、毎月$25払っている。その費用の捻出のためにいくつかのサブスクリプションを解除した。時間は有限である。&lt;/p&gt;&#10;&lt;p&gt;で、それだけだったら別にM2 Macなんか必要ないのだが、やはりWebサービスではなくローカルのPCで色々試したくなるのが人情というもの。で、Macはこの手の作業に必ずしも適していないと思っていたのだが、Apple自らがStable Diffusionの最適化を頑張っているようで、え、それじゃあMacでもいいかなと思った。Macならば普段使いのついでにAIイラストが楽しめる。&lt;/p&gt;&#10;&lt;p&gt;AIイラストの生成だけではなく、その補正でもM2は活躍する。AIイラストはそのままではちょっと使い物にならず、何かしら手を加える必要があるのだ。少なくとも解像度は低すぎるので、せめてアップスケーリングはしたい。自分はPixelmater ProのML超解像を使っているのだが、これがIntel Mac mini 2018だと、MLなだけに100KBのjpg画像で10秒程度かかってしまい、しかもその間プチフリとまではいかないもののPCがまともに操作できなくなってしまうものだから、そこそこのストレスになっていた。これがM2 Macならば1秒かからないくらいになると期待している。&lt;/p&gt;&#10;&lt;p&gt;他にも今後色々と編集したいことが出てくるはず。ということで、GPUやNeural Engineを搭載したM2 Macがとても魅力的に見えるようになったわけだ。&lt;/p&gt;&#10;&lt;h2 id="楽しい趣味になりそう"&gt;楽しい趣味になりそう&#10;&lt;/h2&gt;&lt;p&gt;まぁつまり、ひたすらStable Diffusionを動かし編集している自分の姿が見えるわけだが、現状、NovelAIで無限に作っているクリーチャーですら捌ききれていないのが現実であり、ポチったところで宝の持ち腐れになってしまうかもしれない。今本当に必要なのはこれ以上効率的なクリーチャー生成器ではなく、クリーチャー判別器である。これは今友人にも相談して色々とアイディアを練っている。&lt;/p&gt;&#10;&lt;p&gt;まぁでもローカルで動かせればやれることは劇的に増えるはず。NovelAIはどうしてもちょっと用途が二次元的になりがちだけれど、Stable Diffusionを自分で使えば、色々と楽しいことができそうだ。&lt;/p&gt;&#10;&lt;p&gt;勉強は必要であるものの、久しぶりに楽しいと思える趣味に出会えた気がしている。この歳になると金より時間であるので、まぁゴチャゴチャ言わずに必要な機材は揃えなさいよと、少なくとも他人ならそう言うと思うので、やはりポチるべきなんだろうな。&lt;/p&gt;&#10;&lt;h2 id="てめぇのためにてめぇの金を使うべきなんよ"&gt;てめぇのためにてめぇの金を使うべきなんよ&#10;&lt;/h2&gt;&lt;p&gt;ここまでわかっていてもなお考えてしまう、自分の金を使う時は本当に色々なことを考えるものだ。でもこれは本当にいいことだと思っていて、少しでも見識やこだわりのある分野については、真剣に考え抜いて金を使いたいと思う。そういう金の使われ方には本当に価値がある。&lt;/p&gt;&#10;&lt;p&gt;金を使うとは物事を評価するということでもある。適正な評価が良い仕事を生む。しょうもない金の使い方は、しょうもない評価であり、これは意味のない仕事を生む。&lt;strong&gt;できるだけ多くの人が多くの良い仕事をするには、社会全体で、適正な評価、すなわち良い金の使われ方が必要なのである&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;急に楽しくない話になってしまうが、金というのはできるだけ「自分のために」「自分の金を」みんなが使うようにすべきだ。旅行さきのホテル選びと、会社から実費が出る出張のときのホテル選びの真剣さを比較すればわかる。金は真剣に使われて始めて価値がある。適正な評価になる。&lt;/p&gt;&#10;&lt;p&gt;一方で、「他人（ということになっている）のために」「他人の金を」使うのは最悪のスキームである。だから、自治体の金の使い方はいつだって最悪だ。今の仕事を始めてから、内閣なんとかの役人に補助金のばら撒き方の相談を展示会でされた時はショックであった。予算消化のための金遣いほど無意味で無駄な仕事を生むものはない。もっとも、これが本当に他人ならまだマシなほうで、政治の世界では、他人の名目でその実自分、だったりすることもあるのが本当に最悪の最悪だ。&lt;/p&gt;&#10;&lt;p&gt;まぁ急に暗い話をしてしまったが、ここのところはそういう沈鬱な政治の話ばかり考えて勝手にウンザリしていた。歳を重ねて40の大台が見えてきた中で、自分の人生を振り返り、色々と思うところがあるのである。そして今自分がしている仕事も、このさきにあるのは税金ではないのか？などと思うにつけ、いったい俺は何をやっているんだ、という疑念が常につきまとっている。&lt;/p&gt;&#10;&lt;p&gt;などと、無駄に鬱々とした日々を送る中で、AIイラストと新しいMacの物色は、今の僕にとって唯一といってもいい、楽しい時間なのである。この時間は大事にしたい。あらゆる趣味人の真剣な時間と金使いが、世の中をよくするのだと思う。&lt;/p&gt;&#10;&lt;p&gt;ということで、表題になります。終わり。&lt;/p&gt;</description></item><item><title>M3のことはまだ何もわからないようだ</title><link>https://hack-le.com/m3/</link><pubDate>Sun, 22 Jan 2023 00:00:12 +0900</pubDate><guid>https://hack-le.com/m3/</guid><description>&lt;p&gt;2023年が始まってわかったことは、2022年の間に流れていたApple Silicon周りの噂はてんで的外れだったということだ。そんなわけだから、今流れている2023年Macの噂もあんまりあてにすべきではないのだろう。ないのだろうが、噂から判断するしかない。&lt;/p&gt;&#10;&lt;h2 id="tsmcで量産開始の事実しかない"&gt;TSMCで量産開始の事実しかない&#10;&lt;/h2&gt;&lt;p&gt;噂といっても、去年から誰もMacの動向を予想できていなかっただけあり、M3については何もわかっていない。ただ俺たちのTSMCで3nmプロセスの量産が昨年末に始まったという事実しかない。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://texal.jp/2022/12/29/tsmc-holds-ceremony-at-fab-18-to-start-mass-production-of-3nm-process/" target="_blank" rel="noopener"&#10; &gt;TSMC、Fab 18においてセレモニーを開催、3nmプロセスの量産開始へ | TEXAL&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;昨年5月時点でM2は3nmか！？という噂があったことを思うと、年末にようやく量産開始という状況なのは、いかにリーク先走っていたかということだろうか。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://iphone-mania.jp/news-457992/" target="_blank" rel="noopener"&#10; &gt;A16 BionicがTSMCの5nmプロセス、M2が3nmプロセスで製造か - iPhone Mania&lt;/a&gt;（2022-05-27の記事）&lt;/p&gt;&#10;&lt;p&gt;まぁでも、恐らくもともとはAppleにもそういう意思はあったのだろうと思う。噂といっても結局その出処はミンチークオ氏だのなんだのという怪しげなリーカーなわけだが、彼らはもちろんいくらかの社内情報を手に入れたうえで流しているのだから、てんで的外れということはないはずだ。少なくとも、ドル円の行く末を占うアナリストよりは当てにして良いと思われる。&lt;/p&gt;&#10;&lt;h2 id="何もわからない何も"&gt;何もわからない…何も…&#10;&lt;/h2&gt;&lt;p&gt;しかし、現実には多くのリーカーが赤っ恥をかいたのが2022年だったようだ。となると、Apple内部ではけっこうな計画の修正があったのかもしれない。それはAppleというより、ウクライナから始まり終わらないコロナ、ペロシ訪台など台湾を巡って本格化する米中の軋轢、無敵に思われた巨大IT会社の業績悪化（Appleは今なお優等生）など、外的要因のほうが大きそうではあるが、まぁその結果は結局プロダクトに反映されてしまう。&lt;/p&gt;&#10;&lt;p&gt;M2 Pro/Maxの内容を見ても、たしかに順当なアップデートではあるものの、それ以上でもそれ以下でもないという感じで、これだったら正直昨年中に出てほしかったなぁ、というのがけっこうな人の感触ではなかろうか。&lt;/p&gt;&#10;&lt;p&gt;僕は今年に入ってから急にM2 Macがほしくなったので、昨年は特に追いかけていなかったのだが、もし僕が2022年中ずっと待ち焦がれていたとしたら、発売を嬉しく思う反面少し落胆する気持ちもあったかもしれない。今でもAppleの発表には、こちらの想像を超える驚きを期待してしまう。稀代の天才ジョブズがこの世を去って久しく、毎回毎回サプライズというわけにもいかないだろうけれど、このアップデート内容ならば、Mac mini 2022であってほしかったなぁと思う。&lt;/p&gt;&#10;&lt;p&gt;M3 Macはそれなりのサプライズがありそうな気もするのだが、まだM2 Ultraも控えている中で、M3 Macはいつになることやら。一応MBAやiMacで2023年末とか2024年初めなどの噂があるものの、噂は噂でしかなく、その噂が2022年どうだったか、そして1月の突然のリリースを誰か言っていたかなど考えると、現状リーカーもほとんどわかっていない、わかっていたとしてもその予定は未定に過ぎない、という状況のようだ。そして、基本的には後ろ倒しになっている。&lt;/p&gt;&#10;&lt;p&gt;とはいえさすがにiPhone 15には間に合わせてくるのではないか、というのは順当な予測だと思う。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://iphone-mania.jp/news-518993/" target="_blank" rel="noopener"&#10; &gt;iPhone15 Pro用A17の製造が3nmに移行へ？4/5nmの稼働率低下予測 - iPhone Mania&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="具体的なスペックの噂なし"&gt;具体的なスペックの噂なし&#10;&lt;/h2&gt;&lt;p&gt;まぁ出たところで、実際どれくらいの性能になっているのかはわからない。なにしろ技術仕様に関する噂がほとんどない。一応大幅に性能向上！などという景気のいい言葉は聞くが、具体的にどう向上するのかはわかっていない。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.macrumors.com/guide/m3/" target="_blank" rel="noopener"&#10; &gt;Apple&amp;rsquo;s M3 Chip: Everything We Know - MacRumors&lt;/a&gt;（2022年10月）&lt;/p&gt;&#10;&lt;p&gt;強いて言うならMacRumorsが言う40 compute coresという表現が具体的ではある。このcompute coresというのは、CPU + GPUと思うが、今のM2 Proがオプションでc12+g19で31コアであるので、コア数が30%ほど増えるのかもしれない。そうすると標準のc10+g16の26コアも32コアくらいになったりするんだろうか。&lt;/p&gt;&#10;&lt;p&gt;であれば、M3 Proの標準で少なくとも今のM2 Proのオプションくらいの性能になる……とは言えそうだが、それはM1とM2の違いとそんなに変わらないなぁと思ったりもする。だったら待つ必要もないか。&lt;/p&gt;&#10;&lt;p&gt;まぁノートであれば高効率の恩恵が特に強い可能性はあるものの、デスクトップだとそんなでもないのかもしれない。&lt;/p&gt;&#10;&lt;p&gt;なんて無駄なことをつらつらと考えていると、まぁ現状ではほしいならさっさとM2 Macを買うのが吉だな、と思うようになってきた。ただノートPCユーザであれば、現状特に不満がなければもう少し待ってみるのもよいかもしれない、くらいだ。&lt;/p&gt;</description></item><item><title>Proじゃない方のM2 Mac miniはどうだろう</title><link>https://hack-le.com/pro-m2-mac-mini/</link><pubDate>Sat, 21 Jan 2023 02:32:53 +0900</pubDate><guid>https://hack-le.com/pro-m2-mac-mini/</guid><description>&lt;p&gt;Mac miniは買うならM2 Proだなと思っていました。なので、M2 Pro版しか見ていなかったんですが、落ち着いて全体のラインナップを見ていると、ProではないエントリーモデルのMac miniのお値打ち感が際立っていますね。標準84,800円、さすがにメモリ8GBでは心許ないですが、16GBにしても112,800円ならば、射程範囲の気がします。SSD 256GBが寂しくはあるか。&lt;/p&gt;&#10;&lt;h2 id="エントリーモデルがリーズナブル"&gt;エントリーモデルがリーズナブル&#10;&lt;/h2&gt;&lt;p&gt;まぁこんなもんだろうとは思いつつ、やっぱり吊るしで18万、僕がかんがえたさいこうのMac miniは25万、となると二の足を踏んでしまいます。で、そういえばエントリーモデルはどうなんだろうなと思ったら、こちらは入門機ということもあってか、なかなかリーズナブル。円安にも負けず、元値$599だけに84,800円。ふむ。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.igeeksblog.com/apple-m2-vs-m2-pro-vs-m2-max-chips/" target="_blank" rel="noopener"&#10; &gt;Apple M2 vs M2 Pro vs M2 Max chips: What&amp;rsquo;s the difference? - iGeeksBlog&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.digitaltrends.com/computing/mac-mini-rumors-news-price-release-date/" target="_blank" rel="noopener"&#10; &gt;Mac Mini M2: release date, 16GB memory, M2 Pro | Digital Trends&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;プロセッサはM2。M2とM2 Proの違いは色々あるが、CPUだけを見るとさほどでもなさそう。M2が8コア、M2 Proだと10コア（+42,000円で12コア）。ただコア数は2つしか違わないが、M2は4コアが高効率コアで、Proの増えた2コアはハイパフォーマンスコアと見られるので、パフォーマンスの差はけっこうあるかもしれない。&lt;/p&gt;&#10;&lt;p&gt;また、GPUを見るとM2が10コア、M2 Proが16コア（+42,000円で19コア）とけっこう違う。さらにProはメモリの帯域幅が2倍となっている。グラフィックスやMLではだいぶきいてくれると思われる。&lt;/p&gt;&#10;&lt;p&gt;あとポートの数も異なる。M2 Mac miniはポートがThunderboltx2とUSBx2しかないので、デスクトップとしてはちょっと悲しい。ProはThunderbold x4なので。画面出力はそんなにこだわらないけど。&lt;/p&gt;&#10;&lt;p&gt;とはいえ、10万の価格差があることを考えると、この性能差は許容できる気がする。M2だって十分働いてくれるだろうし。&lt;/p&gt;&#10;&lt;h2 id="オプションもりたくなるよね"&gt;オプションもりたくなるよね&#10;&lt;/h2&gt;&lt;p&gt;ただまぁ、さすがにメモリ8GBは心もとない。それで16GBにしたいなぁと思うと+28,000円。SSD 256GBも寂しいなぁ、せめて512GBほしいなどと思うと+28,000円。すると140,800円。oh&amp;hellip;。それだったら+44,000円してM2 Proでいいかな……。&lt;/p&gt;&#10;&lt;p&gt;ということで、M2選ぶならせいぜいメモリ16GBくらいにしておくべき、ということになる。まぁストレージは外付けで拡張できるし。それなら112,800円。&lt;/p&gt;&#10;&lt;p&gt;なので、自分的には112,800円でM2 + SSD 256GB + RAM 16GB、254,800円でM2 Pro + SSD 512GB + RAM 32GB + 10GbE、という感じだ。&lt;/p&gt;&#10;&lt;h2 id="おニューのpcはハッピーでなければ"&gt;おニューのPCはハッピーでなければ&#10;&lt;/h2&gt;&lt;p&gt;うーん……やっぱりRAMがちょっと寂しい。内蔵ストレージもなんだかんだで使うしなぁ。だいたい今のMac mini 2018がSSD 512GBでメモリ32GBなわけで。5年たったPCを新調して、一部でもスペックダウンなんて悲しいことがあっていいだろうか？いやそれはとてもとても悲しいことだ。新しいPCを買って悲しい思いなどすべきではない。おニューのPCは常にハッピーな気分で迎え入れなければならぬ。&lt;/p&gt;&#10;&lt;p&gt;そもそも僕は前回のMac mini 2018で16万近いものを買っており、さらにその後3万かけてメモリを32GBに増設しているので、なんだかんだ18-19万くらい使っている。5年前の僕が既にそれくらい払っているのに、今の僕がいったい何をいまさらケチろうというのだろうか。PCとはそんな気持ちで新調するものではない。ちなみに昔メモリ買ったときの記事。&lt;/p&gt;&#10;&lt;p&gt;/mac-mini-2018-memory/&lt;/p&gt;&#10;&lt;p&gt;などと書きながらM2 Pro Mac miniを買う言い訳を考えている自分に気づいた。いやまぁやっぱり買うならM2 Proだよねぇ。M3がどうなるか気になるけれど、どう早く見積もっても出るのは2年かかるやろうし。1年で時代が変わったみたいなのが出たらちょっとつらいけど、2年後だったらねぇ……。&lt;/p&gt;&#10;&lt;p&gt;まぁでもあれだな、M3のスペックがどうなるか、もうちょっと調べてからでもいいか……。&lt;/p&gt;&#10;&lt;p&gt;検討を加速する！！！&lt;/p&gt;</description></item><item><title>クックが僕のためにMac miniを一日で用意してくれました</title><link>https://hack-le.com/cook-mac-mini/</link><pubDate>Wed, 18 Jan 2023 08:44:38 +0900</pubDate><guid>https://hack-le.com/cook-mac-mini/</guid><description>&lt;p&gt;などと意味不明な供述をし……。&lt;/p&gt;&#10;&lt;p&gt;いや、ちょっとびっくりしたので。急に来た。急や。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.apple.com/jp/newsroom/2023/01/apple-unveils-m2-pro-and-m2-max-next-generation-chips-for-next-level-workflows/" target="_blank" rel="noopener"&#10; &gt;Apple、次のレベルのワークフローを可能にする次世代チップのM2 ProとM2 Maxを発表 - Apple (日本)&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;ま、まだ心の準備ができてないよ……。&lt;/p&gt;&#10;&lt;h2 id="m2-proは5nm"&gt;M2 Proは5nm&#10;&lt;/h2&gt;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;第2世代の5ナノメートルプロセステクノロジーを利用して作られたM2 Pro&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;🤔&lt;/p&gt;&#10;&lt;p&gt;最初に半導体の大きさ確認する自分に笑う。いや、大事なのは性能であって半導体の大きさではないことは重々承知なのだけれど。なんかどうしても。つい。&lt;/p&gt;&#10;&lt;h2 id="性能と価格"&gt;性能と価格&#10;&lt;/h2&gt;&lt;p&gt;僕の狙いはM2 Proのほうなので、そちらを見ますが。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.apple.com/jp/mac-mini/specs/" target="_blank" rel="noopener"&#10; &gt;Mac mini - 仕様 - Apple（日本）&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;吊るしで10コアCPU、16コアGPU、16コアNeural Engine、200GB/sメモリ帯域幅、RAM 16GB、SSD 512GB、ポートは4つ、で184,800円ですね。まぁ順当といえば順当か。&lt;/p&gt;&#10;&lt;p&gt;個人的にはRAMは32GBにしたいのですが、そうすると+56,000円なんですよねぇ。きっつい。でもユニファイドメモリなので自前換装とはいかず。うーん。240,800円……ごくり……。&lt;/p&gt;&#10;&lt;p&gt;+42,000円でCPU12コア、GPU19コアにできますが、さすがにそれはいいかな。&lt;/p&gt;&#10;&lt;p&gt;SSDは内蔵は512GBあればとりあえず十分。外付けSSDでも困ってないです。十分速い！&lt;/p&gt;&#10;&lt;p&gt;しかし、ここまで値段が上がると、10GbEが+14,000円なのは誤差では？という気がしてきますね（錯乱）。環境整えないといけないので、在宅環境では無駄金になりそうではあるんですけれど、やっぱり気になる。RAMと一緒につけると254,800円……おおぉぉ……。&lt;/p&gt;&#10;&lt;h2 id="円安"&gt;円安😭&#10;&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://www.bloomberg.co.jp/news/articles/2023-01-17/RONBXADWX2PS01" target="_blank" rel="noopener"&#10; &gt;アップル、MacBook ProとMac Miniの新モデル発表－23年新製品第１弾 - Bloomberg&lt;/a&gt;&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;最新モデルの価格は14インチのMacBook Proが1999ドル（日本では28万8800円）から。16インチ版が2499ドル（同34万8800円）から。Mac miniの価格は前モデルより100ドル低い599ドル（同８万4800円）から&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;残念ながら値下げなし。むしろちょっと高いか。円高がまるで反映されていない……。良し悪しは置いておいて、今の日銀の姿勢や岸田政権の方向性を考えると、しばらくは円高になりそうだけどねぇ。&lt;/p&gt;&#10;&lt;p&gt;待ってたら安くなる可能性もある？🤔&lt;/p&gt;&#10;&lt;p&gt;まぁそればかりはわからんですから考えるだけ無駄ではあります。それでも日本はiPhoneとか世界各国の中では安いほうに入るみたいですね（&lt;a class="link" href="https://www.nukeni.com/ja/apple/iphone/iphone14" target="_blank" rel="noopener"&#10; &gt;iPhone14が安い国。世界37か国の価格表&lt;/a&gt;）。欧州に比べると消費税マシだからとかあるのかな。トルコとかブラジルはなんでこんな高いんだろう。&lt;/p&gt;&#10;&lt;h2 id="ポチるかポチらないかそれが問題だ"&gt;ポチるか、ポチらないか、それが問題だ&#10;&lt;/h2&gt;&lt;p&gt;まぁ順当といえば順当なアップデートなのですが、逆に言うと驚くようなアップデートでもなかったですね。ほしいっちゃほしいのですが、次のM3が半導体の微細化に伴い大きな進化を遂げる可能性もあり、二の足を踏んでいます。足元の円高傾向もありますし、安くなる可能性も……？まぁさすがに先過ぎてわからないですね。中長期的には結局円安になるだろうなという気持ちもありますし。&lt;/p&gt;&#10;&lt;p&gt;などと言っている間に、オプションつけると出荷日が3-4週間先にまでなってしまいました。吊るしならまだ即日っぽいですが……。&lt;/p&gt;&#10;&lt;p&gt;まぁでもしばらくは悩みます。悩みますが、次に出るのは早くても2024年でしょうし、さすがにそこまでは待てないから、やっぱりポチるかなぁ。うーーーーーんポチるかーーーーーー、ぬおおぉぉぉ……………。&lt;/p&gt;</description></item><item><title>M2 MacBook Pro遅れる？じゃあMac miniは？</title><link>https://hack-le.com/m2-macbook-pro-mac-mini/</link><pubDate>Sun, 15 Jan 2023 14:25:43 +0900</pubDate><guid>https://hack-le.com/m2-macbook-pro-mac-mini/</guid><description>&lt;p&gt;M2 MBPときっとくるであろうデスクトップMacを待つぞ！という記事を書いた（「&lt;a class="link" href="https://hack-le.com/m2-pro-mac-3nm/" &gt;M2 Pro/Maxが3nmになるのを信じてデスクトップMacを待つぞ – 或る阿呆の記&lt;/a&gt;」）矢先に、MBPの発売が延期されるという予想の記事が出ていた。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://iphone-mania.jp/news-516474/" target="_blank" rel="noopener"&#10; &gt;M2 Pro/M2 Max搭載MacBook Proの発売が3月から6月に延期か - iPhone Mania&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;となると、売れ筋から外れているゆえ話題に出ていないが、Mac miniも遅れるのだろうか……。それともMac miniは影響を受けないのだろうか……。&lt;/p&gt;&#10;&lt;h2 id="噂を見ながら"&gt;噂を見ながら&#10;&lt;/h2&gt;&lt;p&gt;そもそも現状の噂はどうなっているかというと、Mac Rumorsの記事（「&lt;a class="link" href="https://www.macrumors.com/2023/01/08/apples-2023-roadmap-when-to-expect-new-product-launches/" target="_blank" rel="noopener"&#10; &gt;Apple&amp;rsquo;s 2023 Roadmap: When to Expect New Product Launches This Year - MacRumors&lt;/a&gt;」）によると、&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;2023年はQ1でM2なMBP、Mac mini、Mac Pro&lt;/li&gt;&#10;&lt;li&gt;Q2で15.5インチMBA(M2)&lt;/li&gt;&#10;&lt;li&gt;Q4でM3 iMac&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;となっている。M2 Mac miniはMBPと一緒になっているので、MBPが遅れるならMac miniも遅れることになるのだろうか。&lt;/p&gt;&#10;&lt;p&gt;MBPが送れるのはMacBookの出荷台数ゆえらしいのだが、そうするとMBPに比べたらMac miniの出荷台数はしれているわけだし、こちらは影響を受けないかもしれない。とはいえ、M2 ProのデビューはMBPの気がする。Mac miniが初M2 Proデバイスってちょっと考えづらいような。いや、僕はそれでも全然構わないんだけれど。&lt;/p&gt;&#10;&lt;p&gt;でもM2 Proのお披露目は昨年からずっと後ろに倒れ続けているっぽいし、最近急に気にし始めた僕はともかく、待ち続けているマカーからはそろそろいい加減にしなさいよという気分になっていてもおかしくない。&lt;/p&gt;&#10;&lt;h2 id="希望をもって待つしかない"&gt;希望をもって待つしかない&#10;&lt;/h2&gt;&lt;p&gt;すっかり忘れていたが、前のMac miniは2020年11月なので、もう丸2年以上経過しており、さすがにもう出してくれよという感じである。まぁMac miniについては、2012の後の2014がまさかのダウングレード、その後ディスコンの噂がまことしやかにされながらさらに4年音沙汰なしという、冬の時代を経験しているために、あれに比べたらマシだとは思う。当時の自分の気持ちを綴った記事がこれ。&lt;/p&gt;&#10;&lt;p&gt;/macmini2018/&lt;/p&gt;&#10;&lt;p&gt;2013年から2018年にかけてMacは冬の時代だった。&lt;/p&gt;&#10;&lt;p&gt;しかしMac mini 2018以降、Macは全体的にとてもよくなっており、今またこうしてワクワクできるデバイスになっている。嬉しいことだ。&lt;/p&gt;&#10;&lt;p&gt;そういえばこんな風にPCのことを記事にするのは何年ぶりだろう……。そういえば、それもMac mini 2018の時だったか。あの頃はRyzen旋風も吹き荒れており、けっこう楽しかった。僕が20代だったら自作もやっていたろうな。&lt;/p&gt;&#10;&lt;p&gt;なんだかんで、買わないコンピュータについて考えている時が一番楽しい。&lt;/p&gt;</description></item><item><title>M2 Pro/Maxが3nmになるのを信じてデスクトップMacを待つぞ</title><link>https://hack-le.com/m2-pro-mac-3nm/</link><pubDate>Sat, 14 Jan 2023 19:10:03 +0900</pubDate><guid>https://hack-le.com/m2-pro-mac-3nm/</guid><description>&lt;p&gt;（続報: ダメだった &lt;a class="link" href="https://hack-le.com/cook-mac-mini/" &gt;クックが僕のためにMac miniを一日で用意してくれました – 或る阿呆の記&lt;/a&gt; ）&lt;/p&gt;&#10;&lt;p&gt;Apple SiliconなMacに急に興味が出て書いたのが以下の記事。&lt;/p&gt;&#10;&lt;p&gt;/m3-mac/&lt;/p&gt;&#10;&lt;p&gt;前にMac mini 2018を購入して以降Macの新情報をあまり真面目に追っていなかったために、今どういう状況かよくわかっていなかった。それで、M3のMBAは半導体の微細化が進み5nmから3nmになると聞いて、え、じゃあM3まで待つべきなの？なんて思ったりもしたのだが、あの後色々な噂を見てみると、早ければ来月にくるかもしれないM2 Pro/Max搭載MBPで3nmになりそうな感じ。&lt;/p&gt;&#10;&lt;h2 id="m2-proは3nmか"&gt;M2 Proは3nmか？&#10;&lt;/h2&gt;&lt;p&gt;色々な噂が飛び交っているが、Mediumにあったこの記事の分析は納得できた。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://medium.com/macoclock/were-one-step-closer-to-the-3nm-m2-pro-mac-mini-d42937c2438f" target="_blank" rel="noopener"&#10; &gt;We’re One Step Closer to the 3nm M2 Pro Mac Mini | Mac O’Clock&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Geekbenchに上がっている未発表Macのシングルコア性能が上がっているのは、半導体の微細化が進んだM2 Proの性能であり、そうだとすればこれは次のMBPに搭載されるでしょ！というものだ。これはけっこう説得力がある。&lt;/p&gt;&#10;&lt;h2 id="3nmじゃないと商売的にも美味しくない"&gt;3nmじゃないと商売的にも美味しくない&#10;&lt;/h2&gt;&lt;p&gt;ビジネス的にも、2023年に発表されるMacのchipは3nmじゃないとだいぶ魅力に乏しいことになる。前回記事で書いたよしなに話も、結局はM2 Pro/Max/Ultraが5nmだったら別にそんな魅力でもないなぁということだ。M1 Macが出た時にも、MBAとMBPでそんなに違いないよねとは各所で言われていた。M2 Proが5nmであったら、また同じ話がされることになるだろう。いや、それどころか3nmなM3 MBAが出たら「むしろしょぼくね？」まである。&lt;/p&gt;&#10;&lt;p&gt;Apple的にも単価が高いMBPやMac Studioは是非売りたいはず。であるならば3nmになるのは間違いないM3 MBAも控えているタイミングだし（来年になるかもだが…）、M2 Pro/Maxは是非とも3nmでいきたいだろう。商売的にも。&lt;/p&gt;&#10;&lt;h2 id="3nm-m2デスクトップmacの発売を信じて"&gt;3nm M2デスクトップMacの発売を信じて&#10;&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://iphone-mania.jp/news-512533/" target="_blank" rel="noopener"&#10; &gt;M2 Pro/M2 Maxが3nmプロセスで製造、新型MacBook Proが搭載？ - iPhone Mania&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;昨年末にあったこの話も、まさか次期MBAのためということではなかろうし、やはりタイミング的にはMBPじゃなかろうか。また、そろそろMac miniやMac Studioのアップデートがあってもおかしくない。それらには当然M2 Pro/Maxが搭載されるわけだ。&lt;/p&gt;&#10;&lt;p&gt;以上の諸々を考えると、そう遠くない次期に3nmなM2デスクトップMacの発売も現実味があると考える。いや出る。僕はその日を信じて待つぞ！&lt;/p&gt;</description></item><item><title>M3搭載Macを待つべきなのか？</title><link>https://hack-le.com/m3-mac/</link><pubDate>Wed, 11 Jan 2023 01:40:27 +0900</pubDate><guid>https://hack-le.com/m3-mac/</guid><description>&lt;p&gt;（追記: 続きの記事 &lt;a class="link" href="https://hack-le.com/m2-pro-mac-3nm/" &gt;M2 Pro/Maxが3nmになるのを信じてデスクトップMacを待つぞ – 或る阿呆の記&lt;/a&gt;）&lt;/p&gt;&#10;&lt;p&gt;（続追記：ようやく情報出始めた &lt;a class="link" href="https://hack-le.com/m3-mac-2/" &gt;M3 Macの情報も出はじめた – 或る阿呆の記&lt;/a&gt;）&lt;/p&gt;&#10;&lt;p&gt;（続々追記：待てなかったよ…… &lt;a class="link" href="https://hack-le.com/m3-mac-m2-pro-mac-mini/" &gt;M3 Macが出ないのでM2 Pro Mac Miniをポチった - 或る阿呆の記&lt;/a&gt;）&lt;/p&gt;&#10;&lt;p&gt;Apple SiliconなMac miniがほしいという記事を書いた。&lt;/p&gt;&#10;&lt;p&gt;/m1-mac-mini/&lt;/p&gt;&#10;&lt;p&gt;最近はMacを新調する気がなかったため、Apple M系Chipsetの最新情報を知らなかったのだが、調べていると、M3は劇的に性能が向上するっぽい噂を聞いて、待つべきなのか？という気分になっている。&lt;/p&gt;&#10;&lt;h2 id="微細化が進む"&gt;微細化が進む&#10;&lt;/h2&gt;&lt;p&gt;CPUの性能は線形に進化を遂げない。突然性能が劇的に上がったCPUが市場に投入されることしばしばだ。AMDのRyzenもそうであったし、Apple M1もそうだった。&lt;/p&gt;&#10;&lt;p&gt;とはいえこの時代、さすがに一気に性能向上することもなかなかないだろう……なんて思っていたのだが、M3のchipsetは恐らく40コアをサポートするという噂を聞いてさすがにビビっている。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.dealntech.com/apple-m3-chipset/" target="_blank" rel="noopener"&#10; &gt;Apple M3 Chipset: All You Need to Know&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;どうやら、プロセス自体が5nmから3nmへと微細化されるらしい。そんなに……。&lt;/p&gt;&#10;&lt;p&gt;ここまで差をつけられてしまうと、ここまできたらもっと待つべきか？という気がしてくる。&lt;/p&gt;&#10;&lt;h2 id="m3-macはいつ出るのか"&gt;M3 Macはいつ出るのか？&#10;&lt;/h2&gt;&lt;p&gt;とはいえ、現実にMacにM3が搭載される日がいつになるかは未知数だ。早くても2023年末だろうというのが最新のリークだろうか。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://iphone-mania.jp/news-510782/" target="_blank" rel="noopener"&#10; &gt;次期iMacはM3搭載、早くても2023年末の発売〜ガーマン記者 - iPhone Mania&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;しかしこのリークもなんだか少しずつ後ろに倒されていっているように見えるし、2024年に至ってしまう可能性も高そうに見える。少なくとも2023年M3 Mac miniが出る望みは薄そうだ。2023年のMac miniはM2のように思う。噂でもM3はiMacでMac miniはなさそうだし。&lt;/p&gt;&#10;&lt;p&gt;もともとMac miniはMacの中でも開発サイクルが比較的スローであるので（2018の時など何度も何度もディスコンの噂が流れていたし、実際その可能性もあったのでは？2013年以降はMac冬の時代であった）、2023年にM2 Mac miniが発売されると、M3以降が搭載されたMac miniの発売は2025年以降になってしまうような気がする。それはとても悲しいが、今までのことを考えると全然ありえる。さすがにそこまでは待てない……。&lt;/p&gt;&#10;&lt;p&gt;かといって、iMacユーザになる気もないし。iMacは単体で使う分には良いものだと思うが、外部ディスプレイとして使えないので、一つのディスプレイを色々な用途で使っている僕には具合が悪い。だいたい本当に2023年に出るのか？&lt;/p&gt;&#10;&lt;p&gt;Mac StudioやMac Proあたりが2024年にM3搭載で出る可能性があるが、2024年はけっこう先だし、そうでなくてもちょっと高すぎる。まぁAIで本当にゴリゴリやるならむしろそのほうがいいのかもしれないのだが、そこまでガチだと本当にMacでいいのか感も出てくる。&lt;/p&gt;&#10;&lt;p&gt;普段使いのMac miniがいい感じにパワーアップしてくれると一番嬉しいが、それは随分先になりそうな気配だ。うーん。&lt;/p&gt;&#10;&lt;h2 id="楽しみである"&gt;楽しみである&#10;&lt;/h2&gt;&lt;p&gt;まぁいずれにしても、新型Mac miniが出ないことには始まらない。今のMac mini 2018も十分働いてくれているのだし、出てから考えよう。&lt;/p&gt;&#10;&lt;p&gt;それにしても、新しいPCにワクワクするのは久しぶりである。やはりこれで出来ることが増えそうだからだろうか。この感覚は真面目に10年ぶりかもしれない。出るかどうかもわからないPCのスペックをあれこれ想像しながら、買うか買うまいか悩むのは、なんとも楽しいものである。&lt;/p&gt;</description></item><item><title>Apple SiliconなMac miniがほしい</title><link>https://hack-le.com/m1-mac-mini/</link><pubDate>Mon, 09 Jan 2023 04:52:33 +0900</pubDate><guid>https://hack-le.com/m1-mac-mini/</guid><description>&lt;p&gt;私が今使っているメインデスクトップはMac mini 2018です。その前はMac mini 2012を使っていました。したがって、Mac miniとしては2代目になります。正直Mac mini 2018を買ったときは「これで10年戦うぞ」くらいの気持ちでいたのですが、Apple SiliconのMac miniがほしくなっています……。&lt;/p&gt;&#10;&lt;p&gt;だいたいAIイラストのせい。&lt;/p&gt;&#10;&lt;h2 id="2030年までmac-mini-2018で戦うつもりでした"&gt;2030年までMac mini 2018で戦うつもりでした&#10;&lt;/h2&gt;&lt;p&gt;正直ついこの間まで新しいMac miniがほしいなんて思ってもいなかったんですよ。むしろ最後のIntel Mac miniとして、あと5年なんなら10年は戦うくらいの気でいました。まぁなんだかんだいって、いまだにM1だと開発周りで困ることもあるようなので。少なくとも、Intel Macで問題になることはまずないわけですし。&lt;/p&gt;&#10;&lt;h2 id="aiイラスト楽しい"&gt;AIイラスト楽しい&#10;&lt;/h2&gt;&lt;p&gt;では何故というと、あれです、AIイラストです。AIイラストに最近ハマってしまってですね、日々大量のクリーチャーを生み出しているんですよ。もう1万体は産んだと思います。罪深い。&lt;/p&gt;&#10;&lt;p&gt;で、今はNovelAIとか既成のWebサービスを使っているわけですが、ずっと使っていると、やっぱりローカルで動かしたいなぁなんて思うわけです。&lt;/p&gt;&#10;&lt;h2 id="apple意外と頑張ってる"&gt;Apple意外と頑張ってる&#10;&lt;/h2&gt;&lt;p&gt;それだとMac系はNVIDIAじゃないしあまりよろしくなさそうに思いますが、Appleもだいぶやる気があるようで、Stable Diffusionに正式対応なんて話もあったわけです。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://gigazine.net/news/20221202-stable-diffusion-core-ml-apple/" target="_blank" rel="noopener"&#10; &gt;Appleが画像生成AI「Stable Diffusion」にまさかの正式対応、開発者いわく「画像を1秒以内に生成可能」 - GIGAZINE&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;生成できる画像は小さくなりがちですが、Pixelmator ProのML超解像機能を使うとアップスケールできます（有料ソフトウェアです、念の為）。&lt;/p&gt;&#10;&lt;p&gt;これを使うと、たとえばNovelAIで出力した512x768の100KBちょいくらいのjpg（元500KB程度のpng）ならば、Mac mini 2018で10秒程度で実行できます。1枚10秒でできるなら大したものだと思いつつも、100枚くらいターゲットにすると15分以上かかってしまうんですよね。しかも実行中はまともに他の操作ができなくなるし。これの時間もApple Siliconならば相当短縮できることが期待されます。&lt;/p&gt;&#10;&lt;p&gt;ということで、NovelAIやらmidjourneyやらに課金し続けるなら、いっそマシンを買って自前でやっても良いのでは？と思うくらいには、楽しんでしまっているんですね。&lt;/p&gt;&#10;&lt;h2 id="ポチるタイミングは要検討"&gt;ポチるタイミングは要検討&#10;&lt;/h2&gt;&lt;p&gt;まぁ電気代の問題もありますし、この手の話題はやはりMac系はちょっとつらいところもあるので、もうしばらくは勉強しつつ様子見といったところですが、今年発表されるだろうM2 Mac miniが出たら、ポチってしまうかもしれません。&lt;/p&gt;&#10;&lt;p&gt;円安ですっかり値上がりしてしまったこのタイミングでM1 Mac miniを買うのはなんだか悔しいですしねぇ。アメリカの利上げがいったん落ち着きそうな中、日銀は金融引締するんじゃないかという噂でもちきりで（それについて自分はかなりまずいんじゃないの？という意見ですが、ここでは置いておきます）、そうすると中期的にはしばらくドル安円高の流れになるかもしれません。とすると、発表のタイミングでAppleレートが多少マシになる可能性もあります。為替ばっかりはどうなるかわかりませんけれど、少なくとも今慌てて買う流れではないことは確かです。&lt;/p&gt;</description></item><item><title>ユニバーサルコントロールでYouTubeボックスと化したMac mini</title><link>https://hack-le.com/2022-12-04/</link><pubDate>Mon, 05 Dec 2022 11:24:27 +0900</pubDate><guid>https://hack-le.com/2022-12-04/</guid><description>&lt;p&gt;今年もあと僅かか……やりたいことたくさんあったけれど、人生の時間は短いな……。&lt;/p&gt;&#10;&lt;p&gt;それにしても、思うことをつらつらと書いていたら存外長くなった。それで記事を分割している。テーマを決めて書くのではなく、とりとめもなく思ったことを書き綴る、ブログとは本来こういうものだったのではないだろうかと、10年以上続けながらいまさらながら思っている。&lt;/p&gt;&#10;&lt;p&gt;誰が見ているかもわからないが、初心に返って書き綴っていこうと思う。&lt;/p&gt;&#10;&lt;h2 id="生活"&gt;生活&#10;&lt;/h2&gt;&lt;h3 id="ユニバーサルコントロールは便利だが時々失踪する"&gt;ユニバーサルコントロールは便利だが時々失踪する&#10;&lt;/h3&gt;&lt;p&gt;カーソルが。見失うとかではなく、失踪する。何も操作を受け付けなくなる。&lt;/p&gt;&#10;&lt;p&gt;しかしこのMac2台体制は非常に便利。多少の不具合があっても使う価値がある。僕のユースケースにバッチリあっているのだ。&lt;/p&gt;&#10;&lt;p&gt;Mac mini(YouTube上映中) &amp;lt;&amp;ndash;(2mくらい)&amp;mdash;- エアロバイク上でMBP&lt;/p&gt;&#10;&lt;p&gt;なんのこっちゃという感じだが、こういう感じで使っているんだよね。31.5インチディスプレイに繋いでいるMac miniを、エアロバイク上から楽しめるわけよ。&lt;/p&gt;&#10;&lt;p&gt;いや、それだったらFire Stickとか使えばええやんと思われるかもしれないんだけれど、持っているディスプレイ、すでに入力ポートが埋まっていて、Fire Stickをつなげる口がない。&lt;/p&gt;&#10;&lt;p&gt;また、Fire Stickのリモコン操作はなんだかんだで使いづらい。前はFire Stick用のキーボードまで使うことがあったが、なんかもうそれだったら普通にPCのほうがええわ！と思うこと多々。Chromeのエクステンション使うことも多いしね。結局、PCのフルブラウザ最強伝説なんです。&lt;/p&gt;&#10;&lt;p&gt;ということで、ユニバーサルコントロールは僕にとってキラーコンテンツであった。&lt;/p&gt;&#10;&lt;h3 id="陰キャと陽キャ"&gt;陰キャと陽キャ&#10;&lt;/h3&gt;&lt;p&gt;/youcha/&lt;/p&gt;&#10;&lt;p&gt;なんでこんなこと急に書き始めたのかわからないけれど、書いていたら長くなったので記事分割。学校という呪いは、多くの人を縛っていると思う。&lt;/p&gt;&#10;&lt;h2 id="ニュース"&gt;ニュース&#10;&lt;/h2&gt;&lt;h3 id="トリエンナーレの例のアレ"&gt;トリエンナーレの例のアレ&#10;&lt;/h3&gt;&lt;p&gt;/hojokin/&lt;/p&gt;&#10;&lt;p&gt;トリエンナーレの例の訴訟について、二審でも名古屋市が敗訴。これについて思うところを書いていたら、これまた長くなったので記事にした。&lt;/p&gt;&#10;&lt;p&gt;ちなみに僕は自由主義の立場から司法の判決を支持している。表現の不自由など最初からなかった。はっぴぃえんど（？）。&lt;/p&gt;&#10;&lt;h3 id="ドイツサッカーに学ぶプロの力とその責任"&gt;ドイツサッカーに学ぶプロの力とその責任&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://newsphere.jp/culture/20221202-2/" target="_blank" rel="noopener"&#10; &gt;「ドイツはもうだめ」まさかのGL敗退にメディアもショック 衰退指摘も - NewSphere | NewSphere&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;僕はサッカーに興味がないし、ワールドカップも見ていない。どこの国が勝とうが負けようが、基本的にはどうでもいい。&lt;/p&gt;&#10;&lt;p&gt;なのでドイツの敗退自体はどうでもいいんだが、彼らに関して言えば、口を塞ぐという政治的な意味をもったパフォーマンスを行っていたことについて、思うことが少しある。&lt;/p&gt;&#10;&lt;p&gt;まず感じたのはネガティブな感情である。僕は別にサッカー選手が政治的であっはいけないとは思わない。技術者は政治のことなんか口出しせず技術のことだけやってればいいんだ、と外から言われたら怒るだろう。政治はすべての人間が関わることであって、黙っていろなどと言われる筋合いはない。たとえそういう規則があったとしてもだ。知らん。&lt;/p&gt;&#10;&lt;p&gt;だがそれを本業である試合にパフォーマンスとして持ち込んだ場合、少なくともその瞬間は、プロとして誰に見られても恥ずかしくない成果を出さねばならない、とも思う。本業をきっちりこなしたうえでのパフォーマンスだからこそ意味がある。&lt;/p&gt;&#10;&lt;p&gt;たとえば技術者が、その特権を利用し政治的パフォーマンスをデバイスやWebサイトに持ち込んだとして（どんな状況だ？）、少なくともその瞬間は、絶対に故障や障害を起こしてはいけない。パフォーマンスのタイミングで障害なんか起こしたら、それは完全にネガティブキャンペーンになってしまうだろう。&lt;/p&gt;&#10;&lt;p&gt;パフォーマンスはロジカルなものではなく、人間の情感に訴えかける行為だ。非常に浪漫的なのである。然ればこそ、&lt;strong&gt;パフォーマンスの瞬間には、その成功のためにすべてをかけないといけない&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;果たして、彼らはかけていたんだろうか。「格下の日本」だと舐めてかかっていたんじゃないのか。馬鹿にしていたんじゃないのか。少なくとも、そう言われても仕方がないだろう。もし僕が彼らの立場なら、あらゆる批判を甘受しなければならないと思う。&lt;/p&gt;&#10;&lt;p&gt;実際、彼らは今めちゃくちゃ馬鹿にされている。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://www.cnn.co.jp/showbiz/35196913.html?ref=rss" target="_blank" rel="noopener"&#10; &gt;カタールテレビの解説者、Ｗ杯敗退のドイツを嘲笑 口塞ぐポーズまねる(1/2) - CNN.co.jp&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;まぁ仕方ないことだなと思う。プロには力がある。同時に、厳しさもある。&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;大いなる力には大いなる責任が伴う -Unix系OSやる人なら誰もが見るスパイダーマンが元ネタのアレ-&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;どこの世界でもそれは変わらない。&lt;/p&gt;&#10;&lt;h2 id="youtube"&gt;YouTube&#10;&lt;/h2&gt;&lt;h3 id="snapchat"&gt;Snapchat&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://youtu.be/X6rXSkdW6KU" target="_blank" rel="noopener"&#10; &gt;https://youtu.be/X6rXSkdW6KU&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;へー、Snapchatってこういう感じなんやね。3人は楽しそうだけれども、大人だといや業務連絡だからっていう温度感の調整が難しそう。ただ正直なんか監視ツールっぽいなとも思った。見る時間が限られていること、閲覧状況が確認できるのがなんとも……。&lt;/p&gt;&#10;&lt;p&gt;しかし、連絡をいつでも届けられるということに感動した僕らの世代と違って、連絡をいつでもできることが当たり前の世代にとっては、こういう一期一会の演出が受けるのか。人間とはどこまでいっても満足できない生き物なんだなぁ……。&lt;/p&gt;&#10;&lt;p&gt;地味に日本にきたケビンの父にほっこりした。&lt;/p&gt;&#10;&lt;p&gt;多分……僕はこれ全然楽しめない……。&lt;/p&gt;&#10;&lt;h3 id="納税のありかた"&gt;納税のありかた&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=CqdwlzU5BqM" target="_blank" rel="noopener"&#10; &gt;https://www.youtube.com/watch?v=CqdwlzU5BqM&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;高橋洋一の動画は時々見るが、この回はとてもよかった。防衛予算という案は非常に面白いと思ったが、財務省を経由するので納税された分予算を減らすに違いない、ということを言っていてなるほどと思った。だから「全省庁で認めればいい」と。&lt;/p&gt;&#10;&lt;p&gt;僕はもともとふるさと納税は筋が悪いので筋論的に反対に近かった（と言いつつ利用していた）のだが、これについては考えが足りていなかったなと思う。考案者の高橋洋一が言う「国民側が税の使いみちを決めることが本質」だというのは、確かにそうだと思うようになった。なので、今は賛成だし、ここを突破口にして官僚をすっ飛ばした納税を実現できないものか、と思う。&lt;/p&gt;&#10;&lt;p&gt;財務省に納税する人はいないだろうなぁ。&lt;/p&gt;&#10;&lt;h3 id="ナーシャジベリ"&gt;ナーシャ・ジベリ&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=j0J63nFmHXQ" target="_blank" rel="noopener"&#10; &gt;https://www.youtube.com/watch?v=j0J63nFmHXQ&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;ナーシャ・ジベリの伝説はゲーム好きならよく聞く。今となってはハードの限界に迫るようなプログラミングは太古の技術になってしまった（組み込みだとそうでもないのだろうか）。いつも思うんだが、坂口博信はいったいどこでナーシャ・ジベリを得たんだろう。そしてナーシャのためにアメリカまでいく行動力。経営者としての力量、間違いないよなぁ。&lt;/p&gt;</description></item><item><title>ユニバーサルコントロールは便利なのでYouTube視聴が捗る</title><link>https://hack-le.com/2022-12-03-universal-control/</link><pubDate>Sun, 04 Dec 2022 00:32:40 +0900</pubDate><guid>https://hack-le.com/2022-12-03-universal-control/</guid><description>&lt;p&gt;2022年12月3日と日本語表記にしていたが、一桁日の時に違和感を感じて、結局RFC3339方式になる。というか、この日付表記自体、やはりいらないのではないか……。&lt;/p&gt;&#10;&lt;h2 id="生活"&gt;生活&#10;&lt;/h2&gt;&lt;h3 id="ユニバーサルコントロールめっちゃ便利"&gt;ユニバーサルコントロールめっちゃ便利&#10;&lt;/h3&gt;&lt;p&gt;こんな便利な機能だったとは。Mac間でキーボード・トラックパッドを共有できる機能なんだけれど、これもうめっちゃ便利。iPadと共有できるのは知っていたけれどこっちは使いみちないなと思っていたんだが、Macは嬉しい。&lt;/p&gt;&#10;&lt;p&gt;僕はデスクトップPCとしてMac miniを使っているのだが、デスクトップは当然大画面のディスプレイを繋げている。なので、Mac miniを遠隔でコントロールできると、少し遠くでMacBook Proをいじりながら、Mac miniの大画面を活かしたコンテンツを流すことができるのだ。もちろんクリップボードの共有もあわせて使える。これは便利。&lt;/p&gt;&#10;&lt;p&gt;結果、僕のMac miniはYouTubeボックスと化した。&lt;/p&gt;&#10;&lt;h2 id="youtube"&gt;YouTube&#10;&lt;/h2&gt;&lt;h3 id="ため池"&gt;ため池&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=KER6GzfXKik" target="_blank" rel="noopener"&#10; &gt;https://www.youtube.com/watch?v=KER6GzfXKik&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;仕事がらため池の話が出てくることも多いので、この動画はたいへんためになった。こういう微妙なポイントの解説動画をたくさん見られるのは非常にありがたい。&lt;/p&gt;&#10;&lt;h3 id="豊田商事"&gt;豊田商事&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=5KwGbjqJM7w" target="_blank" rel="noopener"&#10; &gt;https://www.youtube.com/watch?v=5KwGbjqJM7w&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;豊田商事ってどっかで聞いた覚えがある🤔&lt;/p&gt;&#10;&lt;p&gt;と思ったらあれか、詐欺の挙げ句殺されたやつか。詳細は知らなかった。&lt;/p&gt;&#10;&lt;p&gt;話を聞いていると人間でいることが嫌になる。金投資の詐欺手法自体はいかにもありそうだなというか、まぁその後の和牛商法の話などを既に聞いていたのでそう思うのかもしれない。永野は詐欺のパイオニアである、なんて言われ方をコメント欄でしていた。&lt;/p&gt;&#10;&lt;p&gt;ただ個人的には詐欺の手法そのものよりも、その運用のほうに本質があるように思える。思考停止の人々を金で釣り、資産はあるのにリテラシーがない人たち（高齢者や主婦）から金を巻き上げる。これは一種の分配なんじゃないかね、というシニカルな気持ちになる。社会の歪みを感じる。&lt;/p&gt;&#10;&lt;h3 id="2対1ルール"&gt;2対1ルール&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://www.youtube.com/watch?v=_aqKfBHgxBI" target="_blank" rel="noopener"&#10; &gt;https://www.youtube.com/watch?v=_aqKfBHgxBI&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;文系の学問はネット上ではしばしば馬鹿にされているが、僕は重要なものだと思っている、というか、世の中自然科学ではないことのほうが多いくらいだと思うのに、なぜ重要ではないと思うのかこそわからない。&lt;/p&gt;&#10;&lt;p&gt;まぁネットで目につくのはエッチ判定専門の在宅裁判官みたいなのばっかりなので、そんな連中がなんとか大学のスタッフですなんて言われてると、納税者として怒りの感情がわくのもわかる気はする。&lt;/p&gt;&#10;&lt;p&gt;しかし当たり前だが社会学はそんなものばかりではない。我々にとって身近なものの一つが規制だろう。技術者であっても、技術を現実に適用するにあたっては、法律やその運用を考える必要がある。そしていろいろなことを考えていると、ああ、これは技術の問題ではない、と思うことが非常に多いのである。いや、実際のところ、本質が技術的な問題といえるもの、これはもうもはやほとんどないのではないのではなかろうか。昔からそうだったのかもしれないが……。&lt;/p&gt;&#10;&lt;p&gt;いずれにせよ、社会学を専門としない自分にとって、個別の論にはとても付き合いきれない。そんな自分にとって、1つの規制をつくるなら2つ撤廃しろ、という2対1ルールは極めてわかりやすくかつまた合理的と思える。これのいいところは、規制を作る側も撤廃する側も専門家になるということだ。&lt;/p&gt;&#10;&lt;p&gt;専門家の力は局地的にしか使えないかもしれないが、しかし局地においては重要だ。局地をすべて合わせると大勢になることもまた一面の事実。各地に散らばる専門家の力をいかに良い方向に使わせるか。組織とはそういうものだと思う。然るに、2対1ルールはその仕組みとして大いに期待できるので、自分としては非常に支持している。&lt;/p&gt;&#10;&lt;h2 id="英語学習"&gt;英語学習&#10;&lt;/h2&gt;&lt;p&gt;最近YouTubeを垂れ流しているのだが、英語系のコンテンツを流し始めると一つのチャネルに収斂していくのはどうにかならないものだろうか。いや、まぁいいっちゃいいんだけど。以前はなんでもかんでもケビンになっていたが、最近はYumiさんになる。&lt;/p&gt;&#10;&lt;h3 id="動物の英単語"&gt;動物の英単語&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://youtu.be/7D328KlM8rE" target="_blank" rel="noopener"&#10; &gt;https://youtu.be/7D328KlM8rE&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;テーマ別英単語助かる。動物の名前とか、そんなに出てこないけど知っていないとおかしいだろ系の単語嬉しい。あと食材の名前も知りたい。&lt;/p&gt;&#10;&lt;h3 id="なるほど練習帳上巻おわり"&gt;なるほど練習帳上巻おわり&#10;&lt;/h3&gt;&lt;iframe style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;language=ja_JP&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=as_ss_li_til&amp;asins=B00O1N4BP2&amp;linkId=389065c357aaad606c1d5c3b18db9888" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" sandbox="allow-popups allow-scripts allow-modals allow-forms allow-same-origin"&gt;&lt;/iframe&gt;なるほど練習帳の上巻を一通りとおすことができた。もちろん一度やっておしまいではないのだが、この手のやつは一度とおしてしまえば、家事をやりながらCDを流して復習できるため、学習効率が上がるのである。&#13;&#10;&lt;p&gt;とにかく一文でも多くのフレーズを使いこなせるようになりたい。&lt;/p&gt;</description></item><item><title>2022年ももうすぐ終わる</title><link>https://hack-le.com/2022-11-30/</link><pubDate>Thu, 01 Dec 2022 01:41:18 +0900</pubDate><guid>https://hack-le.com/2022-11-30/</guid><description>&lt;p&gt;11月ももう終わり。つまりもう2022年が終わるのか。早いなぁ。来年は2023年。2023年ってあれ、もしかして素数か……？と思ったけど7で割れる雑魚だった。&lt;/p&gt;&#10;&lt;p&gt;そうかぁ……2022年ももう終わりかぁ……。&lt;/p&gt;&#10;&lt;h2 id="ニュース"&gt;ニュース&#10;&lt;/h2&gt;&lt;h3 id="ハラハラ"&gt;ハラハラ&#10;&lt;/h3&gt;&lt;p&gt;/harassment/&lt;/p&gt;&#10;&lt;p&gt;ハラスメント・ハラスメントなんてあるんやね。まぁでもそうだよなと思う。&lt;/p&gt;&#10;&lt;h3 id="バタフライキーボード"&gt;バタフライキーボード&#10;&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://iphone-mania.jp/news-507149/" target="_blank" rel="noopener"&#10; &gt;MacBookの旧キーボード訴訟、Apple側の和解金69億円が承認される - iPhone Mania&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;バタフライキーボード、アメリカの司法も認める欠陥品になってしまった。個人的にはそんなに嫌いではないのだけれど、これは不具合が起きていないからだろう。実際、この高いノートPCを買って、安物のパンタグラフよりさらに底浅いペチペチ感の挙げ句、あっという間に壊れてしまったら、そりゃ怒りもわくだろうな。&lt;/p&gt;&#10;&lt;p&gt;10年代中頃のMacは非常に残念だった。ゴミ箱Mac Pro、拡張性のないMac mini、電池を食いながら故障率をあげるだけの高級タッチバー……ジョブズ亡き後、デザイン部の力が強くなりすぎてしまったのではないだろうか。そういえばiPhoneだと3Dタッチとかあったよね。もう誰も……。&lt;/p&gt;&#10;&lt;p&gt;幸いなことに、10年代後半からMacは再び仕事をすることの大切さを見直しはじめたように思う。内部で何があったんだろうね。Mac mini 2018はメモリの換装ができるし。Mac Proはゴミ箱じゃなくなったし。タッチバーは……完全廃止かと思ったけどなかなかしつこい。&lt;/p&gt;&#10;&lt;h2 id="英語学習"&gt;英語学習&#10;&lt;/h2&gt;&lt;h3 id="なるほど練習帳"&gt;なるほど練習帳&#10;&lt;/h3&gt;&lt;p&gt;英語の参考書は色々と買って試しているのだが、スティーブ・ソレイシィの著書が自分には合っているように思う。少し古い本が多いが、まぁここ10年で英語が劇的に変わったという話は聞かないので大丈夫だろう。&lt;/p&gt;&#10;&lt;p&gt;で、彼の著書であるなるほどフレーズ100の100フレーズについて、さらに例文を増やしたなるほど練習帳をちょっとずつ進めている。正直例文1つだけでは全然身につく感じがしないので、この教材はけっこうありがたい。1つのフレーズあたり10くらい例文があるので、どうしてもスピードは遅くなるものの、ちゃんと使いこまないと実際の英会話では全然使えないので、むしろもっとあっていいくらいだ。&lt;/p&gt;&#10;&lt;p&gt;それでも使えるようにはなかなかならない…。使える英語を増やすための練習として、本書では30秒ダッシュなるものが提唱されているが、できていない。&lt;/p&gt;&#10;&lt;h2 id="開発"&gt;開発&#10;&lt;/h2&gt;&lt;h3 id="クリーンアップまでがpocやぞ"&gt;クリーンアップまでがPoCやぞ&#10;&lt;/h3&gt;&lt;p&gt;新規系では&lt;del&gt;場当たり的なシステム&lt;/del&gt;PoCのシステムを開発することも多い。クラウド全盛の昨今、リソースの準備も随分と簡単になった。特にAWSのLambda関数など、FaaSなやつは完全従量課金、使わなければ費用も発生しないため、サーバレスアーキテクチャな設計をすると、維持費用がかからないケースもある。&lt;/p&gt;&#10;&lt;p&gt;その結果生じるのが、いつ誰がなんの目的で作ったのかもはや誰もわからないリソースの残骸たちだ。非常に邪魔だし、存在するだけでもセキュリティリスクはある。&lt;/p&gt;&#10;&lt;p&gt;ということで、PoCは作ったら作りっぱなしではなく、後片付けまでしっかりと計画しないといけない。そうでなくてもPoCは終わった後興味を失われがちで、一番大事なはずの振り返りすら疎かにされやすいと思う。&lt;/p&gt;&#10;&lt;p&gt;しっかりと振り返りをして、そのうえで必要なくなったということでチームの同意を得て削除する、ここまでしっかりと、現場の技術者が面倒見てやらないといけない。PMが最後まで管理すべきというのがべき論ではあるけれども、システムが残って直接困るのは結局現場やから……。&lt;/p&gt;</description></item><item><title>Touch Bar廃止は本当なら嬉しすぎる朗報</title><link>https://hack-le.com/touch-bar/</link><pubDate>Sat, 16 Jan 2021 07:45:07 +0900</pubDate><guid>https://hack-le.com/touch-bar/</guid><description>&lt;p&gt;こんなニュースがありました。&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://iphone-mania.jp/news-341121/" target="_blank" rel="noopener"&#10; &gt;14/16インチMacBook Pro、Touch Bar廃止、MagSafe採用か - iPhone Mania&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;それってつまり昔のMacBook Airでは？と思いつつあまりにも正しすぎる選択に感涙を禁じえません。ここ10年ばかりのAppleがもたらした画期的らしいインタフェースのほとんどは、自分にはまったく響きませんでした。無理矢理使ってみたけど、やっぱり使えないという評価です。指紋認証搭載とUSB Type-C全振りは素晴らしい判断だったと思いますが。無接点充電は可もなく不可もなし。&lt;/p&gt;&#10;&lt;h2 id="やはり必要なかった"&gt;やはり必要なかった&#10;&lt;/h2&gt;&lt;p&gt;正直M1プロセッサ搭載よりも興奮しているかもしれない自分に苦笑。&lt;/p&gt;&#10;&lt;p&gt;ここ10年ばかり、MacとiPhoneの新しいインタフェースには、賛同できないものが多かった。指紋認証を廃止して顔認証になったのは間違えた進化だと思いましたし、3D Touchなんてもう誰も覚えていません（と言いつつアプリのアンインストールの時に使っていたりしますが）。極めつけはMacのTouch Barで、操作性を悪くし消費電力と価格を釣り上げるだけの無用の長物でした。&lt;/p&gt;&#10;&lt;p&gt;これがためにMacBook Airがほしかったのですが、まぁ買い替えのタイミングでMacBook Airはその時まだ2コアのものしかなく、仕方なくMacBook Pro 2019を買い、まぁあるからには使おうと頑張っているものの、音声のスライドバーくらいしか使っていません。&lt;/p&gt;&#10;&lt;p&gt;中にはBTTを入れて何かとカスタマイズしている人もいるようですが、もはや自分はそういうカスタマイズを楽しめません。それは年齢もあるでしょうが、頑張ってカスタマイズすればするほど、OSのアップデートについていきづらくなったという過去故、というのもあります。結局、標準に合わせて少しずつ自分のスタイルを調整するのが一番割が良い。&lt;/p&gt;&#10;&lt;p&gt;そもそも、普段はデスクトップPCを使っています。Touch Barが使えるのはノートだけ。環境によって使えたり使えなかったりというのでは、不便で仕方がない。&lt;/p&gt;&#10;&lt;p&gt;せめてTouch Bar無しモデルを再販してくれないかと願っていましたが、廃止とはね。いや、まだ噂の段階ではあるんですが、まぁこういう噂はだいたい当たるので、嬉しいでしかないですね。iPad Air 4は指紋認証ですし（顔認証はコロナ禍でその脆弱性？が露呈されましたね）、MacもiOS端末も良い方向に向かっていますね。&lt;/p&gt;&#10;&lt;h2 id="実用品ですから"&gt;実用品ですから&#10;&lt;/h2&gt;&lt;p&gt;3D TouchもTouch Barも、デザイナーの暴走だったのではないかと思います。奇抜なアイディアよりも実用性を重視しているように見えるのは、ジョナサン・アイブの退職も影響しているんですかね？&lt;/p&gt;&#10;&lt;p&gt;M1 Macも評判よろしいですし、この分なら、次のMac買い替えは安心してできそうです。もっとも、デスクトップはMac mini 2018、ノートはMacBook Pro 2019なので、だいぶ先になりそうですが。&lt;/p&gt;</description></item><item><title>Mac mini 2018は購入したい</title><link>https://hack-le.com/mac-mini-2018-2/</link><pubDate>Sun, 04 Nov 2018 18:25:39 +0900</pubDate><guid>https://hack-le.com/mac-mini-2018-2/</guid><description>&lt;p&gt;待ちに待たれたMac miniの新型がついに発売された。2014以来だから実に4年ぶりだが、2014の内容がアレだったので、感覚的には6年ぶりのような感じだ。&lt;/p&gt;&#10;&lt;p&gt;事前のリーク内容から、6コアは期待していたものの、メモリ換装の解禁は非常に意外だった。方向性を改めたんだろうか。&lt;/p&gt;&#10;&lt;p&gt;メモリを自分で変えられるなら、店頭モデルもありなので、しばらくは皆のレビューを楽しみながら値下がりを待とうかなと思う。&lt;/p&gt;&#10;&lt;h2 id="ついに発売"&gt;ついに発売&#10;&lt;/h2&gt;&lt;p&gt;各メディアからも発売濃厚の予測記事が上げられて、ああついに来るのだなぁと思いながら10月30日を迎えた。&lt;/p&gt;&#10;&lt;p&gt;新型が出るのが確定的だとすると、次に気になるのはスペックと値段。色々な噂を聞いていると、なにやらプロユースなんて言葉が飛び交っていて、それ自体は良いのだけれど、そうすると当然お値段もプロユースになるのだろうし、どうなることかなぁと思っていた。&lt;/p&gt;&#10;&lt;p&gt;が、蓋を開けて見れば危惧したほど高くもなかったようだ。普段はMac miniなんてかけらも話題にしない各メディアも今回ばかりは速報で大きく取り上げてくれた。&lt;/p&gt;&#10;&lt;p&gt;この速報記事というやつは、メディアの特色が如実に出るようで、中にはタイトルに最大構成のスペックをのせておきながら、記事内では最小構成の値段しかのせないメディアなんかもあり、そういうところはわかりやすく信用できないメディアだなぁなんて思う（Appleから金もらっているわけでもなかろうに）。情報量も公式サイトを見ればわかる程度の技術仕様くらいで、それに対する分析もスライドの中の言葉を切り貼りしたようなものだったりする。記者に関心がないのだろうか。&lt;/p&gt;&#10;&lt;p&gt;その中でよく書いてくれているなぁと思ったのは毎度のことながらEngadgetで（「&lt;a class="link" href="https://japanese.engadget.com/2018/10/30/mac-mini-6-core-icpu-5/" target="_blank" rel="noopener"&#10; &gt;速報：新Mac mini発表。6コアCore iCPUで性能5倍な「最大級更新」 - Engadget 日本版&lt;/a&gt;」）、スペック、値段、メモリの仕様、インタフェース周りなど、知りたいことをコンパクトに一通り知ることができた。速報記事でメモリのスロットについて言及していた数少ないメディア。SSDの仕様や、電源ユニット内蔵について触れているあたり、書いた人もきっとmini使いなのだろう。&lt;/p&gt;&#10;&lt;h2 id="13万で6コア"&gt;13万で6コア&#10;&lt;/h2&gt;&lt;p&gt;13万円ちょっとでCore i5 6コアのマシンが手に入るということがわかった。それも嬉しいことに、メモリの換装ができるらしい。これは非常に意外で、昨今のAppleの方向性から、まったく期待していなかったのだけれど、ひょっとして方針転換があったのだろうか。Mac Proの構成も見直すようであるし。&lt;/p&gt;&#10;&lt;p&gt;プロユースなんていうから身構えたけれど、オプション地獄に飛び込めばバカ高くなるというだけで、性能を考えればこんなところじゃなかろうか。6コアといえば、現行のiMac 2017よりコア数が多いことになるし。後は熱問題さえクリアしていれば、と思うがそれはきっとなかなかだろうなぁ……。&lt;/p&gt;&#10;&lt;p&gt;確かに最低価格はずいぶんと上がってしまったようであるから、安価なモデルを求めていた層にとっては、そこまでのパフォーマンスは求めていないのに、という気持ちもあるだろうが……。&lt;/p&gt;&#10;&lt;p&gt;しかしまぁPC自体が斜陽になりつつある昨今、廉価なモデルは売る側にとってあまり旨味がないのだろうと思う。Appleとしては本当はiMacを買ってほしいのだろうし、それを思えば、10万で4コア、13万ほどで6コアCPUのデスクトップMacを調達できるのは有り難いことじゃなかろうか。&lt;/p&gt;&#10;&lt;p&gt;とは言うものの、ハードはそんなに頑張らなくてもいいから、OSとしてのMacが欲しいんだという局面も、特に仕事や研究で使っている人ならあるだろうし、5,6万程度のエントリーモデルも残しておいてほしかったなぁとは思うけれど。。。&lt;/p&gt;&#10;&lt;h2 id="購入したい"&gt;購入したい&#10;&lt;/h2&gt;&lt;p&gt;さて、自分がメインで使っているのはMac mini 2012だ。これはこれでまだまだ十分使えるものではあるけれど、気持ちとしてはそろそろ買い替えたい。それに、次の新モデルが出る頃には、少なくとも東京オリンピックは終わっているだろうし。時期が中途半端になると、どうせなら次を待とうとか考えはじめちゃうしねぇ…。&lt;/p&gt;&#10;&lt;p&gt;ただ、メモリを換装できるということで、店頭モデルでも良いかなと考えており、そうすると、しばらく待てば値下がりが期待できる。16GBのメモリ2枚分とまではいかずとも（いまだと安いもので35,000円くらいか）1枚分くらいは浮くのではないかなぁ。&lt;/p&gt;&#10;&lt;p&gt;まぁ値下がりをのんびりと色々な人のレビューを見ながら待とうと思う。特に音と熱の問題は使ってみないとわからないところだ。音については大丈夫だろうと思うが、熱はどうだろうなぁ。やっぱり今回も爆熱なんだろうか。&lt;/p&gt;&#10;&lt;p&gt;なんにしても、Mac miniのまともな新型が出てくれて、とても嬉しい。&lt;/p&gt;</description></item><item><title>Mac mini 2018は本当に出るのかなぁ…</title><link>https://hack-le.com/macmini2018/</link><pubDate>Sun, 11 Mar 2018 14:03:16 +0900</pubDate><guid>https://hack-le.com/macmini2018/</guid><description>&lt;p&gt;ここ最近、Mac miniの新型が出るのではないかとまことしやかに囁かれている。あくまで噂話レベルだが。もう放置プレイ期間が4年目に差し掛かり、皆限界だ。私のMac mini 2012も、最近ちょこちょこと怪しい挙動があり、もしも壊れたら…と思うと、新型の発売を願うばかり。&lt;/p&gt;&#10;&lt;p&gt;もしアップデートされることがあれば、期待できるマシンになるのではないかと思っている（願っている？）。&lt;/p&gt;&#10;&lt;h2 id="放置プレイ進行中だが"&gt;放置プレイ進行中だが&#10;&lt;/h2&gt;&lt;p&gt;出るかもしれないとはいっても、やはり例によって噂話の域を出ていない。そもそもMac miniに関心を持っている人数が、他Apple製品と比べると…特に、Appleのドル箱iPhoneなんかと比べられた日には。&lt;/p&gt;&#10;&lt;p&gt;ただ、待ちわびている人は確かにいる。自分もその一人である。とはいえ、今使っているMac mini 2012自体は今でもちゃんと使えているので、発売したからといって即購入に至るかといえば、そこは微妙なところ。ただ、軽いプチフリが頻発したり、朝起きたら再起動していたり、なんてことも最近はよくあるので、いざという時のためにも魅力ある新型が発売されてほしいわけだ。&lt;/p&gt;&#10;&lt;p&gt;なにしろ、前回のアップデートからもう4年目である。しかも前回のアップデートは、（上位モデルでも）CPUがクアッドコアからデュアルコアに成り下がるという、まさかのダウングレードであった。そりゃまぁ、1コアあたりの性能や、消費電力という観点もあるから、一概にダウングレードとは言えないという異論もあろうけれど、仮想化や複数のプログラムを常時稼働させるような、ある程度ヘビーな使い方をする向きからすると、やはりスペックダウンの誹りは免れない。おまけにメモリのソルダリングなどもあって、数少ない拡張性が潰された2014モデルの印象は非常に悪い。&lt;/p&gt;&#10;&lt;p&gt;Mac mini 2012には、ライトからヘビーまで包み込む懐の深さがあったのだが……。iMacを買いたまへ、というAppleからのメッセージかもしれないが、一体型はやはりジャンルが違うと思うのである。Mac Proもあんなだし、ここ数年のAppleのMacに対するやり方は辟易とするばかりだ。その極致が、去年発売されたiMac Proだろう。&lt;/p&gt;&#10;&lt;p&gt;さすがに反発もあったのか、Mac Proをモジュラー型で再開発する、という発表もあり、若干の軌道修正も見られるものの、基本的な方向性は変わっていないだろう。不安である。&lt;/p&gt;&#10;&lt;h2 id="期待もある"&gt;期待もある&#10;&lt;/h2&gt;&lt;p&gt;それでも、もしMac miniがアップデートされるなら、今回は期待してよいかなと思っている。というのも、Ryzen旋風のおかげなのか、Mac miniで使われるだろうCPUが4コアになりそうなので。&lt;/p&gt;&#10;&lt;p&gt;あとはメモリが16GB標準だと文句ないのだが、iMacでさえ8GBが標準なので、まぁそこはCTOしなくてはなるまいな。せめて自分で換装できればね。それはきっと、もう望むべくもないのだろうな。せめてストレージだけでも、と思うが、昨今メモリもSSDも何もかも高すぎるから、自分で変えられたところで、価格的メリットはあまり大きくないかもしれない。&lt;/p&gt;&#10;&lt;p&gt;まぁそれもこれも、とにかくまず出てくれないことにはね。というかね、さすがに今年出なかったら、いくらなんでもそりゃないよ。重要な製品だ、なんてリップサービスまでしといてね。お願いします。&lt;/p&gt;</description></item><item><title>2017年もMac miniの新型出なかったらどうしようかどうしようもない</title><link>https://hack-le.com/desktopmac/</link><pubDate>Wed, 15 Feb 2017 02:18:39 +0900</pubDate><guid>https://hack-le.com/desktopmac/</guid><description>&lt;p&gt;発売して間もないのに、早速MacBook Proの噂がまた聞こえてきますが、それにしてもMac mini、どうなるんでしょうね。ディスコンはいやだなぁは思いますけれど、かと言ってずるずると来週の淡い期待だけもたせられ続けられるのもつらいし、もうやる気がないなら、いっそ引導を渡してくれないかとさえ。&lt;/p&gt;&#10;&lt;p&gt;（追記 2017/5/2）ここ一ヶ月くらいで急に色々な噂が流れてきましたね。ちょっと期待していいんでしょうか…。&lt;/p&gt;&#10;&lt;h2 id="放置されるmac"&gt;放置されるMac&#10;&lt;/h2&gt;&lt;p&gt;Mac、特にデスクトップMacが放置されて久しいです。デスクトップMacは2年周期に入ったともいわれていましたが、もうMac miniは3年目に突入、Mac Proに至っては4年目。かろうじてiMacが2年目。2年周期どころではなかった。&lt;/p&gt;&#10;&lt;p&gt;一応、ティム・クックもデスクトップMacを重要と言います（参考「&lt;a class="link" href="http://japanese.engadget.com/2016/12/20/mac/" target="_blank" rel="noopener"&#10; &gt;ティム・クック「素晴らしいデスクトップMacの計画がある」と発言。いまだ重要な製品のひとつと認める - Engadget 日本版&lt;/a&gt;」）けれど、現状を見ると本当にそう考えているとは中々思えません。結局iPhone 7のこれなしでは生活できないと感じさせる革新的機能とは何だったのかわからず仕舞いですし（参考「&lt;a class="link" href="http://gigazine.net/news/20160506-iphone-7-indispensable-function/" target="_blank" rel="noopener"&#10; &gt;iPhone 7には「これなしでは生活できないと感じさせる革新的機能を搭載する」とクックCEOが発言 - GIGAZINE&lt;/a&gt;」）、明らかに注力しているAppleのドル箱製品iPhoneでもこれですから、デスクトップMacについてのリップサービスなど、どこまで信じられましょう。&lt;/p&gt;&#10;&lt;p&gt;とはいえ、AppleとしてもVR時代の到来を予見しているようなので、足枷と評されることも多いMacのGPUは大きな進化を期待できるのかなとは思います。しかし、まぁ、どうせ、iMacでしょう。Mac Proは……どうかな、Sierraのコードに、次期Mac Proの痕跡があるという話もちらっとありましたが…（参考「&lt;a class="link" href="http://ascii.jp/elem/000/001/402/1402306/" target="_blank" rel="noopener"&#10; &gt;ASCII.jp：間もなく登場のiMacとMac ProはPolarisベースの新GPU｜Apple噂まとめ&lt;/a&gt;」）。というか、さすがに今年は出ないとねぇ……。そしてMac miniの噂は、まったく聞こえてこない。希望的観測やぼやきは時々聞こえてくる…この記事のような。&lt;/p&gt;&#10;&lt;h2 id="もう出てくれたらなんでもいい"&gt;もう出てくれたらなんでもいい&#10;&lt;/h2&gt;&lt;p&gt;2014年のMac miniは私を大いに落胆させました。クアッドコアモデルがラインナップから消失したからです。筐体内部にアクセスしようとすれば吸盤が必須になったり、メモリが直付けになったりという改悪もありました。これに不満を覚えたのが私だけではないことは、2012年モデルの中古市場価格の高騰という現象を見れば明らかでしょう。&lt;/p&gt;&#10;&lt;p&gt;ここ数年のAppleの傾向を見れば、もはや内部拡張性については望むべくもありません。しかし、せめてクアッドコアの復活はしてほしいという願いを、このブログでは再三書いてきました。しかし、いつまでたっても新型が出ないどころか噂さえ聞こえてこない昨今、最近は、&lt;strong&gt;新型が出てくれさえすればもうなんだっていいという気分&lt;/strong&gt;になってきました。&lt;/p&gt;&#10;&lt;p&gt;満足できる仕様でなくてもいい。ただディスプレイのない、一体型ではない、そしてプロユースでもない一般向けのデスクトップMacというジャンルが、存続さえしてくれれば。そういう気分です。&lt;/p&gt;&#10;&lt;p&gt;でも、それさえ叶わないような気もします。ティム・クックにとって、Mac miniなど時代遅れの遺物に見えているのかもしれません。そんなに利益が出るようなものでもないのでしょうし。といってAppleがMacを他社に渡すようなこともないだろうし、このまま消え行くのだろうか。もういっそ、ディスコンしてくれたほうがスッキリするかも……。&lt;/p&gt;&#10;&lt;p&gt;……サプライズないかなぁ……。&lt;/p&gt;</description></item><item><title>最近SSDなどストレージがまた安くなりましたね</title><link>https://hack-le.com/ssdstrage/</link><pubDate>Wed, 27 Jul 2016 18:15:12 +0900</pubDate><guid>https://hack-le.com/ssdstrage/</guid><description>&lt;p&gt;ストレージがまた最近安いですね。上図はシリコンパワーの240GBSSDの価格推移チャートですが、だいたい去年の2月くらいから一気に安くなったようです。去年の11月にSSDを新調しましたが、結果的には一番高い時期だったかな…。&lt;/p&gt;&#10;&lt;h2 id="480gbクラスが12000円240gbで6000円"&gt;480GBクラスが12000円、240GBで6000円…&#10;&lt;/h2&gt;&lt;p&gt;SSDが本当に安い。「&lt;a class="link" href="http://akiba-pc.watch.impress.co.jp/docs/price/monthly_repo/1012316.html" target="_blank" rel="noopener"&#10; &gt;240～480GB SSDを中心に廉価機種が増加、「謎製品」扱いの960GBが税抜き19,999円 - AKIBA PC Hotline!&lt;/a&gt;」によると、6,000円を割る240GBクラスもあるそうな。実際カカクコムのグラフ見ても、最近本当に安い。480GBで、探してみると11,000円を割っているのもNTT-Xストアにありました…（「&lt;a class="link" href="http://nttxstore.jp/_IIUL_SL14676337_kkc_kkc" target="_blank" rel="noopener"&#10; &gt;シリコンパワー 【SSD】SATA3準拠6Gb/s 2.5インチ 7mm 480GB SP480GBSS3S55S25 - NTT-X Store&lt;/a&gt;」）。&lt;/p&gt;&#10;&lt;p&gt;一例として、この界隈で比較的息が長いっぽいものの価格チャートを記事冒頭に引用しましたが、これを見るとだいたい去年の2月くらいに一気に安くなって、それからまだじわじわと安くなっています。他の製品について見ても、だいたいそんな感じなので、全体としてもそういう流れなのでしょう。&lt;/p&gt;&#10;&lt;p&gt;私が今のMac miniで新しいSSDに買い換えたのが去年の11月でしたけれど、振り返ってみると、一番高い時期に購入してしまったのかな。まぁ、SSDの相場は水物なので、仕方ありません。それに、あの時はもう何かしらマシンをいじりたくて仕方なかったので、2月まで待つとか絶対に無理でしたし。&lt;/p&gt;&#10;&lt;h2 id="欲しいなぁとは思うけれど"&gt;欲しいなぁとは思うけれど&#10;&lt;/h2&gt;&lt;p&gt;まぁそんなわけなので、ちょっとまた新しく買うには早すぎるのですが、チャートを見たりSSDが安い、という記事をみる度に、&lt;strong&gt;ああ欲しいなぁ&lt;/strong&gt;と思ってしまうわけです。&lt;/p&gt;&#10;&lt;p&gt;「&lt;a class="link" href="http://akiba-pc.watch.impress.co.jp/docs/price/monthly_repo/1012315.html" target="_blank" rel="noopener"&#10; &gt;外付け8TB HDDの特価品が税抜き19,999円に、3TBは過去最安クラスの6,480円を記録 - AKIBA PC Hotline!&lt;/a&gt;」という記事もあるように、SSDがというよりストレージ全体が安くなっている感じでしょうか。2TBハードディスクも、ようやくタイの洪水（もう5年前…あの頃相場はすぐに戻ると言っていたアナリストは今何しているのだろう）前の水準になりました。やっすい。&lt;/p&gt;&#10;&lt;p&gt;でもHDはさすがにもういりません。というか、データ容量は少なくしていきたいと思っています。有効活用できればいいんですけどね。常に自分の蔵書データを機械学習させて、自分の知りたいこと、関心のあることについて答えてくれるプログラムとか、できないものかしら。そういうのがあれば、HD容量を増やすことも考えるのですが。&lt;/p&gt;&#10;&lt;iframe style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B017D7H7IU" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;閑話休題。しかし、SSDはまだ活用の余地があります。自作のLinux用PCがあるのですが、これは大昔MBAについていたフラッシュストレージを流用しているので、ここに2.5インチSSDを突っ込むのは大いにありです。240GBならそんなにお値段しません。Amazonでも6,000円台で買えます。&#13;&#10;&lt;p&gt;いやまぁ…別にそんな焦って買う必要はまるでないんですけどね。ただ見ているとふつふつと物欲が…。あかん、しっかりせいよ俺、あかん。&lt;/p&gt;</description></item><item><title>結局TimeMachineはNASを使わず外付けハードディスクを利用するようになった</title><link>https://hack-le.com/47700477-2/</link><pubDate>Tue, 07 Jun 2016 06:06:48 +0900</pubDate><guid>https://hack-le.com/47700477-2/</guid><description>&lt;p&gt;参りました。NASのハードディスクが故障したのに合わせてTimeMachineがエラーを吐きまくるようになったのですが、ハードディスクを交換してNASは復旧したものの、TimeMachineは相変わらずエラーを吐く。容量をなるべく小さくして、バックアップ中は極力他の作業をしないなどして頑張ると、初回バックアップは完了するものの、2台目のMacのバックアップでエラーが出たり。&lt;/p&gt;&#10;&lt;h2 id="不安定"&gt;不安定&#10;&lt;/h2&gt;&lt;p&gt;まぁ、ネットワーク越しで、Macが複数台あって、バックアップ容量は大きくて、となると、条件としてはなかなか複雑ですから、今までのTimeMachineの実績からいくと、けっこう厳しいのです。それでも、以前はなんとかうまくやっていたのですから、辛抱強くやっていればそのうちエラーも出なくなるのでしょうが、&lt;strong&gt;これは常に爆発の恐れがある不発弾のようなものですから、とても安定した運用とは言えません&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;h2 id="ネットワーク越しをやめると安定する"&gt;ネットワーク越しをやめると安定する&#10;&lt;/h2&gt;&lt;p&gt;そもそも、&lt;strong&gt;ネットワーク越しではバックアップ速度が非常に遅い&lt;/strong&gt;。せいぜい200GB程度でも、初回バックアップに半日かかる。そういえば、以前復旧させた時もそれくらいかかりました。となると、&lt;strong&gt;数百GBあるMac miniのバックアップなど、もし何かあって復旧させることになった場合、それだけで一日以上かかってしまうのではなかろうか&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;色々な問題をあれこれと考えていると、&lt;strong&gt;結局外付けハードディスクにバックアップをするのが一番楽なのではないかという結論&lt;/strong&gt;に至りました。それで、静音性のためにわざわざ新しいポータブルHDを買おうかとカカクコムで製品を見ていたのですが、やはりバックアップのためだけにそんなものを買うのはどうにも気分が乗りません。普通の外付けハードディスク自体は余っていますし。しかし、五月蝿い。&lt;/p&gt;&#10;&lt;p&gt;とはいえ、考えてみると私の場合は別に年がら年中バックアップをしたいわけではありませんので、それなりの頻度であれば、外出する時などに都度USBケーブルを繋げてバックアップすればいいのではないか、と思い、現在、&lt;strong&gt;仕事に行く時だけ外付けハードディスクを接続し、帰ってきたら外す、というような生活&lt;/strong&gt;をしています。まぁ、一日中Macを起動しっぱなしの私だからできることですが。&lt;/p&gt;&#10;&lt;p&gt;やや面倒ではあるものの、総合的にはこれが一番楽だという結論です。便利なんだか、不便なんだか。今までに何度もお世話になっていますし、TimeMachineは良いものだと思うのですが、まったくどうして、面倒臭い。&lt;/p&gt;</description></item><item><title>NASなどを使ったネットワーク越しのTimeMachineバックアップは色々鬼門</title><link>https://hack-le.com/47647360-2/</link><pubDate>Sat, 28 May 2016 00:14:32 +0900</pubDate><guid>https://hack-le.com/47647360-2/</guid><description>&lt;p&gt;Macの便利な標準ソフトウェアの一つに、バックアップ機能のTimeMachineがあります。初めて利用した時、その勘弁さ、また復旧の見事さには感動さえ覚えました。たいへん素晴らしいソフトなのですが、トラブルの種でもあります。&lt;/p&gt;&#10;&lt;h2 id="便利な鬼門timemachine"&gt;便利な鬼門TimeMachine&#10;&lt;/h2&gt;&lt;p&gt;私がMacで気に入っている標準機能の一つに、TimeMachineがあります。マシンの移行は、それだけでまず一日、さらにその後に出てくるトラブル対応などが数日あるいはそれ以上に続く、というのが経験でしたが、MacのTimeMachineは、それが数時間で終わって、しかもその後のトラブルがほとんどない。ライセンス対応などもほとんど必要がない。初めてマシンの移行をした時、その体験にたいそう驚かされたものです。&lt;/p&gt;&#10;&lt;p&gt;それ以来、TimeMachineにはずっとお世話になっていますが、しかしこの機能に起因するトラブル対応に何度も見舞われていることもまた、事実です。単純にバックアップに成功しなくなるとか、よくあるのがプロセスmdworkerが暴走し、プチフリが繰り返される、という症状です。これは本当に参りまして、ネットで検索すると困っている人がたくさんいるのですが、未だに決定打と言える対応策がありません。&lt;/p&gt;&#10;&lt;h2 id="条件がややこしくなるほどにトラブル"&gt;条件がややこしくなるほどにトラブル&#10;&lt;/h2&gt;&lt;p&gt;TimeMachine関連のトラブルは、条件が複雑になるほどに多くなるように思います。バックアップ容量が大きい、ファイルの書き換えが頻繁に起きる、ネットワーク越しである、Apple純正ではなく、ReadyNASなどのTimeMachine対応を謳うNASを利用する、など。特にネットワーク越しだと、非常にトラブルが頻発するように思います。昔、Mac miniでTimeMachineサーバーをたてたときも、エラーが頻発して結局使わなくなりました。そして今回、ReadyNAS 104で利用していましたが、これもエラーが出るようになりました。&lt;/p&gt;&#10;&lt;p&gt;バックアップの仕方を、いっぺんにするのではなく段階的にバックアップしたりといったことをすれば、ひとまずバックアップは完了できるのですが。しかし、バックアップが不安定というのはなにしろ不安。そもそも、バックアップ速度がたいへん遅い。&lt;/p&gt;&#10;&lt;p&gt;USBで外付けハードディスクにバックアップをとっていた時は、比較的安定していたように思います。あのときは、3TB近いデータをTimeMachineでバックアップさえしたものです。多分、それが一番差し障りがない。&lt;/p&gt;&#10;&lt;p&gt;せっかくのNASではありますが、これだけ不具合に悩まされ、時間を無駄にさせられてしまうのも考えモノです。また、これだけ不安定なバックアップでは、いざというときにちゃんと復旧できるか、どうか。復旧できるか不安なバックアップでは、なにがなにやらわかりません。&lt;/p&gt;&#10;&lt;p&gt;というわけで、現在また、ポータブルのHDをTimeMachineバックアップに利用しようか考え中です。また、TimeMachineによるバックアップ容量は小さめにして、データはできるだけrsyncを使ってNASに直接保存するようにしたほうがよいか、と考えています。&lt;/p&gt;&#10;&lt;p&gt;何も考えなくてもよいのがTimeMachineの良い所の一つだと思うのですが、2016年になっても、なかなかうまくいかないものです。&lt;/p&gt;</description></item><item><title>MacBook Airの隙がなくなった。13インチ が標準メモリ 8GB にマイナーアップデート</title><link>https://hack-le.com/47381184-2/</link><pubDate>Thu, 21 Apr 2016 00:12:54 +0900</pubDate><guid>https://hack-le.com/47381184-2/</guid><description>&lt;p&gt;新型MacBook発売のニュースの陰に、しれっとMacBook Air 13インチがマイナーアップデートしました（「&lt;a class="link" href="http://japanese.engadget.com/2016/04/19/13-macbook-air-ram-8gb-retina/" target="_blank" rel="noopener"&#10; &gt;13インチMacBook Air、価格据置きでRAMが標準8GBにアップグレード。Retinaディスプレイは不採用 - Engadget Japanese&lt;/a&gt;」）。標準のメモリが4GBから8GBにアップグレードです。値段は据え置き。&lt;/p&gt;&#10;&lt;h2 id="メモリはmacbook-airでほぼ唯一の考えどころだった"&gt;メモリはMacBook Airでほぼ唯一の考えどころだった&#10;&lt;/h2&gt;&lt;p&gt;これはたいへん嬉しいですね。これまで8GBにしようと思ったら、オンラインストアでCTOするしかなかったわけですが、&lt;strong&gt;これからは通販で値下げされたものを購入することができる&lt;/strong&gt;ことになります。とてもお財布に優しいですね。庶民には有難いことです。&lt;/p&gt;&#10;&lt;p&gt;私は現在 2013年のMacBook Air 11インチを愛用しています。これはたいへん良いマシンで、購入した当時はCPUに不安を感じていたものですが、&lt;strong&gt;実際に使ってみると1.3GHzというクロック周波数からは想像もつかない良好なパフォーマンスを発揮&lt;/strong&gt;してくれました。もちろん、解析スクリプトや仮想化など高負荷な作業を行えば、それなりに重たくはなります。しかし、日常のたいていの作業ではほとんど問題になりません。PCIeのフラッシュメモリで I/O の性能が良いせいなのか、処理によってはクアッドコア Core i7 のMac miniでももたつく処理がスムーズにできることさえあります。&lt;/p&gt;&#10;&lt;p&gt;満足度が高く、まだまだ当分使えてしまいそうだなぁというMacBook Airですが、&lt;strong&gt;一点気になっていたのは、メモリ容量&lt;/strong&gt;です。先にあげた高負荷な作業の１つ、仮想化などは、メモリが8GBであればその重さは幾分緩和されるように思えます。もっとも重要な作業の１つであるWebブラウジングも、より潤沢にキャッシュを使えるのでレスポンスがよくなりそうです。&lt;/p&gt;&#10;&lt;p&gt;メモリ容量が8GBになることは、次の買い替え要件における個人的な必要条件でした。まぁ、現状でも十分使えているので、即買い替え、には至りませんが、一歩、マシンの新調に近づいた感があります。MacBook Pro の標準が16GBになったりはしませんかねぇ。&lt;/p&gt;&#10;&lt;h2 id="11インチの行方は"&gt;11インチの行方は&#10;&lt;/h2&gt;&lt;p&gt;Appleが今ノートパソコンで力を入れているのは明らかに MacBook で、MacBook Air はその立ち位置が微妙です。ディスコンの噂さえチラホラと聞こえてきます。今回こうしてマイナーアップデートされたということは、まぁ当分 MacBook とは共存してくれるのでしょう。それは嬉しいことです。MacBook は面白いマシンですが、さすがにパフォーマンスに心配があります。店頭でちょっと触っただけでも、今使っているMacBook Air 2013以上のもたつきが Safari で感じられました。私はそれなりに高負荷の作業もしますから、MacBookはまだまだ力不足でしょう。さりとて、MacBook Proはなかなか踏ん切りが付かない。&lt;strong&gt;ノートパソコンでRetinaを必ずしも重要視しない私にとって、MacBook Airはちょうどよい選択肢&lt;/strong&gt;なのです。バッテリーも持ちますし。&lt;/p&gt;&#10;&lt;p&gt;とはいえ、動きのなかった11インチの行く末は心配です。2015年モデルを最後になくなってしまう、なんてこともまことしやかに囁かれています。最近ホビーで Unity などもいじることがあるので、次買うならば12インチ以上にしようかな、と思ってはいるものの、なくなるのは寂しい。見た目がコンパクトでスマートですし、持ち運びにも非常に良い大きさなのですが、アメリカ人には小さすぎるのでしょうかねぇ…。&lt;/p&gt;</description></item><item><title>ReadyNASからのTimeMachine復元で苦労 OSのバージョンは合わせないと</title><link>https://hack-le.com/46112750-2/</link><pubDate>Fri, 27 Nov 2015 11:37:22 +0900</pubDate><guid>https://hack-le.com/46112750-2/</guid><description>&lt;p&gt;やはりSSDだけでは容量が心もとないので、先日 Mac mini 2012 にハードディスクを増設し、Fusion Driveにしました。SSD 480GB + HD 1TBで計1.5TB、必要にして十分な容量です。SSD分が多いので、パフォーマンスも心配ありません。Mac miniのハードディスク増設は、上段の場合ちょっとした作業になのですが、分解も慣れていましたし、Fusion Drive化はすぐに済んだのですが、たいへんだったのはそれからです。&lt;/p&gt;&#10;&lt;h2 id="復元失敗"&gt;復元失敗&#10;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;TimeMachineからの復元に失敗&lt;/strong&gt;しました。復元を開始して、最初はうまくいっているように見えたのですけれど、終わった頃に見てみると画面に進入禁止の中心線を45度傾けたようなマークが。再起動してもダメ。うーん。Cmd+Rで起動して、ディスクユーティリティを開くと、&lt;strong&gt;ディスク容量を見る限りデータは入っている&lt;/strong&gt;みたい…ただ、起動ディスクがなく、起動できない模様。うーん？&lt;/p&gt;&#10;&lt;p&gt;もう一度復元を開始しようとしたら、&lt;strong&gt;バックアップを開けません&lt;/strong&gt;、ファイルが壊れているかも、などと言われてできません。ううん……こんなことは初めてです。考えられる要因がいくつか。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;ハードディスクを増設して初めてフュージョンドライブ化した状態&lt;/li&gt;&#10;&lt;li&gt;ReadyNASを用いていたネットワーク経由での復元&lt;/li&gt;&#10;&lt;li&gt;そういえば最新のバックアップが何故か半日前&lt;/li&gt;&#10;&lt;li&gt;OSX Mountain Lionをクリーンインストールした状態からの復元(El Capitan)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;まぁ結論から言うと、&lt;strong&gt;恐らくは復元前と復元先のOSのバージョンが合っていなかったことが原因&lt;/strong&gt;です。とはいえ、今までもそれで復元を実行して、特に問題が起きたことはなかったのですが…まぁ、今までは外付けハードディスクから直接だったのが、今回はReadyNASを使っていたり、ストレージの状態が違ったりと、色々いじっていたので、そういうこともあるのかな、と思いました。&lt;/p&gt;&#10;&lt;h2 id="試行錯誤"&gt;試行錯誤&#10;&lt;/h2&gt;&lt;p&gt;成功に至るまで、アレコレしました。ノートPCのバックアップも同じくReadyNASで取っていたので、現在それで復元できるか実行。これも復元は開始しますが、結果はやはりダメ。容量から察するに、&lt;strong&gt;データ自体は復元されているようなのですが、起動しない。起動ディスクが見つからない&lt;/strong&gt;。そして、改めてもう一度復元しようとすると、バックアップが開けませんというにべもないお言葉。&lt;/p&gt;&#10;&lt;p&gt;最初Mac miniのバックアップが失敗したときは、最新のバックアップが半日前と古かったことから、ひょっとしてバックアップに失敗していて、何か不整合があったのだろうか、とも思ったのですが、二つのバックアップファイルで同じ現象が起きたので、そういう問題ではない。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;ディスクの検証をすると正常&lt;/strong&gt;。ちゃんと認識されていますし、Fusion Driveの問題でもなさそうです。&lt;/p&gt;&#10;&lt;p&gt;ネットワーク越しであることで不安定になっているのか、あるいは噂に聞くOSのバージョンが合わないことによる不具合か。USBで使えるバックアップディスクを用意するのも手間ですし、まずはOSのバージョンを合わせて再チャレンジすることにします。&lt;/p&gt;&#10;&lt;p&gt;OSをクリーンインストール後、El Capitanにアップデートしました。ReadyNASも念の為再起動。再度Cmd+Rで起動し、復元を試みます。すると、先ほど「開けません」と言われたバックアップが再び開けるようになっています。そして、復元も開始できる。ひょっとしてひょっとするだろうか、と待つこと数時間。どうかな、と祈るような気持ちで見てみると、今度はうまくいっていました。&lt;/p&gt;&#10;&lt;p&gt;ということで、&lt;strong&gt;今回の悪戦苦闘はOSのバージョンが合っていなかったことが原因&lt;/strong&gt;ということです。今までここで引っかかったことはないのですし、つい先日もクリーンインストール直後のMountain LionからEl Capitanへの復元に成功していたのですが、まぁ前述の通りFusion Drive化やReadyNASの使用など、状況が変わっているので、制約が厳しくなったのか、どうか、まぁわかりませんが、そういうことです。ここに至るまで、実に丸三日（一回の復元で数時間かかりますからねぇ…）。&lt;/p&gt;&#10;&lt;h2 id="timemachineは便利だけれど"&gt;TimeMachineは便利、だけれど&#10;&lt;/h2&gt;&lt;p&gt;苦労しました。最初復元に失敗した時はやや絶望的な気分になりましたが、最終的にはうまくいってよかったです。アレコレと調べている間に、どこかのブログ記事で見かけた「&lt;strong&gt;TimeMachineは最高です。うまくいけば&lt;/strong&gt;」という文言に深く共感した次第。&lt;/p&gt;</description></item><item><title>Raspberry Piがあると簡易Linuxマシンとして使えて良いですね</title><link>https://hack-le.com/46099758-2/</link><pubDate>Wed, 25 Nov 2015 15:41:48 +0900</pubDate><guid>https://hack-le.com/46099758-2/</guid><description>&lt;iframe width="300" height="150" style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B00NEDEZWO" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;ext4でフォーマットする必要がありました。そのためにはLinuxのマシンがあると良いですが、サーバーもたてていないし、そのために仮想化でOSをインストールするのも面倒臭いし、どうしたものかな、と思っていたところへ、目に入ったのがRaspberry Pi。これでよかった、という記事です。&#13;&#10;&lt;h2 id="外付けハードディスクをext4でフォーマットする"&gt;外付けハードディスクをext4でフォーマットする&#10;&lt;/h2&gt;&lt;iframe width="300" height="150" style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B00CHABREE" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;腑抜けの私は自宅サーバーをやめて、NETGEARのReadyNASを購入しました。これでRAID-5を組んでいるので、物理障害にはある程度強くなっているものの、**ヒューマンエラーの誤削除や論理障害には無力ですから、外付けハードディスクにデータをバックアップ**しなければなりません。**ReadyNASはボタン一つで外付けハードディスクにバックアップすることも可能**で、スケジュール登録もブラウザ上でできますし、とてもお手軽です。cronの書式なんだったかな、とか調べなくてもよいわけです。&#13;&#10;&lt;p&gt;便利なものだなぁと外付けハードディスクを取り付けると、認識しない。あら、と思って調べると、ext3ないしext4でないと認識しない、とかなんとか。本当に？そうなのかなぁ。マウントできないのはわかるけれど、認識してフォーマットくらいはできて然るべきじゃなかろうか。まぁでも、みんな大好きNTFSならともかく、OSX用のHFS+だしなぁなどと思いつつ、&lt;strong&gt;なんにしてもext4にしておくのがよいだろう&lt;/strong&gt;ということで、ext4でフォーマットすることにしました。&lt;/p&gt;&#10;&lt;p&gt;とはいえ、今使っているマシンはMac miniです。OSXでext4は標準的ではありません。&lt;strong&gt;Linuxマシンがあれば話は早い&lt;/strong&gt;のですが、そんなもの…と思って机の端を見ると、&lt;strong&gt;Raspberry Pi&lt;/strong&gt;が転がっています。話が早い。&lt;/p&gt;&#10;&lt;p&gt;というわけで、Raspberry Pi に外付けハードディスクを繋げて、「&lt;a class="link" href="//hack-le.com/45232735-2/" &gt;Ubuntu 15.04 で2TB超え(3TB)のHDをマウントする(CUI) : 或る阿呆の記&lt;/a&gt;」の手順にしたがい ext4 でフォーマットしました。&lt;/p&gt;&#10;&lt;p&gt;フォーマット後、ReadyNASに外付けハードディスクを取り付けて、ブラウザで確認すると…うーん、認識していない。おかしいなぁそれならばと、ReadyNASをおもむろに再起動、ブラウザで再度確認。認識している。よかったよかった。…ひょっとして、わざわざRaspberry Piでフォーマットせずとも、再起動すれば認識くらいはしたのではなかろうか。まぁ、今さら確認する気力もないし、&lt;strong&gt;ext4であれば万事OKなのは間違いない&lt;/strong&gt;のだから、よしとしましょう。&lt;/p&gt;&#10;&lt;h2 id="実用上のraspberry-pi"&gt;実用上のRaspberry Pi&#10;&lt;/h2&gt;&lt;p&gt;今回のケースは微妙な感じではありましたが、&lt;strong&gt;ネイティブのLinuxマシンとして考ると、Raspberry Pi を置いておくのは実用上もけっこういいのかな&lt;/strong&gt;と思ったりしました。ReadyNASも、最初はSSHでrootログインできるDebianマシンだと喜んだものの、いざ触ってみると色々制限があるし、本業のNASが疎かになっても嫌だしで、あまりいじる気にもならなかったので、&lt;strong&gt;省スペースで省エネで、それなりに働いてくれるRaspberry Piは、Linuxの自宅サーバー亡き今案外役に立ってくれそう&lt;/strong&gt;です。&lt;/p&gt;&#10;&lt;p&gt;NASはNASで楽だけれど、遊べるマシンが一台はあると楽しい。&lt;/p&gt;</description></item><item><title>MacBookAir を Chromebook で置き換えられるか</title><link>https://hack-le.com/45041121-2/</link><pubDate>Sun, 09 Aug 2015 01:16:42 +0900</pubDate><guid>https://hack-le.com/45041121-2/</guid><description>&lt;p&gt;別に何か欲しいものがあるわけでもないのですが、なんとなく毎日Amazonのタイムセールのラインナップを見ています。買ったことはないのですけどね。そこでちょくちょく並んでいるのが、Chromebookです。&lt;/p&gt;&#10;&lt;h2 id="実用として現実味を帯びたchromebook"&gt;実用として現実味を帯びたChromebook&#10;&lt;/h2&gt;&lt;p&gt;Google謹製のブラウザしか動かないという尖ったマシン。数年前にその構想を聞いた時はなんて馬鹿なと思いましたが、結局は私に先見の明がなかったということか、それともGoogleが未来をそのようにしたということか、Chromebookは現実的に「使える」マシンとして世に羽ばたいています。私もたいへん興味があって、ページを開いては欲しいなぁと指を咥える日々です。&lt;/p&gt;&#10;&lt;p&gt;考えていくと、かなりの仕事がChromebookでなんとかできてしまうのではないかと思えます。たとえば私はコンソール画面でプログラミングをすることが多いわけですが、ローカルでの環境にこだわらなければ、たとえば自宅の Mac mini にアクセスしてプログラムを作成してもよいわけです。Secure Shellというたいへん便利なWebアプリがあって、時々使っていますが、ほとんど不便なくブラウザから端末の作業ができてしまいます。さすがに周辺機器とシリアル通信を行うのは難しいでしょうが。&lt;/p&gt;&#10;&lt;p&gt;作業自体はよいのですが、問題はファイルの移動でしょうか。それは一筋縄ではいかないかもしれません。たとえば自宅のマシンにリモートで入ってスクリプトを作成し、それを職場の他のマシンに移そうと思えば、一手間、ふた手間かかるのは間違いないでしょう。むむ。そういえば、職場のメールはいまだにAPOPでした。これがまたネックでもあります。&lt;/p&gt;&#10;&lt;p&gt;しかし、それくらいといえばそれくらいです。まとめると、シリアル通信、ファイルの移動、メールということになります。まぁ最後のメールについては本当に頑張ればなんとかならないこともないし、ファイルの移動も試行錯誤するとそれなりに便の良い解にはたどりつけないこともなさそうです。シリアル通信も他のLinuxマシンを用いるなどすれば必須の事項ではない。&lt;/p&gt;&#10;&lt;p&gt;いくつかのハードルはあるが、なんとかなってしまうのでしょうか。うーん。しかしながら、そんなに苦労して、しかも恐らく使い勝手が上がるということもないのに、金と時間をかける必要はあるのか、と思い直し、まぁまだ時期ではないな、と結局そういう結論になります。阿呆ですが、こうして考えることが楽しい。&lt;/p&gt;</description></item><item><title>Mac mini の電気代が安い</title><link>https://hack-le.com/44753647-2/</link><pubDate>Mon, 13 Jul 2015 20:27:35 +0900</pubDate><guid>https://hack-le.com/44753647-2/</guid><description>&lt;p&gt;最近電気絡みのことを色々と調べていたのですが、そういえば自分のPCの電気代はどれくらいなのだろうとふと思いました。昔一人暮らしをしていた頃、PCをつけっぱなしにするかしないかで電気代が1500円くらいは変わったような気がします。&lt;/p&gt;&#10;&lt;h2 id="測定してみよう"&gt;測定してみよう&#10;&lt;/h2&gt;&lt;p&gt;私が今使っているデスクトップはMac mini 2012。魅力の一つに省エネが上がるのがMac miniですから、それなりに安いのではないかと期待しました。&lt;/p&gt;&#10;&lt;iframe width="300" height="150" style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B0089JCIE0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;まぁ計ってみればわかることですから、Amazonでワットチェッカーを1000円ちょっとで購入し、Mac mini 2012に繋ぎ、200時間ほど測りました。すると、2.79 kWh。つまり消費電力15Wにもならない。これには少し驚きました。想像以上の省エネだったのですね。200時間といえば8日強で、これで電気代にして60 - 80円くらいになりましょうか、それならば月の電気代にしても300円ほどではないかと思われます。起動にかかる機材の消耗のほうが激しいのではないかと思わされるほどです。こんなに省エネが進んでいるとは思いませんでした。&#13;&#10;&lt;p&gt;消費電力を観察してみると、だいたい寝かせているときは10W前後で、なにか作業を始めると15-25W程度といったところです。長時間にわたる画像の変換など重い作業をしているときは60Wまで記録しました。&lt;/p&gt;&#10;&lt;p&gt;現在色々あって実家ぐらしなので、電気代については少し気になっていたのですが、さほどでもないということがわかり安心しました。&lt;/p&gt;</description></item><item><title>Mac mini Late 2012 をFusion Drive化するか悩ましい</title><link>https://hack-le.com/44661080-2/</link><pubDate>Mon, 06 Jul 2015 10:42:13 +0900</pubDate><guid>https://hack-le.com/44661080-2/</guid><description>&lt;p&gt;2016/07/24 追記：Fusion Drive化しました→「&lt;a class="link" href="//hack-le.com/46496771-2/" &gt;Fusion Driveの感触…オススメできる人、できない人&lt;/a&gt;」&lt;/p&gt;&#10;&lt;p&gt;最近 Mac mini の容量が少なくなってきたので、なんらかの対処をしようと考えています。256GBのSSD単体です。容量を増やすか、あるいは中身を整理するかです。&lt;/p&gt;&#10;&lt;h2 id="容量を増やす"&gt;容量を増やす&#10;&lt;/h2&gt;&lt;p&gt;容量を増やす場合、選択肢は3つあります。より大きな容量のSSDに置き換えるか、もう一つSSDを加えるか、HDを加えてFusion Drive化するか、です。&lt;/p&gt;&#10;&lt;h3 id="500gbのssd予算2万円ほど"&gt;500GBのSSD…予算2万円ほど&#10;&lt;/h3&gt;&lt;p&gt;より大きな容量のSSDに置き換えるのは、もっともシンプルで実効性が高く、かつ有用な選択肢といえます。パフォーマンスの低下を心配せず、使い勝手にこれまでと変わるところはありません。SSDの値段も期待されていたほどではないとはいえ、少しずつ熟れてきてはいます。2015年7月現在、500GBクラスのSSDは最安のものであれば20000-230000円ほどで購入することができます。二万円切ることも珍しくないようです。予算として安くはないが高くもないといったところです。また、現在入れている256GBのSSDが手元に一つ浮きます。母のノートPCにでもセットしてあげたら、早くなって喜ぶかな…。外付け化するのも一手ですが、まぁ使わないでしょうし。&lt;/p&gt;&#10;&lt;h3 id="ssdの追加予算1万7000円ほど"&gt;SSDの追加…予算1万7000円ほど&#10;&lt;/h3&gt;&lt;p&gt;SSDを追加するのも一手です。この場合ケーブルを購入する必要があります。だいたい5000円ほどでAmazonで売られています…2000円程度の安いものもありますが、サブマシンならともかくメインマシンですから、ここはケチるところではないでしょう。しかしながら、120GBクラスのSSDは今でも10000-14000円ほどかかるので予算としては先の512GBのものと差があまりありません。となれば、物理ディスクが二つになることで使い勝手にも変化があるでしょうし、あまりよい選択肢とは言えないでしょう。&lt;/p&gt;&#10;&lt;p&gt;なお、ケーブルには下段ベイ用と上段ベイ用があります。どうも初期型は下段についているので上段ベイ用のものが必要で、後期型は上段についているので下段ベイ用のものが必要なようです。自分のMac miniがどちらのものであるかは、「ディスクユーティリティ」より接続IDを確認すると、LowerとかUpperとかあるので、それでわかります。私のものは初期型で、Lowerでした。&lt;/p&gt;&#10;&lt;iframe width="300" height="150" style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B00G2T5SVY" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe width="300" height="150" style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B00G2TFL4I" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;&#13;&#10;&lt;h3 id="hdの追加予算5000円ほどサーバー機能追加なら2400円"&gt;HDの追加…予算5000円ほど、サーバー機能追加なら+2400円&#10;&lt;/h3&gt;&lt;p&gt;現在もっとも有望な選択肢であると考えているのが、HDの追加です。HDは元々Mac miniに入っていた1TBのものがあるので、ケーブルのみ購入すればよく、ケーブルは5000円ですから、予算としては比較的安価です。現在1TBのHDはSSDを購入してきたときにキャンペーンでついてきたキットでポータブルHD化していますが、MacBook Airのバックアップ用途くらいにしか使っておりませんので、まぁよいでしょう。MacBook AirのバックアップHDはどうなるのかという問題もありますが、Mac miniにServer機能を追加すれば、TimeMachineサーバーとしてMacBook Airのバックアップも行うことができます。ServerはApp Storeで2400円ですから（円高時代は1700円でしたが）、これを購入したとしても予算は7000円程度でおさまるわけで、他の選択肢と比べるとたいへん安価に済みます。&lt;/p&gt;&#10;&lt;p&gt;しかしながら、パフォーマンスの低下が気がかりです。いかに工夫されたシステムでも、物理的にHDを介在させるわけですから、パフォーマンスの低下は避けられません。ネットで見受けられるFusion Driveの記事は、主にHDからFusion Driveにしたという人が多く、そういった人であれば従来よりもパフォーマンスは上がるわけですから、満足度は非常に高いでしょう。各種ベンチマークは、構成を考えるとあまり意味がありますまい。SSDからFusion Driveに変更し、かつ1年以上運用した人による使用感についてのまとまった記事というのはなかなか見つからず、果たして実際に使ってみてどうなるか。お金をだしてパフォーマンスが下がるというのは、結果によっては後悔することになりそうです。&lt;/p&gt;&#10;&lt;p&gt;でもこれ、面白いですよね。2014年版を見る限り、もはやMac miniにも拡張性は期待できないでしょうから、恐らくは最後の自作的お遊びとして単純にやってみたいという気持ちがあります。&lt;/p&gt;&#10;&lt;h2 id="整理する"&gt;整理する&#10;&lt;/h2&gt;&lt;p&gt;あまり面白いものではありませんが、予算がかからずかつ今すぐできて現実的な方法としては、整理があります。といっても、不要なファイルは既に削除していますから、現実的には、常時繋げている外付けのHDに一部アプリケーションを避難させることになります。&lt;/p&gt;&#10;&lt;h3 id="仮想マシンの避難"&gt;仮想マシンの避難&#10;&lt;/h3&gt;&lt;p&gt;私の構成で現在もっともSSDを逼迫させているのは、仮想マシンです。70GBほど使用しています。これをHDに避難させれば、容量問題については解決ということになります。しかしながら、たまにしか使っていないとはいえ、仮想マシンはできればSSDで動かしたいところです。HDにしたとき、どれくらいパフォーマンスが下がるのか？一度やってみなくてはいけないでしょう。&lt;/p&gt;&#10;&lt;h2 id="気持ちは揺らいでいるがまずは検証か"&gt;気持ちは揺らいでいるがまずは検証か&#10;&lt;/h2&gt;&lt;p&gt;あれこれと書いてきましたが、多分私は単純にFusion Driveにしてみたいのでしょうね。ここしばらくPC関係でほとんど買い物をしていないので、私のオタク心が満たされていません。とはいえ必要のないものに無駄に金を使うのも嫌ですから、まずは仮想マシンを避難させてみて、パフォーマンスがどうなるかの検証ですね。&lt;/p&gt;</description></item><item><title>PCスペック停滞の中で Mac mini 2012 はまだまだ健闘する</title><link>https://hack-le.com/44583131-2/</link><pubDate>Sun, 28 Jun 2015 14:30:36 +0900</pubDate><guid>https://hack-le.com/44583131-2/</guid><description>&lt;p&gt;いつのまにか、しれっとMac miniが値上げされたようです（「&lt;a class="link" href="http://iphone-mania.jp/news-72336/" target="_blank" rel="noopener"&#10; &gt;Apple、Mac miniに最大1.2万円の大幅値上げを敢行！ - iPhone Mania&lt;/a&gt;」）。一ヶ月以上前の出来事なので、いまさらではありますが。&lt;/p&gt;&#10;&lt;p&gt;為替を反映させた結果なので、値上げと言ってしまうのは違うかもしれませんが、ミドル級が税込みで9万円近くですか。なかなかの高価格ですね。吊るしの店頭価格はもう少し安く、8万円ほどのようです。それでも8万円。ふうむ、ですね。なかなか、インパクトがあります。&lt;/p&gt;&#10;&lt;p&gt;Mac mini 2012が発表された時、私は幾分ガッカリな印象を受けたのですが、まったくもって私は阿呆だったなぁと思います。現実には私が2012年におけるもっとも素晴らしい買い物であったと今となっては言うことができます。このマシンを6万円足らずで購入できました。本当に為替の影響は大きい。SSD 256GBを17000円、メモリ16GBを5000円で換装させることもできました。さすがにSSDは当時より多少熟れた価格になっているものの、メモリは当時より高騰して現在12000円ほどかかるようですから、総合的には今よりもローコストで拡張できたことになります。また、入っていた1TBのHDは、購入したSSDにキャンペーンでついてきた内蔵HDのポータブルHD化ケースに入れて、今私の唯一のお手頃サイズポータブルHDとして活躍中です。コンピュータ好きには良い時代でしたね。&lt;/p&gt;&#10;&lt;p&gt;それにしても、昨今のPCスペック停滞を考慮に入れても、まさか2014年の待ちに待ったニューモデルでCPUがデュアルコアになるとは思いませんでした。これは多くのファンをガッカリさせたことでしょう。2012年モデルについての印象を改めた私も、2014年モデルにはやはり軽い失望を覚えましたし、この印象については2015年現在変わっておりません。さらにメモリの半田付けで拡張性も下がっています。元より円安と、そもそもメモリが安くない昨今、自力換装をしてもあまりお得感はないかもしれませんが、これからどんどんこのような方向に進むのかと思うと、かつては自作マシンも組んでいた身としては非常に寂しいですね。&lt;/p&gt;&#10;&lt;p&gt;2015年もPCに大きな変化はなさそうです。少なくとも3年使えたらいいなと思っていたマシンでしたが、それが2015年現在でも最前線とは。仮想マシンなどのために容量が256GBでは心許なくなってきたので、SSDを512GBに入れ替えたいなぁという欲求はありますが、本当にそれくらいです。冗談抜きで本当にあと5年は余裕で使えてしまうのではないかと思わせます。Oculus Rift など、ハイスペックを要求する興味深いハードウェアも出てきているので、ひょっとしたらそういった理由から上位のマシンを購入することはあるかもしれません。Oculus Riftは今のところOSXに対応しておらず、Mac Proでもなければ使えそうにないのです。もっとも、ゲームに最適化されていないAMDのGPUでは厳しいだろうとの記事も見受けましたが（「&lt;a class="link" href="http://www.macworld.com/article/2922722/no-oculus-rift-for-the-mac-but-your-mac-couldnt-handle-it-anyway.html" target="_blank" rel="noopener"&#10; &gt;No Oculus Rift for the Mac, but your Mac couldn’t handle it anyway | Macworld&lt;/a&gt;」）。&lt;/p&gt;&#10;&lt;p&gt;マシンを長く使えることは、環境にももちろんオサイフにも良いことなのですが、なんだか物足りなさを感じてしまうのは、これも性というやつでしょうか。より低消費電力ですし、何をするかによっては新型も悪くないとは思います。旧型はもう3年前のモデル…。&lt;/p&gt;&#10;&lt;iframe width="300" height="150" style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B00OLBDJXO" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe width="300" height="150" style="width: 120px; height: 240px;" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=hackle12-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B009X5EJSC" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;</description></item><item><title>Mac mini 2014が出るなら嬉しい</title><link>https://hack-le.com/40546047-2/</link><pubDate>Sat, 04 Oct 2014 05:01:15 +0900</pubDate><guid>https://hack-le.com/40546047-2/</guid><description>&lt;p&gt;今度こそ噂は本当なのでしょうか？どこそこの国のAppleストアでMac miniが品切れだとか、一瞬だけMac mini 2014の文字が出たとか、そんな話ではなくて、信憑性の高い話なのでしょうか。元ネタは「&lt;a class="link" href="http://www.macrumors.com/2014/09/25/mac-mini-october-update/" target="_blank" rel="noopener"&#10; &gt;New Mac Mini Finally Coming in October Alongside New iPads? - Mac Rumors&lt;/a&gt;」のようですが、どうなんでしょう。OSXの新バージョン、Yosemite公開のタイミングで発表されるというのは、いかにもありそうな話です。&lt;/p&gt;&#10;&lt;h2 id="2012年モデルと大差はないだろうけれど"&gt;2012年モデルと大差はないだろうけれど&#10;&lt;/h2&gt;&lt;p&gt;私は2012年モデルを持っていますから、2014年モデルが出ても買うことはないでしょう。ここ何年かはすっかりPCスペックの進歩も停滞しています。せいぜいCPUがHaswellになって、SSDあるいはフュージョンドライブが標準になるか、メモリが8GBが標準になるか、といったところでしょう。CPUの進化は大したものでもありませんし、グラフィック性能は多少よくなっているかもしれませんがたかがしれています。SSD、メモリは自分で換装できるので、恐らく現行の2012年モデルを持っている人たちは既に換装済みという人が自分含め多いのではないでしょうか。二年前といえば、8GB*2のメモリが5,000円で買えた幸福な時代でした。もう当分あのような値段にはならないでしょう。そういえば、SSDも安くなるなると言われて随分立ちますが、どうもそんな流れでもありません。ドッグイヤーのIT業界も、ことハードウェアについてはいよいよ落ち着いてきたのでしょうか？スマートフォンもここ最近はそんな感じに見えます。よく言えば安定してきたとも言えるでしょう。なんだか寂しいような気もしますが、このほうが楽かもしれません。&lt;/p&gt;&#10;&lt;p&gt;随分と話が逸れてしまいましたが、要は2014年モデルが出たところで、中身は2012年モデルとそんなに変わらないのではないか、ということです。だからこそまったくアップデートされなかったのだろうとも思います。それでもディスコンの噂さえ囁かれるなか、ニューモデルが出るということ自体が一愛好家としては嬉しいというか、安心します。&lt;/p&gt;&#10;&lt;h2 id="まったく違う可能性"&gt;まったく違う可能性&#10;&lt;/h2&gt;&lt;p&gt;ただ、まったく違う形になるという噂もあるようです。たしかに、Mac miniは他のMacマシンやiOS端末のようなニュースバリューがあるマシンではありません。Yosemiteと同時に発表にせよ、現行と同じ形では、少なくとも投資家と呼ばれるような人たちからの受けは悪そうです。しかし形が思い切り刷新されれば、それはニュースバリューがあると言えるでしょう。それでか、Mac Proをそのまま小さくした、まるでドーナツのようなジョーク画像も流布されているようです。それは少し勘弁してほしいですが、もしより小型化が進むのであればそれは歓迎すべきことだと思います。NUCとも対抗できるくらいに、とまではいいませんが。小型化を優先してカスタマイズ性を犠牲にというようなことにはなってほしくないのですけれど、最近の流れを見ていると心配なところです。&lt;/p&gt;</description></item><item><title>Mac miniをTime Machineサーバーにした</title><link>https://hack-le.com/26479988-2/</link><pubDate>Sat, 04 May 2013 18:00:24 +0900</pubDate><guid>https://hack-le.com/26479988-2/</guid><description>&lt;p&gt;2015/12/17：いまさらな追記ですが、実際に運用しだすと、エラーがよく発生したので、結局この機能は使わなくなりました。&lt;/p&gt;&#10;&lt;p&gt;本記事は、Mac miniにOSX サーバーを導入し、Time Machineサーバーにした記録の記事です。追記のように、紆余曲折あって、現在は普通に外付けハードディスクによる運用をしています。&lt;/p&gt;&#10;&lt;h2 id="mac-mini購入して半年"&gt;Mac mini購入して半年&#10;&lt;/h2&gt;&lt;p&gt;Mac mini Late 2012を購入してもうすぐ半年になりましょうか。長らく自作のWin機をメインに使っていましたが、先月くらいからMac miniのほうにシフトしました。自作機はCPUがAMDのA8-3870Kで、これはこれで優秀なCPUですし、グラフィック機能も高いし、さらに元MBAのフラッシュメモリを使用したのでデータのIOもなかなか高速、とまぁマシン自体のバランスがよく、またWindowsにしか対応しないアプリもあり、なかなか移行しきれないところがありました。が、やはりOSXのほうがなにかと便利。Unixの資産も楽に使えるし、メインノートのMBAとの相性もよし。&lt;/p&gt;&#10;&lt;p&gt;というわけで最近ようやくあれこれと環境を整えて、Mac miniをメインのデスクトップマシンとして使うようになりました。現在SSDに換装するかどうかで悩んでいます。Win機もちょこちょこ使ってますけどね。&lt;/p&gt;&#10;&lt;h2 id="mac-mini-をtimemachineサーバーに"&gt;Mac mini をTimeMachineサーバーに&#10;&lt;/h2&gt;&lt;p&gt;とまぁ長い前振りでしたが、今回&lt;strong&gt;Mac miniをTime Machineのサーバーにしました&lt;/strong&gt;。具体的には、Mac miniに外付けハードディスクをとりつけ、そのハードディスクをMBAから無線でアクセスしバックアップを実行できるようにしました。&lt;/p&gt;&#10;&lt;p&gt;やること自体は単純で、OS X Server(1,700円)を購入し、Time Machineサービスを入にして、バックアップの作成先に外付けハードディスクを指定するだけです。つまり&lt;strong&gt;金払っただけ&lt;/strong&gt;です。&lt;/p&gt;&#10;&lt;p&gt;手順としては下記記事を参考にしました。&lt;/p&gt;&#10;&lt;p&gt;（1,700円から始めるお手軽タイムマシンサーバー » I messageな日々 | I messageな日々 &lt;a class="link" href="http://imessage-hibi.com/archives/496" target="_blank" rel="noopener"&#10; &gt;http://imessage-hibi.com/archives/496&lt;/a&gt; ）&lt;/p&gt;&#10;&lt;p&gt;そうすると、他のMacマシンからも指定した外付けハードディスクが見えるようになります。アクセスする際には、OS X Serverで登録しているユーザー名ないしApple IDが使えるのですが、参考記事の人と同様私もApple IDではアクセスできませんでした。いったいなぜ？まぁ別に構わないのですが。&lt;/p&gt;&#10;&lt;p&gt;いずれにせよ、これだけでも1,700円分の価値はあるかと思います。Time Capsule高いんだもの。さらにOS X Serverはなかなか多機能であるようですので、せっかく買ったのだからいろいろ調べて遊んでいきたいと思います。&lt;/p&gt;&#10;&lt;p&gt;やはりMacで揃えるといろいろとやりやすいものです囲い込まれているともいいます。Mac mini、MacbookAir、iPad、iPhone、iPod Classic、Apple TV…。現在家にあるApple製品です。振り返ってみるとひどい。でもiMacもなければマジックマウスもMagic Trackpadもないのがにわかマカーっぽいところです。なんだかんだでMac歴はまだ二年半ほどです。ちなみにiPod Touchももっていましたが、先日友人にあげました。お前も知らない間にマカーになるがいい。もともとはiPodをもってるだけの窓少年だったのに、数年の年月をかけて立派に貢ぐようになりました…。&lt;/p&gt;</description></item></channel></rss>