Archive for the 'news' Category

2017/05/19 FileMaker Pro 16でセキュリティ機能が追加される

先日、FileMaker Proの最新バージョンv16が発表され、FileMakerからお試し版がダウンロードできるようになりました。

手元のデータベースを試してみたところ、メニューから(AppleScriptを呼び出している)FileMaker Scriptを実行したら実行権限エラーに。

display dialog程度のコマンドが書いてあるAppleScriptでは実行権限エラーにはなりません。正確に書けば、

「FileMaker Proを操作するAppleScriptがFileMakerスクリプトステップ中に書かれていた場合には実行権限エラーになる」

という状態です。ただし、これは仕様にもとづく動作であり、バグではありません。

FileMaker Pro 16では、アクセス権セットの「拡張アクセス権」で、詳細なシステムへのアクセス機能の許可/禁止が行えるようになったようです。

FileMaker Script中でAppleScriptを実行していると、「Apple EventおよびActive-XによるFileMaker操作の実行を許可」の項目にひっかかってAppleScriptの実行が遮断されるとのこと。

FileMaker Script中におけるAppleScriptの実行を許可するためには、この、

  「Apple EventおよびActive-XによるFileMaker操作の実行を許可」

にチェックを入れておく必要があります。

私が気づいていなかっただけで、より以前のFileMaker Proで追加されていた機能である可能性もあります。

2017/04/01 4/9(日)秋葉原で開催される「技術書典」への準備すすむ

4/9(日)に秋葉原「AKIBA SQUARE」で開催される技術書系同人誌即売会「技術書典2」への参加のために、準備をすすめています。

ぴよまるソフトウェア(え-11)ブースの目印は、こののぼりになる予定です。

のぼりは、書斎に飾ってあります。

img_0283_mini.png

2017/03/28 Keynote/Pages/Numbersがアップデート

Keynote/Pages/Numbersがアップデートし、それぞれKeynote 7.1、Pages 6.1、Numbers 4.1になりました(要macOS 10.12)。

■Keynote 7.1.0
–AppleScript用語辞書の変更点
・current slideがread only属性ではなくなった
・image formatで指定できる値が変更された
small / medium / large –> 60p / 540p / 720p / 1080p / 2160p / native size
・movie formatで指定できる値が変更された
small / medium / large –> 360p / 540p / 720p / 1080p / 2160p / native size
–機能上の変更点
・PDF書き出しをmacOS 10.12.4上で行えるようになった(権限エラーが出なくなった)

■Pages 6.1.0
–AppleScript用語辞書の変更点
・exportコマンドで指定できるフォーマットとして「formatted text」が追加された(RTF?)
–機能上の変更点
・PDF書き出しをmacOS 10.12.4上で行えるようになった(権限エラーが出なくなった)

2017/03/11 macOS 10.12のsayコマンドにバグ

Appleのディスカッションフォーラムで報告された内容によると、macOS 10.12上のsayコマンドで「特定の文字の組み合わせで文字を無視する」とのこと。

これは、気づいたユーザーをほめるべきなのか、こんな状態でOSをリリースするAppleを非難すべきなのか、その両方なのか。macOS 10.12ではAppleScript処理系のバージョンは(macOS 10.11から引き続き)2.5のまま変更はないので、OS側のテキスト解析系のサービスのバグなんでしょう。

日本語の文字列の範囲でも他に何かありそうな雰囲気がしますし、他の言語でも何か問題がありそうです。

AppleScript名:音声読み上げバグ(10.12)
say げる” using “Otoya” –> “げる”–* Bug *
say “もげる” using “Otoya” –> “もげ”–* Bug *
say “もゲル” using “Otoya” –> “もげる”
say “モゲル” using “Otoya” –> “もげる”

★Click Here to Open This Script 

AppleScript名:音声読み上げバグ確認(10.12)
set aStr to “あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやいゆえよわをんがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽ”
set aList to characters of aStr

repeat with i in aList
  set sayText to i & “げる”
  
say sayText using “Otoya”
end repeat

★Click Here to Open This Script 

2017/02/25 技術書典2で新刊書籍「iTunes Control」を頒布します

ぴよまるソフトウェアは、4月9日に秋葉原アキバ・スクウェアで開催される「技術書典2」(え-11)に出展。新刊電子書籍を販売します。

tbf2.png

新刊のタイトルは「iTunes Control」。iTunes+AppleScriptにおける「Hello World」体験を提供する本で、誰にでもわかり、誰にでもその実態を経験できるというもの。難易度も急に上がったりしません(Hop, Step, Jumpの3段階)。

book2.png

book3.png

book4.png

