<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>永久Pending機関</title>
<subtitle>何を書くかは永久にPendingなウェブログ</subtitle>
<link href="https://brainsalad.zapto.org/feed" rel="self" />
<id>https://brainsalad.zapto.org/feed</id>
<updated>2016-07-18T13:29:19+09:00</updated>
<entry>
<title type="html">NEC VersaPro J タイプVRのCPUを換装</title>
<content type="html">&lt;h3&gt;Celeron Mが遅い&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.express.nec.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;NEC&lt;/a&gt; VersaPro J タイプVRの&lt;a href=&quot;https://support.nec-lavie.jp/e-manual/m/nx/vp/200605/html/vj16mrfx.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VJ16M/RF-X&lt;/a&gt;（2006年5月発売）という10年選手のノートPCを&lt;a href=&quot;https://antixlinux.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;antiX&lt;/a&gt; 16 i386（&lt;a href=&quot;https://www.debian.or.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Debian&lt;/a&gt; 8 Jessieベース）というOSで運用している。しかし、搭載しているCPUの&lt;a href=&quot;https://www.intel.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Intel&lt;/a&gt; Celeron M 380がボトルネックと感じる今日このごろ。そこで、このCPUを同じDothanコアのIntel Pentium Mに換装することにした。このPCと同じラインアップのノートPCにはソケット479のマザーボードが採用され、&lt;a href=&quot;http://search.casnavi.nec.co.jp/download/pc/module/sabun/vista/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;BIOSも共通&lt;/a&gt;とのことで、実際このラインナップには以下のとおりDothanコアのPentium Mを搭載している製品もある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://support.nec-lavie.jp/e-manual/m/nx/vp/200605/html/vj20frfx.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VJ20F/RF-X&lt;/a&gt;: Pentium M 760&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.nec-lavie.jp/e-manual/m/nx/vp/200605/html/vj17frfx.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VJ17F/RF-X&lt;/a&gt;: Pentium M 740&lt;/li&gt;
&lt;li&gt;VJ16M/RF-X: Celeron M 380 ← ラインナップ中で最弱の我がPC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;だから換装できるっぽい。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;ラインナップのその他スペック&lt;/h3&gt;
&lt;p&gt;NEC VersaPro J タイプVRのその他の主要スペックは以下のとおり。詳しくは&lt;a href=&quot;https://web.archive.org/web/20070427034916/http://www.express.nec.co.jp:80/products/versapro/spec/vr.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Wayback Machine&lt;/a&gt;参照。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;チップセット: &lt;a href=&quot;https://www.amd.com/ja-jp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AMD&lt;/a&gt; Radeon Xpress 200M&lt;/li&gt;
&lt;li&gt;FSB: 533/400MHz&lt;/li&gt;
&lt;li&gt;GPU: AMD Radeon X300 IGP（IXP450）&lt;/li&gt;
&lt;li&gt;オンボードメモリー: PC2-4200（DDR2-533）256MB&lt;/li&gt;
&lt;li&gt;メモリースロット: PC2-4200（DDR2-533）SO-DIMMスロットx2（最大2GB）&lt;/li&gt;
&lt;li&gt;ビデオRAM: 最大128MBをメインメモリーと共有&lt;/li&gt;
&lt;li&gt;ハードディスク: チップセット内蔵コントローラー, シリアルATA&lt;/li&gt;
&lt;li&gt;オーディオ: チップセット内蔵コントローラー, High Definition Audio準拠&lt;/li&gt;
&lt;li&gt;イーサーネット: &lt;a href=&quot;https://jp.broadcom.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Broadcom&lt;/a&gt; NetLink BCM5789, 1000BASE-T有線LAN&lt;/li&gt;
&lt;li&gt;USB: チップセット内蔵コントローラー, USB2.0 x5&lt;/li&gt;
&lt;li&gt;PCカードスロット: &lt;a href=&quot;https://www.ricoh.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Richo&lt;/a&gt; RL5C476 II, CardBus対応Type I/II x2又はType III x1&lt;/li&gt;
&lt;li&gt;ディスプレイ: 15型TFTカラー液晶, XGA（1024x768）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ちなみに、我がPCはメモリーを最大容量まで積んでいる。&lt;/p&gt;
&lt;h3&gt;VJ16M/RF-Xを分解&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;/content/public/upload/vj16mrf-x_0_o.jpg&quot;&gt;&lt;img src=&quot;http://brainsalad.zapto.org/content/public/upload/vj16mrf-x_0_o.jpg&quot; alt=&quot;NEC VJ16M/RF-X&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ACアダプターを外し、バッテリーパックを外す&lt;/li&gt;
&lt;li&gt;ハードディスクを格納している蓋を開け、そこにあるすべてのネジを外す&lt;/li&gt;
&lt;li&gt;パームレストを外し、キーボードを固定しているすべてのネジを外す&lt;/li&gt;
&lt;li&gt;ヒンジの爪を上げて液晶パネル部と本体部を分離させ、電源ボタンやワンタッチスタートボタンのあるパネルを外す（これをしなくてもキーボードを外せるかも）&lt;/li&gt;
&lt;li&gt;キーボードを外すと金属製のカバーが見えてくるので、このカバーを固定しているすべてのネジを外す&lt;/li&gt;
&lt;li&gt;カバーを外すとCPUを覆うヒートシンクとクーラーが見えてくるので、それらを固定しているすべてのネジを外す&lt;/li&gt;
&lt;li&gt;上の画像の状態になる&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ちなみに、各ネジの長さは微妙に異なることがあるので、どこから外したネジかわかるようにしておく。&lt;/p&gt;
&lt;h3&gt;Celeron Mよさようなら&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;/content/public/upload/intelceleronm380_0_o.jpg&quot;&gt;&lt;img src=&quot;http://brainsalad.zapto.org/content/public/upload/intelceleronm380_0_o.jpg&quot; alt=&quot;Intel Celeron M 380&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;上の画像にあるCPUソケットのマイナスネジを回し、CPUを取り出す&lt;/li&gt;
&lt;li&gt;用意したPentium MをCPUソケットに嵌め、マイナスネジを元に戻す&lt;/li&gt;
&lt;li&gt;ヒートシンクから古いCPUグリスを拭き取る&lt;/li&gt;
&lt;li&gt;Pentium Mに新しいCPUグリスを塗る&lt;/li&gt;
&lt;li&gt;エアーダスターでヒートシンク、クーラー、排気口などを掃除後、すべて組み立て直す&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;CPU換装後の稼働テスト&lt;/h3&gt;
&lt;p&gt;う～ん、ちょっとは速くなったのかも、くらいの体感。まあそんなもんでしょ、ベンチマークを取るまでもない。と言うか、もう一つのボトルネックのGPUがそのままだし。しかしNINTENDO 64、ニンテンドーゲームキューブ、WiiのGPUを開発したあのArtXの系譜のIGPとして愛着があるので、そこは目を瞑ることにした。ちなみに、換装後のCPUもC0ステッピングだったためPhysical address extensions（PAE）やNXビット（XDビット）に対応していたので、OS側で設定等を弄る必要はなかった。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-07-18-01/" />
<id>https://brainsalad.zapto.org/post/2016-07-18-01/</id>
<updated>2016-07-18T13:29:19+09:00</updated>
<category term="コンピューター"/>
</entry>
<entry>
<title type="html">SiSでもwattOS R9 Microwattがイケるっぽい</title>
<content type="html">&lt;h3&gt;未だにWindows XPはいかがなものか&lt;/h3&gt;
&lt;p&gt;2002年8月に発売開始の&lt;a href=&quot;https://www.shuttle.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Shuttle&lt;/a&gt; XPC &lt;a href=&quot;https://www.shuttle.com/english/mcs_detail_info.asp?number=198&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SS51G&lt;/a&gt;というキューブ型ベアボーンPCを未だにWindows XPで運用している変人は、自分くらいのはず。確かに、2014年4月に延長サポートが終了したXPで運用するのはいかがなものか。しかし次のような劣悪なスペックを鑑みるに、XPから後の、よりヘビーなWindowsでの運用は非現実的。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;チップセット: &lt;a href=&quot;https://www.sis.com.tw/Default.aspx&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SiS&lt;/a&gt; 651B, SiS 962L&lt;/li&gt;
&lt;li&gt;CPUソケット: Socket 478&lt;/li&gt;
&lt;li&gt;FSB: 533/400MHz&lt;/li&gt;
&lt;li&gt;CPU: &lt;a href=&quot;https://www.intel.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Intel&lt;/a&gt; Pentium 4 2.26 Northwood SL7V9 (M0)&lt;/li&gt;
&lt;li&gt;GPU: SiS 315 IGP&lt;/li&gt;
&lt;li&gt;メモリースロット: PC2700/2100/1600 (DDR333/266/200) DDR SDRAM x2&lt;/li&gt;
&lt;li&gt;メモリー: PC2700 (DDR333) 1GB+512MB=1.5GB&lt;/li&gt;
&lt;li&gt;オーディオチップ: &lt;a href=&quot;https://www.realtek.com.tw/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Realtek&lt;/a&gt; ALC650 AC&#039;97 2.2 5.1ch&lt;/li&gt;
&lt;li&gt;イーサーネットチップ: Realtek RTL8100B 10/100M&lt;/li&gt;
&lt;li&gt;空きスロット: AGP 2.0 x1, PCI 2.3 x1&lt;/li&gt;
&lt;li&gt;主な外部接続: Firewire IEEE1394a (&lt;a href=&quot;https://www.via.com.tw/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VIA&lt;/a&gt; VT6306) x2, USB 2.0 x2&lt;/li&gt;
&lt;li&gt;電源ユニット: 200W&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Prescottすら載らないし、デュアルチャンネルメモリーですらない。そこで、XPの延長サポート終了を機に、軽量Linuxディストリビューションへ乗り換える方向で検討してきた。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;何故wattOS R9 Microwattなのか&lt;/h3&gt;
&lt;p&gt;次のような特徴から、1年ほど前に白羽の矢を立てたのが2015年5月リリースの&lt;a href=&quot;https://www.planetwatt.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;wattOS&lt;/a&gt; R9 Microwattエディション。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;USA産で、2014年4月リリースの&lt;a href=&quot;https://jp.ubuntu.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ubuntu&lt;/a&gt; 14.04 LTS Trustyがベース&lt;/li&gt;
&lt;li&gt;i386なハードウェアにも対応&lt;/li&gt;
&lt;li&gt;Microwattエディションでは&lt;a href=&quot;https://i3wm.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;i3 window manager&lt;/a&gt;という軽量なタイル型ウィンドウマネージャーを採用&lt;/li&gt;
&lt;li&gt;ロングタームなライフサイクルで、かつ、ローリングリリースのためアップグレードに気を取られない&lt;/li&gt;
&lt;li&gt;Ubuntuでは公式及び&lt;a href=&quot;https://launchpad.net/ubuntu/+ppas&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PPA&lt;/a&gt;に大量のパッケージが存在&lt;/li&gt;
&lt;li&gt;でも日本語化は自分でしよう！&lt;/li&gt;
&lt;li&gt;Ubuntuは経験済だがタイル型ウィンドウマネージャーは未経験で、学習コストが読めない&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;対して、次点とした&lt;a href=&quot;https://www.mageia.org/ja/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mageia&lt;/a&gt; 5の特徴は次のとおり。当初はこれにしようかと思っていた。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;フランス産の独立系Linuxから2014年6月リリース&lt;/li&gt;
&lt;li&gt;i586なハードウェアにも対応&lt;/li&gt;
&lt;li&gt;カスタムインストールが可能で、Xの最小構成を選択すれば、自動的に&lt;a href=&quot;https://ice-wm.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;IceWM&lt;/a&gt;という軽量なスタック型ウィンドウマネージャーで環境構築&lt;/li&gt;
&lt;li&gt;ライフサイクルは相対的に短めで、かつ、非ローリングリリース&lt;/li&gt;
&lt;li&gt;パッケージ数は非公式も含めて相対的に少なめだが、何故か音楽制作系のパッケージはそこそこ充実&lt;/li&gt;
&lt;li&gt;日本語化はちょこっとだけだから自分でしよう！&lt;/li&gt;
&lt;li&gt;フォーク元の旧Mandriva LinuxでIceWMを経験済で、学習コストが低そう&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;一般的なLinuxは、決して軽量ではない。Linuxでは、概して機能やルック&amp;amp;フィールとのトレードオフで、デスクトップ環境や様々な基本的サービスの削除、あるいは軽量なものへの代替が可能に過ぎない。何だったらカーネルでさえ差し替えられる。これらはWindowsでは不可能なことだから、軽量Linuxが存在する。&lt;/p&gt;
&lt;p&gt;しかし、&lt;a href=&quot;https://www.x.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X.Org&lt;/a&gt;のSiSグラフィックスドライバーである&lt;a href=&quot;https://cgit.freedesktop.org/xorg/driver/xf86-video-sis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;xf86-video-sis&lt;/code&gt;&lt;/a&gt;（Ubuntuパッケージは&lt;a href=&quot;https://launchpad.net/ubuntu/+source/xserver-xorg-video-sis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;xserver-xorg-video-sis&lt;/code&gt;&lt;/a&gt;）にクリティカルなバグがあるらしく、乗換えを見送っていた。&lt;/p&gt;
&lt;h3&gt;X.OrgのSiSグラフィックスドライバーにバグ&lt;/h3&gt;
&lt;p&gt;2012年10月リリースのUbuntu 12.10 Quantalでバグが発覚。具体的には、X.Org Serverの新しいバージョンから、2DアクセラレーションのAPIの一つであるXAAが廃止された。SiSのGPUとしては、だったらEXAという別のAPIを利用したい。しかし、X.OrgのSiSグラフィックスドライバーが適切にEXAに対応していなかった模様（詳しくは&lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-sis/+bug/1066464&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bug &lt;tt&gt;#1066464&lt;/tt&gt;&lt;/a&gt;参照）。&lt;/p&gt;
&lt;p&gt;これはUbuntu 12.10以降のバージョン、つまり14.04にも当てはまった。ただ、&lt;code&gt;xorg.conf&lt;/code&gt;で次のように2Dアクセラレーションを切れば、バグを回避可能。しかしこの場合、ただでさえ非力な我がSiS 315の描画性能が目も当てられない。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;Section &quot;Device&quot;
    Identifier &quot;Configured Video Device&quot;
    Option &quot;NoAccel&quot; &quot;true&quot;
EndSection&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;また、X.orgの&lt;a href=&quot;https://cgit.freedesktop.org/xorg/driver/xf86-video-vesa/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;xf86-video-vesa&lt;/code&gt;&lt;/a&gt;（Ubuntuパッケージは&lt;a href=&quot;https://launchpad.net/ubuntu/+source/xserver-xorg-video-vesa&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;xserver-xorg-video-vesa&lt;/code&gt;&lt;/a&gt;）という汎用グラフィックスドライバーで代替する方法もある。しかしこの場合、10年物の我がVA液晶モニターのWXGA 15:9（1280x768）へドットバイドットで表示できず、ぼやけたりにじんだりする模様（上手くいったとの報告もあるが、VESAにそんなグラフィックスモードあった？）。それに、前段同様、2Dアクセラレーションも効かないはず。&lt;/p&gt;
&lt;p&gt;これらの理由で乗換えを見送っていた。ユーザーの多いUbuntuでダメだったら、他のディストリビューションでも絶望的だし。&lt;/p&gt;
&lt;h3&gt;知らぬ間にバグがフィックス&lt;/h3&gt;
&lt;p&gt;ところが、X.Orgは2015年8月にこのバグをフィックス（解消）させていた。次のような簡素なコメントを添えて。&lt;/p&gt;
&lt;blockquote cite=&quot;https://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=e834b2cdaedccff5e13cef86af23e46992c2530a&quot;&gt;&lt;a href=&quot;https://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=e834b2cdaedccff5e13cef86af23e46992c2530a&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Remove upload / download EXA hooks&lt;/a&gt;&lt;br&gt;&lt;br&gt;Support based on something other than libc memcpy was never added, so these functions did not improve upon software fallback at all.&lt;/blockquote&gt;
&lt;p&gt;先月このブログで記事を書きながら気付いた。見逃していたのではなく諦めていた。AGPの空きスロットへ挿すべく、&lt;a href=&quot;https://www.nvidia.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;nVIDIA&lt;/a&gt; GeForce FX 5500のファンレスな激安グラフィックボードをゲットしていたほどに。ただ、試しに挿すと電力不足のためか、冷却不足のためか（いずれも弱いことで知られているPC）、はたまた別の問題でか長時間運用時にまれにOSが落ちたため、できれば挿したくなかった。&lt;/p&gt;
&lt;p&gt;でも、これで挿さずともwattOS R9 Microwattをインストールできるようになった模様。ところで何故にこのPCを廃棄しないかというと、そんなのSiSお嬢さんだからに決まっているじゃないか！&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-07-17-01/" />
<id>https://brainsalad.zapto.org/post/2016-07-17-01/</id>
<updated>2016-07-17T14:45:51+09:00</updated>
<category term="コンピューター"/>
</entry>
<entry>
<title type="html">EPSON NJ2150のOSをアップグレード</title>
<content type="html">&lt;h3&gt;Windows Vistaから7へアップグレード&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://shop.epson.jp/pc/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;EPSON&lt;/a&gt; Endeavor NJ2150（詳細は&lt;a href=&quot;https://shop.epson.jp/eshop/pdf/data/nj2150.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PDF&lt;/a&gt;）という我がノートPCは、2008年11月に発売が開始され、7年以上が経過したPC。OSはWindows Vista Ulutimate 32ビット。しかし、Vistaのメインストリームサポートは確かに2012年4月10日に終了したが、延長サポートが終了する2017年4月11日まで日はあるのに、&lt;a href=&quot;https://www.google.com/intl/ja_jp/chrome/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Google Chrome&lt;/a&gt;をはじめ今やデファクトスタンダードと化した&lt;a href=&quot;https://www.chromium.org/Home/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Chromium&lt;/a&gt;系ウェブブラウザーが利用できなくなった。他のソフトも追随気味。だからWindows 7 Professional 64ビットにアップグレードすることにした。Windows 10のご時世に、メインストリームサポートが2015年1月14日に終了したWindows 7を選択するのには理由がある。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;メモリー不足で更にストレージをSSDへ換装&lt;/h3&gt;
&lt;p&gt;このノートPCが積めるメモリーの上限はDDR2-667（PC2-5300）の2GBx2スロットの計4GBで、既に上限まで積んでいる。しかし、Windows 8以降で4GBではやや苦しいからだ。詰んでいる。Windows 7ですらメモリーが4GBでは苦しいかも知れない。だから、メモリーがスワップした場合でも可能な限り速度を低下させないため、ストレージをHDDからSSDへ換装した。&lt;/p&gt;
&lt;p&gt;また、Bluetooth接続のために、併せて内蔵Wi-Fiを&lt;a href=&quot;https://www.intel.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Intel&lt;/a&gt; Wireless WiFi Link 4965AGN（詳細は&lt;a href=&quot;https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/next-gen-wireless-n-brief.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PDF&lt;/a&gt;）からBluetoothと一体型のものに換装しようとしたが、PCIe Mini Cardにソソる製品がなくて見送った。なお、その他のスペックは、CPUがIntel Core 2 Duo P8600で、 TFT液晶画面のサイズが15.4型WXGA（1280x800）。&lt;/p&gt;
&lt;h3&gt;Windows 7をクリーンインストール&lt;/h3&gt;
&lt;p&gt;苦労してプロダクトキー付きインストールメディアを入手し、換装したSSDへクリーンインストール。Windows 7が起動したら、念のためオンライン認証用に、インターネットオプションの詳細設定のタブでSSLのチェックボックスをすべて外し、TLSのチェックボックスをすべて入れた。次に、コマンドプロンプトを管理者として実行し、プロダクトキーを適用した（&lt;code&gt;rem&lt;/code&gt;から始まる行はコメントなので不要）。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;rem プロダクトキーをクリーンアップ
slmgr /upk
rem 新しいプロダクトキーを適用
slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
rem ここで初めてインターネットへ接続
slmgr /ato
rem プロダクトキーがオンラインで認証&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;しかしここでよく見たら、入手したメディアがService Pack 1（SP1）ではないことに気付いた。がっかり。しかも、デバイスドライバーのいくつかがまともに当たっていない。Microsoft Updateよりも何よりもまずこれらを当てて、SP1をインストールしなければ。&lt;/p&gt;
&lt;h3&gt;SIS Mirage 3+のグラフィックスドライバー&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sis.com.tw/default.aspx&quot;&gt;SiS&lt;/a&gt;お嬢さんには一番苦労した。NJ2510のチップセットはSiS M672FXという聞いたことのないもので、その統合グラフィックス（IGP）はMirage 3+という激レアなもの。IGPのベンダーIDは&lt;code&gt;1039&lt;/code&gt;で、デバイスIDは&lt;code&gt;6351&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;まずは&lt;a href=&quot;https://www.mozilla.org/ja/firefox/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mozilla Firefox&lt;/a&gt;をインストール。次にMozilla Firefoxから&lt;a href=&quot;https://www.catalog.update.microsoft.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Microsoft Updateカタログ&lt;/a&gt;（MUC）で&lt;q&gt;&lt;a href=&quot;https://www.catalog.update.microsoft.com/Search.aspx?q=SiS%20Mirage%203%2B%20Driver&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SiS Mirage 3+ Driver&lt;/a&gt;&lt;/q&gt;を検索し、ヒットした&lt;q&gt;Silicon Integrated Systems Corp. - Display - SiS Mirage 3 Graphics&lt;/q&gt;というAMD64用のグラフィックスドライバーをダウンロード。これを解凍し、&lt;q&gt;ドライバーの更新&lt;/q&gt;で適用したところ、動作がやや不安定になり、ほどなく画面が固まった。失敗。この問題の解消方法には2種類ある模様。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;SiSの公式サイトで配布している&lt;q&gt;&lt;a href=&quot;https://w3.sis.com/download/agreement.php?id=155931&amp;amp;url=download_step1.php?id=155931&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SiS UniVGA3 Graphics Driver&lt;/a&gt;&lt;/q&gt;（R529_Logo.zip）をインストール&lt;/li&gt;
&lt;li&gt;エプソンの公式サイトで配布している&lt;a href=&quot;https://faq2.epsondirect.co.jp/qa/Detail.aspx?id=022110&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;NJ2150又はNP12用ビデオドライバー&lt;/a&gt;をインストール&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;MUCのドライバーを含め、3つとも中身をデバイスIDの&lt;code&gt;6351&lt;/code&gt;でgrepすると、セットアップ情報ファイル（拡張子.INF）等がヒット。バージョンは&lt;code&gt;7.14.10.5290&lt;/code&gt;で同じ。各DLL・INF・CATファイルのタイムスタンプは微妙に異なるが、ハッシュ値は同じ。違いはMUCのドライバーだけにインストーラがない、つまりSiS VGA Utilitiesがインストールされないこと。とりあえず1.の方法を選択したが、現時点で画面が固まる問題は生じていない。&lt;/p&gt;
&lt;p&gt;なお、当初はOSをLinuxへ変更することも考えたが、Linuxでは&lt;a href=&quot;https://www.x.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X.Org&lt;/a&gt;向けSiS用グラフィックスドライバーの出来がイマイチで、IGPがその性能を十分に発揮できない。ただでさえ華奢なSiSお嬢さんの性能にもかかわらず、だ。Linuxへの変更をシミュレートしたとき、2020年1月15日（Windows 7の延長サポート終了日）までこの激レアなIGPを引っ張っていく道程が見えなかったため諦めた。ただ、今確認したらX.Orgの&lt;a href=&quot;https://cgit.freedesktop.org/xorg/driver/xf86-video-sis&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;xf86-video-sis&lt;/code&gt;&lt;/a&gt;のリポジトリーでは、ビルドしてみないと何とも言えないが、メンテナンスが継続している模様。&lt;/p&gt;
&lt;h3&gt;リコーのメモリーカードコントローラーのデバイスドライバー&lt;/h3&gt;
&lt;p&gt;&lt;q&gt;不明なデバイス&lt;/q&gt;が2つあるが、一つはベンダーIDが&lt;code&gt;1180&lt;/code&gt;でデバイスIDが&lt;code&gt;0592&lt;/code&gt;で、もう一つはベンダーIDが&lt;code&gt;1180&lt;/code&gt;でデバイスIDが&lt;code&gt;0843&lt;/code&gt;。前者が&lt;a href=&quot;https://www.ricoh.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ricoh&lt;/a&gt; Memory Stick Host Controllerで、後者がRicoh SD/MMC Host Controllerというメモリーカードコントローラーの模様。これらにデバイスドライバーを当てるのは簡単。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;MUCで&lt;q&gt;&lt;a href=&quot;https://www.catalog.update.microsoft.com/Search.aspx?q=Ricoh%20Memory%20Stick%20Host%20Controller&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ricoh Memory Stick Host Controller&lt;/a&gt;&lt;/q&gt;を検索し、ヒットした&lt;q&gt;Ricoh Company - Storage - Ricoh Memory Stick Host Controller&lt;/q&gt;というWindows 7以降用のCAB形式のファイルをダウンロード&lt;/li&gt;
&lt;li&gt;続けて&lt;q&gt;&lt;a href=&quot;https://www.catalog.update.microsoft.com/Search.aspx?q=Ricoh%20SD%2FMMC%20Host%20Controller&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ricoh SD/MMC Host Controller&lt;/a&gt;&lt;/q&gt;を検索し、ヒットした&lt;q&gt;Ricoh Company - Storage - Ricoh SD/MMC Host Controller&lt;/q&gt;というWindows 7以降用のCAB形式のファイルをダウンロード&lt;/li&gt;
&lt;li&gt;任意の場所に&lt;code&gt;Ricoh&lt;/code&gt;というフォルダーを作成し、更にその中に&lt;code&gt;1&lt;/code&gt;及び&lt;code&gt;2&lt;/code&gt;のフォルダーを作成&lt;/li&gt;
&lt;li&gt;3.の&lt;code&gt;1&lt;/code&gt;のフォルダーには1.のCAB形式のファイルを解凍&lt;/li&gt;
&lt;li&gt;3.の&lt;code&gt;2&lt;/code&gt;のフォルダーには2.のCAB形式のファイルを解凍&lt;/li&gt;
&lt;li&gt;デバイスマネージャーで&lt;q&gt;不明なデバイス&lt;/q&gt;をダブルクリック、表示されたプロパティ画面の&lt;q&gt;ドライバー&lt;/q&gt;タブで&lt;q&gt;ドライバーの更新&lt;/q&gt;をクリックし、&lt;q&gt;コンピューターを参照してドライバーを検索&lt;/q&gt;で3.の&lt;code&gt;Ricoh&lt;/code&gt;フォルダーを指定すれば、自動的に最適なデバイスドライバーが適用&lt;/li&gt;
&lt;li&gt;もう一つの&lt;q&gt;不明なデバイス&lt;/q&gt;にも6.を実行&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;事前に3.の&lt;code&gt;Ricoh&lt;/code&gt;フォルダーをデバイスIDの&lt;code&gt;0592&lt;/code&gt;及び&lt;code&gt;0843&lt;/code&gt;で&lt;code&gt;grep&lt;/code&gt;すると、セットアップ情報ファイル等がヒットすることを確認済。ただし、適用後にテストしていないからホントに当たっているかは不明。&lt;/p&gt;
&lt;h3&gt;Realtekのオーディオドライバー&lt;/h3&gt;
&lt;p&gt;セットアップでオーディオドライバー（サウンドドライバー）は当たっているのだが、デフォルトフォーマットのビット深度・サンプリングレートの上限が16ビット・44100Mhzのトンデモ仕様。ベンダーIDは&lt;code&gt;10EC&lt;/code&gt;でデバイスIDは&lt;code&gt;0660&lt;/code&gt;。&lt;a href=&quot;https://www.realtek.com.tw/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Realtek&lt;/a&gt; ALC660というオーディオコントローラーの模様。蟹のオーディオドライバーを更新するのは簡単。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;MUCで&lt;q&gt;&lt;a href=&quot;https://www.catalog.update.microsoft.com/Search.aspx?q=Realtek+High+Definition+Audio&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Realtek High Definition Audio&lt;/a&gt;&lt;/q&gt;を検索し、ヒットした&lt;q&gt;Realtek Semiconductor Corp. - Audio Device, Other hardware - Realtek High Definition Audio&lt;/q&gt;というWindows 7用でAMD64用のCAB形式のファイルをダウンロード&lt;/li&gt;
&lt;li&gt;任意の場所に&lt;code&gt;Realtek&lt;/code&gt;というフォルダーを作成&lt;/li&gt;
&lt;li&gt;2.のフォルダーに1.のCAB形式のファイルを解凍&lt;/li&gt;
&lt;li&gt;デバイスマネージャーで&lt;q&gt;Realtek High Definition Audio&lt;/q&gt;をダブルクリック、表示されなプロパティ画面の&lt;q&gt;ドライバー&lt;/q&gt;タブで&lt;q&gt;ドライバーの更新&lt;/q&gt;をクリックし、&lt;q&gt;コンピューターを参照してドライバーを検索&lt;/q&gt;で3.のフォルダーを指定すれば、自動的に最適なデバイスドライバーが適用&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;事前に2.の&lt;code&gt;Realtek&lt;/code&gt;フォルダーをデバイスIDの&lt;code&gt;0660&lt;/code&gt;で&lt;code&gt;grep&lt;/code&gt;すると、セットアップ情報ファイル等がヒットすることを確認済。これでデフォルトフォーマットに24ビット・48000Mhzを選択できるようになった。後述のSP1適用後のMicrosoft Update終了時に&lt;a href=&quot;https://asio4all.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ASIO4ALL&lt;/a&gt;と&lt;a href=&quot;https://www.tracktion.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Tracktion&lt;/a&gt; 4 Free、&lt;a href=&quot;https://www.presonus.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PreSonus&lt;/a&gt; Studio One 3 Primeでテストしたが、DSP値が持続的に跳ね上がり、ノイズが乗った。現時点で再現性がないため原因不明。&lt;/p&gt;
&lt;h3&gt;Windows 7 Service Pack 1の適用&lt;/h3&gt;
&lt;p&gt;これでようやくSP1が適用できる。MUCで&lt;a href=&quot;https://www.catalog.update.microsoft.com/Search.aspx?q=Windows%207%20Service%20Pack%201&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;q&gt;Windows 7 Service Pack 1&lt;/q&gt;&lt;/a&gt;を検索し、ヒットした&lt;q&gt;x64 ベース システム用 Windows 7 Service Pack 1 (KB976932)&lt;/q&gt;をダウンロードしてインストールするだけ。実はもう一つ当たっていないデバイスドライバーがあり、解決できなかったのだが、SP1にしたらこの問題は解消されていた。グラフィックスドライバーを除く前述のデバイスドライバーのいくつかも、もしかしたらSP1の適用で問題が解消されるのかも知れない。&lt;/p&gt;
&lt;h3&gt;Windws Vistaを振り返る&lt;/h3&gt;
&lt;p&gt;描画処理の性能だけ見れば、SiS Mirage 3+は決して優れたIGPではない（だがそれがいい）。にもかかわらず、それなりに動作していたWindows Vistaはホント過小評価されていると思う。びすたんは確かに出だしでやや躓いたが、その後すくすくと成長した。だからまったく不満はなく、その前のWindows XPよりむしろ気に入っていた。でもVistaから変更せざるを得なくなり、ちょこっと寂しい。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-06-26-01/" />
<id>https://brainsalad.zapto.org/post/2016-06-26-01/</id>
<updated>2016-06-26T23:47:10+09:00</updated>
<category term="コンピューター"/>
</entry>
<entry>
<title type="html">なぜブログで情報発信するのか</title>
<content type="html">&lt;h3&gt;Twitterを退会した&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/home?lang=ja&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Twitter&lt;/a&gt;では情報が玉石混交過ぎてウザいと感じてしまう。例えば、玉ではなく石寄りの情報をまことしやかに拡散されると困ってしまう。しかも拡散する人はそれを正義だと思い込んでいるからウンザリする。かと言ってそれにツッコんだ場合、奇異な正義を振りかざして更に声高になる危険性すらある。しかも拡散していた石寄りの情報が悲劇を招いたとしても、自分の振舞いは棚に上げ、今度はその悲劇をダシに別のトコへ奇異な正義を振りかざし始める。石が石を呼び、石が石を生む。ホント度し難いスパイラル。だから知り合いとのDMのためだけに使っていた。しかしDMはTwitter固有の機能ではないので、6年くらい入会していたが、ついに退会した。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;Instagramを退会させられた&lt;/h3&gt;
&lt;p&gt;写真・動画を共有するほど撮る習慣がないから、発信のしようがない。よしんば撮ったとしても、他人とか写り込んでいるときに肖像権のからみで編集するが、そのデメリットやリスクを考えると積極的になれない。だから&lt;a href=&quot;https://www.instagram.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Instagram&lt;/a&gt;ではROM専状態だった。過去形なのは、アップロードはほとんどしていない、コメントはほとんど書き込んでいないのに垢BANされたから。いろいろやったが垢は復活しなかった。むしろそういう使い方だと垢BANされるのが情報発信・公開型SNSなのか。&lt;/p&gt;
&lt;h3&gt;Facebookは知り合いとのつながり用&lt;/h3&gt;
&lt;p&gt;Instagramは垢BANされたが、ほぼ同様の状態の&lt;a href=&quot;https://www.facebook.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Facebook&lt;/a&gt;は垢BANされていない。でも実名での発信で知り合いにすぐ見つかるのはちょっと、という情報もある。だから知り合いへの告知やメッセンジャーのためだけに使っている。&lt;/p&gt;
&lt;h3&gt;だからブログが一番いい&lt;/h3&gt;
&lt;p&gt;知り合いにすぐ見つからず、誰に読ませるでもなく、書きたいときに書いて、後で備忘録的に読み直せるブログが精神的に一番楽。それにウェブサービスとしてのブログを除き、原因不明の垢BANをされる心配もない。もちろん誰に読まれても問題にならないような配慮は必要。&lt;/p&gt;
&lt;h3&gt;情報発信で心掛けること&lt;/h3&gt;
&lt;p&gt;今はインターネットでググれば簡単に情報にたどり着く。しかしこの行為で得られるものは、単なる知識の場合が多い。社会で必要とされているのはその知識をどう活かすか、どう実践するか、つまりは知恵。ググって知識を得て、それを披露しても、デキるような雰囲気は出せるだろうが、実践が伴っていなければ、己でもって実現可能でなければ社会的にはあまり役に立たない。だから誰かが読む可能性がある限り、なるべく実践で得た知恵を発信するよう心掛けたい。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-06-25-01/" />
<id>https://brainsalad.zapto.org/post/2016-06-25-01/</id>
<updated>2016-06-25T14:03:37+09:00</updated>
<category term="インターネット"/>
</entry>
<entry>
<title type="html">静的サイトジェネレーターを試してみた</title>
<content type="html">&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/mkdocs/mkdocs/refs/heads/master/docs/img/mkdocs_theme_dark_mode.png&quot; alt=&quot;MkDocs&quot;&gt;&lt;/p&gt;
&lt;h3&gt;静的サイトジェネレーターの長所&lt;/h3&gt;
&lt;p&gt;前にサーバーを引っ越してから、CMSを静的サイトジェネレーター（SSG）に替えてれば引っ越すの簡単だったんじゃね？と思えてきた。ローカルにファイルが残るから引っ越すとなったらデプロイ先を変えるだけだし、仮にコメント機能を付けたくなったら&lt;a href=&quot;https://disqus.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Disqus&lt;/a&gt;等で遜色なくできるし。ローカルが吹っ飛んだらアウトだけど、&lt;a href=&quot;https://winscp.net/eng/docs/lang:jp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;WinSCP&lt;/a&gt;かLinuxのファイルマネージャーを使ってWebDAVで&lt;a href=&quot;https://www.box.com/ja-jp/home&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Box&lt;/a&gt;というクラウドストレージへバックアップしておけばいいし。という長所を踏まえつつ、次のとおりSSGの要件定義から始めてみた。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;SSGの要件を定義してみた&lt;/h3&gt;
&lt;p&gt;要件をいろいろ考えた結果、シンプルで簡単そうなSSGが合ってると思った。なお「シンプルで簡単」とは具体的には以下のイメージ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Linux若しくはWindows上の&lt;a href=&quot;https://www.msys2.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MSYS2&lt;/a&gt;又は&lt;a href=&quot;https://ja.osdn.net/projects/mingw/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MinGW&lt;/a&gt;（と&lt;a href=&quot;https://gitforwindows.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Git for Windows&lt;/a&gt;）でサクッとインストールできる。&lt;/li&gt;
&lt;li&gt;クロスプラットフォームで、運用するPCなど環境をコロコロ変えても持続可能である。例えば&lt;a href=&quot;https://www.perl.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Perl&lt;/a&gt;、&lt;a href=&quot;https://www.php.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PHP&lt;/a&gt;、&lt;a href=&quot;https://www.python.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Python&lt;/a&gt;、&lt;a href=&quot;https://www.ruby-lang.org/ja/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ruby&lt;/a&gt;、&lt;a href=&quot;https://www.lua.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lua&lt;/a&gt;、&lt;a href=&quot;https://www.gnu.org/software/bash/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bash&lt;/a&gt;あたりに依存するアプリとか。&lt;/li&gt;
&lt;li&gt;ミニマムなこと。パワフルな機能、豊富なプラグイン、行き届いた管理画面などは要らない。&lt;/li&gt;
&lt;li&gt;スクリプトに手を加えたり、新たなスクリプトを書くことが前提でない。&lt;/li&gt;
&lt;li&gt;フラットファイルからHTMLを生成し、そのファイルもマークダウンなどわかりやすい記法で書ける。&lt;/li&gt;
&lt;li&gt;デフォルトのテンプレートがそこそこ整っている。一からテンプレートを書く気はない。かと言って重たいテンプレートは嫌だ。&lt;/li&gt;
&lt;li&gt;ウェブページ間のリンクを自動生成してくれる。&lt;/li&gt;
&lt;li&gt;フィードかサイトマップファイルを自動生成してくれる。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;mysite.pyが凄くイイと思う&lt;/h3&gt;
&lt;p&gt;そうして、以下の順番で8種類のSSGをサクッと試してみた。時間が惜しかったので、しっかり確認しておらず、また、PerlやRubyまで至らなかった。&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a href=&quot;https://github.com/nuex/zodiac&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;zodiac&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;AWK製で、&lt;code&gt;git clone&lt;/code&gt;からインストール。デフォルトのテンプレートがショボく、それをカスタマイズするのが楽じゃなさそうだから候補外。&lt;/dd&gt;
&lt;dt&gt;&lt;a href=&quot;https://github.com/hmngwy/jenny&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Jenny&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Bash（一部AWK）製で、&lt;code&gt;git clone&lt;/code&gt;からインストール。フィードかサイトマップを自動生成してくれなさそうだったから候補外。そのためのスクリプトくらい自分で書けってことなんだろうな。&lt;/dd&gt;
&lt;dt&gt;&lt;a href=&quot;https://luapress.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Luapress&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Lua製。MSYS2上で&lt;a href=&quot;https://luarocks.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LuaRocks&lt;/a&gt;からインストールしようとしたところ、&lt;a href=&quot;https://www.pell.portland.or.us/~orc/Code/discount/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Discount&lt;/a&gt;（マークダウンのライブラリー）のdevelファイルを用意しなければならず、サクッとしてないから候補外。&lt;/dd&gt;
&lt;dt&gt;&lt;a href=&quot;https://carew.github.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Carew&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;PHP製で、&lt;a href=&quot;https://getcomposer.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Composer&lt;/a&gt;からインストール。デフォルトのテンプレートが一部粗雑で、それに手を加えるのが楽じゃなさそうだから候補外。&lt;/dd&gt;
&lt;dt&gt;&lt;a href=&quot;https://sculpin.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Sculpin&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;PHP製で、Composerからインストール。凄くイイ。でもPHPってバージョンアップで動かなくなったりすることがあるっぽいから、Python製でも試しとくか。&lt;/dd&gt;
&lt;dt&gt;&lt;a href=&quot;https://www.mkdocs.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MkDocs&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;冒頭の画像。Python製で、&lt;a href=&quot;https://pip.pypa.io/en/stable/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;pip&lt;/a&gt;からインストール。ミニマムでなく本格的過ぎるので候補外。&lt;/dd&gt;
&lt;dt&gt;&lt;a href=&quot;https://pyblosxom.github.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PyBlosxom&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Python製で、pipからインストール。元ファイルの更新日からウェブページの更新日を取得するので、誤字脱字を修正するたびに&lt;code&gt;touch&lt;/code&gt;コマンドで更新日を直さなければならないのが面倒そうなので候補外。&lt;/dd&gt;
&lt;dt&gt;&lt;a href=&quot;https://github.com/sunainapai/makesite&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;makesite.py&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Python製で、&lt;code&gt;git clone&lt;/code&gt;からインストール。なんだこれじゃん！&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3&gt;クラウドストレージの弱点&lt;/h3&gt;
&lt;p&gt;あとはBoxにバックアップする環境を整えればOK。しかし過去、WebDAVで4sharedにいろんなファイルを放り込んでいてトラブル発生。ちょこっとログインしなかったらだと思うが、アカウントが消され、ファイルも消された。ローカル側で削除してしまって4sharedにしかなかった重要なファイルがあったことに後で気付き、呆然とした。クラウドストレージの選定は慎重に。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-05-08-01/" />
<id>https://brainsalad.zapto.org/post/2016-05-08-01/</id>
<updated>2016-05-08T11:02:14+09:00</updated>
<category term="インターネット"/>
</entry>
<entry>
<title type="html">Windowsの游書体とウェブデザイン</title>
<content type="html">&lt;h3&gt;Windowsの游書体はタブレット向き？&lt;/h3&gt;
&lt;p&gt;OSはWindowsでのお話。デスクトップPCで&lt;a href=&quot;https://www.microsoft.com/ja-jp/download/details.aspx?id=49116&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Windowsの游書体&lt;/a&gt;を適用したとき、外付け液晶モニター上では「デザインは優れてるけどちょこっと細いなぁ」というのが第一印象だった。しかし、2in1タブレットPCで適用したとき、ディスプレイ上では「めちゃめちゃ見やすいなぁ」と印象が変わった。特にウェブブラウザーでのサンセリフ体のYu Gothic UI。Windowsの游書体は、タブレットのような画素ピッチの狭いディスプレイでの表示を考慮されて最適化されてるのか？とまで思った。イマドキだなぁ。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;画素とは&lt;/h3&gt;
&lt;p&gt;ちなみに画素（ピクセル）とは、ディスプレイを構成する一つ一つの点を指し、画素ピッチとは、画素の間隔・距離を指す。画素ピッチが広いとフォントも大きく表示されるが、画素ピッチが狭いとフォントも小さく表示される。言い換えれば、画素ピッチが広いとフォントは粗く表示されるが、画素ピッチが狭いとフォントは細かく、つまりは高詳細に表示される。大雑把だが、横1920ピクセルのモニターに横一列に100文字表示させたとき、24.5インチ（横幅544mm≒1920ピクセル×画素ピッチ0.283mm）と11.6インチ（横幅256mm≒1920ピクセル×画素ピッチ0.134mm）の液晶モニターでは見え方にどのような差異が生じるかを想像すれば簡単だ。&lt;/p&gt;
&lt;h3&gt;高精細が見やすいとは限らない&lt;/h3&gt;
&lt;p&gt;イマドキのガジェットのディスプレイは画素ピッチが相対的に狭くて高精細な場合が多い。しかし、ウェブページで最も多く利用されているであろう（&lt;a href=&quot;https://www.google.co.jp/chrome/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Google Chrome&lt;/a&gt;で初期設定の）16ピクセル程度の文字だと小さく表示されて困る。ただこのとき、画数の多い（概ね8画以上の）漢字はやや細いくらいのフォントのほうが潰れずに表示されるため見やすいのかも知れない。日本語ネイティブな人は斜め読みするときまず漢字を目で追っていく傾向にあるから、これ、重要。&lt;/p&gt;
&lt;h3&gt;CSSでのフォント指定でお願い&lt;/h3&gt;
&lt;p&gt;以上のとおり、タブレットPCのClearTypeに対応したウェブブラウザーで、フォントファミリーのサンセリフ体ではYu Gothic UIを表示するよう設定してみた。しかし、いざウェブページを表示すると、Yu Gothic UIで表示されないことがしばしば。理由は、そのウェブサイトが、CSSで例えばMeiryo UIで表示するようガチガチにフォントを指定しているから。ごく稀だがCJKのウェブフォントを表示させてくるウェブサイトすら存在する。ウェブブラウザーやディスプレイの表示能力、更には己の眼の能力等を考慮し、せっかくウェブブラウザーでフォントを設定していても、華麗にスルーしてくれる。これ、ちょこっと困る。画数の少ない欧文書体は構わないとして漢字、つまりは和文のフォントくらいは設定したものをストレートに使わせてもらえるほうが助かる。&lt;/p&gt;
&lt;h3&gt;当サイトのCSSの例&lt;/h3&gt;
&lt;p&gt;当サイトでは次のとおり欧文書体のみ指定。使用テーマのデフォのフォント指定に対し、林檎向けにHelvetica NeueとHelveticaという欧文書体を挿入しだだけ。ちなみに&lt;a href=&quot;https://fonts.google.com/specimen/Open+Sans&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Open Sans&lt;/a&gt;とはDroid Sansから派生したオープンソースの欧文書体で、ウェブフォントで提供されている。なおOpen Sansもやや細めなので、ウェブブラウザーでサンセリフ体に太めの和文フォントが指定されている場合の親和性が気にはなっている。Helvetica Neueもやや細め。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;css&quot;&gt;html, body, h1, h2, h3, h4, h5, h6, div, p, address, blockquote, dt, dd, li, caption, th, td, input, select, option, label, textarea, object, embed, iframe {
  font-family: &#039;Open Sans&#039;, &#039;Helvetica Neue&#039;, &#039;Helvetica&#039;, &#039;Arial&#039;, sans-serif;
}
textarea, pre, code, kbd, samp, var, tt {
  font-family: monospace;
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;デスクトップPCのフォントは？&lt;/h3&gt;
&lt;p&gt;デスクトップPCにはMeiryo UIを適用していたが、実は&lt;a href=&quot;https://osdn.jp/projects/robotoj-font/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;RobotoJ&lt;/a&gt;（具体的にはRobotoJAA Regular OTF）に乗り換えようかと考えていた。メイリオはあんなにエレガントなデザインなのに、なぜMeiryo UIはデザイン的にやや落ちるんだろう。見やすいのは確かだけど。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-05-07-01/" />
<id>https://brainsalad.zapto.org/post/2016-05-07-01/</id>
<updated>2016-05-07T14:28:43+09:00</updated>
<category term="コンピューター"/>
</entry>
<entry>
<title type="html">国内無料サーバーへ引っ越した</title>
<content type="html">&lt;h3&gt;海外無料サーバーは重かった&lt;/h3&gt;
&lt;p&gt;海外無料サーバーで本サイトの運用を開始したが、接続が遅かったり、不安定だったりすることがままあった。そこで&lt;a href=&quot;https://www.php.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PHP&lt;/a&gt;、mod_rewrite等を提供している国内無料サーバーへ引っ越すことにした。&lt;a href=&quot;https://www.nibbleblog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nibbleblog&lt;/a&gt;はRDBMSを使用しない。だから、移転元の海外無料サーバーから&lt;a href=&quot;https://filezilla-project.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Filezilla&lt;/a&gt;でファイル一式をFTPダウンロードし、それらを移転先の国内無料サーバーへFilezillaでFTPアップロードするだけの簡単なお仕事。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;Nibbleblogは移転も簡単&lt;/h3&gt;
&lt;p&gt;念のため、Nibbleblogの&lt;code&gt;/content/private/config.xml&lt;/code&gt;という設定ファイルの「ブログのアドレス (URL)」は移転先のURLに編集してからアップロードした。注意点はたったこれだけ。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;&amp;lt;!-- 編集前 --&amp;gt;
&amp;lt;url type=&quot;string&quot;&amp;gt;http://移転前のブログURL/&amp;lt;/url&amp;gt;
&amp;lt;!-- 編集後 --&amp;gt;
&amp;lt;url type=&quot;string&quot;&amp;gt;http://移転後のブログURL/&amp;lt;/url&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;あと、&lt;code&gt;.htaccess&lt;/code&gt;も一部編集したが、これはNibbleblogが必要とするのではなく、サーバー環境に合わせるために必要な作業。また、海外無料サーバーにはなかった広告表示が、国内無料サーバーでは表示されるようになったが、テーマのレイアウトには影響しなかったのも引越作業を簡単にさせてくれた。&lt;/p&gt;
&lt;h3&gt;結論&lt;/h3&gt;
&lt;p&gt;簡単に移転できるNibbleblogは良くできたフラットファイルCMSなのかも知れない。日本でのユーザー数はおそらく数十人くらいだろうけど。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-05-05-01/" />
<id>https://brainsalad.zapto.org/post/2016-05-05-01/</id>
<updated>2016-05-05T15:34:40+09:00</updated>
<category term="Nibbleblog"/>
</entry>
<entry>
<title type="html">レスポンシブデザインっぽくしてみた</title>
<content type="html">&lt;h3&gt;Bootstrapテーマなんて使わずに対応&lt;/h3&gt;
&lt;p&gt;レスポンシブデザインなんて知るかコノヤローと思っていたが、モバイルフレンドリーなウェブデザインがSEO的に良いらしく、最近レスポンシブデザインが増えてきている。一方、&lt;a href=&quot;https://www.nibbleblog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nibbleblog&lt;/a&gt;の初期テーマの一つである&lt;a href=&quot;http://www.noaesthetic.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GoogleSimple&lt;/a&gt;を現在利用しているが、このテーマはレスポンシブデザインに完全には対応していない。しかし、今更このテーマから&lt;a href=&quot;https://themes.getbootstrap.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Bootstrapテーマ&lt;/a&gt;系のテーマへ変更するつもりはない。かと言って、このテーマをゴリゴリに弄るのは面倒。そこで、このテーマのCSSだけ弄って、なんちゃってレスポンシブデザインにしてみた。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;コードの修正内容&lt;/h3&gt;
&lt;p&gt;元の&lt;code&gt;/themes/google_simple/css/main.css&lt;/code&gt;は以下のとおりで、CSSでサイドバーを右に回り込ませている。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;css&quot;&gt;/*
========================================================================
BLOG :: Main
========================================================================
*/

#main {
    margin: 0 auto;
    overflow: auto;
}

