HTML5のIndexedDB APIはなんの冗談だ?

洒落にならないレベルで使いにくい。Web SQL Databaseを使う暗黒面に堕ちたい。
全ての処理がコールバック。これはjsだからまだしょうがないと言える。
取得する値の範囲を絞る方法が、全て か 完全一致か範囲指定 のみ。これが致命的。sql的に言うと範囲指定はwhereがbetween a and bか、<a か、>bの三種類しか無い。
しかもand やorが無い。条件は本当に一つだけ。
名前の通り、実質的に連想配列で範囲指定もオマケで付けておいたよ と考えても、1リクエストごとにコールバックな連想配列なんて誰も使わないだろ。

テーブル(indexed BDではストアと呼ぶ)を二つに分けて、片方のデータのインデックスの情報をもう片方のDBから引っ張ろうとするとコールバックの嵐になる事必至。数件しか無いデータや、完全一致の1行sqlで最終結果が出るデータ以外はまともに使える気がしない。

indexed BDをガリガリ使い、sql的に言う所のjoin文的な処理も使いこなしてるプロダクトがあれば教えて欲しい。勉強するから。
僕がとてもとてもとても愛用しているニコ動履歴ちゃんはweb sql使ってました。これは廃止出来ない。
いいじゃんSQLite準拠でも・・

TwitterのAPIの戻り値 htmlエスケープはどうなっているのか記録。

twitterのREST APIとStreaming APIの違い。
postしたツイートは (ABCの後に数回改行もある)
windows7のツイタマより。半角記号全部に注目。化けてたらごめん。
gist.githubに上げたから、RAWで見れば多分大丈夫。


streamingAPI
rest api
textに関しては、Streaming APIとREST APIでエンコード形式は変わらないな。変換されたテキスト一覧。html的にアレなのでgist参照推奨 ¥エスケープはjsonの段階で消えるとして、結局&<>のエスケープだけする感じか。

EDCBでBondriverが開けません

imgTemp-2014-08-16-20-16-30
前提条件として、bondriverは複数ある。epgtimerSrvを使っている。OSの起動直後等、EpgTimerとEpgTimerSrvの接続が切れてもやもやする事がある。

正常にEpgTimerとEpgTimerSrvが繋がっている時、録画予約が開始されるとタスクトレイにEpgTimerCapBonのアイコンが表示される。
EpgTimerSrvはサービスで動いているからGUIを表示する事は出来ない。ので、ユーザーモードで動いているEpgTimerに通信してEpgTimerCapBonを起動して貰っている。 と、思われる。
EpgTimerが動いていない時に録画予約が始まると、EpgTimerSrvが直接EpgTimerCapBonを起動する。ので前述の制限の通りGUI=タスクトレイのアイコンが表示されない。
キャプション
2つの起動モードのEDCB。ぼかしはログインユーザー名=ユーザーモード


問題はここからで、システムモードで動いているEpgTimerCapBonがあると、ユーザーモードで起動したEpgTimerCapBonからBonDriverを開けなくなる事があるっぽい。
条件はあるだろうけど、少なくとも ある。
だからEpgTimerSrvとEpgTimerの接続が怪しいと思ったら、システムモードで動いているEpgTimerCapBonの有無を確認するべきだと思う。
私はこれで今日土曜日の化物語一挙をBonDriverオープン失敗しました。ファック。

ブラザーの複合機にあるクラウド保存機能は画質が悪い

たり前と言えば当たり前だけど。
jpeg保存、pdf保存と、比較用の外部ソフトを使ったスキャン時。全て600dpi。
機種はこれ http://www.brother.co.jp/product/printer/inkjet/dcpj752n/
上から外部ソフト、jpg、pdf。当たり前だけど非クラウドの外部ソフトが圧倒的。と、思ったけど純正ソフトControlCenter4が一番かな。外部ソフトと解像感はあまり変わらないけど色が好み。
b-direct
b-bmp
b-jpg
b-pdf

YAT安心!宇宙旅行の本当の絵はどこにある?

チャンネルNECOで放送しているYAT安心宇宙旅行HD版の絵調査です。
NHKアナログハイビジョン版の映像持ってる人提供待ってます。
以下映像は全て1期。フルワイドなのが13話で、左右にカーテンがあるのが12話。NECOは1440×1080。アナログなのでフレーム単位でブレが生じているので完全に一致はしません
インライン用の縮小画像。NECOはワイドに引き伸ばしてます。左上がNECOの12話。右上がNECOの13話。左下がNEPYOUの12話。右下がNEPYOUの13話。
imgTemp-2014-04-20-21-55-38
黒い部分多すぎですな。この中でフルワイドなのは右上のNECO13話版だけ。NEPYOU版とNECO版は縦方向に伸縮してる。アナログハイビジョンをそのままデジタル化したNEPYOUと伸ばしたNECOの違いか。

以下オリジナルpng
NECOの12話
NECOの13話
NEPYOUの12話
NEPYOUの13話

androidのapkを改造する方法

Java – Androidのリバースエンジニアリング方法 – Qiita [キータ]
これで9割OK。
後は自作のアプリを逆コンパイルして、この命令はこういう内容で と頑張って読む。