edama2さんに1か月前ぐらいに見せたら「前作からかわりすぎ!!!」と驚かれたので、「頭どうかしちゃったの?」「別人か?!」とかいうショックをやわらげるためにここに表紙その他を掲載しておきます(^ー^;;。

ブースではQRコードで書籍の販売を行い、販売したQRコードをスマホで読み取って販売元にメール送信すると、クラウドストレージにアップロードされた書籍のURLがメールで返送されてきます。

そして、この販売システム自体がAppleScriptで作ってあり、Mac上で稼働しているのです。

2017/02/23 Myriad Tables v1.0.7がリリースされる

Shane StanleyによるAppleScript Libraries「Myriad Tables Lib」のバージョン1.0.7がリリースされました。AppleScriptから手軽に「表」インタフェースを利用可能にするものです。

table3.png

同ライブラリをサイトからダウンロードし、~/Libraries/Script Librariesフォルダに入れるとAppleScriptから使えるようになります(このフォルダが存在しない場合には作成)。

tables01.png

tables02.png

同ライブラリにはAppleScript用語辞書が用意されており、Script Editorに直接ドラッグ&ドロップではなく、いったんScript Editorの「ライブラリ」ウィンドウに登録し、リスト上の「Myriad Tables Lib」を選択した状態で「用語説明を開く」をクリックすると、用語辞書の内容を確認できます。

tables003.png

tables004_resized.png

一般的に、Excel書類やCSVなどで支給されたデータに対して、どの行のデータを処理するかをセルの選択範囲で明示的にScriptに対して指示することはよくあります。ただ、実行環境にMicrosoft Excelがすべてインストールされているわけでもありません。

Myriad Tables Libがあれば、CSVデータ中の処理範囲を選択したり、簡易的なデータ入力・確認用のGUIをAppleScriptから利用できます。

Myriad Tables Lib 1.0.7の新機能として紹介されているものを、同ライブラリ添付のサンプルコードから紹介してみましょう。

新機能:セルのダブルクリックを「OK」ボタンのクリックと等価とみなす「double click means OK」オプション

table1.png

AppleScript名:double click means OK
use AppleScript version “2.4″ – Yosemite (10.10) or later
use framework “Foundation”
use scripting additions
use script “Myriad Tables Lib” version “1.0.7″

– This table shows how to use the ’double click means OK’ parameter
display table with data {“One”, “Two”, “Three”, “Four”, “Five”} with title “Simple table” with prompt “You can double-click an entry rather than selecting and pressing OK” with double click means OK and empty selection allowed

–> {rows selected:{5}, values selected:{”Five”}, values returned:{”One”, “Two”, “Three”, “Four”, “Five”}, button number:1, timed out:false, final position:{978.0, 254.0, 246.0, 278.0}}

★Click Here to Open This Script 

新機能:ダイアログの表示座標を指定する「initial position」オプション

table2.png

AppleScript名:initial position
use AppleScript version “2.4″ – Yosemite (10.10) or later
use framework “Foundation”
use scripting additions
use script “Myriad Tables Lib” version “1.0.7″

– This table shows the use of the ’initial position’ parameter to set the dialog’s position
set theTable to make new table with data {{1.0, 1, 1.11, 1}, {-2.0, 2, 2.2, 2}, {3.11, -3, 3.11, 3}, {4.0, 4, -4.41, 4}, {5.0, 5, 5.55, -5}} column headings {“Reals”, “Integers”, “Reals”, “Integers”} with prompt “This table appears at the top-left of the screen” with double click means OK and empty selection allowed
modify table theTable initial position {0, 0} with alternate backgrounds
display table theTable

★Click Here to Open This Script 

initial positionでは画面上の表示座標だけでなく、サイズ{表示位置(X), 表示位置(Y), 表示幅(X),表示高さ(Y)}の指定も可能です。

AppleScript名:initial position_2
use AppleScript version “2.4″ – Yosemite (10.10) or later
use framework “Foundation”
use scripting additions
use script “Myriad Tables Lib” version “1.0.7″

– This table shows the use of the ’initial position’ parameter to set the dialog’s size and position
set theTable to make new table with data {{1.0, 1, 1.11, 1}, {-2.0, 2, 2.2, 2}, {3.11, -3, 3.11, 3}, {4.0, 4, -4.41, 4}, {5.0, 5, 5.55, -5}} column headings {“Reals”, “Integers”, “Reals”, “Integers”} with prompt “This table’s size and position have been set in the script” with double click means OK and empty selection allowed
modify table theTable initial position {100, 10, 400, 400} with alternate backgrounds
display table theTable

★Click Here to Open This Script 

新機能:ダイアログの前回表示位置&サイズを取得する「final position」

AppleScript名:final position
use AppleScript version “2.4″ – Yosemite (10.10) or later
use framework “Foundation”
use scripting additions
use script “Myriad Tables Lib” version “1.0.7″

– This table shows how to retrieve the final position and size of the dialog
set theTable to make new table with data {{1.0, 1, 1.11, 1}, {-2.0, 2, 2.2, 2}, {3.11, -3, 3.11, 3}, {4.0, 4, -4.41, 4}, {5.0, 5, 5.55, -5}} column headings {“Reals”, “Integers”, “Reals”, “Integers”} with prompt “Move and resize this dialog before clicking OK” with double click means OK and empty selection allowed
modify table theTable with alternate backgrounds
set theResult to display table theTable
set theBounds to final position of theResult

– This table is positioned using the results from the previous one
set theTable to make new table with data {{1.0, 1, 1.11, 1}, {-2.0, 2, 2.2, 2}, {3.11, -3, 3.11, 3}, {4.0, 4, -4.41, 4}, {5.0, 5, 5.55, -5}} column headings {“Reals”, “Integers”, “Reals”, “Integers”} with prompt “This table’s size and position should match those used last time” with double click means OK and empty selection allowed
modify table theTable initial position theBounds with alternate backgrounds
display table theTable

★Click Here to Open This Script 

2017/02/18 com.apple.quarantineがドロップレットに与える影響

macOS, Sierraになって、AppleScript Dropletの挙動が変わり、「Dropletにファイルをドラッグ&ドロップしてもドロップしたすべてのファイルが処理されるわけではない」という状況が確認されています。

そもそもの始まりは、DropletにDropしたファイルが本来1つのリストとして処理されるはずだが、複数のリストに分割されて処理されるというものでした。実行してみると、たしかにそのとおりで、デスクトップ上に転がっているファイルを処理してみても、Dropした個数が10個で、openハンドラに引き渡されるファイルは1つのlistに格納されて処理されることを期待するところですが、そうなっていませんでした。

この、「Dropされたファイルが1回で処理されずに複数のファイルオープンイベントとして処理される」問題の検証を行ってみたところ、さらに不思議な挙動が見えてきました。

一番確認しやすいのは、「ダウンロード」フォルダ中のファイルをDropletにDrag & Dropして個数をかぞえてみた場合です。

Dropしたファイルの数と、Dropletの中でカウントした受信ファイルの総数が合わないケースが確認されました。

本件についてAppleScript Users-ML上でいろいろ情報交換したところ、

(1)Dropletの処理に影響を与えているのは、ファイルの拡張属性(Xattr)の「com.apple.quarantine」という属性らしい

(2)OSのレベルでの挙動の変更により、「com.apple.quarantine」属性を持つファイル、つまり安全性が確認されていない(OS側から「ダウンロードされたファイルですが、オープンしてもよいですか?」という確認ダイアログでユーザーに承認されていない)ものについては、オープンされないようになっている模様

(3)AppleScriptのDropletだけでなく、一般的なmacOSアプリケーションでも同じ状況

なので、AppleScriptの処理系のバグということではない様子(macOS 10.11上とバージョン変わってないし)。とはいえ、その状況がユーザーにフィードバックされないため、「ドロップレットの挙動がおかしくなった」という風にしか見えないところ。

com.apple.quarantine属性を持つファイル(ダウンロードされたりメールに添付されて送られてきたりしたもの)を処理しないというのは仕方のないところかもしれませんが、確認したり状況を明示的に解除するためのインタフェースが用意されていないのは問題に見えます。

いくつか同属性を解除する方法は見つけていますが、本来セキュリティ維持のための仕組みであり、ユーザー側で対応を試みてもOS側で迂回されたりガードされる可能性もあります。

→ ASOCベースのDropletにおいて回避方法がわかってきました

個人的には、Dropletが好きではないのであんまりDropletを作らない(仕事でもDroplet処理は極力避けている)ことにしているため、問題に気づかなかったものです。

2017/02/14 Bare Bones SoftwareがTextWranglerを廃止してBBEditに一本化

Mac系の老舗ソフトウェア開発会社Bare Bones Softwareのフリー版テキストエディタ「TextWrangler」が廃止になり、BBEditに一本化されることが2017年初頭に発表になっていました。

bbsoftware_resized.png

たまたま用事があって、Bare Bones Softwareに連絡をとったら「TextWranglerが廃止になった」ことを知りました。すぐにWebサイト上からダウンロードできなくなるわけではないとは思いますが、時間の問題でしょう。

ちなみに、BBEditは同社のWebサイトからお試し版がダウンロードできて、30日間無料で試用が可能です。30日をすぎたあとは、TextWrangler相当の永遠お試し版として使い続けられる様子です。

bbeditandtw_resized.png

たしかに、TextWranglerはBBEditの「お試し版」的な位置付けで開発され、広く愛用されたソフトウェアではありました。しかし昨今では、逆にTextWranglerの知名度が上がりすぎてBBEditへの移行を促す販促製品としてはふさわしくない存在になっていたことも事実であります。

自分の常用しているテキストエディタは、mi、TextWranglerの2本。どちらかといえば、TextWranglerの方が多いかなといったところ。

BBEditについては、「重そう」とか「HTMLコンテンツ作成系の不要な機能がいっぱいついていてメニューがごたごたしている」といった印象を持っていたのですが、(久しぶりに)実際に動かしてみると、それほど違いがあるわけでもないようです(メニューが少し多いかな、ぐらい?)。

AppleScript用語辞書について、TextWranglerをそれほど重箱の隅までつつきまくったわけではなかったのですが、比較してみたら(ささいな違いをのぞくと)31か所違っていました。BBEditの方が多機能です。

asdictdiff_resized.png

ただ、TextWrangler用のAppleScriptはほぼそのままBBEdit用に転用できるので、何も考えないレベルで使いまわしが可能でしょう。

2017/02/07 Apple Mailing Listsが復旧

US Appleがホスティングしている開発系(&営業系、ユーザー系、政府官公庁系、学校系)メーリングリスト(以下、ML)が、どうやら本日復旧したようです。

週明け(昨日)に復旧していなかったので「まだ復旧しないんだけど?(怒)」とDeveloper Connectionsに電話。その翌日に復旧と相成った次第です(疲れた)。MLのサーバーは会社規模のサーバー管理部署とも違っていそうだし、Developer Supportも当事者ではなさそうだし、いまひとつどこの誰が担当しているのか分かりにくい存在です。

トラブル原因や経過についてはとくに説明もなく、あっけなく復旧。ただ、自分がしつこく口うるさく小突き回したから復旧した、とも思えません。

# 情報収集してみたところ(というよりも、当人から直接教えてもらったんですが)、MLの某メンバーが直接US Appleの社員に電話して、その社員からSysopに復旧依頼を出してもらったもよう

そもそも、MLに問題があったときの連絡先メールアドレスが、その当のMLサーバー上のアドレスに設定してある、という運用はマヌケではないのか? MLサーバーの管理担当者の連絡先は、他のメールサーバー上に設定しておくべきではないのか? といったことは考えないんでしょうか?

postmaster_is_burning.png

(AppleScript系以外の)他のML参加者は、「MLが停まっていた」という事態はあまり認識していなかったようで、「なんで流れてこなかったんだろうねぇ」ぐらいの呑気な状況(ーー;;

全ML参加制覇(ほとんど読んで分析するだけ)&全MLからのAppleScriptによる情報抽出ロボット運用を行なっている唯一の存在であることが、はからずしも明らかになってしまいました(^ー^;

# 過去アーカイブがまだ復旧していないもよう(汗)

2017/02/01 続・US Appleの各種MLが先週末からダウン

US Appleが主催している開発系(&営業系、ユーザー系、政府官公庁系、学校系)メーリングリスト(以下、ML)が先週末(2017/1/28)からダウンしています。

ml_lastupdate.png

postmasterにメールしたものの、メールが受信されている様子がなく、仕方なくCEO直メールを行なったというのが前回までのあらすじです。

で、現地が深夜にもかかわらずメールの返事が(CEO直轄チームの誰か)から来て、「いい方向」に(勝手に)受け止めてしまったのですが、文面を読み直すと、

Mailing Listについて知らないApple社内の人間が、

『まーた、メールの調子がよくないとかしょーもない内容のメールを送ってきたよ。どうせメーラーの設定がわかんないとかそういうレベルだろ。いるいる、こういうの。こいつ、Apple Careのサポートにまわしといて〜』

的な扱い方をした(優雅な文面で)という状況。全力でスルーされた模様です。

Apple社内でMLサーバーを管理している(放置している)部署がいまひとつわからないので、Developper Support経由で、

「こういう問題が起きて困っている。あなたの部署の案件ではないかもしれないが、社外からでは適切なエスカレーションの窓口がどこなのかわからない。調べてもらえないか?」

と、電話してお願いしました。極東の島国の1零細デベロッパー(自分)が騒いでいるぐらいなので、他の国の連中も騒いでいると思うのですが、不思議とそれが表面化しません。

# 案外、すべてのMLに入っていてAppleScriptのプログラムで高度なメールの仕分けをしているような変な人種しか、この異常事態に気づかないのかもしれません。あ、自分のことか、、、

すぐに折り返しでUS Appleのデベロッパーサポート(日本語を話せる人)から電話が来て、

 ・この件については社内で認識していなかった(まあそうでしょう)
 ・もういちど、postmaster宛にメールを投げて様子を見てくれ
 ・すぐには対応できない可能性が高い。申し訳ない

という趣旨の説明をされました(本当に申し訳ない、という感じで)。自分も「まあ、そうなりますよねー」という返事しか出てきません。Tim Cookにメールした、といったら大ウケしていました(汗)。

Apple社内は超縦割り構造で、他部署が管轄している情報にアクセスできないし、部署を飛び越えて何かのアクションを行いにくい状態になっていることは知っています。

もし、今回のMLサーバーの問題が、外部からのクラッキングへの結果として発生した可能性があれば、問題追及のためにさらなる調査が必要でしょう(数年に一度、勝手に落ちてるんでその可能性は低そうなんですけれど)。

ただ、この社内構造は「Steve Jobsという部署間の垣根や階層を取り払って活動できるスーパーバイザー」がいる時のものであり、彼亡きあともこの構造を維持することに意味があるのかどうか、自分自身は懐疑的な立場です。

2017/01/31 US Appleの各種MLが先週末からダウン

US Appleが主催している開発系(&営業系、ユーザー系&政府官公庁系+学校系)メーリングリスト(以下、ML)が、先週末からダウンしておりました。

同サイトに記載のあるpostmasterのアドレスあてに確認のメールを出すも応答がなく、Webサーバー(http://lists.apple.com)は反応するもののMLサーバーかメールサーバーが単独で落ちているような雰囲気。

AppleのMLサーバー運用は社内的にほぼ放置状態のようで、数年に一度クラッシュしては復旧を繰り返してきました。10年ぐらい前にいちどハードウェアごとクラッシュしてサーバーごと入れ替えたことを記憶しています。

AppleScript Users MLは1999年ごろからのログが残っており、18年ぐらい続いている計算になります(それ以前のものはメール送信側のシステム日付の設定ミスだかなんだかでその日付になっていますが実際には異なるようです)。

そんなMLサーバーの復旧について、postmasterにメールで確認しても返答がないので、CEO宛てに直接「なんとかしてー」とメール。

本人が読むことはなくても、CEO直轄部隊が手分けをしてメールの処理をしていることは周知の事実です。さきほど、メールの返事が来ると同時に遅配通知メールが届き、復旧に向けて動き出したことが感じられます(ただし、そこからが大変)。

外部からの攻撃を受けてダウンしていたような場合にはどーなのか。その後の展開が待たれるところです。

Apple系の開発者コミュニティには、大きく分けるとWeb上の開発者専用フォーラム(Developper契約者のみ利用可)と、誰でも入れるMLがあります(政府系や官公庁系、学校系のMLからは追い出されました)。自分は入れるMLにはすべて入っており、その数108ほど。それぞれのMLのログを手元でAppleScriptロボットによって自動で整理・分類しています。

数年前に「Apple社員はフォーラムに投稿しろ」といった社内通達があったためか(憶測)、メーリングリスト側にApple社員が投稿する量は大幅に減っています(といっても、フォーラム側に投稿しているようにも見えない)。

ただし、AppleScript系についてはApple社員とはほぼ関係のない独自の情報生態系が維持されており、社員が出てこなくてもほぼ関係ありません。

フォーラム自体ものぞいていますが使い勝手がいまひとつで、継続的に情報を蓄積していくことを考えるとMLに分があるように感じています(個人的な意見です)。

そんなわけで、メーリングリストがコケていると本当に困るのです。無事再稼働できるよう、祈るばかりです。

2017/01/30 Cocoa勉強会松戸で発表した内容を公開

2017/1/28に松戸で行われた「Cocoa勉強会松戸」でPiyomaru Softwareが発表した内容をSlide Shareで公開しました。

→ SlideShare Link

「”アイデアを練る”ソフトウェアとは?」と題し、アイデアを考えるプロセスそのものを分析。アイデア作成過程で行うさまざまな作業に、既存のソフトウェアがどのように役立ち、どのように役に立っていないのか、、、、また、新たに登場してきた技術によってどのように補完していけるのかを発表しました。

Cocoa勉強会「松戸」と聞くと、東京界隈(23区近辺)からはずいぶんと遠い印象を受けますが・・・ウチの最寄駅である西武池袋線「中村橋」駅からだと、中村橋→池袋→日暮里→松戸 でトータル45分(最短で、だいたい50分から1時間)。実はそれほど遠くありません。

Cocoa勉強会「池袋」「松戸」、「MOSA自習室(池袋)」など、Cocoa開発者向けのイベントがだいたい1週間に一度あるので、いろいろと刺激&勉強になります。

Cocoa APIへの理解や情報交換を目的とした集まりなので、発表もObjective-C、Swift、AppleScriptなどプログラミング言語のバラエティーに富んでいます。

2016/12/06 表インタフェースのダイアログを表示するライブラリ「Myriad Tables Lib」

Shane StanleyのAppleScript Librariesの最新版「Myriad Tables Lib」バージョン1.0.6が公開されました。こちらからダウンロードできるようになっています。

作ろうとすると割と手間がかかる表インタフェースがこうして手軽に呼び出せると、便利なケースが多いのではないでしょうか?

本バージョンのアップデート項目に「Japanese localization」という項目があり、どのあたりか分からなかったのですが、ボタンのタイトルが「Cancel」→「キャンセル」になっているあたりとか、表示用フォントのあたりなんでしょうか。

* Ability to show cells containing more than one line;
→ 複数行のテキストを含むセルを表示する機能(改行で区切ってある必要がある。セル幅で自動折り返しをしたりはしない)

* Ability to hide the Cancel button;
→ 「キャンセル」ボタンを隠す機能

* Improved handling of threading issues with accessory views;
→ アクセサリビューまわりのスレッドの取り扱いを向上させた(アクセサリビューのクリックイベントを受信できる)

* Ability to specify monospaced digits (10.11 and later only);
→ macOS 10.11以降で、等幅文字で数値の見た目をそろえる機能を追加

* Ability to have negative numbers appear in red;
→ マイナスの数値を赤で表示する機能を追加

* Ability to have column(s) appear in bold;
→ 指定カラムをボールド(太字)で表示する機能を追加

* Japanese localization.
→ 日本語環境に合わせたローカライズ

添付のサンプルScriptの実行例は以下のような感じです(処理内容抜粋)。

mtable1.png

mtable2_resized.png

mtable3.png

mtable4.png

mtable5.png

mtable6.png

2016/12/05 MOSA Tech MeetingレポートがMOSAのサイトに掲載されました

10月19日に渋谷で行われたMOSA Tech MeetingのレポートがMOSAのWebサイトに掲載され、ぴよまるソフトウェアがデモを行った様子をレポートしていただきました。

この日はiPhone 5のバッテリーが落ちまくってしまい、駅から10分程度の場所にある会場に1時間ぐらいかかって迷いながら走ってたどり着き、汗ダラダラのボロボロの状態でした(これで懲りてiPhone 5→iPhone 7に切り替え)。

あの日、土地勘のない夜の渋谷の街を駆け回って、諦めずに会場にたどり着いた自分を褒めてあげたい(^ー^;

発表に使ったスライドはこちらです

2016/11/27 書籍のフィードバック会レポート

img_1677.jpg

11/26に書籍「AppleScript最新リファレンス」「最新事情がわかるAppleScript 10大最新技術」のフィードバック会を池袋にて開催いたしました。参加者は全員で6人。本に載っている内容から、そうでないものまで話が尽きず、2時間という時間があっという間に過ぎてしまいました。

以下、当日やりとりされた内容を簡単にまとめてみました。

・アプリケーションのオブジェクト構造を理解しにくい(Adobe系アプリケーション)
→ Script Debuggerを使ってアプリケーションのオブジェクトを追う方法が便利なので、おすすめ。まずは、試用版をダウンロードするべき
http://latenightsw.com/

→ Script Debuggerの使い方を実際にレクチャーしてほしい
→ Latenight Softwareのサイト上に紹介ムービーがある
http://latenightsw.com/tutorials/

・アプリケーションの用語辞書の読み方、用語辞書を読んでScriptを書くにはどうしたらいいか?
→ AppleScript最新リファレンスの「Finder用語辞書攻略ガイド」「ノウハウ集〜未知のアプリケーションを操作する」に書いておいた。まずは、こちらを読んでほしい
→ 自分は、ネット上でサンプルを検索(英語で)、ML上の過去ログ、メーカーのサイト(Adobeなど)を調べる、アプリケーションに添付されているサンプルScriptを調べる、ときて、それでもなければ自分で調べながら書く

・TouchBarにAppleScriptから表示できないか?
→ display alert命令でダイアログ表示すると、TouchBar上にボタンが表示される。ただし、display dialog命令ではTouchBarにボタンは表示されない。OS上の特定のAPIを経由した時だけダイアログへのボタン表示がTouchBarに反映されるようだ
→ Githubに上がっている「TouchBar Server」で表示エミュレーションを非TouchBar搭載機でも行える
touchbar1.png

・サブルーチンの作り方について。大きなサブルーチンを作るか、小さいサブルーチンをつなげて作るのか?
→ なるべく小さいルーチンを作って、小さいルーチンの組み合わせで大きな機能を作っている。こういう作り方のほうが柔軟性が生まれるし、仕様変更などにも強い。ただし、仕様自体が複雑な場合にはそうもいかないケースもある

・AppleScriptによる並列処理ついて
→ 使い所、向き、不向きがあって難しい。とくに、処理のボトルネックが発生してスピードアップする場合としない場合がある(しないケースの方が多い)
→ ファイルI/Oや、CPUの温度上昇にともなう速度低下なども問題。試行錯誤が必要。何でも高速化できるわけでもない。ただ、クラウド系の処理は有望だと思っている

・AppleScript Librariesはバンドル形式のファイルでなくてもよいのでは?
AppleScript Librariesのファイル自体は「バンドル」形式のファイルでなくてもよいのでは? という指摘がありました。
→ 読み込んだり使ったりすること自体は無理ではないかもしれないが、Bundle IDやVersionを指定しての識別ができないのは危ない感じがする
→ Libraryの中に実行ファイルやFrameworkを入れて呼び出すことがよくあるので、個人的にはバンドル形式のメリットを多く享受している

・AppleScript関連の各種シェルコマンドの読み方がわからない問題
参加者から「コマンドの読み方がわからない」という指摘がありました。筆者が使っている読み方をその場で披露。たしかに、一般的な標準命令の読み方はコマンド一覧(「AppleScript最新リファレンス」の「文法編」)には書いておきましたが、シェルコマンド(「AppleScript最新リファレンス」の「ノウハウ編」の「ターミナルからAppleScriptを呼び出す」)にコマンドの読み方は書いていませんでした。
→ osascript(おさすくりぷと)、osacompile(おさこんぱいる)、osadecompile(おさでこんぱいる)、osalang(おさらんぐ) といったところ

その他、まだ発表していない内容について紹介を行ったり、参加者が作っているScriptの問題点について話し合ったりと、密度の高い時間があっという間に過ぎてしまいました(その後、喫茶店に移動して2時間以上話し込んでしまいました ^ー^;)。

本の内容にかぎらず、このような場を定期的に設けてもよいのではないかというところでした。

2016/11/08 macOS Sierraで実行できなくなった処理

macOS Sierra(10.12)になって、実行できなくなった、実行しても指定値を無視される処理が出てきました。

具体的にいうと、System Events.appでセキュリティをゆるく設定するための処理を受け付けなくなりました。

sys_event_dict.jpg

スリープからの復帰(wake)時にパスワードを要求しない、という設定を行っても無視されるようになりました。

AppleScript名:Sierraで実行できなくなった処理1
–http://piyocast.com/as/archives/4308
–macOS Sierraで実行できなくなった命令
tell application “System Events”
  tell security preferences
    set require password to wake to false
    
set aRes to (require password to wake)
    
–> true
  end tell
end tell

★Click Here to Open This Script 

システム環境設定の「セキュリティとプライバシー」で、設定内容を変更するさいにパスワードを要求するかどうかの設定で、true(要求する)と指定してもfalse(要求しない)という結果が返ってきます。かならずパスワードは要求させる、という意図はわかるのですが、こちらは返ってきている値が間違っています(かならずtrueでないとおかしい)。

AppleScript名:Sierraで実行できなくなった処理2
–http://piyocast.com/as/archives/4308
–macOS Sierraで実行できなくなった命令
tell application “System Events”
  tell security preferences
    set require password to unlock to true
    
set aRes to (require password to unlock)
    
–> false
  end tell
end tell

★Click Here to Open This Script 

2016/11/08 SierraのMail.app v10.2でSignatureにバグ

macOS Sierra(10.12)搭載のMail.app v10.2でsignatureの署名の名前(name)も署名本文テキスト(content)にもアクセスできないというバグがあることが判明しました。properties ofでアクセスしてこれらの属性値をまとめて取得しようとしても、おかしな結果が返ってきてしまいます。

AppleScript名:SierraのMail.app v10.2でSignatureにバグ
–http://piyocast.com/as/archives/4307
tell application “Mail”
  set aList to name of every signature
  
–> {missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value}
  
  
set bList to content of every signature
  
–> {missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value, missing value}
  
  
set cList to properties of every signature
  
–> {{class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}, {class:item}}
end tell

★Click Here to Open This Script 

2016/11/01 AppleScript本フィードバック会を11/26に池袋にて開催!

この夏に刊行した「AppleScript最新リファレンス」「AppleScript 10大最新技術」の2冊の電子書籍について、「ここがわからない」「もう少しかみくだいて説明してほしい」という点を筆者本人が直接ご説明する「AppleScript本フィードバック会」を11/26に池袋にて開催することといたしました。

# すでに、Edama2さんとfixさんは発起人ということで申し込みずみです

日時:2016年11月26日 18:30〜20:30
場所:〒171-0022 東京都豊島区南池袋1-16-20(ぬかりやビル2階)マイ・スペース MS&BB 池袋西武横店 1号室
募集人数:先着7名(いまのところ。増えたら会議室の変更なども検討します)

参加資格は、AppleScriptを実際に使っている方、興味を持っている方で、筆者の書籍を実際に購入した、あるいは購入しようと考えている方です。事前に内容を読んであることが望ましいです。

ふるってご参加ください。

→ お申し込みはこちら(connpassサイト)

2016/10/19 SierraのScript Menuにバグ〜凝ったAppleScriptが実行途中で停まる

macOS Sierraで日々いろいろ試していますが、その中で1つ大きなバグを見つけてしまいました。

scriptmenu1.jpg

Script Menuから実行したAppleScriptが途中で停止してしまうというものです(Appleに報告&検証&認定ずみ)。

かなり凝った(Cocoaの機能を呼び出しまくりな)AppleScriptをScript Menuから実行させてみたところ、途中で停止。スクリプトエディタ上でも、ASObjC Explorer 4上でも問題なく実行できているのに、です。

しかし、テスト前から「このレベルだとうまく動くかどうかわからんな〜」という予感はありました。macOS Sierraが機能よりもセキュリティを重視している印象があったため、「疑わしきは罰しまくり」な内部処理を行っていると感じていたからです。

停まったScriptの処理内容:

(1)Skimでオープン中のPDFのファイルコメント(Finder上で確認できるコメント)を取得して、コメント欄にURLが書いてあるか確認

(2)Skim上のPDFのページ数を確認して、いったんPDFをクローズ

(3)WebサーバーにアクセスしてWeb4コママンガの最新エピソードで、PDFのページ数を超える(=新規更新された)エピソードが存在するかを確認

(4)新規エピソードが存在していたら、1つずつ画像をダウンロードしてPDFに追記

(5)SkimでPDFを再オープンし、更新されたコンテンツの最初のページを表示

というものです(Webマンガを読むためだけに書いたもの)。Skim上のPDFをクローズしたまま実行が停止してしまいました。

問題が起きたと思われる箇所:

・最初にオープンしていた書類の再オープン???

・アプリケーションを指定しないでCocoaの機能を用いてのインターネットアクセス???

・httpsではなくhttpによる通信をしているから???

事前にApple側で想定していた範囲を超えるScriptを走らせたため、何らかのセキュリティ機構が働いたものと推測。これが、macOS Sierra, 10.12.1で修正されるかどうかは不明です。まー、10.12.3ぐらいに直れば御の字、常識的には10.12.5ぐらいまで行ってしまいそうな予感はあります(その頃には10.13のBetaが、、、、)。

ちなみに、ちょっとしたAppleScript(メールの仕分けを行う。何もopen/closeしない)であればScript Menuから問題なく実行できています。Finder上で選択中のファイルをPhotoshopでリサイズするScriptも大丈夫です。ファイルのopen/closeを行ったり、ネットワークへのアクセスを行ったりすると問題が出そうです。

2016/10/10 ASObjC Explorer 4が発展的解消を遂げる

yyyeyoyycyaye-2016-10-10-203135_resized.png

2016年9月25日付けで、Shane Stanleyが「asobjcEx」メーリングリストに投稿したところによると、ASObjCに特化した開発ツール「ASObjC Explorer 4」をディスコンにするとのこと。ASObjC Explorer 4の最新バージョン「4.1.17」はmacOS Sierraに対応しており、今日明日ですぐに困るようなことはないと思われます。

Script DebuggerのLate Night Software(Mark Alldritt)とShane Stanleyが協業することになり、その結果としてScript Debugger 6にCocoa Loggingなどの機能が導入されました。反面、ASObjC Explorer 4の今後が非常に微妙なものになってしまいました。

scripteditors.png
▲2015年2月にAppleScript関連ツールの状況をまとめた図

結局、ASObjC Explorer 4の終息(ディスコン)ということを選択したものと思われます。あえて日本語的な表現をするなら「発展的解消」ということになるでしょうか。

Shaneの開発力がよりメジャーな製品の開発現場で生かされるわけで、それについてはよかったと思います。

ただ問題は、Script Debugger 6がASObjC Explorer 4よりも使いやすいかというと、まだそういうレベルに達していないように感じる(Front-end processでの強制実行などなど)ことです。

asedito3_resized.png

Script Debugger 6にこの「最前面で実行する(Run in foreground)」の機能がなく、AppleScript互換のOSA言語を自前で実装しているという特殊な構造ゆえに、実装も難しいという状況と聞いています。これを解消するための解決策が「ASObjC Explorer 4をなくす」ということであれば、ちょっと残念です。

runinforeground1_resized.png
▲Apple純正スクリプトエディタの「フォアグラウンドで実行」機能(Controlキーを押すとメニューに出てくる)

runsinforeground2.jpg
▲ASObjC Explorer 4の「Run in foreground」機能

ASObjC Explorer 4自体にも問題がないことはなかった(エディタとして見ると、スタイル付きテキストのコピー&ペーストで、スペースに意図しない不可視キャラクタが挿入されるなど問題があった)のですが、個人的にはしばらくASObjC Explorer 4を使いたいところです。

2016/09/28 Script Assistant Ver. 1.0の送付を開始

script_assistant.jpg

ちょっとしたマニュアル(全17ページ)を作りつつ、Script Assistant Ver. 1.0を、電子書籍の購入者の特典希望の方々にお送りしました。

とはいえ、これってオマケなので(汗) ……もっと詳細なマニュアルを作成して、単体で(スクリプトつき書籍として)販売したらいいんじゃないか的な野望(ずいぶんちいさい野望だな、、、)はあります。

技術書典でご購入いただいた方々からの、書籍のアップデート版へのご希望が届いていないため、後日再度お知らせをお送りするつもりです(スパムメールとかに埋もれているのではないかと心配)。

2016/09/28 Cocoa勉強会 Ikebukuroで行った発表資料を公開

■AppleScriptでPDFからテキストを抽出する
http://www.slideshare.net/Piyomaru/extract-text-from-pdf

先日行われた「Cocoa勉強会 Ikebukuro」で行った発表資料をSlideShare上で公開しました(後日おっかけで作った補足資料なんで、思いっきりシンプルです)。

今年の初頭に参加させていただいた「Cocoa勉強会 関西」以来、いい勉強会にめぐまれていろいろ刺激を受けています。あれでREST系のAPIの呼び出しの敷居が低いことが理解できて、REST攻めまくることになった直接の原因であります。やっぱり、目の前でやっているのを見ると「あ、こうすればいいのか」といった理解が段違いです。

ただ、SlideShareへのPDFアップロードはなかなか大変です。Keynoteから書き出したPDFだと日本語部分が欠落するというお話だったので、久しぶりにPowerPointで資料を作りましたが……PowerPointから書き出したPDFでも部分的に文字ブロックが欠落するという(ーー;;

今週末の日曜日にはCocoa勉強会 松戸にも参加してきます。

2016/09/25 電子書籍購入者特典「Script Assistant Ver.1.0」

電子書籍「AppleScript最新リファレンス」「最新事情がわかるAppleScript 10大最新技術」の購入者特典としてご用意した、Script Assistant Ver 1.0の準備がほぼおわりました。

大変お待たせしてすみません。自分としても、AppleScriptの記述がこれなしではできないぐらいのモノになっているので、ちゃんと出したい(動かないとかいうことのないように)ところです。

これは、スクリプトエディタのコンテクストメニューから呼び出すAppleScript群であり、基本的に「参考書を持ち歩かなくてもScriptを書けるようにするもの」です。

たとえば、choose fileコマンドでJPEG画像ファイルだけファイル一覧に表示させつつ選択するような場合に、JPEGファイルのタイプってどう指定したっけなー、といった調べ物をしなくてはなりませんでしたが、Script Assistantを呼び出すと「じゃあ、どの種別のファイルを一覧表示に出すのか?」とScriptが聞いてくるので、JPEGファイルを指定すると、そのタイプを取得してスクリプトエディタ上にchoose fileコマンド+オプション指定したテキストを転送してくれます(AppleScriptからスクリプトエディタをコントロール)。

as1_resized.png

as2_resized.png

as3.jpg

as4.jpg

また、変数名のみの置換といったScriptもあります。単純にテキスト置換ではメッセージやらアプリケーション名称やらをすべて書き換えてしまいますが、AppleScriptの構文要素のうち変数名に該当するものだけを置換対象にしてくれるので、変数名の付け替えで事故を起こす危険性が低くなっています(10年前に作って運用してきました)。

現場でありがちな要求に応えた下世話なScriptに、AppleScriptの行数計算(ただし、空白行とコメント行はのぞく)というものがあります。その一方で、すべてのコメント行だけを抽出して新規Scriptに一括転送といったものもあります。

「最初からこういう機能が欲しかった!」、というものを地味&地道ぃ〜に作りためたものです。

Script Assistant自体はここ10年ぐらい使い続けてきたものですが、

・リモートAppleEvents系の有用性が(日常的な範囲では)下がってきたので、メニューから削除(10年前はLAN上の他のマシンのFinderに直接指令して、sleepさせることができた。いまは、間にAppletをはさまないとダメ)

・Mindjet Mindmanagerに依存しているものは(持っている人が少ないので)削除。Caller-Relationship Mappingとかあるんですが、今回のものには含んでいません

・Excelの選択範囲をListに展開するScriptはOffice 2016を対象に書き換え

・display notificationの警告音指定では、実際にOSに入っているサウンドをスキャンして選択肢を提示
as6.jpg
as7.jpg

・sayコマンドでVoiceを指定するものは、OSに入っているTTS Characterをリストアップし、読み上げサンプルテキストもOSから情報を取得して、その言語に合うものを提示
as5.jpg

といった変更を加えています。AppleScriptObjCの機能を一部で使っているため、利用環境はOS X 10.10以降を推奨(macOS 10.12上で動作確認)します。

OSにデフォルトで入っているScriptのメンテナンスがされていないので、Appleのデフォルトのものが動作確認されていないままリリースされていたりで、元からあるScript Editor Scriptsはいったん削除して、これに入れ替えると(日本語圏の人は)ハッピーになれるでしょう。

書籍の作成で懲りて、マニュアルをMacDownではなく今回はAdobe InDesign CCで作っています(Edama2さんの技術指導をいただきつつ)。

sa10.jpg

2016/09/21 macOS Sierraがついにリリース!

……と、気合をいれるほどの差がないmacOS Sierra(10.12)が登場しました。β版から使っていたので、リリース版の内容もほぼ変わらず、「驚きがないのが驚き」とでも言いたくなるような内容です。

AppleScriptの処理系のバージョンは2.5のまま変更はありません。スクリプトエディタについては、2.9でOS X 10.11の2.8.1から比べると微妙にバージョンアップしています。

sierra1.jpg

このため、useコマンドとOSバージョンの対応は、

 OS X 10.9:AppleScript version “2.3″
 OS X 10.10:AppleScript version “2.4″
 OS X 10.11:AppleScript version “2.5″
 OS X 10.12:AppleScript version “2.5″

となります。

スクリプトエディタが2.9になったからといって、

 ・Cocoaオブジェクトのログ表示
 ・Frontend Processでの強制実行

などが盛り込まれるといったことはありません。ほぼ、2.8から差がない状態です。公式のRelease NotesはまだAppleのWebサイトに掲載されていないので、詳細については不明です。

tabbarjpg.png
▲Sierraの新機能により、スクリプトエディタのウィンドウをタブでまとめられるようになりました

Script Templateに入っているテンプレートに「廃止になったApertureのテンプレが入ったままなのはいかがなものか?」と意見しておきましたが、リリース版でもそのままですね。

WWDC2016での発表において、いろいろ「なくなる」と言われていたものが、実はそのまま残っているという「穏便なアップデート」に変わったように見えます。「見えます」というのは、自分のテスト環境では使えているものの、それがすべてのユーザー環境で同様かどうかは確信が持てないからです。

最たるものが、「システム環境設定」の「セキュリティとプライバシー」>「一般」における「ダウンロードしたアプリケーションの実行許可:」設定で、自分のテスト環境では「すべてのアプリケーションを許可」がイネーブルになっています。あっれえ?(^ー^;;

sierra3.jpg

これが、「開発アカウントを持っているため」なのか、「すべての環境がそうなっている」のか、テスト環境が1つだけなのでなんとも言えません。

あと、AppleScript Studioで作成したメモリー管理方式がGC=ONのアプリケーションも、問題なく起動できています。AdobeのCS6アプリケーションについても、とくに問題なく起動できているという話を聞きます

AFPも廃止になると聞いていたのに、β版のかなり早い段階で復活していました。この分でいくと、HFSも廃止になっているのかいないのか、、、、

sierra2.jpg

そのあたり、WWDC2016正誤表みたいな感じでまとまっていないと、アップデートしていいんだかよくないんだかわかりません。

一方で、iWorkアプリケーション群は久しぶりに大幅なアップデートが行われ、これはβ版のSierraでは評価できなかった内容なので、期待が持てます。iWorkアプリケーションも無償化されたので、もはやOSの一部といっても過言ではありません。

また、Safariがバージョン10になり(これは、OS X 10.11向けにもアップデータが登場)、このあたり……WebコンテンツをGUI Scripting経由で操作しているような処理がそのまま通るのか(WebViewへのオブジェクト階層がOSアップデートのたびにコロコロ変わるので)、確認が必要です。

ひとことに「Safari 10」といっても、OS X 10.10.x、OS X 10.11.x、macOS 10.12.xで、WebViewへのオブジェクト階層やら、実際に見えるWebView内のオブジェクト構成が微妙に違いそう(実際、同じSafari 9.1.xでも10.10.xと10.11.xでは違う)なので、気になるところです。

さらに、Safari 10では「開発」メニュー項目に、

safari10.jpeg

と「リモートオートメーションを許可」なる項目が新設され、これが何を指しているのかさっぱりわかりません(ヘルプにも載ってないし)。 Selenium Web DriverによるWebコンテンツのテストの自動化のための機能のもよう。 → 次期「Safari 10.0」で新しく追加される機能まとめ

あとは、とても期待していた音声認識でAppleScriptワークフローを呼び出す機能ですが、GMの段階で動きがおかしくなっていたので、リリース版もそうなっていると思います。このあたりは、実際に使い物になるまでしばらくアップデートを経過しないとダメだと見ています。

→ Siriをオフにしたら使える感じがします(確認済み)。どっちみち、Sierra+音声コントロールはAirPodsが発売になるまで(自分的には)完全体な環境ではないので、しばし待つつもりです。

comapplefolderactionssetup.jpg

フォルダアクション設定の場所が変わりました。スクリプトメニューに入っていたものが、 /System/Library/CoreServices/Applications/フォルダアクション設定 に。

Automatorのド派手なバグ(ヘルプメニューから飛ぶ先のURLが間違っている、など)を報告して、これは直っていることを確認しました。ただ、OS X 10.11でも同様のバグがあって、前からこの調子だったもよう、、、、

2016/09/08 macOS Sierra(10.12)のリリース日は9/21

macOS Sierra(OS X 10.12)が9/21にリリースされることが発表されました。

また、待望の新製品「AirPods」(音声認識にも使えるワイヤレスヘッドホン+ワイヤレスマイク)も発表されました。

ただ、Mac+AirPods+AppleScriptで組み合わせて安定して使えるかどうかは、実機を試してみるまでわかりません。とくに、ケースから取り出して「耳に入れると自動で音楽再生を行う」という機能をオフにできるのかが問題。

Macとペアリングできて、Macで使えることは発表内容からわかるのですが、細かいところで不明な点が(で、取材記事にはみんな載っていない)あります。

2016/09/07 Ver. 2.0 eBooks Now On Sale!

電子書籍「AppleScript最新リファレンス」(3,000円)および「最新事情がわかるAppleScript 10大最新技術」(2,000円)のアップデート版(PDF版)の販売を開始いたしました。それぞれのお試し版PDFも用意しておいたので、全体の構成や出だしのページを確認していただくこともできます。


book1sampler.png

▲クリックでサンプル版PDFを表示(10.6MB)
→ご購入はこちら

book2sampler.png

▲クリックでサンプル版PDFを表示(6.1MB)
→ご購入はこちら

「AppleScript最新リファレンス」が初版313ページからアップデート版は483ページ、「最新事情がわかるAppleScript 10大最新技術」は初版が101ページだったものがアップデートして148ページに大幅増量。読者の皆様からのフィードバックを反映させ、不足していた箇所を補うなど、気合いの入ったものになっています(当社比500%増)。

「技術書典」向けに出したVer 1.0では時間不足でずいぶん割愛した部分がありましたが、割愛せずに盛り込んだ結果、こんなに増えてしまいました。

なお、「技術書典」でお買い上げいただいた皆様には、このバージョンは無償でご提供します。一息ついてからアップデートのご案内メールをお送りします。

→ 2016/8/24に送信いたしました。1通だけ「nodutti99」さまのメールだけUser Unknownで返ってきております。ご覧になられていましたら、ご一報ください。また、技術書典当日に購入したのにメールが送られてきていない、という方もご連絡ください。

ダウンロード特典の「スクリプトアシスタント」につきましては、9月中にズレ込む見込みです。あしからずご了承ください。

2016/09/04 電子ブックのオンライン販売について

ぴよまるソフトウェアによる電子ブックの販売体制について決定いたしました。直販のPDF本についてはBOOTHに委託してダウンロード販売を行うことにしました。

■PDF版の販売(第2版を近日発売)
https://piyomarusoft.booth.pm
→ 「最新事情がわかる AppleScript 10大最新技術 OS X 10.11対応」Ver.2.0(PDF版)を発売しました。「AppleScript最新リファレンス OS X 10.11対応」は目下、目次から各ページへのリンク追加作業中です。

■EPUB版の販売(販売中、ただし初版の内容)
KADOKAWA BOOK☆WALKER 長野谷隆昌

EPUB版については、PDFを画像書き出ししたものをEPUBに変換しているため、本Blogへの記事リンク(大量にあります)や、外部サイトへのURLリンク、個々のプログラムリストの内容をスクリプトエディタに転送するURLリンク(これを実現するためにMarkdownで書いているわけで、、、)、キーワード検索などがすべて効きません。これらの機能を重視する方にはPDF版をおすすめします。

→ アップデート版を販売開始しました

2016/08/11 Corel SoftwareがMindManagerを買収

8/9にカナダのCorel SoftwareがMindjet MindManagerのビジネスを買収したと発表しました

Mindjet MindManagerは、Mac版が登場したてのころからAppleScriptに対応しており、AppleScriptのプログラム自体のルーチン呼び出しの可視化を行ってみたり、メールのスレッドの可視化を行うツールをAppleScriptで記述して、便利に使ってきました。

ただ、他人にこれを勧められるかといえば微妙で、3万円以上するのにWindows版と比べていまひとつ機能不足。バージョンアップを経てもほとんど進化していなかったので「Mindjet MindManagerを他の何かに置き換えよう」と考えるようになりました。日本国内の代理店もいまひとつでしたし。

「The mindmapping software blog」のCHUCK FREY がCorelのCEOに電話でインタビューした記事が同Blogに掲載されています

Mindjetの開発チームはCorelに移籍して開発を継続していること、OS X版の開発が停滞していたことは認識していること、うまく行けばMindManager 2017が今年の末あたりに出てくるだろうという話のようです。

Corel Software自体も、自社のMac版の製品はWordPerfectをClassic Mac OS時代に販売していたものの撤退していますし、著名なMac用ソフトウェアではPainterのみ。ほかにはCorelCADがある程度。そんなにMac版のソフトウェア開発が強い会社という印象はありません(買収はするものの)。さて、どうなりますやら。

2016/08/03 Adobe Illustrator CC 2015で世紀のバカ実装ふたたび

aicc2015_color_resized.png

Adobeがまたやってしまいました。「やってはいけない実装」の最たるもの、「1文字予約語」を作ってしまいました(変数とかぶる上に原因究明に手間がかかるので、一番やってほしくない)。

世界広しといえども、1文字予約語なんてバカ実装をやるのはAdobeぐらいのもんです(CS2でやって世界中の顰蹙をかっていた)。AdobeのCCアプリケーションは、1年間ずーーっとバグが直らないので、1年ぐらいこのままです(InDesign CC 2014でselectionを使えないまま1年間放置した前科持ち。報告したのに)。

書籍の確認のためにIllustratorのテストScriptを書いていて、おかしなエラーが出るので確認してみたらこの有様です。

 l → Lab_L
 a → Lab_a
 b → Lab_b

とでもすればいいのに。

本当に、あそこの会社は出荷前に誰もチェックしてないんだなーと思います。要注意です。

2016/08/01 [業務連絡]書籍のサポートページURLを変更しました

書籍のサポートページをお知らせしていますが、予定のURLにWordpressをインストールしたものの、文字化けしてまともに表示されませんでした(T_T)

そこで、当該URLにフォワード設定を行い、別の新しいサポートページのURLに飛ばすようにしました。

書籍のアップデート作業については「目標、7月末!」と言っておきながら、まだ出せていないわけですが(汗) 1週間ぐらいで終了したいところです。

macros.png
▲手間がかかっていた「独自マクロ言語内に記述するAppleScript」の章(Book1、新設)、冒頭2ページを抜粋。Excel 2011、Excel 2016のVBからのAppleScript呼び出し、FileMaker Proスクリプトステップ内でAppleScriptObjCを呼ぶ方法などを詳細に紹介

book2add_resized.png
▲Book2「AppleScriptObjC」の章、Objective-Cからの翻訳時の注意点を大幅に加筆

本日の書籍ボリューム:

Book1「AppleScript最新リファレンス OS X 10.11対応」:439ページ
Book2「最新事情がわかる AppleScript 10大最新技術 OS X 10.11対応」:141ページ

また、本Webサイトで販売するのと別にKADOKAWA BOOK☆WALKERにて「技術書典」で頒布したバージョン(アップデート前)を別途販売します。BOOK☆WALKERでは、書籍をEPUB(PDF→JPEG→EPUBという変換)で販売するため、リンクなどは一切無効になっています。

つまり、スクリプトエディタに内容を転送するURLリンクも無効ですし、本Blogへのハイパーリンクも無効です。そのうえ、テキスト検索も行えません。「技術書典」でお買い上げいただいた皆様にはまったく同じ内容なので、すでにお持ちの方は間違って買われることのないようお知らせいたします。

アップデート版の登場までいましばらくのお待ちを。

→ アップデート版を販売開始しました