それ、うまいのか?

... 記憶の残滓

エピさん

はてなスペース サービス終了のお知らせ

これは、http://q.hatena.ne.jp/1433876731Google キャッシュ。

http://webcache.googleusercontent.com/search?q=cache%3Ahttp%3A%2F%2Fq.hatena.ne.jp%2F1433876731&hl=ja

少なくとも、初めてじゃあない。

回答が削除されたときに通知されてないんだなあ。

回答が跡形もなく消えちゃうから、第三者には何が起きているか分からないし、当人にも通知(警告)が行かない。
何の抑止力にもなっていないじゃないか。



もう、当人にとってもどうでも良いことだと思うので ひっそりとしたためておきます。

What color is a blue apple ?

この質問。

What color is a blue apple? の答え

http://q.hatena.ne.jp/1429765628

直観は過たない はずがない

頭の中には、「blue apple」という品種があるのか、と浮かぶ。
ブルーと名がついているけど、紫だよねえ、というような答えか。

まずは、Google でフレーズ検索。
"blue apple" - Google 検索

引っかかるのは、店の名前とかIDとか。
画像の方にも実物っぽいのが見当たらない。

二の矢

英語圏頓智か何かなのかも、と思いつく。
やっぱり、Google でフレーズ検索。
"what color is a blue apple" - Google 検索

検索結果のトップは知恵袋。
What color is a blue apple? の答えは? - What color is a blue appl... - Yahoo!知恵袋
知恵袋らしい回答が付いている :-)
彼も迷える子羊だったか。

ask.fm なんかでも似たような塩梅。
If a green apple is red, What color is a blue apple? | ask.fm/MyGamingSucks
Evi - an Amazon Company

四つ目がこれ。Solution とかいう文字が、答えに近づいてる感がある。
Learn about who we are and what we do - Level9SolutionsLevel9Solutions
ん? どこに書いてある?
ソースを見ても、"what color is a blue apple" の文字列がない。

Google キャッシュの方を見ると、あった。

"Help us prevent spam by answering the question below"
キャッシュじゃない方の画面ではこうなってる。

ふうん。bot 除け(CAPTCHA の類)なのか。

他にも気になるのが引っかかってる。

* trick questions
- logic questions (“What color is a blue apple”)
- mindpixel questions (“Is an elephant bigger than New York?”, “Is water dry?”, “Is the sky green?”)
- deduction questions (“How many legs do two cats have?”)
- decision questions (“what is the difference between a dog and a handkerchief?”)

Building a Chat engine...some preliminary questions | Platforms | Development | AI Zone - AI Forum for chat bot, virtual agent, virtual assistant, virtual human, chatbot & chatterbot developers

書かれているのは bot (人口無能?)の開発についてという感じで、CAPTCHA の話とは違うが、ゴールが見えた気がする。
が、このキーワードではここまで。

百里を行く者は九十を半ばとす

気を取り直して、こんなキーワードで検索。
prevent spam question - Google 検索

トップがこれ。

Effective Solutions
At this time, the below solutions seem to be most effective when fighting spambots.

Q&A CAPTCHA
At this time, the Q&A CAPTCHA plugin seems to be the most effective single solution against spambots (and some human spammers). For this technique to be effective, you must use simple but non-obvious question and answer combinations. For instance, "Who do you see in the mirror?" is an effective question, while "What colour is the sky?" or "2+2 = ?" are not.

phpBB • Preventing Spam in phpBB3

そう、これだよ。

stackoverflow も検索結果には見えているが、三番目のこっちをのぞいてみる。

you could my Logical captcha plugin
http://www.question2answer.org/qa/37749/q2a-logical-captcha-new-free-anti-spam-plugin-v1-0-released

http://www.question2answer.org/qa/38320/how-to-prevent-spam

プラグインってことは、ソースやデータが見られるってことかな。

リンクをたどった先がここ。
http://q2astore.com/product/logical-captcha/

Free と書いてはいるものの "Download" のボタンは無く、"Add to cart" の文字のみ。
いいや、探すから。
"logical captcha" - Google 検索

なんだ、GitHub にあるではないの。
q2a-logical-captcha/qa-logical-captcha.php at master · amiyasahu/q2a-logical-captcha · GitHub

ん、ん。
他のサイトにリクエストを出してるだけじゃん。
そういえば、さっきのページに "based on Text Captcha API" とか書いてあったわ。

Festina lente !

TextCaptcha: textual CAPTCHA challenges
すぐに PHPサンプルソースが目に入る。
Web API なのね。

http://api.textcaptcha.com/example.json

{"q":"10 plus three is what?","a":["c51ce410c124a10e0db5e4b97fc2af39","422ecc084f2458defc620ecebf2a6448"]}

そう、こんな感じだ。
ソースを見れば答えが書いてあるかと思ったけど、そんなわけはないよね。
答えはハッシュ値で持ってるのか。

MD5 の算出は、エンコードマニアックスで。

thirteen → MD5 : 422ecc084f2458defc620ecebf2a6448

http://encodemaniax.com/?charset=utf-8&data=thirteen

13 → MD5 : c51ce410c124a10e0db5e4b97fc2af39

http://encodemaniax.com/?charset=utf-8&data=13

後は、リロードを繰り返して色っぽい質問を探すだけ。

{"q":"The pink shark is what colour?","a":["4a0b0dcedd48f780778d1cd1bb8f9877"]}

pink → MD5 : 4a0b0dcedd48f780778d1cd1bb8f9877

http://encodemaniax.com/?charset=utf-8&data=pink


おしまい。