#left {
    font-size: 1.32em;
    margin-right: 260px;
}

#sidebar {
    float: right;
    margin-right: 10px;
    width: 220px;
    font-size: 1.2em;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;これを、以下のとおり画面表示幅が800px以下になったとき、サイドバーが右に回り込まないようにするとともに、メインコンテンツの位置とサイドバーの位置関係を&lt;code&gt;column-reverse&lt;/code&gt;で上下反転させただけ。いわゆるブレークポイントを800pxにしたのは、所有している&lt;a href=&quot;https://www.docomo.ne.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ドコモ&lt;/a&gt; dtab &lt;a href=&quot;https://www.docomo.ne.jp/support/product/d01g/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;d-01G&lt;/a&gt;の画面が800×1280ピクセルだったから。つまり、俺フレンドリーなウェブデザイン。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;css&quot;&gt;/*
========================================================================
BLOG :: Main
========================================================================
*/

#main {
    margin: 0 auto;
    overflow: auto;
}

#left {
    font-size: 1.32em;
}

#sidebar {
    font-size: 1.2em;
}

/* 画面表示幅が801px以上の場合の挙動 */
@media all and (min-width: 801px) {
#left {
    margin-right: 260px;
}
#sidebar {
    float: right;
    margin-right: 10px;
    width: 220px;
}
}

