パスワードを忘れた? アカウント作成

Livingdeadさんのトモダチの日記みんなの日記も見てね。 過去1週間(やそれより前)のストーリは、ストーリアーカイブで確認できますよ。

11641506 journal
日記

Livingdeadの日記: Google Apps ScriptからTwitter APIのREST APIを叩く

日記 by Livingdead

以前からボット的振る舞いのためにGoogle Apps ScriptからTwitter APIを叩くことはやっていたが、繰り返し同じことを書くのが面倒なのでライブラリにした。
TwitterUrlFetch
デモ

11637408 journal
日記

Livingdeadの日記: Google Apps ScriptでGoogleドライブのファイルを選択するダイアログを開く 2

日記 by Livingdead

Google Apps ScriptでGoogleドライブのファイルを選択するダイアログを開くには結構面倒な手続きが必要なので、さくっと使えるライブラリにしてみた。
https://script.google.com/macros/s/AKfycbxPkya2A-FxdEdI8qiRvkpVUhXMhUQFWc6zWDafw0ecj4QN_qly/exec

11637151 journal
日記

Livingdeadの日記: Google Apps ScriptでOAuth2対応のウェブサービスを作ってみた 4

日記 by Livingdead

Google Apps ScriptにはContentServiceもあるしクエリパラメータを取得することもできるので簡易的なウェブサービスを作ることができるのだが、OAuth2での認証を受け付けるウェブサービスを作ることができるか分からなかったので実験してみた。「https://www.googleapis.com/auth/drive」スコープに対して取得したアクセストークンをAuthorizationヘッダに設定すれば、それを振り出したユーザーの権限でウェブサービスにアクセスできることがわかった。

https://script.google.com/macros/s/AKfycbwOTvCijZfxQzCdzrL1DVt3EyYw33ozdogONFYZqwL5/dev

10344585 journal
日記

Livingdeadの日記: 久々になにか書いてみようと思ったが何も思いつかない。

日記 by Livingdead

まぁ、いいや。
ごめん、駄文で。

330696 journal

Livingdeadの日記: jQuery Mobileでチェックボックスの右に謎のマージン

日記 by Livingdead

右側に謎のマージン

<fieldset data-type="horizontal" data-role="controlgroup">
    <input type="text" placeholder="nickname" />
    <input type="checkbox" id="checkboxNickName" name="checkboxNickName"/>
    <label for="checkboxNickName">
        remember
    </label>
</fieldset>

jQuery Mobile 1.0 Alpha 4.1でテキストボックスとチェックボックスを並べると画面の右に謎のマージンが。これはどういう要素や属性によって作られているのだろうかと調べてみようとしたけど、DOMを操作された結果なので追っかけるのが面倒でやめた。ChromeでもOperaでも同じ。

322876 journal

Livingdeadの日記: 久々にDeleGateを使ってみる

日記 by Livingdead

USBテザリングでネットに繋がっているWindows7 PCに何台かのクライアントがぶら下がっていると、プロキシを立ててキャッシュを有効に使えないかという気になってきた。なにせ数百KBpsの帯域だから少しでも有効に使いたい。でもプロキシ立てて逆効果ってこともあるからなぁ、と思いつつも久々にWindowsマシンでDeleGateを使ってみた。

"C:\Program Files\DeleGate\dg9_9_7.exe" -P3128 ADMIN=livingdead@example.com EXPIRE=15d CRON="10 3 * * * -expire 1" MAXIMA=delegated:30

SPDYをプロキシ経由で使うと逆効果な気がしたので(あくまで気がするだけ)、クライアントPC上のChromeの chrome://net-internals/ で確認しながら以下のドメインをプロキシの対象外とした。

Proxy server: localhost:3128
Bypass list:
  *.google.com
  *.google.co.jp
  *.google-analytics.com
  *.googleusercontent.com
  *.gstatic.com

効果は有るような無いような。
【追記】結局DeleGateじゃなくてPolipoにしました。

322710 journal

Livingdeadの日記: DNSプロキシエージェントは、0バイトのメモリを割り当てることができませんでした

日記 by Livingdead

Windows7サーバでICSを有効にすると、SharedAccess_NATが「DNSプロキシエージェントは、0バイトのメモリを割り当てることができませんでした」とイベントログに吐く。Windows7サーバをDNSサーバとして使おうとするクライアントPCからはDNSを解決できない。

クライアントPCにてパケットキャプチャを実行し何が起こっているのかを覗くと、クライアントPCからの一つのDNSクエリに対してWindows7サーバから二つのDNSアンサーが返ってきていて、一つ目のUDPパケットにはQuery Refused、二つ目のUDPパケットには正しく名前解決された答えが入っている。どうやら一つ目のQuery RefusedがあるからクライアントPCはDNSによる名前解決ができないと思っているようだ。まぁこれは正しい動作で、両方受け入れてしまうようではセキュリティ上の問題だ。

