きりのブログ

パソコン、開発関係の思いつきと作業記録

BlowsingNow!ブックマークレット代替

今日は@pastakさんが公開して下さっているBlowsingNow!が不調でした。ホストされているWebホスティングサービスの方で問題が出ているっぽいです。急場しのぎということで、BlowsingNow!のChrome拡張版を入れてみたけど認証時に同ホスティングサービスのサーバーを使うため使えず。他の同機能の拡張機能ブックマークレットをいくつか試してみたりしたのですが、しっくり来ませんでした。

何がしっくりこないかって、大抵のものは使用前にTwitterにサインインしておかなければならず、もしテスト用のアカウントなどでログインしっぱなしだったらそちらで投稿されてしまうのです。公式のTweetButtonもありますが、一度Twitterのサイトに飛ばされるのでお手軽感がありません。

そんなわけで、BlowsingNow!が復活するまで自前でそれっぽいのを作って凌ぐことにしました。

ブックマークレットの中身を覗くと、現在のページの情報やプロンプトで入力した投稿内容、アクセストークン/シークレットをパラメータとしてphpを叩いていました。叩くphpのURLとアクセストークン等を変えてやればそのまま使えそうです。

Webサーバーでphpが使えることを確認します。(例:> php -v)

phpからTwitterに投稿できるようにしてやればいいので、方法をググったところ、具体的な方法が書いてあるページが見つかりました。

PHP+OAuthでTwitter - SDN Project

書いてあるとおり abraham/twitteroauth · GitHub というライブラリを設置して、Twitter投稿のサンプルソースをほぼそのまま使わせていただきました。そのままだと、投稿後にTwitterからの応答JSONが生で表示されてしまうので、応答表示部分をカットして元のページに戻るように変えたり、パラメータとして受け取った内容をTwtiter投稿用に整形したりとかちょこっと手を入れたぐらいです。

phpJavaScriptもほとんど触ったことありませんが、なんとかなるものです。

とりあえず急場しのぎ用なのでサービスとして提供するつもりはありません。っていうか、まんまBlowsingNow!なので本家が早く復旧するよう願っています。

 

アレなところは伏せてソース貼っておきます。

Bween

Windows7でタスクバーにピン留めしてたアプリケーションが消えちゃった場合の対処

あるソフトの不具合(?)で、タスクバーにピン止めしたたアプリケーションが綺麗さっぱり消えちゃう現象が起きまして。万人向けの情報ではないので自分用メモとして。

 

原因としては、下記レジストリの情報が初期化されてしまうのが原因っぽいです。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband

 

このレジストリ値はバイナリなんで、手動での操作はできません。このレジストリ値だけ予めバックアップとっておいて戻すとか、コンピューターの復元で戻すとかでも対処は出来るのですが、ちょっと大掛かりになってしまいます。

 

そもそも、ピン留めすると、上記レジストリが更新されるだけではなく、アプリケーションのショートカットファイルが下記に作成されます。

C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

 

ピン留め解除すると、レジストリ値とともにショートカットも削除されるのが正常なんですが、今回のような症状の時はレジストリだけ初期化されショートカットが残る不整合な状態になっています。この状態で以前ピン留めしていたアプリケーションを再度ピン止めすると、「(ショートカット名)(2).lnk」とか出来ちゃいます。気持ち悪いです。

 

対処方法

  1. 一旦このフォルダを複製して退避し、消えてしまったアプリケーションのショートカットファイルを削除
  2. 退避したフォルダ内のショートカットを順次起動してピン留め

以上で元通り。もし、ショートカットのリンク先をカスタマイズしていたら、退避したフォルダ内のショートカットをオリジナルに上書きコピーすればOKなはず。

Firefox21にしたらハマったこと(vimperator)

前回の記事の続編。

予定通りFirefox21になってE4Xが完全になくなりました。

 

で、私が使っているvimperatorのプラグイン2つ(_libly.jsとfeedSomeKeys_3.js)が動かなくなりました。前回は暫定対処としてabout:configから設定変えて逃げたんですが、それももう効きません。ってことで、各プラグインの対応状況をチェックしてみました。

 

https://github.com/vimpr/vimperator-plugins

 

両方とも対応されてます。っていうか、feedSomeKeys_3.jsの方はかなり前に対応済みだったみたいで。

 

ってことで、ファイル入れ替えて完了。

Firefox20にしたらハマったこと(Vimperator)

丸一日原因が分からなかったのでメモ。

先日Firefoxが20へバージョンアップしたので更新したところ、VimperatorのプラグインfeedSomeKeys_3が使えない症状が発生しました。

↓<追記 2013/05/17 16:26>
各プラグインで対応が進んでいました。
Firefox21以降では下記の方法では対処出来ません。
こちらをご覧ください。
↑<追記終わり>

 