ああ、すみません。後、もうひとつだけ

こういうのを Q&A CAPTCHA って言うんだそうな。

Q&A CAPTCHA
The most effective CAPTCHA for small sites is the question and answer CAPTCHA. A Q&A CAPTCHA is a question that a website asks a user to answer. The question is something that anyone visiting the site would know, but that a computer program would not know. An example question for a site about seo would be "What does SEO stand for". This question would be easy for the average reader of that site to answer, but any computer program would not be able to do so.

NOTE: questions like "what is 1 + 1" do not work well, because they are often used, and the people who build spambots program them to answer such questions correctly.

However, if your site get's a lot of traffic, spammers will program their robots to answer those questions automatically, and the q&a CAPTCHA will no longer be affective.

How can I prevent spam on sites which I control? - Webmasters Stack Exchange

にしても、気合が入った回答だ >stackoverflow
でも、rel="nofollow" は効果がないよね。
spam bot は書き散らかしていくだけで、効果があるかどうかなんてわざわざ判定しないから。

ページのリロードなしに、ウォッチリストの項目を削除する Bookmarklet

人力検索のウォッチリストの話。

せっかく autopagerize な感じになってるのに、項目を削除するとページがリロードされちゃうので、どこまで見てたか分からなくなって非常に使いづらい。
ずーーっと気になってたけど、一向に改善される気配はないので、Bookmarklet を書いてみた。
http://let.hatelabo.jp/a-kuma3/let/hJmfhdGO3ulD

(function () {

    if (window.location.hostname == 'q.hatena.ne.jp' && /\/watchlist$/.exec(window.location.pathname)) {

        var frm = document.getElementById('delete-target');
        if (! frm) {
            var forEach = Array.prototype.forEach;

            // target frame
            var frm = document.createElement("iframe");
            frm.id = 'delete-target';
            frm.name = 'delete-target';
            frm.style.width = 0;
            frm.style.height = 0;
            document.body.appendChild(frm);

            // display mode
            var prof = document.body.querySelector('.profile-account-container');
            var e = document.createElement('div');
            e.innerHTML = 'interactive delete mode';
            var s = e.style;
            s.position = 'absolute';
            s.padding = '2px 8px';
            s.right = 0;
            s.backgroundColor = 'red';
            s.color = 'white';
            prof.appendChild(e);

            // delete item with animation
            var eraseItem = function() {
                var li_ = this.parentNode;
                li_.style.transition = 'all 1.2s';
                li_.style.opacity = 0;
                var f = (function() {
                            var li = li_;
                            return function() {
                                var ul = li.parentNode;
                                ul.removeChild(li);
                            }
                        })();
                setTimeout(f, 1300);
            };

            // set target to delete form
            var changeTarget = function (context) {
                forEach.call(context.querySelectorAll('form.delete'), function (f) {
                    f.target = 'delete-target';
                    f.onsubmit = eraseItem;
                    // I don't need confirm.
                    var btn = f.querySelector('input[type="image"]');
                    if (btn) {
                        btn.onclick = function() {return true;};
                    }
                });
            };
            changeTarget(document.body);

            // https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
            // http://caniuse.com/#feat=mutationobserver
            var MutationObserver = window.MutationObserver || window.WebkitMutationObserver;
            new MutationObserver(function (records) {
                records.forEach(function (record) {
                    changeTarget(record.target);
                });
            }).observe(document.body, { childList: true, subtree: true });

        }
    }
})();

削除するリクエストをフレームに飛ばして、ページのリロードをしないだけなんだけど。
うっとおしい confirm も削除。
ウォッチリストをまとめて整理するのには、ちょっと便利。

項目を削除した後に、autopagerize が走ると、削られた一項目分ずれて表示されるから、実は項目をひとつ見逃しちゃう、という欠点はあるのだけれど。
フレームの onload でレスポンスを拾って、最後の項目をリストの尻につければ良いんじゃないかという気もするけれど、地味に面倒なので割愛 :-)

メールで投稿(再度)



「一枚目の画像からフォトライフに登録する」にチェックを入れてから、メール投稿してみた。

今までのが大きくならないよ、って言ってるのかな。
今まで投稿したのは、残念だけど仕方ない。
画像が小さくされちゃってるから。


ガラケーのときに、今日の一枚に入らなかったのが、微妙に謎だな...

メール投稿のテスト

a-kuma32015-01-19




あー、やっぱり。
メールでダイアリーに投稿すると、添付された最初の写真が「今日の一枚」として登録されて、ふたつ目以降が fotolife に入るんだ。
しかも、「今日の一枚」めっちゃ小さいし。

ブログを書いているのですが、最近携帯を替えてからというもの、なぜか写真より広告の方が大きく載るのですが、どういうふうにしたら写真を大きくできますか? 枚数的にも1.2枚の時に発生することが多く、自分の記事よりも広告の方が大きいなんてちょっと残念な気分になります。

でも、「(ガラケーからスマホに)携帯を変えてから」って書いてあるなあ。
ガラケーでメール打ったから?
それとも、今年になってから動作が変わってて、たまたま時期が一致した? (考えにくい)



これかっ! (`・ω・´)

メールに画像ファイルを添付して送信した場合は、今日の1枚(その日の画像)としてアップロードされ、日記に掲載されます。2枚目以降の添付写真は、フォトライフ画像として日記に挿入されます。1枚目からフォトライフ画像として投稿したい場合は、管理画面の [メールで投稿] で「一枚目の画像からフォトライフに登録する」にチェックを入れてください。

メールで日記を書く - はてなダイアリーのヘルプ