winmergeという神ツール
バージョン管理ツールというのがある。
バージョン管理ツールというのは「テキスト」の変更履歴を管理するツールのこと。
今日時点だとネットではgitが決定版と言われていて、ほかにもCVSやsvnなんてのもある。
このあたりは、ひとつのプロジェクトをチームで動かしているようなケースでは必須のツールだろう。実際にFreeBSDやlinuxなどOSのソースコードはこの手のツールで管理運用されている。
ただ、個人で、ひとりの作業で使うにはどうだろう。
これからはgitだ、というんでインストールしてみたものの、個人でちまちまやってる分には大袈裟すぎて管理のための管理作業が発生して面倒なだけだった。仕事で他の人が管理しているツリーにメンバーとして参加、コミットしたりとか程度でがっつり使ったこともないし、実際のところはよくわかってない。
とはいえ、
「納品20210110.zip」
「納品20210110b.zip」
「納品20210110-修正1.zip」
「納品20210110-修正0115.zip」
ということもよくあって、変更履歴の管理はさすがに痛感しているので、納品後の修正や差し戻しがあったら(って、なんでやねん、という話だけど)ディレクトリごと別ディレクトリとしてコピーして作業するようにしている。
こういう時に、もう10年ぐらい重宝しているのが、winmergeという差分確認、マージ(差分擦り合せ)のためのツールだ。
https://winmerge.org/
これがなければ仕事にならないし、これのためにWINDOWSを使い続けている、といっても言いすぎじゃない。
神ツールとはまさにwinmergeのことを言う。
2つのファイルの差分をチェック
百聞は一見に如かず。
ふたつのファイルで違いのある箇所が左側のルーラーの黄色の部分。
メインの左右画面では違いのある箇所が赤く表示される。
差分、変更箇所がすぐに目視できる。差分のある箇所を個別にどちらかに合わせることもこの画面ですぐ、だ。編集されて上書き保存されたら元ファイルは拡張子が.bakになって保存される。
これはeasy_epubという電子書籍作成スクリプトのソースコード。
左側がオリジナルのリフローEPUB用、右側がハイブリッド対応版
無駄に機能追加したり、つぶしきれないバグフィックスをするたびに、別フォルダにコピーして修正。修正したらwinmergeで修正箇所、修正漏れの確認をして動作確認。動作が意図どおりじゃない時などもwinmergeのおかげで修正箇所の洗い出しが一発なので楽チン。
ディレクトリごとの比較
winmergeにファイルではなくてディレクトリを指定して読みこませると、ディレクトリ内で違いのあるファイルがこれまた一目瞭然。
違いのあるファイルが黄色くハイライトされている。
これはdoncha.netのサイトの一部。スクリプトやhtml、css、javascriptなどいろんなファイルがてんこ盛り。
webの場合、デザイン変更ひとつ取ってもhtml、構造の変更なのか、css、見た目のデザイン変更なのか、そのためにスクリプトやデータベースの変更は必要なのか、などなど、いろいろ絡んでくる。どのファイルを変更しなきゃいけないのか、実際どのファイルを変更したのか。
winmergeが一目で教えてくれる。
差分のあるファイルを選んでクリックすると2つのファイル比較となり編集更新ができる。
テキストの変更箇所、差分を教えてくれる、直感的で超絶便利なツールがこのwinmergeだ。
ということは。
プログラムとかエンジニアだけのものじゃなく、webのソースとかデザイナーだけのものじゃなく、テキストを扱うすべてのひとにとっての神ツールということだ。
小説書き、モノ書きのひとにとっても、語尾や用語を合わせる前後や、追加エピソードやセリフの確認とその比較に使える。
一太郎やワードはさらにモノ書きに特化した機能満載だから、それで間に合っているかもしれないけど、一太郎もワードも入っていないパソコンもあるしね。
gitやsvnのように更新、変更履歴を追うことはできないけど、winmergeさえあれば、個人でやる仕事については、万全磐石の安心感。
だがしかし、めちゃくちゃ残念なことにwinmergeはWINDOWS版しかない。macにもchromebookにも当然ない。
わたしの弁当箱macはすでに最新のOSアプデ対象外となっていて、今はただの鉄の箱だからいいとしても、去年末あたりから使い始めたchromebookで使えないのは致命的。このchromebook化したASUSのvivobookで委託のWEB運用、請負の電子書籍制作をやっていて、特に電子書籍の方はwinmergeでの作業がはいる。
原本、底本の元データと電子書籍化したEpubデータの差分チェックは欠かせない。
作成中にルビを取りこぼしたり、全角の空白を潰したりしてしまうこともあるし、修正依頼に対応したら修正の必要がない箇所に影響したり、などなど確認項目は多岐に渡る。
そのためだけに、WINDWOS機を起動してwinmergeで確認してたんだけど、さすがにどうにかせんといかんなあ、と必死のぱっちでぐーぐる先生。
「漢」ならdiffで頑張れ
とか言われてるんだけど、いくらなんでも無茶すぎ。そこでvimの出番となった。
エディタのvimがほぼ万能で、こいつもできないことを探すほうが難しいやつ。
vimdiffという差分チェックができるモード(?)がある。見た目もwinmergeとほぼ同じ、ていうか、vimdiffの方が先だろう。これで、ディレクトリ内のファイルの比較もできればなあ、と。
たぶん、いや、間違いなくvimだけでできると思うんだけど、わたしにそんなスキルも時間もないので、diffでディレクトリ比較した結果を適当に整形して読みこんで画面分割してやってみることにした。
winmergeほど便利じゃないんだけど、やりたいことはほぼこれでできることとなった。
ちなみにvimについては
https://knowledge.sakura.ad.jp/23018/
↑こちらのサイトがおすすめ。
しかしなあ。
21世紀にもなって、ラクをしようとするな、ツールなんか信用するな、というクズな仕事場もあって心の底から呆れるばかり。どうぞそのまま滅んでくださいとしか。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
chromebookをオフラインで使う
Chromebookはオンライン、ネット接続が必須で、オフライン、ネット接続のない環境では使いものにならないという噂。
いや、もちろん21世紀の今どきなんでchromebookに限らずWINDOWSもMacもネット接続が前提だろう、というのは話が別なので省く。
結論からいうと、Chromebookはオフラインでも十分使える。
とはいえ、インストール直後はgoogleアカウントでログインをするので、最初一度はネットに繋げてる必要がある、のかな。
でも、一度アカウントを設定してしまえば、ネット接続は関係なく使える。
1枚めのスクリーンショットは、起動後にWiFi接続を切ってログインした直後の状態。
ちなみに、WiFiを切った状態でもgoogleアカウントとパスワードでログインができる。
デフォルトでchromiumが立ち上がるけど、ネット接続されていないぞ、というエラーが表示されている。gmailも当然エラーとなっている。
だからといって、ローカル環境にあるものはネット関係なく、エラーもなくフツーに使える。
こうやってlinux環境も当たり前の顔で立ち上がる。
わたしの使っているASUSのvivobookはメインメモリ4GでストレージのeMMCは32G。
WIN10のノートPCとして購入当初からストレージが話にならないのは分かってたので、マイクロSD128Gを別途購入して突っ込んでいる。
なもんで、メインのストレージこそ32Gしかないけど、vivobookはマイクロSDスロットもあるんでストレージ容量の問題は解決。
クラウドで無料で使えるのは、確かgoogle driveが15G(icloudは5G)
これらと比べると外付けのストレージの方が断然安上がりで確実。それでも足りなくなったら「ブツ」を買い足せばいいだけの手軽手頃な話だ。
なにかの拍子に接続できなくなってしまったら、と思うとクラウドで作業するのは怖いわたしは昭和脳。締め切り、納品直前だとなおさら。
ローカル環境の方がまだ安心感がある。
chromebook化したvivobookを使いだしたここ1ヶ月ほど、マイクロSD上で作業していてなんの問題もない(GoogleDriveも他PCとのファイルのやりとりに便利に使ってるけど)
その作業というのはlinux環境下でエディタやperlを使ってマイクロSDにある、ローカル環境のファイルを扱ってるんだけど、chrome側のアプリでもローカルのファイルを保存したり読み込んだりできることはできる。
↑これはchromeのWEBストアからインストールした「Text」というエディタのファイル保存画面。
ローカルのストレージに保存できるし、読み込みもできる。
ただ、前に書いたように、ローカルで使えるエクセルやワードのようなアプリはない。
エクセルやワードが必要なら、Googleドライブでドキュメントやスプレッドシートなどを使わないといけないので、そこはネット接続が必須。
ドキュメントもスプレッドシートも、オフラインで使うこともできるんだけど。
https://support.google.com/docs/answer/6388102?co=GENIE.Platform%3DDesktop&hl=ja
google driveの15Gがどうなんだろう、てところだと思う。
つい最近。icloudの5Gが残り300Mぐらいになって警告が飛んできたばかり。なんだろうと思ってicloudにアクセスしてみたら写真が800枚弱上がっていた。
てなことがあるんで、ぐーぐるは15Gあるから大丈夫、とは言えないよねえ。
て、半分以上はこいつの写真だったんだけどなっ!
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
Chromebook化したvivobookの使用感
WINDOWS10が動かないので、CloudreadyでChromebook化したvivobookの使用感もろもろを、忘れないようにメモ。
【vivobookのスペックのおさらい】
CPU Celeron N4000 1.10GHz
メモリ 4G
ストレージ 32G(eMMC)
ディスプレイ 11.6インチ
解像度 1366x768
バッテリ 最長15時間
WINDOWS10でも、動作そのものはこのスペックでもそれなりに軽快、さくさく動いてたんだよなあ。アップデートができなくて本当に残念。
てことで、CloudReady、ChromiumOSをインストールしてChromeBOOK化してもまったく問題はない。噂通り、起動まで10秒もかからないし、全体に動きが本当に機敏で軽い。…もっとも、アプリらしいアプリを入れてないから、てのがあるな。
オフィス系や画像系はWINDOWS10のDELL inspiron S13にまかせる。
仕事絡みでいうと、office系もadobe系も必須ではあるけど、使用率は作業全体の中の30%程度かな。
WEBサイトの保守やそれを元にした営業資料の作成なんかは、ブラウザとエディタやツールさえあれば用が足りる。バナー画像の作成や資料をエクセルで作るためだけにWINDOWS10で作業。
電子書籍制作については、元データ確認にワード、表示確認にkinoppyが必要なのでそこはDELL inspironのWINDOWS10環境が必要だけど、実際の制作作業はエディタとperlだけあれば十分。
以下、まだまだよくわかってないんだけど、それっぽくそれなりに。
chromebookにアプリをインストールする、というのはなんか違うらしい。
そもそも。パソコンを起動すると全画面でブラウザのChromeが立ち上がっている。ここを起点にGoogleスプレッドシートやドキュメントを利用したり、ほかのことをするには、chromeの機能拡張を入れて作業環境を整えることになるっぽい。
とりあえず何はなくともエディタは必須なので。
https://chrome.google.com/webstore/detail/text/mmfbcljfglbokpmkimbfghdkjmjhdgbg?hl=ja
chromeウェブストアからTextというエディタをインストール。
これはまだインストールしただけ。
そしてたぶん、だけど。
WINDOWSやMacの日本語テキストエディタにあるような機能は求められないんじゃないかな。
エディタといいながら、長文や小説なんかをストレスなく書くことができて、検索や置換、アウトラインプロセッサまで備えた多機能を求めるのは無理っぽい。
そういうのはGoogleドキュメントを使いなさいということか。
WINDOWSでいうところのデスクトップは見当たらない。
壁紙を変更したディスプレイ画面がこれ。ショートカットを置いたりできない、ように見える。ディスプレイ上で右クリックをしても壁紙の変更とシェルフを隠すぐらいしかできない。
ディスプレイ下部にWINDOWSでいうところのタスクバーのようなものが配置されている。
シェルフというらしい。これを広げるとショートカットなどを並べて置いておけるデスクトップになる。
いま並んでるアイコンは
・ファイル(エクスプローラーやファインダーやね)
・ブラウザのChromium
・Text(エディタ)
・設定
・カメラ
・ウェブストア
・VirtualBOX
・サイトブックマークのショートカット
・Linuxアプリ
の9つ。
わかってないのがあるけど、キモはLinuxアプリ。
設定から「Linux(ベータ版)をONにする」をクリックするだけでOKだ。
設定が終わるとターミナルが立ち上がっていて、Linux(debian)の世界が使えるようになる。
ChromeBOOKはここからが始まり、だ。
ChromeBOOK側ではいわゆるアプリはないが、linuxの世界は膨大な量のフリーウエア、アプリがある。ていうか、unix環境にないものはない。
ターミナルで
sudo apt-get update && sudo apt-get dist-upgrade
とやって、最新の状態にアップデートしたら
sudo apt install XXXXXXXX
などと、必要なものをインストールしていく。
今日時点で入れたものが以下。
・apache2
定番のWEBサーバー
・make、gcc
フリーウエアのコンパイルに必須
・java(default-jre default-jdk)
電子書籍確認に必須
・fcitx-mozc
linux側の日本語入力に必要
・fonts-ipafont fonts-ipaexfont
日本語フォント
・mate-terminal
デフォルトのターミナルより便利
・imagemagick
画像処理
chromeOSではCtrl+F5でスクリーンショットが撮れる(Shift+Ctrl+F5で指定範囲のスクショも撮れる)。撮った画像はダウンロードフォルダに入るので、それをimagemagickでリサイズやトリミング。と、ここまでの作業はすべてchromeBOOKとそのlinux環境で完結。
これだけでもろもろ揃って、使えるんだからほんとありがたみしかない。
開発環境、とかいうとエラソだけど。
apache2をインストールしてローカルでWEBサーバーを立ち上げると、一気にいろんなことができるようになる。ローカルにあるHTMLをファイルじゃなくてHTTPアクセスして読める、ということは、CGIを使った動的なページも作成、閲覧できるようになるわけで。
CPANからSQLiteをインストールしたら、データベースも使える。
くそエクセルなんぞ使うヒマがあったら、データベースを使ったほうがよっぽど精神衛生に良い。
(MySQLもpostgresqlもあるけど、さすがにでかいから軽量SQLiteの出番)
ローカルでWEBサーバーを立てたので、データベースの登録や削除更新なんかの操作はブラウザでできる。ブラウザのUIはさすがによく練られてるので、使い勝手が良い、エクセルなんかよりも1024倍使いやすいし、動作も軽い。
なので、こんな血圧と薬を記録するデーターベースもすぐだ(ポンコツ
ちなみに。ローカルでは「penguin.linux.test」というドメインでアクセスすることになる。
そのapache2の設定ファイル群は
/etc/apache2にあって、以下の3ディレクトリに入っているものが有効化されている。
/etc/apache2/conf-enabled
/etc/apache2/mods-enabled
/etc/apache2/sites-enabled
デフォルトでは
/etc/apache2/sites-enabled/000-default.conf
が有効になっていて、/var/www/htmlがドキュメントルートに指定されいてる。
これはルート権限がないといじれなくて、いちいちsudoしてエディタを立ち上げるのが面倒くさいんで、homeディレクトリの一部をドキュメントルートとして、/var/wwwにシンボリックリンクを貼ることにした(あまり良くないバッドノウハウ)
CGIも使えるようにDirectoryディレクティブを記載したconfファイルを有効化
DocumentRoot /var/www/doncha.net
<Directory /var/www/doncha.net>
AddHandler cgi-script .cgi .pl
Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
しただけではCGIは使えず、ちょっとハマった。
/etc/apache2/mods-enabledにCGIのモジュールを有効化する必要があった。その他にもHeadersなども有効化する必要があり、しばらくは/var/log/apache2/error.logを眺めるハメになった。
freebsdでやってた時のapacheはhttpd.confひとつでほぼ全部指定できたんだけど、debianのapache2は設定ファイルが細かく分かれていたのでちょっと迷子だった。
こういった設定ファイルをいじったり、スクリプトを書くのはlinux側。
エディタはvimを使っている。vimの設定ファイルは諸説あって試行錯誤中。
vimはクセの強いエディタなので、やっぱりこれで日本語の長文を書いたりするのは厳しいな。
長々と書いたけど。
古くて使えなくなったパソコンがあったら、ChromeOSをインストールすれば使えるようになるので、捨てるぐらいなら試してみても損はないと思うという話。
いや、すばらしいっすよ。
[01/04 04:39:25]
あ。aptでzipを入れるのを忘れてた。
電子書籍のepubファイルを作るのにzipは必須…perlでいけるんだけど、コマンドラインのzipはそれ以外にも何かとあると便利なのでインストール。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
ChromeOSでvivobookが復活か!
2年前、2018年に22980円というスマホより安いASUSのノートパソコンvivobookを買ってしばらくご満悦だったんだけど、WINDOWS10の大型アップデートについていけず、ここ1年ほど鉄の箱状態。
ストレージが32Gしかないんでアップデートができなかったのだ。たぶん、だから激安だったんだなあ、と。
サイズといい、重量といい、使い勝手がよくてかなり気に入っていたのでめちゃくちゃ残念だった。
https://t2aki.doncha.net/?id=1545120465
家人がChromeOSが使えるらしい、というネタを仕入れてきたので、さっそく検索。
neverwareのCloudReadyというのにたどり着いた。
https://www.neverware.com/freedownload
・USBにインストールイメージを作成
・電源+F2でBios画面を起動
・USBからChromeOSを起動
・本体にインストール
てことでトラブルもなくあっさりインストールできた。
設定画面からlinux(ベータ版)をONにしたら、ターミナルが立ち上がっていて、黒い画面の向こうに広がるlinuxの世界、だ。
当然ながらデフォルトでエディタのvimやスクリプト言語のperlが入っていて、aptでjavaもインストール。ついでにimagemagickなんかもインストール。
環境変数のlocaleもja.JP.UTF-8に設定したら、これで最低限の電書制作環境もできあがり、だ。
まだ使い込んでないけど、これなら十分だろなあ。
画像処理はWINやMacにまかせて、普段使いはChromeOSでやってくか。
ブラウザはChromeで問題ないし、WEB版のGmailはちょっと不便だけど使えないことはない。
使い勝手のいいvivobookが復活するならこれで全然OKだわ。
[12/25 10:33:06]
忘れないよう追記。
【apt installしたもの】
apache2
make
gcc
java(default-jre default-jdk)
fcitx-mozc(linux側で日本語入力)
fonts-ipafont fonts-ipaexfont
mate-terminal
imagemagick
【cpan installしたもの】
CGI
DBI
XML::Simple
Spreadsheet::ParseXLSX
【chrome webストアからインストールしたもの】
linuxではなくて、chrome側の拡張機能
ePub Reader
Text(エディタ)
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
zenfone4からiphone XSに機種変更
zenfone4からiphoneXSに機種変更した。
前回arrows m3からzenfone4に機種変更したのが2019年1月23日。1年ほどでの買い替えとなった。
zenfone4で特に問題はなかったんだけど、もともとこのzenfoneは家人がしばらく使ってたやつで、バッテリーがへたっていた。
具体的には一日もたない。朝ウチで100%充電を確認して、夕方には出先で40%ぐらいまで減るのでモバイルバッテリーで充電が必要、という感じ。
GPSを使ってバッテリーを酷使するポケモンGOを控えれば、少しはマシになることは間違いない。とはいえ、バッテリーが怪しくなると寿命というのがこの手のガジェットの宿命だ。
リブレットやZaurusを始め、ノートパソコンを使ってきていて、まず最初にやられるのがバッテリーで、ここが不調になると先が短いというのを何度も経験してきている。
てことで家人のOKに乗って、久しぶりのiphoneとなった。
画面サイズはzenfoneより大きいのに、全体のサイズはzenfoneより小さい。
ビックカメラで実際に比較して触って持ってみて買うならこれだった。XRはビミョーに大きいし、8は発売時期がちょっと古いのが気になるし、11は三つ目カメラがやっぱりみっともない。
ちなみに、シムフリーのandroidケータイはASUS以外のメーカーはどうもぴんとこない…というか某国製の噂を聞くと怖いし、信用できそうなのはASUSだけ、一択。ただ、そのASUSのzenfoneの新機種のギミックは方向が違ってるし。今回の機種変更の対象外となった。
いまどき、ケータイの機種変更では、LINEとか引き継ぎが面倒くさいいくつかを除けば、ほぼほぼクラウドで完結するので、1日2日もあればほぼ今までどおりの環境となる(最低限、gmailとtwitter、LINEが入れば困ることもない)
あ。itunesをwindowsで使うのがうっとーしーか。
左からipod touch5、iphoneXS、zenfone4
生活防水がついたのもうれしいポイントだなあ。
iphoneはゲームに強いし、これでGOバトルリーグも捗るというものだ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
arrows m3からzenfone4に機種変更
突然、arrows m3から、zenfone4へケータイの機種変をすることとなった。
arrows m3は、スペック的にはちょっと貧弱だったけど、特に文句もなく使ってほぼ1年。なのに、今回機種変更となったのは、家人のzenfone4の調子が悪くて、iphoneへの機種変更となり、その調子の悪いzenfone4は赤坂見附のASUS直営店に持ち込んで基盤交換、ほぼ新品となり、ところてん式にわたしのところにやってきたという、風が吹いたら桶屋が、といったところだ。
zenfone4になったことで、おサイフケータイ、生活防水、ストラップホールがなくなったのは痛いんだけど、引き換えにスペックが格段に上がってポケモンGOもストレスフリーとなったんで、オッケー。
また、ケータイを持ち始めて、ずーっとauだったけど、今回の機種変でdocomoとなった。docomoの方がシムフリーのバリエーションが多いので、今後の機種変に際してそれもアドバンテージかな。
デフォルト以外でインストールしたアプリは今までどおり。
twitter LINE Instagram facebook
Y!ファイルマネージャー Dropbox AndFTP Jota+
Kinoppy Kindle shuttle
PokemonGO
ぐらい、かな。
CPUもランクが上になり、メモリも増えて、全体的に動作・レスポンスはきびきびと指についてくるようになった。
これで、わたしの使ってるガジェットを眺めると、
ケータイ:zenfone4
タブレット:Zenpad8.0
ノートパソコン:vivobook
と、すべてASUS謹製。
ASUSの回し者じゃないけど、どれも満足度は高い。
特にタブレットは、今まで無駄になっていた時間を使えるようになって校正の修正や確認作業に使える時間が増えて大助かり、だ。
初期不良のハズレ個体だったzenfone4のために出かけた赤坂見附の直営店も好感度の高い対応でおススメ。預ける期間、手元にケータイがなくなるわけだけど、その間、代替機を出します、って初めて聞いた(うちは間に合ってるんでお断りしたけども)
https://gc.digitalriver.com/store/asusjp/html/pbPage.akasaka/
さらについでに赤坂見附・赤坂に行ったら、しろたえのチーズケーキ、シュークリームは必須。
https://tabelog.com/tokyo/A1308/A130801/13002850/
レアチーズケーキもシュークリームも濃厚なのに後味すっきり。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」