-->

11 posts categorized "プレゼント"

2006年11 月 4日 (土)

秋の二大プレゼント!ギートステート・ハンドブック三冊とBB-SHOUT!当選者発表!

Geet Bb

永らくお待たせいたしましたが、当選者発表です。

今回の抽選アルゴリズムですが、今回プレゼントの、ギートステートハンドブックの、ギートという言葉は、「グーグル・ニート」の合成語というところから、

応募者の皆さんのメールアドレスのドメイン名をグーグルで検索
そのヒット数で乱数を初期化
ギートステートの舞台が2045年であるところから、2045までの乱数を発生させて、数の多い順にソート
BB-SHOUTは、上位一名様、ギートステートハンドブックは、上位三名様にプレゼント!


という、意味があるんだかないんだか、妙に複雑なものにしました。

で、今回も私シン石丸が、Rubyの勉強も兼ねて、Rubyで抽選プログラムを作成しました。

作成したRubyのソースがこちら。

require 'mailread'
require "soap/wsdlDriver"
require 'nkf'

# googleで指定のキーワードで検索した結果のトータル数を返す
def getGoogleSearchCount( search_keyword )

    wsdl = "./GoogleSearch.wsdl"
    license_key = "ABCDEFGHIJKLMN"    # ライセンスキー

    google = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver

    # SOAPとRubyの型変換を有効にする(?)
    google.generate_explicit_type = true
    param = "-k " + search_keyword;
   
    result = google.doGoogleSearch(
                license_key,            # ライセンスキー
                param,                    # 検索キーワード
                0,                      # 何件目から取得する?
                10,                     # 一度に何件取得する?
                true,                   # true:似たような結果を取り除く
                "countryJP",            # 制限情報
                true,                   # true:安全な検索
#                "lang_ja|lang_en",      # 日本語または英語のページ
                "lang_ja",              # 日本語のページ
                "UTF-8",                # 文字コード(入力)
                "UTF-8"                 # 文字コード(出力)
            )
            
    return result.estimatedTotalResultsCount.to_i
end


# 応募者クラス
class Applicant
    def initialize( app_name, app_email )   
        #応募者名
        @name = app_name.split("<")[0] + "さん"
        #応募者メールアドレス
        @email = app_email
        #応募者ドメイン名
        @domainname = app_email.split("@")[1]
        #ドメイン名をgoogleで検索してヒットした数
        @count = getGoogleSearchCount(@domainname)
       
        #googleでのヒット数から乱数初期化、2045までの乱数取得
        srand(@count)
        @num = rand(2045)
    end
   
    def name
        return @name
    end
   
    def email
        return @email
    end
   
    def domainname
        return @domainname
    end
   
    def count
        return @count
    end

    def num
        return @num
    end
   
    #メールアドレス、ドメイン名を*で隠した文字列を返す
    def putAst(str)
       
        dot_index = str.rindex(".");
        at_index = str.index("@");
       
        mail = "";
       
        if at_index != nil
            for i in 0..at_index
                mail = mail + "*"
            end

            mail += "@"
        else
            at_index = 0
        end
               
        for i in at_index..dot_index
            mail = mail + "*"
        end
   
        mail += str[dot_index, str.length]
       
        return mail   
    end
   
    #要素の表示関数
    def show()

        mail = putAst(@email)
        domain = putAst(@domainname)
        #domain = @domainname
       
        print("Name:", @name, "\n");
        #print("E-Mail:", @email, "\n");
        print("E-Mail:", mail, "\n");
        #print("Domain:", @domainname, "\n");
        print("Domain:", domain, "\n");
        print("SearchCount:", @count, "\n");
        print("num:", @num, "\n");       
    end
   
end


# それぞれの応募メールをUNIX mbox形式でエクスポートしたファイルの読み込み

#mailbox = File.open('./CSC_GEET')
mailbox = File.open('./CSC_BB')

app_array = Array.new

until (m = Mail.new(mailbox)).header.empty?

    #応募者のメールアドレス、名前をクラスに保存。クラスは配列に保存
    app_name = NKF.nkf('-me', m['From'])
    a = Applicant.new( app_name, m['X-Envelope-From'] )
    a.show()   
    app_array << a;
    # なんかあんまり連続でリクエストするとエラーがでるから適当に休み
    sleep 10
end