/* 画面表示幅が800px以下の場合の挙動 */
@media all and (max-width: 800px) {
#main {
    display: flex;
    flex-direction: column-reverse;
}
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;備考&lt;/h3&gt;
&lt;p&gt;「&lt;a href=&quot;/post/2015-10-12-01/&quot;&gt;ヘッダーを画像に置換してみた&lt;/a&gt;」で加えた&lt;code&gt;min-width&lt;/code&gt;プロパティは、あらかじめすべて削除したので念のため。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-05-04-01/" />
<id>https://brainsalad.zapto.org/post/2016-05-04-01/</id>
<updated>2016-05-04T16:31:03+09:00</updated>
<category term="Nibbleblog"/>
</entry>
<entry>
<title type="html">Debian norootをインストールしてみた</title>
<content type="html">&lt;p&gt;&lt;a href=&quot;/content/public/upload/ultravnc_0_o.jpg&quot;&gt;&lt;img src=&quot;http://brainsalad.zapto.org/content/public/upload/ultravnc_0_o.jpg&quot; alt=&quot;UltraVNC&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;AndroidにDebianをインスコ&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/?hl=ja&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;YouTube&lt;/a&gt;や&lt;a href=&quot;https://gyao.yahoo.co.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GYAO!&lt;/a&gt;等の動画視聴くらいにしか利用しなくなった&lt;a href=&quot;https://www.docomo.ne.jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ドコモ&lt;/a&gt; dtab &lt;a href=&quot;https://www.docomo.ne.jp/support/product/d01g/&quot;&gt;d-01G&lt;/a&gt;（Android 4.4.4 KitKat）に、&lt;a href=&quot;https://sourceforge.net/projects/libsdl-android/files/ubuntu/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Debian noroot&lt;/a&gt;というLinuxデスクトップ環境をインストールしてみた。インストール自体は&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.cuntubuntu&amp;amp;hl=ja&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Google Playストアから行う&lt;/a&gt;だけなので簡単。しかし、実際にDebianを起動すると初期設定をしようにも画面が小さくて操作しづらい。そこで、同じローカルLAN内にいるWindows PCから（Debian PCからでも良かったのだが）VNCでDebianに接続し、リモートデスクトップで運用することにした。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;VNC環境の構築&lt;/h3&gt;
&lt;p&gt;d-01Gはroot化していない。Debian noroot（&lt;a href=&quot;https://www.debian.org/releases/jessie/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Debian 8 Jessie&lt;/a&gt; + Xfce）にインストールするVNCサーバーは&lt;a href=&quot;https://www.tightvnc.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TightVNC&lt;/a&gt;で、Windows Vista PCにインストールするVNCビューアーは&lt;a href=&quot;https://uvnc.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;UltraVNC&lt;/a&gt;（TightVNCや&lt;a href=&quot;https://tigervnc.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TigerVNC&lt;/a&gt;でも動作）。まず、d-01GのDebian norootでVNCの準備。がんばってタッチパネルでマウスカーソルを動かしてデスクトップのRoot Terminalからターミナルエミュレーターのxtermを起動したら、USB OTGのキーボードから以下のとおりコマンドし、文字化けしないようロケールを一時的に英語に指定後、リポジトリーを修正。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;# export LANG=C LC_ALL=C LANGUAGE=en
# nano /etc/apt/sources.list&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;そして、このファイルの内容を以下のとおり修正。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;deb http://http.debian.org/debian jessie contrib main non-free
#deb-src http://http.debian.org/debian jessie main contrib