ネットを探すも同様の現象は見つからず。半日待っても同様の声が上がってこないので、自分で原因を調べて見ることにしました。

先に、解決方法を書きますが、about:conifgをいじるので自己責任で。

  1. about:config開く
  2. javascript.options.xml.chromeを見つけて、trueに変更
  3. 再起動

これだけ。

↓<追記 2013/04/04 17:27>

本来的にはE4X依存部分を書き換えたほうが良いとのこと。HTMLタグで書いてるところとかね。vimpの各プラグインが対応してくれるかは分からないけど、対応版が出たら、もしくは自分で書き換えたら上の設定は戻したほうが良さそう。Fxの次のバージョンでは設定自体なくなるかもしれないですし。

↑<追記終わり>

 

以下、手順や参考ページなど。

まずは、vimperatorrcのverbose上げて再起動し、:messagesを見るとsyntax errorでプラグイン読めていないっぽい。頭のPLUGIN_INFOあたりでコケているので手の施しようがない。

 

自力での解決を諦めてさらにネットを彷徨うと下記を見つけた。

http://code.google.com/p/vimperator-labs/issues/detail?id=820

症状は同じっぽい。対策は「PLUGIN_INFO セクションを削除」とのこと。やってみたけけど、症状悪化するだけだった。よく見ると、

"This is caused by the removal of E4X in Firefox 18."

って書いてある。E4XがFxから削除されたのが原因らしい。そもそもE4Xって何?ってことでさらにネットを彷徨うと下記を見つけた。

http://vimperator.g.hatena.ne.jp/teramako/20120829/1346245324

なるほど。よく分からない。
が、Fxのオプション(about:configの方)を弄ることで切り替えができる・・・かもしれない感じ。なのでやってみた。

上に書かれている

javascript.options.xml.chrome

が存在するか確認。存在したので、trueに変更。再起動。
ちゃんと動くようになりました。

以上

Windows8でiPhone5とのフォトストリームが同期されなかった件

先日、駆け込みでWindows7 Home PremiumからWindows8 Professionalにアップグレードしたのですが、そのタイミングからフォトストリームが同期されなくなっていました。

iCloudコントロールパネルは最新になっているし、有線でつないでバックアップとってみたりしたけれど状況改善せず。

アレコレ試した結果、iCloudコントロールパネルで
・フォトストリームをオフにして適用
・フォトストリームをオンにして適用
・閉じる
・再度開いて、フォトストリームのオプションを開いて、必要な項目をオン
で同期されるようになりました。

Twitterの勉強会に行ってきた話

以前から一度行ってみたかったTwitterの勉強会に初参加してきました。

参加目的は漠然と、勉強会の雰囲気を感じることと、人と交流することです。もちろん技術的なお話を聞けるのも楽しみにしていました。

今後は、Twitterに限らず色々な勉強会に参加してみようと思っているので、まずは第一弾、といったところです。

Twitter 勉強会 #twtr_hack @デジタルハリウッド東京本校(@dh_tokyo)

詳細や当日資料は、主催者の@yusukeyさんのサイトに纏めてあるのでご覧いただければ。

 

会場のWifi環境は快適でした。さすがデジハリさんです。こうですかわかりまs

 

講演内容ですが、giftee(RoR)、Twitter利用統計、ATTACCA(iOS TwitterFramework)、チャーハン諸島(Java)と普段触れることのない技術に触れられて、「私も何か作ってみようか」と思うほど刺激になりました。

 

会場は、皆さんTwitterという同じものに興味を抱いているので、一体感というか仲間意識みたいなものが感じられて心地よかったです。今後の勉強会参加のハードルも下がった気がします。

 

忙しそうな山本さんのところに押しかけて挨拶だけして来ました。今度ゆっくりお話してみたいです。生Mocel氏は拝めましたが、残念ながら見失ってしまってお話は出来ませんでした。こちらもまたいつか。自宅が遠方のため懇親会には参加できませんでしたが、次は参加しようと思います。

FlickUpperでAPIの非同期パラメータ追加

Flickrのアップロード用APIに非同期のものが用意されているので見てみたら、単に同期アップロードのAPIにasync=1を追加指定するだけだった。

これを指定すると非同期通信になるのかというとそんなことはなくて、アップロードが終わるとさっさと応答を返してくれるようになる。サーバー側の後処理を待たされなくなるので、無通信時間を減らすことが出来る。

これで並列処理せずに順次処理しても、まぁまぁ効率的になるかな、と。

ということで、FlickUpperを再度更新。これでほぼ問題ないと思う。

https://dl.dropbox.com/u/261733/FlickUpper.zip

2012/06/26 zipに通信用のライブラリDLLが同梱されてなかったので差し替えました。

あとやるとしたら、順次処理・並列処理を切り替えできるようにするぐらい。これは気が向いたら。