サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

CotEditor をストップウォッチとして使う

はじめに

 時間を計測するストップウォッチですが、計測するということは即ちどこかに記録するということで、いっそそのままテキストデータになっていると嬉しい、のではないか。

 ということで、CotEditor から実行できるスクリプトとしてストップウォッチがわりに使えるものを作ってみました。

使い方

  1. CotEditor で新規ドキュメントを開きます。
  2. はじめに、ストップウォッチをスタートさせるスクリプトを実行します。
  3. 次に、ラップタイムを記録するスクリプトを実行します。

実行結果

  1. スタートのスクリプトを実行すると、CotEditor で編集中のドキュメントの末尾に「00:00.000」と出力します。
  2. ラップタイムのスクリプトを実行すると、スタートからのラップタイムを、同じ形式の文字列で出力します。やはりドキュメントの末尾です。

実行結果例

ショートカット

 それぞれのスクリプトにショートカットを割り当てたい場合は、下記のスクリプトを保存する際、ファイル名に特別な記号を付与してください。

 例えば、スタートを [Command] + [Control] + [S] にしたい場合のファイル名の例は「StopWatch_Start.@^s.php」です。「@」が [Command] に、「^」が [Control] に該当します。他のモディファイアキーは CotEditor の「ヘルプ」メニューから、「CotEditorスクリプトガイド」→「スクリプトについて」を開いていただき、「CotEditorスクリプトのファイル名規則」を参照してください。

副作用

 スタートのスクリプトを実行した時に、ユーザの「書類」フォルダの下に、テキストファイルを一つ作成します。内容はスタートした時刻文字列です。ラップのスクリプトは、このファイルを読んで差分時間をラップタイムとして出力しています。このファイルは不要になったら消してください。ファイル名は(スクリプト内に書かれていますが)「com.hatenablog.saponote.StopWatch.txt」です。

スクリプト

 以下の PHP スクリプトを、上記のように好みのファイル名で保存していただき、実行権を与えて、CotEditor のスクリプトフォルダに格納してください。

 実行権を忘れないでくださいね。

StopWatch_Start.php

#!/usr/bin/php -q
<?php
// %%%{CotEditorXOutput=AppendToAllText}%%%

echo "00:00.000\n";
file_put_contents($_SERVER['HOME'] . '/Documents/com.hatenablog.saponote.StopWatch.txt', microtime(true), 0);

StopWatch_Lap.php

#!/usr/bin/php -q
<?php
// %%%{CotEditorXOutput=AppendToAllText}%%%

$start_time = file_get_contents($_SERVER['HOME'] . '/Documents/com.hatenablog.saponote.StopWatch.txt', false);
$lap_time = microtime(true) - $start_time;

list($sec, $millisec) = explode('.', $lap_time . '');
$m = floor($sec / 60);
$s = $sec % 60;

echo str_pad($m, 2, 0, STR_PAD_LEFT) . ':' .
     str_pad($s, 2, 0, STR_PAD_LEFT) . '.' .
     substr($millisec, 0, 3) . "\n";

おわりに

 タイムキーパー的な仕事をしている人には役に立ちそうな気がしますが...そのような仕事をしていて、CotEditor を使っていて、スクリプトにも明るい人...使う人、いるのでしょうか...。

 動作を確認したサポンテの Mac では PHP のバージョンは 7.3.11 でした。

編集中のHTMLに書かれたイメージファイルをQuickLook【CotEditor】

はじめに

 html をテキストエディタで書く人って、少数派だとは思うのですが。

 以前サポンテは html を手書きしていました。html を身につければ、高価なエディタを使わずともホームページを作成できるためです。

 macOS には、QuickLook という非常に便利な機能があります。

 html 編集中に、img タグに埋め込まれているイメージファイルを、ちょこっと確認したいことがあります。Finder に戻っても良いのですが、images ディレクトリが込み入ったところにあったりすると、少々面倒です。そんなときは、編集中のエディタから直接確認できれば便利です。

 CotEditor には、編集中の書類に適用できるスクリプトを簡単に追加できる機能があります。CotEditor と QuickLook のコマンドライン版である qlmanage を AppleScript で組み合わせれば、それが実現可能です。

動作イメージ

 編集中の html(に限りませんが)書類から見た相対パス文字列を選択しスクリプトを起動することで、該当の相対パスに存在するファイルを QuickLook で表示します。確認したら Space キーで閉じることができます。

スクリプト動作イメージ

スクリプト

 一部のスクリプト呆備録様より拝借しました。

ファイル、フォルダの存在確認 - 呆備録

 下記のスクリプトを拡張子 .scpt で保存して CotEditor のスクリプトフォルダに入れれば、CotEditor から直接 QuickLook できるようなります。