#numの数値の大きい順に配列内の要素ソート
sorted = app_array.sort{ |a, b|
    b.num <=> a.num
}

#結果表示
print("\n結果\n\n")

sorted.each{ |app|
    app.show()
}

RubyからGoogle SOAP Search APIを使って、検索しとります。

さて、それでは結果発表!

まずは、ギートステートハンドブックから。

ギートステートハンドブックには、7名の方からご応募がありました。

さきほどのRubyスクリプトを動かすと、次のような結果になりました。

Name:"takeshi kito" さん
E-Mail:*******@*******.com
Domain:******.com
SearchCount:698000
num:1743
Name:大城 晶 さん
E-Mail:******@**************.jp
Domain:*************.jp
SearchCount:62
num:1554
Name:福井 香輔 さん
E-Mail:*************@*****.com
Domain:****.com
SearchCount:113000
num:1216
Name:藤岡和夫 さん
E-Mail:******@*************.jp
Domain:************.jp
SearchCount:24600
num:850
Name:林 直宏 さん
E-Mail:*****************@************.jp
Domain:***********.jp
SearchCount:610000
num:354
Name:秋山弘行 さん
E-Mail:*********@***************.jp
Domain:**************.jp
SearchCount:790
num:240
Name:湯浅 一誠 さん
E-Mail:**********@*********.jp
Domain:********.jp
SearchCount:7
num:175

当選は、"takeshi kito" さん、大城 晶 さん、福井 香輔 さんの、お三方です!

おめでとうございます。

ついで、トグサ氏作成のBB-SHOUT。

こちらには、11名の方からご応募がありました。

1/11の狭き門となりました。

で、実行結果がこちら!

Name:Yoshikazu Urabe さん
E-Mail:*********@**********.jp
Domain:*********.jp
SearchCount:742000
num:1866
Name:R SATO さん
E-Mail:*****************@*******.to
Domain:******.to
SearchCount:659
num:1831
Name:"Akira Matsuda" さん
E-Mail:***************@***********.net
Domain:**********.net
SearchCount:1960
num:1549
Name:SEKO Keisuke さん
E-Mail:*********@***********.jp
Domain:**********.jp
SearchCount:8500
num:1436
Name:藤岡和夫 さん
E-Mail:******@*************.jp
Domain:************.jp
SearchCount:24800
num:1047
Name:"Ryohei Arai" さん
E-Mail:***********@*******.com
Domain:******.com
SearchCount:456000
num:945
Name:ishii さん
E-Mail:********@*******.com
Domain:******.com
SearchCount:456000
num:945
Name:osten さん
E-Mail:*********@********.jp
Domain:*******.jp
SearchCount:110000
num:734
Name:"rihaku" さん
E-Mail:****************@*********.com
Domain:********.com
SearchCount:918000
num:450
Name:カシハラ さん
E-Mail:*******************@*****.com
Domain:****.com
SearchCount:107000
num:425
Name:後藤 昌幸 さん
E-Mail:***************@********.net
Domain:*******.net
SearchCount:7
num:175

当選は、Yoshikazu Urabeさんです!

おめでとうございます!

応募してくださった皆さん、ありがとうございました!!!

2006年10 月30日 (月)

プレゼント用アルゴリズムだいたい決定

1週間前に締め切らせていただいたプレゼントのほうですが、プレゼント決定抽選アルゴリズムがだいたい固まりました。

ですが、プログラム作成の時間が、なかなか取れないんで、もうちょっと結果発表のほう、お待ちください。

という、ご報告でした。

2006年10 月24日 (火)

秋の二大プレゼント!ギートステート・ハンドブック三冊とBB-SHOUT!締め切り

ギートステート本、ならびにBB-SHOUTへの応募ありがとうございました!

受付のほう、締め切らせてもらいます。

抽選方法を考案の末、また後ほど結果のほう発表させていただきます。

ちょっと時間かかるかもしれませんが、気長に待っていただければと。

2006年10 月16日 (月)

秋の二大プレゼント!ギートステート・ハンドブック三冊とBB-SHOUT!

Geet Bbshout

電脳空間カウボーイズリスナーのみなさんへ、電脳空間カウボーイズ史上最大のビッグプレゼント!

まずは、東浩紀さんご提供の「ギートステート・ハンドブック」合計三冊。

