カテゴリー別アーカイブ: tech

夜フクロウからtwitter公式に画像アップロードするサービスを作りました。

夜フクロウは、@aki さんと@hydroxygenic さんの作られたMac OS X用の素晴らしく使い勝手の良いtwitterクライアントですが、
このサポートしているtwitpicがサービス終了を前に動かなくなり、他のMobyPictureやYFrogもいまいち使い勝手が良くないので、なんとか現時点で使い勝手の良いtwitter公式の画像アップロードを使いたくなりこのサービスを作りました。

使い方はこちらのサービスページヘ。
(文章と一緒に投稿できます、説明読んでね)
Twitpic API to twitter media upload gateway(beta)
http://lanieve.jp/picgw/

phpとOauth関連ライブラリで2時間ほどで作成。
コードはお恥ずかしいのでお見せできるものではないのですが、特に難しいことはしていません。

OAuthトークンをそのまま渡して、twitter APIのupdate_status_with_mediaに送信、→(APIが廃止予定のため、upload.twitter.com+status/updateに変更)Twitpicのxmlで<image><url>にテキストを返却してあげればOK。
Twitpic API toと書いていますが、とくにurl以外の属性は返却していません。
他に、Twitpic API形式で使っているサービスがアレば拡張属性にも対応しようと思うので、お知らせください。

このサービスを見てpythonで自前のサーバ動作する同様のスクリプトを作られた方がいらっしゃるようなので貼っておきます。
どうやら機能的にも先行していらっしゃる模様。
https://github.com/gale2001/YoruProxy

javascriptで新規タブ/ウィンドウを作成する時の罠

javascriptのwindow.openにて、最近のブラウザにて新規タブで開きたいのに、新規ウィンドウで開いてしまうことがあり、ハマったので仕様をある程度まとめてみた。

先ず基本パターン

先ず最初の罠

上記の場合、一見新規タブで開くように見えるが
実際は新規ウィンドウで開いてしまう。

どうやらAjax等コールバックで呼ぶ場合は、ユーザーからのフックと見做されないため強制的に新規ウィンドウとなってしまうようだ。
コレを解決するためにちょっと微妙だが下記のようなコードで対応した。

一旦about:blankで新規タブを作っておき、そこのlocationを変更させた。

ただ、こうした場合関連でヘンな事象が・・・

何故か、親ウィンドウを閉じると子ウィンドウを道連れにして閉じてしまう。別タブで開いているのに・・・

そのため、下記の対応をとった。

上記のように、新規タブのオブジェクトにnullを設定することによって、ちゃんと子ウィンドウを道連れにしなくてすむようになった。

ちなみに、 はじめに

childWindow.opener = null; や、childWindow.parent = null; また、 delete childWindow としてみたものの、どちらもうまく行かなかったので、
きちんとchildWindow = null; で空にしておくことが大事っぽい。

 

 

 

 

jQuery & jQuery UIの存在確認をする。

jQuery 及び jQuery UIの存在確認をしたい時、
下記のように書くとおそらくjsの読み込みのタイミング起因でjQuery UIの存在が確認できないことがあります。

その場合は、下記のように書くと問題ないことを確認しました。

行き詰まったらご参考に。

chatworkの未読を一気に消化するブックマークレットを作った

インストールはこちら→チャットワーク既読ブックマークレット

チャットワークで、それぞれのチャットの未読が中々消えずいらいらすることが割りとありがちです。

そこで、ブックマークレットを作りました。
該当のルームを開いてクリックするだけで未読が綺麗さっぱり消えます。

チャットワークのAjax通信を取得して、元々持っている変数を利用しているので特に認証などは必要ありません。

本当は今見てる箇所だけでなく全ルームの既読を消化するタイプも作りたかったのですが、うまくいかなかった・・・
(もしかしたら、一度ルームの情報を取得してから出ないとダメなのかも)

リンク先にはChromeのインストール方法が書いてありますが他ブラウザでも使えると思います。
(Mac chrome、Firefox、Safariで動作確認してます)

チャットワークの仕様が変更になったり、その他の理由で不具合が発生するかもしれませんので自己責任で。

 

chatworkの隠しコマンドっぽいものを探ってみた。

[info][/info] 囲み
スクリーンショット 2013-12-26 11.48.10

[info][title][/title][/info] タイトル付き囲み
スクリーンショット 2013-12-26 11.49.29

↑ここまでは結構メジャーかな。

[qt][/qt] 引用
スクリーンショット 2013-12-26 11.50.57

[qtmeta aid=ユーザーID][/qtmeta] ユーザーID付き引用
(あとで画像追加する)

