Naganoyaコンピュータのインタラクション・デザインを研究・実践してきたコンピュータ科学者のラリー・テスラー氏が亡くなりました。PARCやAppleをはじめ、名だたるIT企業を勤めてきました。Farm」プロジェクトを開始。これがのちのAppleScriptになりました。コピー&ペーストをはじめ、彼の活躍や着想なしに現在のパーソナルコンピュータの姿はありえなかったことでしょう。彼の冥福をお祈りいたします。Farm」プロジェクトが始まる。ラリー・テスラーがリーダー。ウィリアム・クック、Appleで働きはじめる。PiersolからAppleScriptに関するアイデアを聞く。AppleScriptのα版がリリースされる。エンドユーザー向けのリリース。AppleScriptのオリジナル開発グループが解体される。Naganoya本Blogには誰でもユーザー登録できるようになっていました。フォーラムの運用を想定していたので、誰でも登録できるようになっていたほうがよいと考えたからです。最近はスパマーのボットによるユーザー登録が増えてきて、スパマーのブラックリストを用いての確認とかユーザー削除の作業が増えてきて、一時はスパマー除去のためのプラグインを入れて様子を見ていました。スパマー除去プラグインのお試し期間が過ぎ、一思案。スパマー除去サービスを利用するのが最善手でありますが、そこまでするんだったらもう少し、WordPressのユーザー登録時にロボットを弾くための認証プロセスを追加するなどの方法もありそうですし(自分が考えるぐらいだから存在するでしょう)。暫定措置で、ユーザー登録そのものを一時的に停止します。PDFについては現在のOSで動くレベルで改修をすすめています(作業量が見えない、、、、)。in」という基礎的かつ重要な演算子にバグを作られた時と同質の負の感情を喚起されるものがあります。Supportもバグの報告でパンクしているということでしょうか。10.13以降、バグレポートしても返事も来ないのが日常化してしまったので(AppleScript関連ではないバグがほとんどなのですが)、バグを直す気がないんでしょうか。10.14.6上で改修中。10.15.1上で動作確認。最近のmacOSはBetaで動作確認してもRelease版の品質がBeta以下なので、Beta上で確認する意義が、、、Appleによって破壊された機能は、PDFViewまわりの基礎的な機能。*currentPage;などです(他にもあるかも。PDFビューワー機能を作ろうとすると、いろいろ苦労させられる状態です。苦労が必要ということは、余計に処理時間が必要ということで、処理速度はオリジナル版よりも遅くなっています。EspinosaがAppleScriptの生誕25周年を祝うTweetを投稿していました。10.14に合わせて改定してみました。10.12を歴史的な観点から再評価し、「セキュリティ至上主義期」のはじまりと位置づけた点が大きく異なります。同バージョンでAppleScriptドロップレットへのファイル受け渡しがファイルの拡張属性(Xattr)「com.apple.quarantine」によって制御されるようになり、受け渡しの順番が変わったり、ユーザーの手によって確認されていないファイルはドロップレット処理時に無視されるなど、機能不全が目につくようになりました(10.13はOS自体が機能不全の塊なので評価に値しません)。10.12自体にはその解消を行うための機能が用意されていないことから、この時期から「セキュリティを向上させることが最優先、既存機能に不具合が出ても整合性を維持するつもりがない」という現在のティム・クックCEO体制下における「動かないコンピュータ至上主義」(セキュリティ的には動かないコンピュータが最高だぜ!)ともいえる方針に沿った改変が行われていることを感じます。10.14においてはシステム環境設定の「セキュリティ&プライバシー>オートメーション」の項目で、ホームディレクトリ以下のファイルにアクセスする権限を与える「フルディスクアクセス」の項目、およびアプリケーション間通信を許可する「オートメーション」の項目によって明示的に許可を行うようになった点は前進と言えるのかもしれません。AppleScriptアプレットにおいてもこれらの制限機能による影響を受けるようになったわけですが、CodeSignすればいちいち「フルディスクアクセス」「オートメーション」項目の認証を必要としないため(CodeSignしても初回のみ聞かれる)、プロのAppleScript開発者はいままでどおりCodeSignすることで問題を回避できるはずです。scriptコマンドがどのような扱いになっているかが問題です。10.14.0はRelease版といいつつもGMビルドを公開しなかったなど、明らかにBetaレベルの仕上がり)状態です。x64)移行、iOS連携強化期。10年を担う機能」の実装開始。セキュリティ向上のためなら、OS上の各種機能の不具合が起こることもやむなし、という方向性が強まった。アプレットやドロップレットにセキュリティ上の制限がかかり、解決する方法が提供されるまでに時間がかかるようになった。10.14でシステム環境設定の「セキュリティとプライバシー>オートメーション」項目に、「フルディスクアクセス」「オートメーション」の2項目を新設してアプレットへの制御権限のコントロールを行うようになった。OSAXの事実上の廃止。AppleScript」、参加者12名で盛会のうちに終了しました。お越しいただいた皆様、お忙しいところをありがとうございました。PDF」などについてデモを行いました。電子書籍「AppleScript最新リファレンス」掲載のiOSデバイスとのAppleScriptによる連携をご紹介したところ、出席者から驚きの声が上がっていました。Softwareの新プロジェクト「Tanzaku」を発表しました。scriptを書くことなく、実行したい内容をファイル名に書くだけで実行できるようにするものです。On」(自然言語ユーザーインタフェース)や2003年発表の「符令韻投句」(日本語音声認識インタフェース)などと並ぶレベルの画期的なアイデアとして発表。開発中のバージョンの動作デモを行いました。v3.5で機能に変更があり、「CotEditorでウィンドウの透明度を連続的に変更する」のようなScriptが実行できなくなりました。opacity」が廃止されました。予約語が廃止されたときにどういう状態になるのか、という事例として掲載しておきます。保存ずみの同Scriptをオープンすると、のような表示になりました。この状態でコンパイル(構文確認)を行うと、のようにエラーになります。opacityが削除されていることが確認できます。アプリケーションの機能としてウィンドウの透明度設定は行えるので、エディタとしての使い勝手は(あまり)変わりません。AppleScriptから透明度をコントロールできないと困ることがあるかと考えると、とくに困ることはありません。NaganoyaAppleScriptに対応しているGUIアプリケーションで、複数のドキュメントを管理するもの、テキストエディタや表計算ソフトなどはwindowとdocumentというクラスが定義されています。documentは、オープンされた順にIDが振られます。このIDは、ウィンドウの重ね合わせ順が変更されても変わりません。保存したりクローズしたりする対象はdocumentです。windowのIDは、画面上のウィンドウの重ね合わせ順を反映したものです。2、3、4......とカウントされます。windowに対して実行できるコマンドもあれば、documentに対して実行できるコマンドもあります。そのあたり、アプリケーションごとに実装が異なるので慣れが必要です。このあたりでdocumentとwindowの使い分けに頭を悩まされるのはFileMakerあたりでしょうか。「それ、document(database)に対してのコマンドじゃないんだ?」という例がズラズラと。長いあいだ、「最前面のdocumentにアクセスするのって大変だ」と感じていました。1にアクセスして、そのpropertyを取得し、propertyの中に対応するdocumentの情報があれば、それを取得。documentという書き方を見かけ、試してみたら「最前面のdocument」にアクセスできました。AppleScript用語辞書にも載っていないのに、なぜか使える用語です。J1-1.3.7で確認したところ、期待どおりの動作を行いました。documentについて書籍などで書かれているのを見た覚えがありません。document」を検索してみたら、けっこーたくさん出てきました。AppleScript」の参加募集を開始いたしました。質問だろうが、自慢だろうがなんでもOKですので、この際にぜひお集まりください。NaganoyaAppleScriptの穴Blogアーカイブ1〜3が、よりパワーアップ。TOC(しおり)を付加していっそう読みやすくなりました(読みにくくなくなりました、の間違い?)。Blogアーカイブ本をBOOTHからダウンロード購入された方は、再度ダウンロードを行ってみてください(再購入の必要はありません)。今回のTOCアップデートは目次を持たないアーカイブ本への目次追加の措置であり、TOCはないものの目次がついている他の既刊本はその対象ではありません。昨日のうちに再ダウンロードしてくださった方、ごめんなさい。On」を作っていた頃の、プレゼン資料をSlideshare上に公開しました。本Blogに掲載しておきました。Project記事と合わせてご覧になると、より分かりやすいと思います。Debuggerを使わないのは自殺行為です。Debuggerのほうが高い気がします。Debugger上で動作させるだけなら問題はないのですが、アプレットを書き出して実行させるあたりで疑問符が出てきます。from句で囲ってこまめに宣言しておかないと、書き出したAppleScriptアプレットを起動しようとしてもクラッシュします。Debugger上で構文確認が通りません(こちらはAppleScript処理系そのものの動作の癖?)。Debugger上での構文確認時に「どのアプリケーションの予約語なのか分からないぞ」というワーニングメッセージが出ます。これ、ダイアログで表示するなら、リストから選択させるとかいった動作の方がいいと思います。fromで囲う必要があるようです。Naganoyaごく一部の愛読者の皆様からのご要望を受け、2018年1月のBlog消滅以前の内容を1年ごとにまとめた「Blogアーカイブ本」のVol.3を販売開始しました。Vol.3は2010年1〜12月の内容をまとめています。全401ページ、2,000円。ファイル形式はPDFで、キーワードによる全文検索や印刷が行えます。Scriptingになじめない方には「Cocoaを使わないやりかた」が説明されている、現時点では数少ないまとまった参考文献になるはずです。X上で構文確認する必要があったので、URLリンク入りのプログラムリストにはできませんでしたが......色分けリストでは掲載しています)。続刊刊行スケジュールについては、「できた分から」としか言いようがありませんが、各巻のボリュームについては、vol.4:2011/1〜2012/12(仮組みページ数:372)vol.5:2013/1〜2014/12(仮組みページ数:276)vol.6:2015/1〜12(仮組みページ数:320)といったところです。価格は一律2,000円です。当初は日本語版だけですが、英語版も出せるといいですね。Scriptingの入門資料を添付することも検討中です。10.5_10.6指定のzipアーカイブを展開してファイルを取り出す指定フォルダ内をすべて削除し、そのフォルダも削除iChatで文字チャットの相手に文字列を送信。簡単な素因数分解v2数字で指定した月の英語名称を返す2つのdateの差を月単位で取得する。Naganoyaごく一部の愛読者の皆様からのご要望を受け、2018年1月のBlog消滅以前の内容を1年ごとにまとめた「Blogアーカイブ本」のVol.2を販売開始しました。Vol.2は2009年1〜12月の内容をまとめています。全367ページ、2,000円。ファイル形式はPDFで、キーワードによる全文検索や印刷が行えます。お試し版ダウンロードページXcodeプロジェクトのダウンロードリンクやYouTubeのムービーへのリンクもきちんと反映し直しています。続刊のボリューム感については、(最低でも)こんな感じです。Agency」をデモFireFoxでオープン中のURLを取得するFireFoxでオープンしているURLを取得。v4指定年月の祝日の日を数値のリストで返すTwitterrifficで選択中の発言の時間をGrowlで表示。Scriptingにファイル名の32文字制限がTwitterifficで選択中の発言の時間をGrowlで表示。Watchの打倒のしかた(上)」を寄稿しました。Naganoyaごく一部の愛読者の皆様からのご要望を受け、2018年1月のBlog消滅以前の内容を1年ごとにまとめた「Blogアーカイブ本」のVol.1を販売開始しました。Vol.1は2008年3〜12月の内容をまとめています。全418ページ、2,000円。ファイル形式はPDFで、キーワードによる全文検索や印刷が行えます。Scriptingになじめない方には「Cocoaを使わないやりかた」が説明されている、現時点では数少ないまとまった参考文献になるはずです。続刊刊行スケジュールについては、「できた分から」としか言いようがありませんが、各巻のボリュームについては、vol.2:2009/1〜12(仮組みページ数:332)vol.3:2010/1〜12(仮組みページ数:247)vol.4:2011/1〜2012/12(仮組みページ数:372)vol.5:2013/1〜2014/12(仮組みページ数:276)vol.6:2015/1〜12(仮組みページ数:320)といったところです。価格は一律2,000円です。当初は日本語版だけですが、英語版も出せるといいですね。Scriptingの入門資料を添付することも検討中です。指定文字列の中に指定リストの並びが含まれているかをチェック。含まれていたら起点のアイテム番号を、ない場合にはfalseを返す指定文字列の中に指定リストの並びが含まれているかをチェック。指定フォルダにあるテキストとZipアーカイブのリストを取得。v0指定フォルダにあるテキストとzipアーカイブのリストを取得。v1指定フォルダにあるテキストとzipアーカイブのリストを取得。指定フォルダにある特定のラベル(複数)のファイルのリストを取得。指定フォルダにある特定の書類種別(複数)のファイルのリストを取得。Tokyo」にて、急遽作成した音声認識コマンド実行プログラムをデモしてきました。macOSの「音声認識コマンド」と「音声文字入力」の中間のような動きをしていて、シソーラス辞書(同義語辞書)を搭載しているため、パラメータの表現の「ゆらぎ」を許容する構造になっています。GUI部分はXcode上のAppleScriptのプロジェクトであり、呼び出されるコマンド側も(編集可能な)AppleScriptのファイルです。現段階では、コマンド側のAppleScriptのファイル名にコマンドとパラメータを記述してあり、音声認識したテキストを形態素解析して、コマンドやパラメータに該当する品詞の単語をピックアップし、コマンド側の単語とのマッチングを行います。APIでチャットボットなんか使えば楽をできるのでは?」と考えて調査はしてみたものの、結論からいえば「雑談暇つぶしボットぐらいしかできない」という印象でした。「COTOHA」にしても使えるとは思うのですが、特定のコマンドキーワードを認識したあとは急に業務系アプリっぽい挙動になったり、コマンド実行の演出とかはとくにないので、「自分で作ったほうがマシ」だということに、、、、デモの前日に気づきました。プログラムのコア部分は1日かけずに作ったという、、、、もうちょっと調整して何かのデモに使ってみたいところです。Naganoya移行前Blogのサーバー移行を行います。2018年2月にWordPressの新バージョンに移行した後から、Blogの応答パフォーマンスが低下してきているので(大きな画像をWordPressまかせでサムネール作成させて表示しているのが問題なのか、WordPressそのものに問題があるのか)、高速なサーバーへの移行を行います。放っておいても8月ぐらいには自動で移行というスケジュールのようですが、またホスティング会社側に全部おまかせで行うと、トラブルが発生すること必至です(状況をまともに説明する能力がないようなので、期待していません)。一括移行のタイミングよりも前のタイミングで移行の実験を行います。1月末のトラブル中に作成したMySQLのユーザーアカウントのうちの1つのパスワードが読み取れないといったエラーが報告されました。実験用に作成したアカウントだったのでアカウントごと消しましたが、ホスティング会社のWebフォーム上のメニューから作成したアカウントがホスティング会社側のプログラムから読み取れないとは実におかしな話です。今回のサーバー移行は、同じホスティング会社の古いサーバーから、新しい高速(といわれる)サーバーに移行します。古いサーバーよりも新しく調達したサーバーの方が仕様的に上なのでアクセスが快適になる、、、、、、という話なのですが、実際に移行してみないとわかりません。実際に移行してみましたが、とくに何も問題はないようです。サーバーを移行してもWordPressの応答速度がたいして上がらなかったので、WordPressのプラグインを外しまくりました。プラグインによってずいぶんパフォーマンスが落ちていたようです。サーバー移行自体はあまり関係なかったようなのですが、あとでモメなくてよかった程度の話でしょうか。ホスティングしているサーバーのアップデートが計画されているようですが、1台あたりの収容ユーザー数を増やせば、数値どおりのパフォーマンス向上を体感することは難しいことでしょう。