そして、我々初のVodcastで、トグサ氏が作成した「BB-Shout」、合計一つ脱力気味のサイン入りで。

サインは、プレゼント発送までにカウボーイハウスを訪れたカウボーイのサインが順次追加されます。

「ギートステート・ハンドブック」プレゼントご希望の方は、本番組の感想、ギートステートに関する感想、ご自身の近況などを書いて(どれも必須ではありません)、次のリンクからメールにて応募してください。

ギートステート・ハンドブックプレゼント応募先

「BB-SHOUT」プレゼントご希望の方は、本番組の感想、ご自身の近況などを書いて(必須ではありません)、次のリンクからメールにて応募してください。

BB-SHOUTプレゼント応募先

2006年10月23日(月)までにいただいたメールの中から、抽選で決めさせていただきます。

2006年10 月15日 (日)

BB-SHOUT、ギートステート本プレゼント応募方法は、月曜発表します

どもども、シン石丸です。

各所より、プレゼント応募方法に関するお問い合わせ多数で、遅ればせながら、ご連絡させていただきます。

BB-SHOUT、ならびに東浩紀さんからご提供いただいた、ギートステート本三冊(冊数を確認したところ、三冊であることがわかりました。)のプレゼント方法は月曜発表させていただきます。

私のほうで、週明けにでも、募集方法発表すればよい?

と思っていたら、応募方法がよくわかりませんとのお問い合わせがいくつか来てしまい、申し訳ない!

ということで、申し訳ないですが、明日月曜発表させていただきますので、よろしくお願いします。

2006年5 月25日 (木)

E3プレゼント当選者発表

EclipseE3お土産プレゼントの結果を発表させていただきます。

今回、リック九十九と私、シン石丸で抽選方法を検討の結果、

「メールの送信時間のEpochミリ秒(1970年1月1日からのミリ秒)で、乱数を初期化。その後、乱数xで自然対数eを底にしたlog xをとり、それを3で割った余りの絶対値が、最も小さかった上位2人が当選」

というE3にかけまして、自然対数eと3で割った剰余を使った、当選ロジックとなりました。

でですね、私が作りましたよ、計算プログラムを。

Javaでカツカツ書いたコードがこちら。

E3Select.zipをダウンロード

実行した結果、今回総勢15人の応募者の順位は、次のようになりました!

当選者は、福井香輔さんと、Satoshi OONISHIさんに決定しました!

おめでとうございます。

No.1
name:福井香輔さん
sendTime:1147618374000
log:-0.003462307377247979
surplus:0.003462307377247979

No.2
name:Satoshi OONISHIさん
sendTime:1147791710000
log:-0.06859759613016217
surplus:0.06859759613016217

No.3
name:Nao Miuraさん
sendTime:1147697292000
log:-0.39740047618573243
surplus:0.39740047618573243

No.4
name:Hawkstarさん
sendTime:1147476744000
log:-0.3985293394968473
surplus:0.3985293394968473

No.5
name:井上進さん
sendTime:1147714826000
log:-1.1062830088888052
surplus:1.1062830088888052

No.6
name:Hayami Masumiさん
sendTime:1147790052000
log:-1.1232380288514259
surplus:1.1232380288514259

No.7
name:Tomoyuki Kimuraさん
sendTime:1148218136000
log:-1.1663273963764285
surplus:1.1663273963764285

No.8
name:村中慎太郎さん
sendTime:1148049254000
log:-1.1690755789244434
surplus:1.1690755789244434

No.9
name:西澤さん
sendTime:1147696965000
log:-1.3114760817972189
surplus:1.3114760817972189

No.10
name:勝犬さん
sendTime:1147934668000
log:-1.4315933851774638
surplus:1.4315933851774638

No.11
name:アーミテジ愛三さん
sendTime:1147834364000
log:-1.6111315425644923
surplus:1.6111315425644923

No.12
name:網倉 隆雄さん
sendTime:1147705490000
log:-2.238652475091801
surplus:2.238652475091801

No.13
name:ishiiさん
sendTime:1147693464000
log:-2.266972214839258
surplus:2.266972214839258

No.14
name:夜久宜滋さん
sendTime:1147670763000
log:-2.3839619164258474
surplus:2.3839619164258474

No.15
name:小田達也さん
sendTime:1147680090000
log:-2.71087988629533
surplus:2.71087988629533

