AppleScript

今でも便利に使っているAppleScript集

ブログを始めた当初、カテゴリーのタグ付けがよく分かっていなかった。また、この後どんな話題について書いていくか、という想像力もなかった。だからこのブログのカテゴリー分けは、いい加減なのである。ところで、最近はAppleScriptの話題が多いのに、Appl…

coding()ハンドラをより高速にする

今回の一連のAppleScriptの話題は、coding()ハンドラの発見がすべての始まり。ところが、そのcoding()ハンドラ自体は、最初にダメ出しを修正した以降は、ほとんど見直していなかった。json_from()、for_key()、set_key_value()はより効率的な処理を目指して…

_code.scptライブラリ

coding()ハンドラを発見して以来、試行錯誤を続けてきたAppleScriptのライブラリ_code.scptの最新の状態。 レコードをテキストに変換する方法の一歩先 - ザリガニが見ていた...。 coding()ハンドラの真価と広がる世界 - ザリガニが見ていた...。 より効率的…

文字列をキーにレコードへアクセスするもう一つの方法

AppleScriptのレコードは、文字列をキーにアクセスできない。 キー値は、ソースコードとして書き込んでおく必要があるのだ。 set a_record to {apple:100, |みかん|:50, |オレンジ|:150} --a_record's "みかん"--NG コンパイルさえできない a_record's |みか…

より効率的なリスト・レコードのJSON変換を目指す

AppleScriptのオブジェクトをソースコード化するcoding()ハンドラの作り方を発見してから、すっかりその魅力にハマってしまった。最近の頭の中は、寝ても覚めてもAppleScript脳になってしまっている。そもそもの始まりは、AppleScriptのレコード情報をJavaSc…

coding()ハンドラの真価と広がる世界

昨日実装したcoding()ハンドラは、少し大袈裟かもしれないけど、実は自分の中では長年の夢だった。 on coding(obj) try if obj's class = text then "\"" & obj & "\"" else if obj's class = list or obj's class = record then obj as number else obj as …

レコードをテキストに変換する方法の一歩先

MacBook・iPhone・iPadのSafariにおいて、あらゆるページで自動ログイン・自動入力を目指した上記 auto_login*1スクリプトの作成では、その過程で様々な問題が持ち上がった...。 手軽に安全で確実なSafariのフォームへの自動入力を目指して - ザリガニが見て…

iPhone・iPadのSafariでもあらゆるページで自動入力したい

前回までにMacBookにおいては、手軽に、安全で、確実なSafariの自動入力環境になった。 手軽に安全で確実なSafariのフォームへの自動入力を目指して - ザリガニが見ていた...。 しかし、本来はiPhoneやiPadでこそ、自動入力したいのではないか?MacBookなら…

手軽に安全で確実なSafariのフォームへの自動入力を目指して

前回の日記 Safariであらゆるページに自動ログインする方法 では、確かにあらゆるページに自動ログインできるかもしれないが、その方法は結局のところAppleScriptでラップしたJavaScriptなプログラムコードをページごとに書いているに過ぎない...。 極めてプ…

auto_login AppleScriptコード

