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

jordan_bethの日記: Steam ゲームタイトルにスパイウェア? という話 2

日記 by jordan_beth

フラフラと Steam セールやその関連情報を見ていたら、Civilization 6 に Red Shell というスパイウェアが埋め込まれていた、という投稿を発見。その後情報をあさってみると、Civilization だけでなく、かなり多くのタイトルにこの Red Shell が入っていた模様。

RED SHELL Spyware - "Holy Potatoes! We’re in Space?!" integrated and removed it after complaints

Steam のコミュニティでは現在かなりホットな話題となっているようだ。

いわゆる広告屋(に対して情報を売りたい会社)が Steam ゲーマーののトラッキングに進出、ということみたいだが、どういう情報を収集しているのかわからないのですげー気持ち悪い。というか、こういうことゲーマーに無断ですると反発食らうってわかんないんだろうか。

(追記)
広告屋向けというより、ゲームデベロッパー向けに使用 OS やハードウェア情報を収集、ということらしい。少なくとも表向きは。

Redshell can collect (depending on dev choice):
        Operating System (e.g., Windows 10, Windows 7, Mac OS X 10.11.5, Windows Vista Service Pack 2)
        Screen Resolution (e.g., 1920x1080, 1440x900)
        Timezone (Based on offsets of UTC)
        Language (Your computer's language or region code, e.g., en, de, en-us, en-ca)
        Installed Fonts (All fonts installed on the computer)
        Installed Browsers (Names and version numbers)

13583122 journal
日記

jordan_bethの日記: Ready Player One 3

日記 by jordan_beth

劇中のネタがいちいち懐かしくて、なかなか楽しい時間でした。
シャイニングのシーケンス(結構長め)ではずーっとニヤニヤしっぱなしだったし、ギャラクティカなんかの小ネタもチョイチョイ挟んでくる。なにしろ、僕たちが昔夢中になった日本の特撮・アニメのネタが、当時のアメリカのオタクの中でもかなり大きな存在だったってことを具体的に形として見れて何故か誇らしげな気持ちにもなって。ガンダム出たとこは実際鳥肌もので、その相手も「ソコ来たか!」って驚きもあった(最初ゾイドかと思ったのはヒミツ)。

が…。

公開前の期待が大きすぎて(80'sって少年期真っ只中だったので)、半分肩透かし食らった感も。
こういうネタを題材に作る以上、メインのターゲットは40過ぎたオサーン(の懐古心)だと思うのだけど、メインとなるストーリーがそういう大人の鑑賞に耐えうるかというと、う~ん、どうなんだろう。
劇中のイベントは行き当たりばったりで伏線を張ることもなく、ハリデーの鍵の謎も何故か主人公のチームだけが難なく解いていって…。なにしろ、主人公は学校にも行かず、仕事もせずに OASIS に入り浸っているように見えるんだけど、「貧乏暇なし」という現実世界の枷を身をもって体験しているオサーンからすると、どうにも感情移入しづらいと言うか。
原作読んでないので、ここらへん劇場版では描ききれなかったシーケンスもあるのだとは思うけど、(劇中での)現実世界が「リアル」に感じられず、VR ゲームの中がもう「なんでもあり」の世界なので、どうしても「ご都合展開」が気になり始めたり。

鑑賞中にふと、「グーニーズ」が頭をよぎる。いや、グーニーズのストーリもはるか忘却の彼方だし、どこに関連性があるのか自分でもよくわからないんだけど、「これはハイテク版グーニーズだ」ということで自分の中で決着をつけることに。そう、細かいことを気にしちゃいけない映画なのね。「ゲーム」っていうファンタジーな世界観を映像で思う存分楽しめ!っていう。で、オサーンに向けてのヌキどころとしてのデロリアンだったりアキラバイクだったりガンダムだったり。(アキラのバイクってこんなスマートだったっけ?)

個人的にはガンダムシーケンスだけで☆☆☆。正味1分あるかないかの尺なので物足りなさも感じるけど、トレイラー公開から誰もが思っているであろう、「ハリウッド版ガンダム」(一部悪夢を思い出す)が見れるだけでも。

12830353 journal
日記

jordan_bethの日記: Civilization V が 82円?

日記 by jordan_beth

Brave new world など全コミコミでも 166円て....
数年前リリースのゲームだとしても、ううむ、Steam セール恐るべし。

12525819 journal
日記

jordan_bethの日記: python getattr で取得したメソッドの呼び出し 1

日記 by jordan_beth

インスタンスのメソッドを動的に呼び出す必要があったので、getattr で取得し、そこメソッドを実行するコードを書いていてハマる。

class Test(object) :
        def __init__(self, multiplier) :
                self.multiplier = multiplier
        def calc(self, a, b) :
                print(self.multiplier * (a + b))

というクラスがあったとして、

>>> var = Test(10)
>>> func = getattr(var, 'calc')
>>> func(var, 2, 4)
Traceback (most recent call last):
    File "", line 1, in
TypeError: calc() takes exactly 3 arguments (4 given)

で引数が多いと怒られる。

>>> func(2, 4)
60

ということで、インスタンスで getattr したメソッドでは、その呼出においてインスタンスオブジェクトの引き渡しは必要ないようだ。バインド済みだからってこと?

12521703 journal
日記

jordan_bethの日記: python pickle の制限事項

日記 by jordan_beth

自作のクラスを pickle 化しようとしてハマる。
pickle でシリアライズできるのは、ドキュメントによれば
        None 、 True 、および False
        整数、長整数、浮動小数点数、複素数
        通常文字列および Unicode 文字列
        pickle 化可能なオブジェクトからなるタプル、リスト、集合および辞書
        モジュールのトップレベルで定義されている関数
        モジュールのトップレベルで定義されている組込み関数
        モジュールのトップレベルで定義されているクラス
ということ。
なので

class Test(object) :
        pass
pickle.dumps(Test())

は可能だが、

def class_factory() :
        class NewTest(object) :
                pass
        reutrn NewTest
nclass = class_factory()
pickle.dumps(nclass())

はエラーが出る。

ということで、モジュールトップの名前空間で定義されていないクラスのインスタンスは、一旦リストや辞書などに変換してから dump しなければならない。

12078531 journal
日記

jordan_bethの日記: ドローン少年について思うこと 2

日記 by jordan_beth

彼を最初に動画で見たのは、Youtube での川崎少年殺人事件の容疑者宅の配信だった。その時は胸糞悪いガキだ、と思っただけで、その後彼の動画を見ることもなかった。
今回の逮捕で、15歳の少年がどういう経緯でそうなったのか知りたくなったので、Youtube に上がっている彼の動画を遅まきながら見てみた。といっても、膨大な量の動画あるので、去年10月近辺の家出から今年2月ほどまでのものだ。

もうこれまでも議論されまくっているだろうが、彼はかなり(自分の気持に)実直な人柄なんだと思う。環境が違えばかなり優秀な少年であったろうと思う。

残念ながら、大人側にかなりな問題があるのでは、と感じた。他の生主の動画も見てみたが、彼らの影響をもろに受けている。警察への受け答えや、相手の意見を聞かずに自分の意見のみをまくし立てるところとかそっくりだ。そういう価値観の中で学校の中でも孤立していったのではないだろうか。そうなると自分の居場所が配信の世界しかなくなっていく。
囲いと呼ばれる連中も最悪。子供であれば親の経済的な庇護がなければ、少なくともあそこまで親子の関係が悪くなることはないだろうが、リスナーが煽りまくるうえ、囲いの経済的援助によって、その親子のつながりまで断ち切ろうとしていた。
彼が家出した時に、配信していないと嘘を言いながら、母親との(親と子としてのかなりキツ目の)通話を公開配信し、どこの誰だかもわからないリスナーを、自分の母親より信頼していると知らされた時の母親の気持ちを考えるとヒジョーにやるせなくなる。
この家出した際に、囲いなのかどうかはわからないが誰かの家に泊まっている。この家を提供したバカは未成年者略取で検挙すべきだと思う。
さらにはニコ動の対応もまずい。特に家族内の喧騒や、精神病院内(これはネタかもしれんが)、家出中の配信はすぐにでも停止すべきだったと思う。こんなん他人が聞くべきものではないし、彼の性格的にリスナーの手前引くこともできなくなるだろう。
ニコ動を始めとする動画配信サイトは、少なくとも未成年の配信については親の了承を必要とするべきだ。

彼は配信者になりたいという自分の第一の目標のため、リスナーの道化となり、母親は姉妹との関係を壊し、「国家権力」への不信感から意固地になり、それが正義だと信じていく。自分がやっていること、夢を追うことは正義だからと周りを顧みずに突っ走っていく。この多くの部分が、周りの大人が原因だったり影響だったりすることに、非常に憂鬱になった。もちろん、彼の人生はこれからも続き、やり直すことも全然可能だし、そう願いたい。

11994326 journal
日記

jordan_bethの日記: Google プレイのレンタルビデオ

日記 by jordan_beth

一本プレゼントが来たので見てみた。
普段は Amazon インスタントビデオでレンタルしてるんだけど、ロハとあっちゃぁ見ないわけいかない。

で、途中でトイレに行きたくなって一時停止したら驚いた。
顔認識なのか、顔のところに俳優の名前がいきなり出てきた。しかも右下にはプロフィールも。

すげーな。Google の底力をみたわ。

#ちょっと前にレンタルどころかセル版一本(B級でもない「ゼログラビティ」)プレゼントしてたけど、相当の力入れようだな。。。。

10012394 journal
日記

jordan_bethの日記: Diablo3 の AH、消滅のお知らせ

日記 by jordan_beth

というメールがブリザードから届いた。

リアルマネートレードに関しては、ショバ代によってブリザード側にも寺銭が入るにも関わらず、「モンスターを殺して戦利品を得る」というゲームの目的を阻害するから( it ultimately undermines Diablo's core game play: kill monsters to get cool loot)であるという。

オークションは売るだけという縛りを掛けているオレ的には別にどーだっていい(売らなくてもゴールドが余ってる)ことだが、いわゆる課金すりゃオレツエーが実現できるゲームってのは個人的にやる気がしないので、この決断は正しいと思う。ひたすらゲームをやりこんで、ゴミアイテムの中からユニークが出た時の感動とか、行きずりのパーティーメンバーの中から仲良くなったプレーヤーにユニークをもらった時の感謝とか、現状の D3 では感じることが全くできない。逆に言えば、そこがオンラインハックアンドスラッシュの醍醐味であるはずだと思う。

でも、今の AH で利益を上げている(と言っても落札金額の上限がかなり低いので、そういうプレーヤーがいるかどうかもわからんけど)人たちからは猛反発喰らうだろうなぁ。それか AH消滅直前にアイテム投げ売り状態になるか…。ここらへんは、次の拡張パック発売にタイミングを合わせて…ということになるのかな

あとは、キャラが死んだ時のペナルティをもっと重いものにしてほしい。D2 の時もアップデートごとにペナルティが軽くなっていったが、せめて D2 の時のように取得 exp 減、持ち金減にはしてほしいと思う。現状、死にそうになっても全然緊張感がなく、攻撃を避けもしないでひたすらクリックするゲームになってると思う。

3187437 journal
日記

jordan_bethの日記: JScript : String.split の腐った仕様 3

日記 by jordan_beth

Microsoft に憤る第二弾。

某氏の「いまどきcmd.exeでもなかろうよ」にそそのかされたかどうかはわからないが、前回の del にしてやられ、ほとんどのコードがなくなって、「どーせ書きなおすなら…」と、JScript on WSH でコーディング中。(Power Script は XP 非標準なので却下。 Javascript なら経験あったのである程度行けるという見込みはあった)

で、とあるライブラリの unittest で、どーしてもテストをパスしない箇所があり、調べみたら String オブジェクトの split メソッドにおかしな挙動を発見。
a = '\nabc';
as_str = a.split('\n');
as_re = a.split(/\n/);
WScript.Echo('[' + as_str + '](' + as_str.length + ')');
WScript.Echo('[' + as_re + '](' + as_re.length + ')');

これを実行すると次の出力となる。
[,abc](2)
[abc](1)
最初の文字がセパレータそれ自身である文字列を split すると、正規表現では最初の文字を無視してしまうようだ。

なんで?
どうしてこういう余計な処理をしてくさるの?

余計な処理をしてくれたおかげで、最初の文字が何なのかチェックして、分割後に足りない分を追加する、なんていうアホみたいな処理をやらなきゃならなくなるじゃん.....

#ちなみに Firefox の Javascript 実装だときちんと第一要素に空文字をつけた配列を返してくれる

2853459 journal
日記

jordan_bethの日記: del コマンドの腐った仕様 16

日記 by jordan_beth

とあるバッチスクリプトをコーディング中なのだが、その終了処理で、使用したテンポラリファイルを削除する次の一文があったんだ。

del /f /s /q "%FILENAMEVAR%" > NUL 2>&1

「これならバッチファイル実行中に確認プロンプトやらエラーやら表示しないぜ」なんて得意になってたわけだ。で、ある程度出来上がって実行していると、カレントディレクトリのファイルが消えていく…。運の悪いことにテスト実行はスクリプトがおいてあるディレクトリ。いくつかスクリプトを仕上げていたんだが、これが全部なくなっていた…

なんとか削除ファイル復活ソフトを使って一つだけスクリプトを救出、調べてみたら、上の del 文が問題だった。ヘルプ出力時にはメインコードをすっ飛ばして(%FILENAMEVAR%を設定せずに)終了処理を行なっていた。

del /f /s /q "" > NUL 2>&1

が実行されていたわけだ(しかも確認プロンプト、エラーメッセージなしで)。それでも、それはコーディング中想定していた。「空文字指定でも大丈夫だしぃぃい~~」

しかし、マイクロソフトの実装は俺の予想を遙かに超える、超異次元的なものだった。コマンドプロンプトで空文字指定の del コマンドを実行してみる。

C:\Documents and Settings\foo>del ""
C:\Documents and Settings\foo\*、よろしいですか (Y/N)?

( ゚д゚)
(つд⊂)ゴシゴシ
( ゚д゚)
Σ(゚д゚lll)ガーン

工工エエエエエ(´Д`)エエエエエ工工

マイクロソフト的解釈によると、空文字ファイル=ワイルドカード、となってしまうのかぁぁぁぁ
ふざけるなァァ俺の3日間を返せーーーー
(まー XP は10年前のOSだしなー と思って 7 でやっても同じだった .....)

よくある(あった) rm -rf / のトラップに引っかかってしまった気分だ。しかもトラップに引っかかってしまった相手は信頼すべきマイクロソフトという巨大企業。

ということで、こんな夜更け、というか夜明けに(しかも GW なのに)スラドで日記を書いて、憂さ晴らしをしてみる。
#できりゃ Python でやりたかったけど、どうしても Pure DOSバッチじゃないといかん案件だったんだよな(TдT)

typodupeerror

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

読み込み中...