2006年5 月23日 (火)

第四十八回のプレゼントクイズ締め切り

P1020180_1 ども、SING石丸です。

写真はロスのハンバーガー屋、JACK IN THE BOXのレシートです。

名前を聞かれたので、シンと答えると、そこには「SING」と書かれていたのでした。

最後がGだと、だいぶ中国系っぽい感じしますねー。

向こうの人には、日本人と中国人はだいぶ見分けつきにくいんでしょうね。

さて、プレゼントクイズ、多数の応募ありがとうございました。

抽選の上、当選者の方を発表させていただきますので、しばらくお待ちください。

アメリカ帰りで疲れ気味でしたが、そろそろpodcastも更新予定です。

2006年5 月15日 (月)

第四十八回のプレゼントクイズ

P1020173第四十八回のプレゼントクイズがわかりにくいようなので、文章で解説を。

プレゼントクイズ:
「電脳○間カウ○ーイズ」の○の部分に入る文字を埋めて、それをメールのSubject(件名)に入れて送ってください。
本文中には、第四十八回プレゼントの応募であるむねの記載と、皆さんの近況、または番組の感想などを書いて送信お願いします。

2006/05/22(月)までに送っていただいたメールの中から、抽選で決めさせていただきます。

送信先はこちらまで!プレゼント応募

E3入場用ストラップと、任天堂WiiブースのWii袋をセットで2名様にプレゼントします。

※すでに応募していただいた方は、このフォーマットにのっとってなくとも、受領していますので、送りなおしていただかなくても問題ないです。

2006年4 月26日 (水)

プレゼント企画第一弾の抽選

Cyusenさて、電脳空間カウボーイズ初のプレゼント企画、「NECパーソナルコンピュータPC-8800シリーズ CDたから箱」プレゼントに応募いただき、ありがとうございます。

プレゼント提供者のトグサ秋月さんと、わたくしシン石丸で「電脳的」抽選方法について検討しました。

検討の結果、トグサ氏提案の、
「プレゼント応募のメールを
MD5にかけてハッシュ値を出して、下2桁が0x88(PC-88だけに。0xは16進数の意。)に一番絶対値が近い人が当選!」
という方式に決定しました。

画像がそれを実現するため、地道作業を行っている私のThinkPadのスクリーンショットです。

今回ご応募いただいた6名のみなさんのメールをいったんテキストファイル化。

cygwinのmd5sumコマンドにて一括でハッシュを生成しました。
その結果!

$ md5sum *.txt
b0a0021c80fdd958baab1149065c797b *amiteji.txt
55ae8cc7c29be4a22dd27d93132fecaa *fukui.txt
0cea05ab2713c206b657ad5c61f5e924 *kachiinu.txt
2ae29b38f469df44a276d1d12aca66d2 *nakahara.txt
0e59b872379a01c312f01be28ac38d90 *nishizawa.txt
df0f449f0791a6839630148fd317c65f *r_sato.txt

エントリーナンバー1のアーミテジ愛三さんは下二桁 7b。
0x88 - 0x7b = 0xd。

エントリーナンバー2の福井さんは下二桁 aa。
0xaa - 0x88 = 0x22。

エントリーナンバー3の勝犬さんは下二桁 aa。
0x88 - 0x24 = 0x64。

エントリーナンバー4のナカムラさんは下二桁 d2。
0xd2 - 0x88 = 0x4A。

エントリーナンバー5の西澤さんは下二桁 90。
0x90 - 0x88 = 0x8。

エントリーナンバー6のR SATOさんは下二桁 5f。
0x88 - 0x5f = 0x29。

ゆえに、第一回プレゼントの当選者は、西澤さんに決定しました!
おめでとうございます!

2006年4 月25日 (火)

プレゼント企画第一弾締め切り

ども、シン石丸です。

プレゼント企画第一弾の応募のほう、締め切らせてもらいます。
多数というほどではないものの、そこそこの人数の方からメールいただきました(笑。
ありがとうございます。

感想のほうもありがたく読ませていただきました。

抽選の上、当選者の方には「プレゼント企画第一弾当選!」というメールを差し上げますので、しばらくお待ちください。

関連書籍-Kindle

iTunesStoreで評価する

フォトアルバム

他のサービス

Twitter
powered by TypePad
登録年月 2005年10月