deb http://security.debian.org/ jessie/updates contrib main non-free
#deb-src http://security.debian.org/ jessie/updates main contrib

deb http://http.debian.org/debian jessie-updates main contrib non-free
#deb-src http://http.debian.org/debian jessie-updates main contrib

deb http://http.debian.org/debian jessie-backports-sloppy contrib main non-free
#deb-src http://http.debian.org/debian jessie-backports-sloppy main contrib

deb http://http.debian.org/debian jessie-backports contrib main non-free
#deb-src http://http.debian.org/debian jessie-backports contrib main

deb http://www.deb-multimedia.org/ jessie main non-free
deb http://www.deb-multimedia.org/ jessie-backports main&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;次に、テキストエディターのnanoを上書き保存後に閉じたら、以下のとおりコマンド。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;# apt update &amp;amp;&amp;amp; apt upgrade &amp;amp;&amp;amp; apt-get clean&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;必要に応じyで進む。次に、必要なパッケージをインストールし、ロケールを修正。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;# apt install locales debian-keyring deb-multimedia-keyring xfonts-intl-japanese fonts-takao tightvncserver &amp;amp;&amp;amp; apt-get clean
# nano /etc/locale.gen&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;インストールでは必要に応じyで進む。&lt;code&gt;/etc/locale.gen&lt;/code&gt;では&lt;code&gt;en_US.UTF-8 UTF-8&lt;/code&gt;と&lt;code&gt;ja_JP.UTF-8 UTF-8&lt;/code&gt;のコメントアウト（先頭の#）を削除して外し、nanoを上書き保存後に閉じる。次に、以下のとおりコマンドし、ロケールを反映後、システム環境変数を設定。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;# locale-gen
# nano /proot.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ここでは、&lt;code&gt;export TZ&lt;/code&gt;から始まる行を以下のとおりコメントアウト（行の先頭に#を追加）し、その直下に4行追加。&lt;code&gt;LC_ALL&lt;/code&gt;が空白だと何故か英語表記になり、しかもPerlに怒られる。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;shell&quot;&gt;#export TZ=&quot;`getprop persist.sys.timezone`&quot;
export TZ=&quot;Asia/Tokyo&quot;
export LANG=&quot;ja_JP.UTF-8&quot;
export LC_ALL=&quot;ja_JP.UTF-8&quot;
export LANGUAGE=&quot;ja&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;nanoを上書き保存後に閉じたら、&lt;code&gt;exit&lt;/code&gt;とコマンドしてRoot Terminalを終了。次に、デスクトップのTerminalからxtermを起動したら、以下のとおりコマンドし、文字化けしないようロケールを一時的に英語に指定後、ユーザーフォルダーに遷移し（&lt;code&gt;u0_a192&lt;/code&gt;というユーザー名は一例）、&lt;code&gt;~/.Xresources&lt;/code&gt;を新規作成。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;$ export LANG=C LC_ALL=C LANGUAGE=en
$ cd /home/u0_a192
$ touch .Xresources
$ nano .Xresources&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;~/.Xresources&lt;/code&gt;の内容は以下のとおりで、これでxtermの日本語の文字化けが解消する（&lt;a href=&quot;https://wiki.archlinux.jp/index.php/Xterm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xterm - ArchWiki&lt;/a&gt;より）。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;xterm*faceName: Droid Sans Mono
xterm*faceNameDoublesize: TakaoGothic
xterm*faceSize: 10&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;nanoを上書き保存後に閉じたら、&lt;code&gt;~/.Xresources&lt;/code&gt;をリロードし、xtermのロケールを日本語に戻した後、一度TightVNCサーバーを起動する。途中、パスワードの新規設定を尋ねられるので、設定後、すぐにTightVNCサーバーを閉じ、VNCサーバーが呼び出すXの起動スクリプト（&lt;code&gt;~/.vnc/xstartup&lt;/code&gt;）を変更する。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;$ xrdb .Xresources
$ export LANG=ja_JP.UTF-8 LC_ALL=ja_JP.UTF-8 LANGUAGE=ja
$ vncserver :1
$ vncserver -kill :1
$ cd .vnc
$ nano xstartup&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;xstartup&lt;/code&gt;は最後の行を以下のとおりコメントアウト（行の先頭に#を追加）し、その直下に4行追加（&lt;a href=&quot;https://stackoverflow.com/questions/19133889/how-to-run-xfce4-on-debian-on-vnc-startup&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;xfce - How to run xfce4 on debian on VNC startup? - Stack Overflow&lt;/a&gt;より）。DebianとXfceには慣れ親しんだつもりだったが、これは知らなんだ。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;shell&quot;&gt;#/etc/X11/Xsession
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &amp;amp;
xrdb $HOME/.Xresources&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;いざVNC接続&lt;/h3&gt;
&lt;p&gt;nanoを上書き保存後に閉じたら、以下のとおりコマンドしてローカルIPアドレスを確認後、再度TightVNCサーバーを起動（1280x800は画面サイズの一例）。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;$ ip -4 addr
$ vncserver :1 -geometry 1280x800 -depth 24&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;wlan0のinetに続く数字がd-01GのローカルIPアドレス（仮に192.168.XXX.XXXとする）。今度はWindows側。UltraVNCをインストールしたら、UltraVNC Viewerを起動し、Auto serect best settingsにチェックを入れたら、Computer:の入力欄に192.168.XXX.XXX:1と入力し、Connectボタンを押下。途中、VNCサーバーのパスワードを求められるので、先ほど新規設定したパスワードを入力し、Log onボタンを押下。&lt;/p&gt;
&lt;p&gt;冒頭の画面はVNC経由でsynapticを起動したところ。synapticはデスクトップ上のアイコンからインストールできるが、インストールでコケるようだったら、コマンド中の&lt;code&gt;-y&lt;/code&gt;を&lt;code&gt;--force-yes&lt;/code&gt;にしてやればいい。以上、初めてのVNCにしては上手くいったので、これからDebian  norootの用途を考えていきたい。&lt;/p&gt;
&lt;h3&gt;XRDPは断念&lt;/h3&gt;
&lt;p&gt;最初はDebian norootでXRDPを起動し、Windows側からリモートデスクトップ接続で運用するつもりだった。しかし、XRDPの設定ファイルをどう弄ってもWindowsから接続できなかったので、諦めた。&lt;/p&gt;
&lt;h3&gt;そもそもVNCを利用しない方法&lt;/h3&gt;
&lt;p&gt;前述のとおり、VNCで運用することにしたのは、d-01Gの画面が小さかったから。だったら最初からAmazon Fire TVボックスに導入すればよかった。これには外付け液晶モニターをHDMI接続させているし、Bluetoothキーボード・マウスをペアリングさせているしで、仮にDebian norootをインストールしてもVNCを設定する手間は不要だった。ちなみにこの場合、導入はGoogle Playストアからではなく&lt;a href=&quot;https://sourceforge.net/projects/libsdl-android/files/ubuntu/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SourceForgeから行う&lt;/a&gt;（まだ試してないけど）。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-04-30-01/" />
<id>https://brainsalad.zapto.org/post/2016-04-30-01/</id>
<updated>2016-04-30T16:42:02+09:00</updated>
<category term="ソフトウェア"/>
</entry>
<entry>
<title type="html">JSON-LDを追加してみた</title>
<content type="html">&lt;h3&gt;構造化データの文法の一つ、JSON-LD&lt;/h3&gt;
&lt;p&gt;フィードやトラックバックが流行ったころも似たようなことが言われていた気がするが、最近はセマンティック・ウェブな世の中らしい。そこで、&lt;a href=&quot;https://www.nibbleblog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nibbleblog&lt;/a&gt;の初期テーマの一つである&lt;a href=&quot;http://www.noaesthetic.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GoogleSimple&lt;/a&gt;の以下の2つのスクリプトを次のとおり弄って、SEO的に期待されている&lt;a href=&quot;https://www.w3.org/TR/json-ld&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;JSON-LD&lt;/a&gt;を追加した。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/themes/google_simple/views/blog/includes/post.bit&lt;/code&gt;（記事一覧表示用スクリプト）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/themes/google_simple/views/post/includes/post.bit&lt;/code&gt;（個別記事表示用スクリプト）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;コードの修正内容&lt;/h3&gt;
&lt;p&gt;2つのスクリプトへ追加する内容は同じ。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;php&quot;&gt;&amp;lt;script type=&quot;application/ld+json&quot; charset=&quot;UTF-8&quot;&amp;gt;
{
  &quot;@context&quot;: &quot;http://schema.org&quot;,
  &quot;@type&quot;: &quot;BlogPosting&quot;,
  &quot;@id&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Post::permalink(true), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;,
  &quot;url&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Post::permalink(true), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;,
  &quot;headline&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Post::title(), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;,
  &quot;description&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Post::description(), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;,
  &quot;articleSection&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Post::category(), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;,
  &quot;datePublished&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Post::published(), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;,
  &quot;isPartOf&quot;: {
    &quot;@type&quot;: &quot;Blog&quot;,
    &quot;@id&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Blog::url(false), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;,
    &quot;url&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Blog::url(false), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;,
    &quot;name&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Blog::name(), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;,
    &quot;description&quot;: &quot;&amp;lt;?php echo htmlspecialchars(Blog::slogan(), ENT_COMPAT, &#039;UTF-8&#039;) ?&amp;gt;&quot;
  }
}
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;設定-&amp;gt;地域-&amp;gt;タイムスタンプ書式-&amp;gt;カスタムで&lt;code&gt;%Y-%m-%d&lt;/code&gt;と設定したら、上のコードを&lt;code&gt;&amp;lt;/header&amp;gt;&lt;/code&gt;の直下に追加するだけの簡単なお仕事。&lt;/p&gt;
&lt;h3&gt;構造化データの文法の一つ、RDF&lt;/h3&gt;
&lt;p&gt;これってトラックバックが流行っていたころ、その自動検知用の構造化データ（メタデータ）をRDF形式で以下のようにHTMLへ埋め込んでいたのと情報的にあまり変わらない気がする。メタデータの埋め込みといった手法は手を変え品を変え出てくるけど、長続きしないのかも。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;html&quot;&gt;&amp;lt;!--
&amp;lt;rdf:RDF
  xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;
  xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
  xmlns:trackback=&quot;http://madskills.com/public/xml/rss/module/trackback/&quot;&amp;gt;
&amp;lt;rdf:Description
  rdf:about=&quot;記事のパーマリンク&quot;
  dc:identifier=&quot;記事のパーマリンク&quot;
  dc:title=&quot;記事の題名&quot;
  dc:description=&quot;記事の要約&quot;
  dc:creator=&quot;記事の著者&quot;
  dc:date=&quot;記事の発行年月日・時間&quot;
  trackback:ping=&quot;記事のトラックバックURL&quot; /&amp;gt;
&amp;lt;/rdf:RDF&amp;gt;
--&amp;gt;&lt;/code&gt;&lt;/pre&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-04-29-01/" />
<id>https://brainsalad.zapto.org/post/2016-04-29-01/</id>
<updated>2016-04-29T16:13:40+09:00</updated>
<category term="Nibbleblog"/>
</entry>
<entry>
<title type="html">海外無料サーバーはフラットファイルCMSもキツい</title>
<content type="html">&lt;h3&gt;画像等のキャッシュで速度を稼ぐ&lt;/h3&gt;
&lt;p&gt;この投稿で十数ページ目になるのだが、この&lt;a href=&quot;https://www.nibbleblog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nibbleblog&lt;/a&gt;という&lt;a href=&quot;https://www.php.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PHP&lt;/a&gt;で動作するフラットファイルCMSであっても、ここ海外無料サーバーで応答速度のパフォーマンスが低下してきている。しかし、かつてここでフラットファイルDBで利用していた&lt;a href=&quot;http://www.blogn.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;BlognPlus&lt;/a&gt;（PHP5で動作）というCMSのときもそうだったので、驚きはない。しかしページ遷移くらい何とかしようと、以下のとおり&lt;code&gt;.htaccess&lt;/code&gt;を弄り、クライアントのウェブブラウザ―に画像、CSS、JavaScript等のファイルをキャッシュさせることにした。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;コードの修正内容&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;Cache-Control&lt;/code&gt;と&lt;code&gt;Expires&lt;/code&gt;では僅かに意味が異なるので、ウェブブラウザー等の対応状況を考慮し、念のため両方設定しておいた。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;generic&quot;&gt;&amp;lt;IfModule mod_headers.c&amp;gt;
# 画像、CSS、JavaScript等のキャッシュのみ最大寿命を秒で30日と設定
&amp;lt;filesMatch &quot;\/(|[^/]*\?.*)$&quot;&amp;gt;
  Header set Cache-Control: &quot;no-cache&quot;
&amp;lt;/filesMatch&amp;gt;
&amp;lt;filesMatch &quot;\.(s?html?|php|xml|txt)$&quot;&amp;gt;
  Header set Cache-Control: &quot;no-cache&quot;
&amp;lt;/filesMatch&amp;gt;
&amp;lt;filesMatch &quot;\.(gif|jpe?g|png|ico|css|js|ttf|woff2?)$&quot;&amp;gt;
  Header set Cache-Control: &quot;public, max-age=2592000&quot;
&amp;lt;/filesMatch&amp;gt;
# 画像、CSS、JavaScript等のキャッシュのみ有効期限を1か月と設定
&amp;lt;IfModule mod_expires.c&amp;gt;
  ExpiresActive On
  ExpiresDefault                         &quot;access plus 0 seconds&quot;
  ExpiresByType image/gif                &quot;access plus 1 month&quot;
  ExpiresByType image/jpeg               &quot;access plus 1 month&quot;
  ExpiresByType image/png                &quot;access plus 1 month&quot;
  ExpiresByType image/x-icon             &quot;access plus 1 month&quot;
  ExpiresByType image/vnd.microsoft.icon &quot;access plus 1 month&quot;
  ExpiresByType text/css                 &quot;access plus 1 month&quot;
  ExpiresByType text/javascript          &quot;access plus 1 month&quot;
  ExpiresByType application/javascript   &quot;access plus 1 month&quot;
  ExpiresByType application/x-javascript &quot;access plus 1 month&quot;
  ExpiresByType font/ttf                 &quot;access plus 1 month&quot;
  ExpiresByType application/font-ttf     &quot;access plus 1 month&quot;
  ExpiresByType application/x-font-ttf   &quot;access plus 1 month&quot;
  ExpiresByType font/woff                &quot;access plus 1 month&quot;
  ExpiresByType application/font-woff    &quot;access plus 1 month&quot;
  ExpiresByType application/x-font-woff  &quot;access plus 1 month&quot;
&amp;lt;/IfModule&amp;gt;
&amp;lt;/IfModule&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;ライブラリーのCDN化で速度を稼ぐ&lt;/h3&gt;
&lt;p&gt;次に、現在利用している&lt;a href=&quot;http://www.noaesthetic.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GoogleSimple&lt;/a&gt;というテーマの&lt;code&gt;/htdocs/themes/google_simple/templates/default.bit&lt;/code&gt;を弄り、&lt;a href=&quot;https://necolas.github.io/normalize.css/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;normalize.css&lt;/a&gt;及び&lt;a href=&quot;https://jquery.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;jQuery&lt;/a&gt;ライブラリーをCDNから読み込むようにしてみた。我ながら涙ぐましい。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;php&quot;&gt;&amp;lt;?php
  // Charset, title, description, keywords, robots, etc
  echo Blog::meta_tags();

  // Include CSS from theme
  // echo Blog::css(array(&#039;normalize.css&#039;, &#039;main.css&#039;, &#039;post.css&#039;, &#039;page.css&#039;, &#039;plugins.css&#039;, &#039;rainbow.css&#039;));
  echo &#039;&amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;https://unpkg.com/normalize.css@3.0.3/normalize.css&quot;&amp;gt;&#039;.PHP_EOL;
  echo Blog::css(array(&#039;main.css&#039;, &#039;post.css&#039;, &#039;page.css&#039;, &#039;plugins.css&#039;, &#039;rainbow.css&#039;));

  // Include Jquery
  // echo Blog::jquery();
  echo &#039;&amp;lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/2.2.1/jquery.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&#039;.PHP_EOL;

  // Include Javascript from theme
  echo Blog::javascript(&#039;rainbow-custom.min.js&#039;);

  // Include Favicon, default path: theme/css/img/favicon.ico
  echo Blog::favicon();

  // Plugins for &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;
  foreach($plugins as $plugin)
  {
    echo $plugin-&amp;gt;blog_head();
  }
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Nibbleblogにはキャッシュ機能がないっぽい&lt;/h3&gt;
&lt;p&gt;せめてCMS側にキャッシュ機能があれば速度をカバーできるのだけど、Nibbleblogはキャッシュせず単純に動的生成しているのかな。でもPHP+&lt;a href=&quot;https://www.mysql.com/jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MySQL&lt;/a&gt;で動作する&lt;a href=&quot;https://ja.wordpress.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;WordPress&lt;/a&gt;及び&lt;a href=&quot;http://japan.nucleuscms.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nucleus CMS&lt;/a&gt;というCMSをかつてここで利用していたとき、更に遅かった（特にMySQLが遅かった）からそれに比べればマシか。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-03-21-01/" />
<id>https://brainsalad.zapto.org/post/2016-03-21-01/</id>
<updated>2016-03-21T16:35:39+09:00</updated>
<category term="Nibbleblog"/>
</entry>
<entry>
<title type="html">ソースコードエディターならGeany</title>
<content type="html">&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/geany/geany/refs/heads/master/doc/images/main_window.png&quot; alt=&quot;Geany&quot;&gt;&lt;/p&gt;
&lt;h3&gt;Geanyを選択した理由&lt;/h3&gt;
&lt;p&gt;最近はオープンソースなソースコードエディターと言えば&lt;a href=&quot;https://atom.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Atom&lt;/a&gt;、&lt;a href=&quot;http://brackets.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Brackets&lt;/a&gt;、&lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Visual Studio Code&lt;/a&gt;あたりが話題になっている（うちAtom及びVisual Studio Codeはヘビー級な&lt;a href=&quot;https://www.electronjs.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Electron&lt;/a&gt;というライブラリーがベース）。しかし、Windows又はLinuxでこの&lt;a href=&quot;https://www.nibbleblog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nibbleblog&lt;/a&gt;等のコードを弄るくらいなので、これらはいかにも大袈裟。したがって、&lt;a href=&quot;https://www.geany.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Geany&lt;/a&gt;というクロスプラットフォームで動作する軽量なソースコードエディターを常用している。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;Notepad++とGeanyは似ている&lt;/h3&gt;
&lt;p&gt;かつてはWindowsではテキストエディターとしてオープンソースな&lt;a href=&quot;https://notepad-plus-plus.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Notepad++&lt;/a&gt;を常用していたが、最近はテキストエディターとしてもGeanyを利用している。GeanyとNotepad++は、ともに&lt;a href=&quot;https://www.scintilla.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Scintilla&lt;/a&gt;というエディター機能を提供するライブラリーがベースとなっている。つまり使い勝手等の一部が同じなので、戸惑うことが比較的少ない。日本語の取扱いが若干苦手なところまでNotepad++にそっくり。また、シンタックスハイライトやプラグインの種類が豊富な点もNotepad++に似ている。&lt;/p&gt;
&lt;h3&gt;備考&lt;/h3&gt;
&lt;p&gt;Geanyは厳密にはソースコードエディターではなく、IDE（統合開発環境）らしい。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-03-20-01/" />
<id>https://brainsalad.zapto.org/post/2016-03-20-01/</id>
<updated>2016-03-20T16:37:32+09:00</updated>
<category term="ソフトウェア"/>
</entry>
<entry>
<title type="html">海外無料サーバーならFilezillaで接続</title>
<content type="html">&lt;h3&gt;Filezillaの特徴&lt;/h3&gt;
&lt;p&gt;ここ海外無料サーバーで最も悩ませられるのが速度、そして次は安定性。FTP接続が遅かったり、不安定だったりすることがままある。だからしっかりとしたFTPクライアントを利用しなければならない。そんな中、最終的に選択したのが&lt;a href=&quot;https://filezilla-project.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Filezilla&lt;/a&gt;で、その理由は以下のとおり。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Windows及びLinux、つまりクロスプラットフォームに対応&lt;/li&gt;
&lt;li&gt;オープンソース&lt;/li&gt;
&lt;li&gt;FTPS及びSFTPによるセキュアな転送に対応&lt;/li&gt;
&lt;li&gt;GUI&lt;/li&gt;
&lt;li&gt;貧弱な海外無料サーバーであっても、がんばって接続してくれる&lt;/li&gt;
&lt;li&gt;ローカル及びリモートを表示する2ペイン構造で、かつ、ディレクトリツリーを表示&lt;/li&gt;
&lt;li&gt;アップロード及びダウンロードがキュー形式&lt;/li&gt;
&lt;li&gt;ユーザー数が多く、開発の継続の期待値が高い&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;Filezillaを選択した理由&lt;/h3&gt;
&lt;p&gt;Windows及びLinuxを常用しているため、どちらでも利用できるFTPクライアントでオープンソースとなると、ほぼFilezilla一択になる（他に&lt;a href=&quot;http://fireftp.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FireFTP&lt;/a&gt;もあるにはあるが、&lt;a href=&quot;https://www.mozilla.org/firefox/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Mozilla Firefox&lt;/a&gt;やその派生ウェブブラウザーのアドオンなので、少し毛色が違う）。プラットフォームごとにFTPクライアントを変えてみたこともあったが、やはり面倒だった。&lt;/p&gt;
&lt;h3&gt;WinSCPやCyberduckもアリ&lt;/h3&gt;
&lt;p&gt;Windowsだけで考えれば、オープンソースでは&lt;a href=&quot;https://winscp.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;WinSCP&lt;/a&gt;及び&lt;a href=&quot;https://cyberduck.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cyberduck&lt;/a&gt;も及第点だった。だからWindowsだけで利用するならWinSCP、Windows及びMacで利用するならCyberduckを選択していたかも知れない。ちなみに&lt;a href=&quot;https://ja.osdn.net/projects/ffftp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;FFFTP&lt;/a&gt;は一部の海外無料サーバーとあまり相性が良くなかった。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-02-11-01/" />
<id>https://brainsalad.zapto.org/post/2016-02-11-01/</id>
<updated>2016-02-11T16:15:32+09:00</updated>
<category term="インターネット"/>
</entry>
<entry>
<title type="html">meta要素のviewportを追加してみた</title>
<content type="html">&lt;h3&gt;モバイルフレンドリーに必須なviewport&lt;/h3&gt;
&lt;p&gt;この&lt;a href=&quot;https://www.nibbleblog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nibbleblog&lt;/a&gt;はデフォで&lt;code&gt;meta&lt;/code&gt;要素の&lt;code&gt;viewport&lt;/code&gt;を生成しない。一部の初期テーマは生成するようだが、現在利用している&lt;a href=&quot;http://www.noaesthetic.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GoogleSimple&lt;/a&gt;という初期テーマは生成しない。しかし&lt;code&gt;viewport&lt;/code&gt;はSEO的に重要らしい。そこでスクリプトを以下のとおり修正し、デフォで生成するようにしてみた。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;コードの修正内容&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;/admin/kernel/helpers/blog.class.php&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;php&quot;&gt;//$meta = &#039;&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;&#039;.PHP_EOL;
  $meta = &#039;&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
  &amp;lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&amp;gt;
  &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&amp;gt;
  &amp;lt;meta name=&quot;rating&quot; content=&quot;general&quot;&amp;gt;
  &amp;lt;meta name=&quot;classification&quot; content=&quot;Weblog&quot;&amp;gt;&#039;.PHP_EOL;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;width=device-width, initial-scale=1&lt;/code&gt;と指定するのが鉄板。その意味がわからないなら無暗にカスタマイズしないほうが良いらしい。なお、ついでに&lt;code&gt;meta&lt;/code&gt;要素をいくつか追加しておいたが、習作的なもので、特に意味はない。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-02-10-01/" />
<id>https://brainsalad.zapto.org/post/2016-02-10-01/</id>
<updated>2016-02-10T21:31:08+09:00</updated>
<category term="Nibbleblog"/>
</entry>
<entry>
<title type="html">OGPの2つのプラグインを修正してみた</title>
<content type="html">&lt;h3&gt;プラグインのダブルスラッシュ問題&lt;/h3&gt;
&lt;p&gt;この&lt;a href=&quot;https://www.nibbleblog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nibbleblog&lt;/a&gt;にはプラグイン機能があり、このうち&lt;a href=&quot;https://www.facebook.com/&quot;&gt;Facebook&lt;/a&gt;の&lt;a href=&quot;https://ogp.me/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Open Graph&lt;/a&gt;プラグインの&lt;code&gt;og:image&lt;/code&gt;と、&lt;a href=&quot;https://twitter.com/?lang=ja&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Twitter&lt;/a&gt; Cardプラグインの&lt;code&gt;twitter:image&lt;/code&gt;のURLが&lt;code&gt;http://www.example.com&lt;strong&gt;//&lt;/strong&gt;themes/&lt;em&gt;テーマ名&lt;/em&gt;/css/img/image.png&lt;/code&gt;とダブルスラッシュ（//）が入っておかしなことになっていた。そこで、以下の2つのスクリプトを次のとおり修正した。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/plugins/open_graph/plugin.bit&lt;/code&gt;（Open Graphプラグイン）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/plugins/twitter_cards/plugin.bit&lt;/code&gt;（Twitter Cardプラグイン）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;コードの修正内容&lt;/h3&gt;
&lt;pre&gt;&lt;code data-language=&quot;php&quot;&gt;//$og[&#039;image&#039;] = $settings[&#039;url&#039;].HTML_THEME_IMG.&#039;image.png&#039;;
  $og[&#039;image&#039;] = preg_replace(&#039;/([^:]\/)\//&#039;, &#039;$1&#039;, $settings[&#039;url&#039;].HTML_THEME_IMG.&#039;image.png&#039;);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;いずれもmeta要素のcontent属性の値となるURLを生成するコードで、修正部分は同じ。&lt;a href=&quot;https://www.php.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;PHP&lt;/a&gt;のPCRE正規表現を用いて、ダブルスラッシュを普通のスラッシュに&lt;code&gt;preg_replace&lt;/code&gt;で置換しただけ。しかし正規表現というのは、なぜかいつも顔文字に見えてくる。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-01-11-01/" />
<id>https://brainsalad.zapto.org/post/2016-01-11-01/</id>
<updated>2016-01-11T16:58:02+09:00</updated>
<category term="Nibbleblog"/>
</entry>
<entry>
<title type="html">動画は普通に投稿できる</title>
<content type="html">&lt;div class=&quot;video-embed&quot;&gt;&lt;iframe src=&quot;https://www.youtube-nocookie.com/embed/g0Y3icv1QjY?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;h3&gt;普通の記事にYouTube動画を貼付&lt;/h3&gt;
&lt;p&gt;この&lt;a href=&quot;https://www.nibbleblog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Nibbleblog&lt;/a&gt;は、前回利用した固有の動画投稿機能を使わずとも、今回のように&lt;a href=&quot;http://tinymce.moxiecode.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TinyMCE&lt;/a&gt;というJavaScript製WYSIWYGエディターのMediaプラグインを利用して&lt;a href=&quot;https://www.youtube.com/?hl=ja&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;YouTube&lt;/a&gt;の動画（今回も前回同様、&lt;a href=&quot;https://okamurayasuyuki.info/info/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;岡村靖幸&lt;/a&gt;『ラブメッセージ』PV）を貼ることができる。パッと見での２つの大きな違いは、文章を添えることができるかどうか。でもそれだけではない。&lt;/p&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;プライバシー強化モードで貼付したい&lt;/h3&gt;
&lt;p&gt;今回はプライバシー強化モード（&lt;code&gt;youtube-nocookie.com&lt;/code&gt;）のembed動画を貼ったが、前回はNibbleblogが動画IDから自動的にプライバシー強化モードでないembed動画のURLを生成している。ちなみにNibbleblogの動画投稿機能にプライバシー強化モードのembed動画のURLを生成させるようにするには、&lt;code&gt;/admin/kernel/helpers/video.class.php&lt;/code&gt;を以下のとおり変更する。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;php&quot;&gt;//$info[&#039;embed&#039;] = &#039;&amp;lt;iframe class=&quot;youtube_embed&quot; width=&quot;&#039;.$width.&#039;&quot; height=&quot;&#039;.$height.&#039;&quot; src=&quot;https://www.youtube.com/embed/&#039;.$video_id.&#039;?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&#039;;
  $info[&#039;embed&#039;] = &#039;&amp;lt;iframe class=&quot;youtube_embed&quot; width=&quot;&#039;.$width.&#039;&quot; height=&quot;&#039;.$height.&#039;&quot; src=&quot;https://www.youtube-nocookie.com/embed/&#039;.$video_id.&#039;?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&#039;;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;あと、TinyMCEのMediaプラグインは多くの動画配信サービスに対応しているようだが、Nibbleblogの動画投稿機能はYouTubeと&lt;a href=&quot;https://vimeo.com/jp/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Vimeo&lt;/a&gt;のみに対応している。つまりNibbleblogの動画投稿機能のメリットは、YouTubeとVimeoの動画が簡単に貼れるところらしい。なお、動画投稿機能を使わずにこのページに貼った動画コードは以下のとおり。&lt;/p&gt;
&lt;pre&gt;&lt;code data-language=&quot;html&quot;&gt;&amp;lt;div class=&quot;video-embed&quot;&amp;gt;
  &amp;lt;iframe src=&quot;https://www.youtube-nocookie.com/embed/g0Y3icv1QjY?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;allowfullscreen&quot;&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;</content>
<link href="https://brainsalad.zapto.org/post/2016-01-10-01/" />
<id>https://brainsalad.zapto.org/post/2016-01-10-01/</id>
<updated>2016-01-10T16:19:48+09:00</updated>
<category term="Nibbleblog"/>
</entry>
<entry>
<title type="html">動画投稿を『ラブメッセージ』でテストした</title>
<content type="html">&lt;div class=&quot;video-embed&quot;&gt;&lt;iframe class=&quot;youtube_embed&quot; itemprop=&quot;video&quot; width=&quot;640&quot; height=&quot;320&quot; src=&quot;https://www.youtube-nocookie.com/embed/g0Y3icv1QjY?rel=0&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;</content>
<link href="https://brainsalad.zapto.org/post/2015-12-23-01/" />
<id>https://brainsalad.zapto.org/post/2015-12-23-01/</id>
<updated>2015-12-23T16:11:34+09:00</updated>
<category term="動画"/>
</entry>
<entry>
<title type="html">Debian 8.2 Jessieのメモリ使用量</title>
<content type="html">&lt;h3&gt;軽量なデスクトップ環境を選びたい&lt;/h3&gt;
&lt;p&gt;個人的には何にしても軽量なものが好きだ。だからWindowsはあまり好きではない。さて、&lt;a href=&quot;https://www.debian.org/releases/wheezy/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Debian 7 Wheezy&lt;/a&gt; i386で使用しているとても古い自作デスクトップPC（CPUはPentium M 750 Dothan）へ&lt;a href=&quot;https://www.debian.org/releases/jessie/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Debian 8 Jessie&lt;/a&gt; i386をネットインストールしようとしているが、Jessieではインストーラでデスクトップ環境（DE）を多数から選択できる。そこで、このうち軽量そうに思われたDEについて、クリーンインストール・初回起動・ログインから各DEのデフォのターミナルエミュレータを開き、約3分放置後に&lt;code&gt;free&lt;/code&gt;コマンドを叩いた際、実際にOS全体でどれくらいメモリを食っているのかを調べてみた。&lt;/p&gt;
&lt;table&gt;&lt;caption&gt;メモリ使用量選手権 on Jessie&lt;/caption&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;順位&lt;/th&gt;
&lt;th&gt;デスクトップ環境&lt;/th&gt;
&lt;th&gt;メモリ使用量&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cinnamon.linuxmint.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Cinnamon&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;700MB台&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://mate-desktop.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MATE&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;500MB台&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.xfce.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Xfce&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;400MB台&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.lxde.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LXDE&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;300MB台&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;!-- pagebreak --&gt;&lt;/p&gt;
&lt;h3&gt;その他の比較理由・条件&lt;/h3&gt;
&lt;p&gt;メモリ使用量だけを比較し、ディスク使用量を比較しなかったのには理由がある。それは当該PCのメモリはDDR2-533 2GBと速度・容量ともに（特にウェブブラウザー使用時に）問題ありまくりだが、それに比べてシリアルATA HDDはまだ幾分かマシだと思われたから。また、一緒に標準システムユーティリティとプリンタサーバはインストールした。一方でWebサーバとSSHサーバはインストールしなかった。いずれも一般的にはインストールされないと思われたため除外したが、個人的にはどうせ後からインストールするんだろうから、条件に含めるべきだったかな。&lt;/p&gt;
&lt;h3&gt;結局Xfceを選ぶことにした&lt;/h3&gt;
&lt;p&gt;とりあえずCinnamonは軽量では全然なかったからパス。そうなるとMATEかXfceかLXDEかだけど、これくらいの差だとあとはもう趣味の世界。そこで、これらのうち最も使い慣れているXfceを選択することにした。学習コストはバカにならないからね。しかし4回もクリーンインストールして調べておいて、結局いつものXfceを選択するとは。ただPC構成、ディストリビューション、バージョン、ビルドオプション等によって各DEにおけるメモリ使用量は異なってくるはずだから、今回はたまたまXfceになったとも言えなくもない。&lt;/p&gt;
&lt;h3&gt;ホントの狙いはTrinityとLXQt&lt;/h3&gt;
&lt;p&gt;最近はDAW（デジタル・オーディオ・ワークステーション）をはじめとするマルチメディア系アプリケーションを利用する機会がとみに増加した。それらのアプリケーションは決まってQtベースだったりする。しかし、今回調べたDEはすべてGTKベース。ホントはQtベースで軽量と話題の&lt;a href=&quot;https://trinitydesktop.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Trinity&lt;/a&gt;（TDE）と&lt;a href=&quot;https://lxqt.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LXQt&lt;/a&gt;を調べたかったのだが、残念ながらいずれのDEもJessieのインストーラの選択肢にはなかった。&lt;/p&gt;</content>
<link href="https://brainsalad.zapto.org/post/2015-12-22-02/" />
<id>https://brainsalad.zapto.org/post/2015-12-22-02/</id>
<updated>2015-12-22T23:59:10+09:00</updated>
<category term="コンピューター"/>
</entry>
</feed>