[qtmeta aid=ユーザーID time=時間][/qtmeta] ユーザーID付き引用
(あとで画像追加する)

[rp aid=ユーザーID to=返信先] 返信([返信]の代替?)
(あとで画像追加する)

[hr] 水平線
スクリーンショット 2013-12-26 11.52.39

(ec14) シークレットエモーティコン – CEO(チャットワークの社長?)
スクリーンショット 2013-12-26 11.52.15

twitterのURLシェア数をAPI1廃止後でも(たぶん)取得できる方法

twitterのAPIv1廃止により未認証のAPIアクセスが使えなくなる影響で、twitterのURLシェア数が未認証のJS経由で取得できなくなると噂みたいです。

ここの記事でもお詫びられてましたが・・・

そしたら、公式のtwitterウィジェットではどうやって取得してんの?!
と思って調べてみたところ、こちらのコードで引き続きシェア数が取得できるっぽいのでメモっておきました。

※あくまでtwitter非公開APIのため、使えなくなる可能性があるのでご注意を。

・jQuery (targetURLは取得したいURLに。location.hrefに設定して今のページ取得してもいいかもね!)

・html

View Demo

どうやら、cdn.api.twitter.com のAPIは他のtwitter widgetでも使っているらしく、TLの取得などもできるらしい、で、そういう記事も見つかって二番煎じになってたけどもう書いちゃったからそのまま公開してしまおう。
(そういえば、今まで使われてた廃止予定のAPIも、公開される前にこうやって見つけてたっけ)

 

 

Wifi内蔵SDカード「flucard PRO」を使ってみた

最近規格策定とかで盛り上がりつつWifi内蔵SDカードですが、
この分野では昔から有名なEye-fiカードが欲しいなー などと思っていたけど、
写真を全部取得してからダウンロードしないといけないとか、メインはサーバーアップロードだったり、
そのまま直接iPhoneに取り込んだりしたいなーといった要望にはいまいちマッチしなかったのですが、
密かにEye-fiとか東芝のSDカードの裏で、シンガポールのTrekという会社からflucardとかいう無線Wifiカードが出ていたので購入してみました。

このflucard、日本ではプラネックスが代理店として販売しているみたい。
マニュアルもファームウェアもばっちり日本語化されていて良い感じです。

購入したのはNTT-X Storeから。
Amazonでも8GBのタイプが最安値で5,980円だったのですが、
会員価格で4,268円。しかも送料無料でした。在庫僅少らしいので、欲しい方はお早めに!

なによりこのSDカードで嬉しいのは、ブラウザやiPhoneなどのクライアントが用意されていて、
そこから欲しいファイルだけサムネイルで選んでダウンロードできること。
これはかなり良いポイントですよ。

パッケージはこんな感じ。

青系のなかなかすっきりしたパッケージで好感持てますね。

早速使ってみたいところですが、
最新のファームウェアアップデートでWPA2対応や、RAWファイルへの対応もしているようなので、
安定感という意味でも先にファームウェアアップデートしてみました。

まず、カードをカメラに刺して、再生モードにします。
ここで特異なのは、再生すると出てくる画像ファイルを削除(!)して操作するとのこと。
以前はDPOF指定して振ったりしても操作できたみたいなんですが、最新ファームではなくなっていました。

↓のような画像が出てくるので、この画像を削除します。

ここで注意したいのは、再生モードにしてすぐだと削除してもモード起動しなかったりします。
ビープ音がするので、それが鳴り止んだら削除するとちょうどいいみたい。

失敗しても、電源入れ直したりカード抜き差しすれば画像復活するので、その辺で何とかします。

ブラウザで「http://flu.card」か「http://192.168.1.1」に接続すると、設定画面が表示されるので、
ファームウェアのバージョンを確認して、古かったらアップデート。
(ネットワークのIPがカブってると表示されないので注意)

アップデート方法は、
PCのSDカードを接続するとNO NAMEのありがちなSDカードフォルダが出てくるので、
そこにサイトからダウンロードした最新ファームウェアを解凍した内容をルートディレクトリにコピー。
SDカードを抜いたら、カメラに挿しなおして放置すると、昔のゲーム機のゲームオーバーみたいなビープ音がずっと鳴り続けるので、鳴り終わったらアップデート終了です。だいたい2〜3分くらい。
(カメラの電源が切れると失敗するので、オート電源オフは解除しておくように!)

アップデート完了して、再度設定・画像閲覧の画像を削除して接続して、設定画面が表示されればOKです。
設定では、APのSSIDとパスワードを変更しておきました。

サーバー自動アップロードの設定もできるのですが、私はその方法ではあまり使わない予定なのでその辺は放置。