-- CotEditor にアクセスする
tell application "CotEditor"
    -- CotEditor が何らかのドキュメントを開いているかどうか確認する
    if (exists front document) then
        -- CotEditor の選択テキストを取得する
        set theSelection to contents of selection of front document
        -- テキストが選択されていたことを確認する
        if theSelection is not "" then
            set dirpath to path of front document
            set dirpath to quoted form of dirpath
            -- 最前面書類のパスを取得する
            set thePath to do shell script "dirname " & dirpath
            -- パスが取得できたことを確認する
            if thePath is not "" then
                -- ファイルが存在することを確認する
                if isExistItem(thePath & "/" & theSelection) of me then
                    -- QuickLook を開く
                    do shell script "qlmanage -p " & thePath & "/" & theSelection
                end if
            end if
        end if
    end if
end tell

on isExistItem(thePosixPath)
    -- 拝借元:https://oppara.hatenadiary.org/entry/20060209/p1
    try
        set theFilePath to thePosixPath as POSIX file
        set theAliasPath to theFilePath as alias
        return true
    on error
        return false
    end try
end isExistItem

動物を殺してきた

 サポンテは現在、ヴィーガンヴィーガニズム)について学んでいます。なので、そのような話題が今後増えていくことが予想されますが、その前に言っておかなければならないことがあります。

 サポンテは動物を殺してきました。そして、今後も機会があれば殺すことになると思います。その話をしたいと思います。

続きを読む

スズメが消えた

 サポンテの住んでいる周りの結構広い範囲に、スズメが一羽もいないことに最近気づきました。怖いです。何が起きているのでしょうか。

 二年くらい前には確かいました。いたと思います。

 ヒヨドリはいました。カラスも見ました。ムクドリは毎年雨戸に巣を作ります(困りものですが)。でもスズメはいません。減っているとは聞きますが、一羽もいないのはおかしいのではないでしょうか。なにかとても深刻なことが起きている気がします。

 みなさんの周りはどうですか?スズメ、いますか?

スズメの謎―身近な野鳥が減っている!?

スズメの謎―身近な野鳥が減っている!?

  • 作者:三上 修
  • 発売日: 2012/12/01
  • メディア: 単行本

不買運動なんて成功しない

 実に見事に話題になっていますね。

 #NIKE不買運動 に気勢を上げる皆さまの様子→「日本人の本当の怖さを知らない」「ゴミとして処分してしまえ!!」「友達や家族にも伝える」 - Togetter

 人種差別を真っ向から描いたナイキのCMは、なぜ作られたか|遠藤 結万|note

 サポンテはスポーツブランドには(とくに経済的理由から)無縁なので、NIKE 製品は買ったことはないし、普段は広告も目にすることがないのですが、こうまで話題になると、いやでも見てしまいます。怒っている人は、ほんとうに良い具合に話題作りに手を貸していると思います。

 さて、不買運動を促している人たちがたくさんいますが、サポンテには成功するとは思えません。日本では成功したことがないためです。

 日本でもしばしば、いろいろなものに対する不買運動が起きたことがありました。しかし、残念なことにどれも長続きしませんでした。

 「のどもと過ぎれば熱さ忘れる」「人の噂も七十五日」などのことわざにもあるように、どうも日本では同じ話題を長く記憶に留めておく人というのは少数派であるように感じられます。

 (まあ、同様の理由で広告の効果が薄れるのも早いような気がしますが)

日本人の本当の怖さを知らない

 怖くないでしょうね。日本で不買運動が長続きしない歴史があることは、まず間違いなく調べがついているでしょう。

 翻って韓国では、日本製品不買運動が長く続き、ビールなどは壊滅的な打撃を受けました。意図した効果の程はわかりませんが、運動としては大成功しています。

 日本人も、韓国に見習った方がいいと思いますよね。

ケージ飼いの卵が危険な理由

はじめに

 現代ビジネスに、次のような記事がアップされ、はてなブックマークでも話題になっていました。

日本人が知らない「卵」のアブない現実…世界と「決定的な差」があった(森 映子) | 現代ビジネス | 講談社(1/7)

 サポンテは百鶏園の YouTube チャンネルを好んでチェックするなどニワトリが大好きなので、ケージ飼育の問題は知っていました。しかし記事ではその他に、そのような飼育が蔓延る背景について言及があり、その部分は知らなかったので参考になりました。

 この記事と、ブックマークコメントについて思ったことを述べようと思います。

続きを読む

ヴィーガン幼稚園

はじめに

 先日なんとなく Youtube を見ていたら Vegan Kindergarten というタイトルが目に飛び込んできました。

 サポンテはヴィーガンでないばかりか、ベジタリアンですらないのですが、この概念はとてもいいなとすぐに感じました。

 ヴィーガンの両親にとっては良い選択肢になり、そうでない子どもにとっても、一日のうちの一食とおやつ程度を菜食にしたところで大勢に影響がない、また、宗教的な事情がある家庭であっても問題が少ない等、良いことづくめであるように感じたためです。

 イスラエルにできた幼稚園のようです。

続きを読む