macOS SierraでSIPを無効にする方法

Sierraには、SIP(System Integrity Protecton)というセキュリティを強化機能が追加されていて、sudoを使ってもシステム用とされる/usr等のディレクトリに変更を加えられないようになっていて、開発環境の構築になにかと不都合です。

SierraでIllustrator(CS3~6)のエラーを回避する方法

macOSをSierraにバージョンアップすると、せっかく構築した開発環境にいろいろ障害が出そうなので、ずっとMarvericsで頑張っていましたが、iTunesなどのバージョンアップについていけなくなったので、やむなくSierraに移行しました。

Perl:文字列前後のスペース&タブを削除

運営している俳句サイトで自動句会システムを作動させている。

ユーザーが自分が詠んだ俳句をテキストフォームを使って投稿するという仕組みなのですが、キーボードからの入力ではなくて、コピー貼付け操作をされる方も多く、意図しないスペースが入ったまま投稿されるケースが多いです。そのままですとシステムが正常に処理できないことがあるので、投稿受付時に不要なスペースやタブを自動的に削除するように対策を施すことにしました。

UpFtpをMacとLinuxとで共用する方法

UpFtpと言うのは、結城浩さんの作られたMakeWebと併せて使うためのFTP自動化ツールのことです。

  • Makeweb:テキストをXHTMLに変換するPerlスクリプト
  • UpFtp:ホームページ更新用Perlスクリプト

これらのツールを使えば、MakeWeb記法(Markdown記法のような書式)で書いた、index.txtをMakeWebでコンパイルしてindex.htmlを生成させ、UpFtpでサーバーに送って更新する…という手順を下記のように makefileに書き、make -k するだけで自動処理されます。

メモ機能に特化した超シンプルなhowm+Dropboxの設定

メモ機能に特化したhowmの設定を紹介します。

  • GTDとしては使わないのでメニュー画面は使いません。
  • メニュー画面は使いませんが検索などの基本機能は全て使えます。
  • 新規投稿と一覧表示のみ直接使えるようにkey-bindしています。
  • ファイルは、スマホや他の端末からも共有出来るようにDropboxで管理します。
  • メモは、markdown-mode で書きます。理由は後述します。

howm-memoの設定

;*************************************************************************
;; howm-memo.el                       last updated: 2017/06/09
;*************************************************************************
;; M-x package-install howm
;; (use-package key-chord)
;; (use-package use-package-chords
;;   :config (key-chord-mode 1))
;;-----------------------------------------------------------------------
(use-package howm
  :init
  (setq howm-view-title-header "#"
        howm-directory "~/Dropbox/howm"
        howm-file-name-format "%Y/%m/%Y-%m%d-%H%M.md"
  :config
  (setq howm-view-split-horizontally t      ;; 一覧バッファと内容バッファを横に並べる
        howm-view-summary-persistent nil    ;; RET でファイルを開く際一覧バッファを消す
  :chords ((",," . howm-create)             ;; メモを書く
           ("@@" . howm-list-all)))         ;; メモ一覧を開く

;; 空になったファイルを尋ねずに自動削除:howm以外でも有効
(defun my:delete-file-if-no-contents ()
  (when (and (buffer-file-name (current-buffer))
             (= (point-min) (point-max)))
    (delete-file
     (buffer-file-name (current-buffer)))))
(if (not (memq 'my:delete-file-if-no-contents after-save-hook))
    (setq after-save-hook
          (cons 'my:delete-file-if-no-contents after-save-hook)))

;***********************************************************************
; end of file

mozc_emacs_helper on macOS Sierra

macOS Sierra をクリーンインストールしたので mozc_emacs_helper を使えるようにした。google日本語入力と連携できるようにビルドできるという以下のサイトの Tips を参考にしたが、ちょっと解りにくかったので備忘録として整理しておく。