Sony Ericsson xperia series Home.apk コンパイルエラーの解決 | 所感 ~android~
apkをビルドする時にレイアウトファイルうんぬんのエラーが出たらここ。
サンプルが1例だけだらか心配だけど、「1つ上の兄弟ノード」の値をそのままコピペでok。機械的に出来る。

ここからが自作部分。
コピペで使える、ログに任意の値を書き出すメソッド。
staticだからどこからでも使える。.smaliのファイルの先頭にコピペする。多分constructorの次がいいと思う。#direct methodsがあるクラスの方がいいと思う。


使い方はこの二行だけ。当然クラス名は適切な配置場所に変更。

元コードはこんな感じ

Googleドライブで作ったアンケートフォームの共有状態を変更すると”回答も”一般公開される

Googleドライブには、アンケート等に使えるフォームを作成し 共有する機能があります。
imgTemp-2013-12-16-02-07-49

ここから作成したフォーム、共有設定を限定公開にしない限り回答内容も共有されるみたいです。俺が知らないだけならそれでいい。

最初に適当なフォームを作ります。メッセージだけ編集して、画面下部のチェックボックス等はそのままです。今回は関係ないけど。
imgTemp-2013-12-16-02-46-41
そしてフォームを送信ボタンを押して保存完了。
imgTemp-2013-12-16-02-15-43

ここに表示されるurlを、googleのサービスからログアウトした状態で閲覧してみます。
imgTemp-2013-12-16-02-48-41
はい。これがデフォルトの状態で、自分(フォームを作成したアカウントでgoogleにログインしている状態)以外に回答が公開されたりという事はありません。
安心してurlをみんなにシェアしましょう。

デフォルトの状態のファイルの詳細をGoogleドライブから開いてみるとこんな感じ。
対象のファイルにチェックを入れて、詳細の共有の鉛筆マークをクリックして共有状態も確認。
imgTemp-2013-12-16-02-22-38

これ用語がわかりにくいんじゃないかと思うのですが、「下記のユーザーだけがアクセスできます」というのは
「下記のユーザーだけが(回答内容等のプライベートな内容に)アクセスできます」という意味で、フォームの表示 回答だけなら共有リンクというurlだけで可能です。

それはともかく、この文面を読んで「下記のユーザー(自分)だけがアクセスできます?それは困る」と変更ボタンを押して
imgTemp-2013-12-16-02-30-24
ウェブ上で一般公開なり、リンクを知っている人全員なりに変更して保存を押したとします。
imgTemp-2013-12-16-02-38-11
「注: アイテムは公開設定オプションに関わらず、ウェブに一般公開できます」の一文を見逃しながら。

この状態で、Googleのサービスからログアウトした状態で閲覧すると
imgTemp-2013-12-16-02-50-33
右上に「このフォームを編集」と表示されています。クリックすると
imgTemp-2013-12-16-02-53-30
imgTemp-2013-12-16-02-55-12
imgTemp-2013-12-16-02-55-38

はい、アンケート結果が流出しています


詳細の共有から公開設定オプションを限定公開から変更したのが原因。原因というか、Google的にこれは仕様なのでしょう。デフォルトが限定公開だし。
これが明らかなバグならGoogleに通報して報奨金貰って本名がgoogleに永久記録されるのにと思ってしまいました。

テキストファイル、getデータ、はてやUAまでも、あらゆる入力から任意のコードが実行できるphpの脆弱性が発覚

phpが受け取ることの出来るあらゆる入力から任意のコードを実行出来る攻撃方法を俺が5分で発見しました。この攻撃手段はphpの機能を用いてphpコードを評価させ、自らを実行させるようになっていました。

通常バックドアはどうのこうのですが、この攻撃方法は隠す必要すらなくgetパラメーターやブラウザのユーザーエージェントにも潜むことが出来ます。

まず、俺が3分で思いついたコードがコレ。これがオチです。
preg_replace($_GET[“from”],$_GET[“to”],”);

一行目にあるpreg_replaceとは、正規表現検索と置換を行う関数。
この関数単独であれば無害なものですが、「preg_replace」には「/e」という修飾子をつけたとき、検索・置換の代わりにコンテンツを実行することができるオプションがあります。

続いて、俺はgetに以下のデータを渡す事を思いつきました
?from=%2F.*%2Fe&to=phpinfo()

1分で思いついたコードにデータを渡し、最終的に生み出されるのが以下のコード。
preg_replace(“/.*/e”,”phpinfo()”,”);

そしてこれをデコード(?)した結果が(ry


と、言うわけでgigazine様の
JPEG画像のEXIFヘッダにマルウェアを隠して実行させる新しい手口が登場 – GIGAZINEに対する当て付け記事です。

だってこれさあ、任意のコードが実行される可能性があるpreg_replace関数に外部のデータをそのまま渡すのが悪いのであって、それがexifかどうかは全然関係ないじゃん。上で例に出した通りgetでもいいしUAでもいいし。
確かに忘れがちではあるし、preg_replaceに値渡すときは注意しないとな って思うけど「JPEG画像のEXIFヘッダにマルウェアを隠して実行させる新しい手口」って言うのは正しいのかと激しく疑問であります。
そんな感じ。
imgTemp-2013-07-17-23-54-48
?from=%2F.*%2Fe&to=exec(‘calc’)
で試したら当然の様に電卓が起動しました。当たり前。

・・あ、もしかしてすごい勘違いしてる系です?ハズカシ~