日記の容量の制限で溢れてしまったので、9月26日から分割した。 ログイン情報取得.scpt Safariで表示中のページからログイン情報を取得して、保存する。 set BS to load script POSIX file ((do shell script "dirname " & quoted form of ((path to me)'s P…

Safariであらゆるページに自動ログインする方法

なにゆえに、金融機関のWebサイトは、あれほどまでに自動ログインを阻害する作りなのか?なにゆえに、シンプルなIDとパスワード方式ではダメなのか?中でも、ゆうちょダイレクトは難攻不落である。 お客さま番号の3分割入力。 ログインパスワードの別ページ…

そのブログには何人の購読者がいるのか?

多くの人から共感されると、それはブログを書き続ける源泉となる。では、共感はどこから感じるかと言えば、およそ以下のような手段が考えられる。(その他いっぱいあるけど) コメント・トラックバック アクセスカウンター数 ソーシャルブックマーク数 スタ…

MacBookを閉じたまま運用するカーネル機能拡張

今まで、InsomniaXをAppleScript(GUIスクリプティング)で操作しようとしたり、kernel.logを監視してスリープ状態を検出したり、カーネル機能拡張の作り方・使い方を調べたりと、試行錯誤を続けていた。その根底には、たった1つの欲求があった。それは... …

二度寝スリープでメモリをガッツリ解放しておく

最近はMacBookの睡眠(スリープ)について、いろいろと調べることが多かった。 寝付きの悪いMacBookにすやすや眠ってもらう スリープに関する知識まとめ その過程で、スリープにはいろいろなモードがあることが分かった。推奨されているのは3つのモード。hib…

スリープに関する知識まとめ

前回、よく眠るMacBookにする過程で得た知識を忘れないようにメモ。 マシン環境 白MacBook late2008 OSX 10.6.8 以下のスリープに関する知識は、上記のマシン環境で可能な限り確認した。 ところで、スリープの仕様は、機種ごとのパワーマネジメントの仕様に…

寝付きの悪いMacBookにすやすや眠ってもらう

いつの頃からか、MacBookの寝付きが悪くなってしまった。スリープさせても1、2時間(ひどい時は数分)で勝手に目を覚ましてしまう...。スリープ解除後は、モニタのみ消灯して、OS環境は普通に稼働している。 もちろん、モニタを閉じれば確実にスリープするこ…

display dialogとdisplay alertの違い

AppleScriptでユーザーと会話する手段の一つとして、display dialog と display alert という似通った二つのGUIが用意されている。(display dialogは遥か昔から存在していたが、display alertはたしかOSX 10.4の頃から登場したような気がする) 大差ない(…

メモリを割とガッツリ解放するAppleScriptを作る過程

前回、メモリを解放する効果のあるコマンドを覚えた。 du -sx / >& /dev/null & sleep 5 && kill $! diskutil repairPermissions / purge ターミナルを開いて、これら3つのコマンドを実行すると、予想以上に気持ちよくメモリを解放してくれた。これならメモ…

メモリを解放してスワップ発生を抑える方法

OSX 10.6 Snow Leopardは、極めて安定した、信頼性の高い、快適なOSとなった。但し、ハードディスクから起動する環境において、その快適さを保つためたった一つ気を付けておくべきことがある。それは、スワップ使用領域の増加を極力抑えること。 スワップへ…

AppleScriptでJSONをパースして電力の使用状況グラフを作る

3/22より、東京電力から電力の使用状況グラフというのが公開されるようになり、電力の使用実績が見えるようになった。しかし、このグラフで表示できるのは当日のみ。昨日の使用状況を確認しようと次の日にアクセスしても、当日のグラフしか表示されないので…

東京電力のtweetを素早く察知する

Twitterの設定でメール通知可能だった...。特定のユーザーのtweetを通知する設定 - ザリガニが見ていた...。 前回、東京電力のホームページが更新されたら、その内容をメールに送信するようにした。実際、それはちゃんと動いてくれたが、ちょっと問題があっ…

計画停電の最新情報をチェックする

計画停電が始まって以来、既に5日、停電を経験した。つまり、すべての計画停電の実施に引っかかっているのだ。計画停電中は、鉄道を除いて、自分の周りのすべての送電が停止される。 ADSLや光回線もルーターが稼働しないのでオフライン。 iPhoneの3G回線は使…

バックグラウンドになったアプリを一時停止して劇的に軽くするAppleScript

元ネタは以下のページ。(素晴らしい発想に感激!) Macで重いバックグラウンドアプリケーションを劇的に軽くするPythonスクリプト « 日曜研究室 全くそのとおりで、自分の場合もSafariで常時50以上のタブと複数のウィンドウを開いて作業しているのだ。ブッ…

シャッターの作動回数(総レリーズ回数)を調べる

D40*1は、写真のExif情報にそれまでのシャッターの作動回数も記録されるそうである。つまり最新の写真を調べれば、今までに何回、シャッターが作動したかが分かるのである。 Shirouto D40・D90 ブログ 撮影枚数 早速、iPhotoやPreviewでExif情報を漁ってみた…

今日の壁紙カレンダーを表示するAppleScript

今年のバージョンは出ないかなー、と思っていたら...出てました!三階ラボさんの2011年版の壁紙カレンダー。(感謝です!)早速ダウンロードさせてもらって、設定完了。...と思ったら、昨年とは若干、ファイルの命名規則が変更されたようで、次月・前月のApp…

後悔しない最高のゴミ箱環境を模索する

ゴミ箱は、GUIなOS環境の一つの象徴である。ゴミ箱のないデスクトップなんて、ガリのない寿司みたいな物足りなさを感じる。ゴミ箱があるからこそ、デスクトップにリアルな親近感が湧くのだ。どうして、こんなにもデスクトップのゴミ箱に愛着してしまうのか?…

戻れなければ閉じる、良きに計らうhistory back

正直、ブラウザで、戻れないページなのに必死に戻ろうとしていることが、よくある。「そうか、新規タブを開いてリンク先へジャンプしたのか」と理解し、閉じる操作に切り替える...。 そうかと思うと、今度は調子良く閉じるを繰り返していると、実は同一タブ…

ゴミ箱の一部だけを空にするサービス

会社のWindows環境では、ゴミ箱に入れたファイルは決して、すぐには削除しない運用でずっと使っていた。今時のハードディスクは大容量なので、仕事で使うファイルがいくらゴミ箱に溜まっても大した問題ではないのだ。(ほとんどが数十MB以下のファイル)ゴミ…

約1/30でも割と見られるPDFに圧縮しておく

そんな訳で、MacBookの中にはPDFがどんどん溜まる。でも、今時2.5インチのHDでも500GBが標準になりつつある。なのに、かなりお買い得な価格。だから今までPDFのサイズには無頓着だった。ところが、iPhoneやiPadをオンラインストレージと連携させて使い始める…

あらゆるMailプラグインをとりあえず最新OSに対応させる

毎度のことだけど、またしてもGrowMailとLetterboxを有効にするのに手間取ってしまった...。 ここで言うMailプラグインとは、~/Library/Mail/Bundles 直下にインストールされる.mailbundleのこと。 GrowlMailとか、Letterbox、WideMail等がそれらに該当する…