「DNSプロキシエージェントは、0バイトのメモリを割り当てることができませんでした」でググルとICSを切れという対処法が見つかったが、そもそもそのICSを使いたいのだ。結局、ICSを実行しているサーバからVMware Playerをアンインストールした結果、一つ目のQuery Refusedが返って来なくなった。VMwareではホストとゲストのを繋ぐために仮想NICが使われるが、そのせいだったのだろうか。

【追記】
まだ同じエラーが時々イベントログに記録される。しかしクライアントPCからは正常にWindows7サーバのICSを介してインターネットを利用できているのでよしとする。VMware Playerに濡れ衣を着せていたらごめん。でもアンインストールして初めて期待通りに動くようになったので。

320581 journal

Livingdeadの日記: フラッシュコンテンツの中からリクエストされるURLがShift-JISをそのままURLエンコーディングした物って 3

日記 by Livingdead

フラッシュコンテンツがFirefoxとChromeでは閲覧できるのにInternet Explorer 8では閲覧できないという相談を受けた。LiveHTTPHeadersやMicrosoft Network Monitorなどで覗いてみると、どうやらフラッシュコンテンツの中からリクエストされるURLがShift-JISをそのままURLエンコーディングしたものになっているようだ。作成者にIRIという概念はないのか?はたまた設置先としてIISしか想定していなかったのか?

コンテンツの中身を触ることはできないので、サーバ側のPHPスクリプトを改変することで対応する方法があれば教えて欲しいとのこと。mb_check_encodingではうまく判定してくれなかったので、mb_convert_stringを使うことにした。Shift-JISと仮定してUTF-8に変換、再度Shift-JISにラウンドトリップして元に戻ればShift-JISだったんだろうというざっくりした判定。

#!/usr/bin/php
<?php
$utf8_string = urldecode("%E5%AE%89%E5%85%A8/%E5%8C%96%E5%AD%A6%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E5%AE%89%E5%85%A8");
$s = $utf8_string;
$su = mb_convert_encoding($s, "UTF-8", "Shift-JIS");
$sus = mb_convert_encoding($su, "Shift-JIS", "UTF-8");
if ($s == $sus) {
  echo "Shift-JIS\n";
} else {
  echo "UTF-8\n";
}
$sjis_string = urldecode("%88%C0%91%53/%89%BB%8A%77%83%76%83%8D%83%5A%83%58%82%CC%88%C0%91%53");
$s = $sjis_string;
$su = mb_convert_encoding($s, "UTF-8", "Shift-JIS");
$sus = mb_convert_encoding($su, "Shift-JIS", "UTF-8");
if ($s == $sus) {
  echo "Shift-JIS\n";
} else {
  echo "UTF-8\n";
}
?>

判定できているようだ。教育用に許諾を得て借りてきたeラーニングコンテンツを部局内のウェブアプリケーション内に組み込むテストというお仕事。

318576 journal

Livingdeadの日記: 無線LANアクセスポイントのファームウェア更新による11a新5GHz帯対応は6月1日まで 1

日記 by Livingdead

古いBuffalo製のAirStationがあるのだが、何故か11a使えないなぁ、まぁいいかと放っておいた。で、最近になってようやく世界標準11a対応のファームウェアにしていなかったことに思い当たった。何を今更だ。仕事が遅いんだよ、死ね俺、死んでるか。

WHR2-A54G54 世界標準11a(W52/5.2GHz)無償アップデート用  ファームウェア Ver.2.25(2005年11月8日掲載)

このソフトウェアは、WHR2-A54G54の世界標準11aバージョンアップツールです。従来5.2GHz(J52)→ 世界標準5.2GHz(W52)へ10MHzシフトが行えます。このバージョンアップによって802.11b/gの機能に変更はありません。
※本ツールは2011年6月1日までお使いいただけます。2011年6月1日以降に本ツールにてバージョンアップすることは認められておりません。

というわけでまだの人はそろそろやっておきましょう。

なぜ放置していたか思い出した。ファームウェアをアップデートするためのツールを実行するには古いWindowsが必要だったんだ。

306844 journal

Livingdeadの日記: CyanogenMod-6.1.0-DSをGoogle Ionに入れる

日記 by Livingdead

今までAndroidといえばIS01にカスタムカーネルを入れたAndroid 1.6を使っていたのだが、
JITなどを試してみたくなったのでAndroid 2.2を使いたくなった。
そこで手元にあるGooge Ion (HTC Magic 32B)にCyanogenMod-6.1.0-DSを入れてみたら快適。
今忙しいので後で色々書く。

typodupeerror

「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」

読み込み中...