今度はiPhoneのWifi設定で先ほど設定したSSID&パスワードで接続したら、
事前にダウンロードしておいた「flucard download(Lite)」アプリを開いたらすぐサムネイル一覧が出てきて、
さくっとダウンロードできました。

アプリはこのほかにもiPhone、Android、Windows、Mac向けに出ているのですが、
他のは全部有料(250円とか)なのが残念・・・

まあ、必要に応じて他のアプリもダウンロードしてみようかと思います。
ちなみにiPhoneのflucard downloadのLiteと有料版との違いは、いっぺんに複数ダウンロードできるかの違いらしいです。

あとは直接Flickrにアップロードできるアプリも気になる所。

ちょっと使ってみた感触ですが、なかなかいい感じです。
若干人柱感ありますが、安いので買ってみて損はないかと!

最後にGF1で撮って、flucard経由でアップロードしたテストショットでも乗っけておきましょうかね。

Google+退会した。

退会理由に以下の内容を入力して退会しました。

本名を強制しようとするが、コンテンツの質が見合っていない。
また、本名を強制する割に知らないユーザーからの大量のフォローがあり、プライバシーに配慮しているとは思えない。
不適切にプライバシーを侵害する可能性が高い。

結局このとおりなんですが。

一度名前を「子狐たゅん」で登録して、停止させられてしまったので本名に直したんですが、毎日のように来る良く知らない人のフォロー(twitterと比にならないほど多かった)に嫌気がさした。
それから流れてくるストリームの内容も本名を明かしてまで取得に値する内容ではなかった。

ということで、また「子狐たゅん」に戻して、だんだんアクティブユーザも少なくなってきたので放置していたんですが、先日一言だけ他人の投稿にコメントをしたんですが、これがきっかけになったようで、再度プロフィール審査対象になってしまいました。

以前よりいきなり停止させられるわけではなくなった面でゆるくはなったと思うんですが、
猶予設けられただけで基準は変わってないみたい。

仕方が無いのでどこかで本名でなくても審査が通るという話を聞いたので、
Amazonで本を出したことがあったのでそこの書籍の発行ページを提示しました。

その後英語で「審査したが、コミュニティガイドラインに沿わない」とのことで、
再度正しい名前を申告するか、さもなくば辞めろ、とのことだったのでやめさせて頂きました。

今後仕事で使うこともあるかな、と思ったけど、そこまでプライバシーに無思慮なGoogleなら今後も発展していくことはないでしょう。

近々GDDに招待していただいただけに残念です。

WindowsPhone7.5の開発をやってみよう!(2)

WindowsPhoneSDK7.1正式版出ましたね。

そんな訳で、普通に前に使っていたRCを削除後、普通にインストールできました。

今回は実機テストや公開に必要な手順、AppHubへの登録をしてみようと思います。

スマートフォンアプリ選手権の参加特典でAppHubの登録キーを手に入れたので、それを使ってみようと思います。

続きを読む WindowsPhone7.5の開発をやってみよう!(2)

IS12T買っちゃった!とtwitterのイベント通知のあれ

IS12T衝動買いしちゃった!
WP開発に使えるしね!こないだ買ったWimaxルータと色も合うしね!

買取待ちの空き時間があって、普段買い物しないヤマダにフラっと寄って
携帯コーナーでIS12Tいじってたらお店の人に声かけられて、
思ったより月額維持できそうなのとお店の人の感じが良かったのでつい買っちゃったよ!

どーん。

満足感結構半端ないです。

もう触っていて楽しいし、
インターフェースも綺麗だし(ただしIEMobileはちょっと微妙)、
良い意味でMSらしくない!素敵な仕上がりになってますね。

端末自体も防水だし形もなかなか素敵でもうかなり良いです。

現状の不満といえばアプリがまだ少ないこと、
Windowsでしか開発できないこととか 初めの頃では仕方ないことですね。

iPhoneのマネをしなくてもここまで素敵にできるんですね。感動しました。

取り急ぎ、TwitterのMentionとかfavの通知してくれる良いアプリがなかったので、
現状出ている通知アプリ「Toasty」にAPIがあったのでそこに送信する形のスクリプトを書きました。

このToasty、Growl for windowsのなにかなんですね。
(なにか、の部分は英語なので詳しく調べるつもりはない)

Ruby久々に弄ったのであれです。設定情報直書きしてます。
治したい人は適当に直してね。

ちなみにUserStream取得部分は殆どこちらから拝借しました。
ありがとうございます。

そうそう、gem install userstream を忘れずにね。

スクリプトは続きから。

続きを読む IS12T買っちゃった!とtwitterのイベント通知のあれ