2012-02-03

はてなOne と 青少年ユーザー

なんかここ最近話題の はてなOne というものがあります。

はてなランドとかで反省したのか、青少年ユーザーという概念が存在するようです。

利用ガイドライン から引用すると、

本サービス利用の18歳未満のユーザー(以下青少年ユーザー)に関しては、利用開始の際にニンテンドーDSiもしくは携帯電話端末の登録を必要とします。何らかの不正行為が行われた場合には、退会後も端末情報及び不正行為の記録を削除せず、利用の再開や当該端末を利用した新規登録をお断りさせていただきます

だそうです。またその下の「禁止事項」にいろいろと書いてありますが飛ばします。

さて、どういう事かというと要するに18歳未満(青少年ユーザー)は使えるけど以下の制限が

  • 招待される時に青少年ユーザーからでないと招待される事ができない (はてなid指定のみ) - 青少年ユーザーで現時点ではてなone使える方って何人いらっしゃるんでしょうか。
  • 青少年ユーザーの 「ともだち」は青少年ユーザーとのみ

面倒ですねえ。いや、情弱には意味あるんでしょうけど。

とりあえず現時点でのこの周りの仕様を少し調べました:

青少年ユーザーを招待する

招待するにはメールアドレス指定で招待メールを飛ばせば良いです。mixi とか Facebook 経由での招待も有効なのかは調べてないので知りませんが、少なくともはてなid指定での招待はこのように言われて蹴られます:

画像はイメージです

あれ? これってもしかして任意のはてなidを入れたらその人の登録している年齢が < 18 かどうかわかっちゃうんじゃね? 大丈夫?

なので、メールアドレス指定で招待メールを飛ばしましょう。

メールアドレス指定で届いた招待リンクを踏む事で登録する事が可能です。

尚青少年ユーザーは携帯のキャリアメールかDSiという機器とのヒモ付が必要なようです。ガイドラインにも書いてあるね。 (DSi とのヒモ付の解除はうごメモ(Web)側の設定でできました)

画像はイメージです

このとき、招待した側は青少年ユーザーでは無いはずなのに「ともだち」になることが成功します。青少年ユーザーとともだちにはなれないはずなのに…

もちろん、新規に青少年ユーザーではない人に対してともだちになる的な行動をすると同じようなメッセージで蹴られます。

年齢が間違っているケェス

年齢が青少年ユーザーになってて生年月日間違ってるという人も大丈夫です。

通常マイページなどから生年月日を変更しようと思ってもできないのですが、 上記の様に招待を受け取って登録する時、おそらく青少年ユーザーに限ってこのようなリンクが出現します

HatenaOne - 6C0F540D306E8A2D5B9A

HatenaOne - 6C0F540D306E8A2D5B9A

あとはここから修正をかける事が可能です。

このリンクを逃して登録してしまった人も再度メールアドレスで招待状を送ってもらってその招待状を踏むことでこのリンクを見ることができるっぽいです。要するにまだ生年月日変更してない場合のみ表示されるんだろうね。

懸念

  • 任意のはてなidの生年月日から算出された年齢が18歳未満かどうかがわかってしまう
  • メールアドレスで招待を飛ばして青少年ユーザーが登録した時に青少年ユーザーではない人と「ともだち」になれてしまう

全然関係ないけど、マイページの設定画面にはこんな文言があるんですよ:

はてなID、誕生日、国と性別は変更できません。

国の変更は国籍か所在地かどっちなのかわかりませんけど、どっちだとしても国籍変更とか国外への転居考慮してないんでしょうか…

(マイページの設定画面のURLは http://www.hatena.ne.jp/おまえのはてなID/config です)

Published at 2012-02-03 17:21:32 +0900 | Permalink
2012-01-30

ありがとう SaaSes

ありがとう SaaSes。さようなら。

1/31 で、2010年5月あたりに契約した SaaSes の Osukini VPS の一番安い LT プラン (450円/月) を契約を更新せずに切らします。

移行先はさくらです。以下の理由で移行:

  • Gentoo 使いたいよね
  • メモリ足りないかな
  • ちょっと品質低下が酷いかな (先日のNTTドコモの交換した設備故障みたいな感じで電源交換のためVPSを落としておいて2週間後に 電源障害 で数時間落とされた挙句 事後報告 というのがあって移行を考え始めた)

で、とりあえず SaaSes Osukini VPS LT プランを 2 年使い続けたのでよかった点とよくなかった点を振り返る。

よかった

  • 安い。一番安いプランで 450円/月、メモリは 512 MB, ディスク容量も 40GB あった。さくらのVPS512 はメモリは一緒だがディスク容量は 20GB で、980 円/月となっているので、そこを考えると価格重視ならSaaSesだろう。たださくらの方はCPUが仮想2コアなのでこの分で結構アドバンテージになっている。
  • Ubuntu, Debian が使える。安い VPS で Ubuntu が使えて安いのは2010年5月当時 SaaSes しかなかった。今はもう Gentoo に心を奪われた(笑)ので今は自分にとって利点とはならないが一部のDebian系ユーザーには良いのではないか。
  • Xen である。ServersmanなどといったサービスではOpenVZだかなんだか知らないが、CPU使う仕事には弱いらしいので。
  • 最近はあまりやってくれなくなったが契約した2010年5月頃はTwitterで気さくにサポートしてくれた(最終的にはメールに誘導されるが)。まあ、さくらも社員が良い対応をtwitter等でしてくれるのであまり最近は比較にならないかな。さくらのクラウドの対応すごいよね。

と一応褒めてみた。

よくなかった

  • 安いから仕方ないとも思うがここ最近サポートから送られてくるメンテナンス等の情報メールには情報が書いておらず、別途フォーラムのURLだけが書いてありわざわざHTTPを使ってアクセスせねばならない。障害情報などもすべてこうなっているから面倒極まりない。
  • コンパネのデザインが酷い。まあこれはどうでもいいな。
  • リモートコンソールがない。うっかりiptablesをうっかりしてしまったときにはiptables復旧ボタンがあるもののそれしか方法がない。これはデフォルトのCentOS以外でも動くのかは知らない。
  • 最近は少なくなったが一時期VPSを落とすメンテナンスが何度かあった。
  • 電源の品質?向上のために電源交換を行うとの事でVPSを落とすメンテナンスがあり、その2週間くらい後にホストの電源障害により VPSが朝から4時間半落ちていて, 報告は 事後報告しかない という。復旧少し遅れてもいいから障害メールくらい出して欲しかった。
  • ネットワークがしょぼい。まあこれは仕様にあるからしかたないことだが、よくて 1MB/s くらいしか出ない。
  • 最近は知らないが自分が契約したときはデフォルトでPHP製のMySQL管理ツールやWebminやPHP製Eコマース用CMSが問答無用でインストールされた。いらないから。最近は拒否できるのかな?

まとめ

  • やっぱり自由にOSインストールできるしGentoo入るしリモートコンソールできるし落ちないし性能良いし、2コアだしということでさくらのVPSを強くオススメする。
  • 高いと思うがさくらの値段は妥当だと思う。SaaSesは安さの代わりに品質失いつつある?
  • どうしても安いのがいいならSaaSes Osukini VPSでもいいと思うよ。オススメはしないけどね。
  • まあバリバリいろいろ詰め込んで使うとかでなければ SaaSes でも良いと思う。

追記 (2012/3/21)

http://www.sakura.ad.jp/press/2012/0321_vps.html

なんと さくらの VPS 512 が消えて、同じ 980 円で RAM 1GB, HDD 100GB, 2 コア のプランにリニューアルされるようだ。

IO やネットワークのパフォーマンス、RAM と HDD とコア数、安定さ (クラウドとVPSは別でVPSはとても安定している) を考えるとこれで 980 円はコスパ良さすぎるしもう SaaSes とか選ぶ理由どこにもないのでは。

Published at 2012-01-30 19:59:35 +0900 | Permalink
2012-01-28

Matcher

dev

Matcher という物を作った。パブリックドメインとするので自由に使ってください。

ruby/matcher/matcher.rb at master from sorah/sandbox - GitHub

使い方

Matcher.new(obj, default = DEFAULT_KEY) obj にハッシュを渡して、その後 Matcher#match?(*conds) にマッチ条件を渡すと truefalse が返ってくる。

また、Matcher#match(*conds) でマッチした部分の配列等が返ってくる。

渡すハッシュでマッチ対象にできるのは {a: "b", b: "c"} といった1階層のHashだけで、複数の階層にわたるハッシュに対しては微妙。今回これを作った時にそれは想定してないのでどうでもいい。 誰かやってくれ。

引数 default

デフォルトだと Matcher::DEFAULT_KEY.

default は後述するマッチ条件でマッチ対象のキーが指定されてない時に参照するキーとなってる。

conds に使えるオブジェクト等

そもそも*conds引数は可変数引数になっている。

まず複数の引数を渡すと、渡した条件のうちいずれか一つにマッチすればマッチした扱いになり、全部にマッチしなければマッチしない扱いになる。

条件には、Regexp のオブジェクトを渡すとその正規表現にRegexp#matchでマッチするかどうかを確認、それ以外は==メソッドで確認される。

m = Matcher.new({foo: "bar", bar: "foo"}, :foo)
p m.match?("bar") #=> true
p m.match?("foo", "bar") #=> true
p m.match?(/fo/) #=> true
p m.match?("bar") #=> false
p m.match?(/b/) #=> false

普通にArrayを渡すと、これも複数の引数を渡した時のように配列内のオブジェクトを条件とみなしどれかにマッチしたときにマッチした扱いにする。が、あまり意味はないよね。ここでは。

Hash も渡す事ができる。Hash を渡すと、:any, :all を除いたキー以外だと、デフォルトのキーではなくそのキーに対してマッチするかどうかになる。で、何も指定 (後述する:anyとか:allとか) しない限りは、そのHashのどれかのキー(もちろんany,all以外)がマッチすればマッチした事になる。

p m.match?(bar: "foo") #=> true
p m.match?(bar: /f/) #=> true
p m.match?(bar: /bar/, foo: "bar") #=> true

ただ :any:all キーを除いては、そのキーにHashを入れてさらに条件を指定しようとしても意味がない。そのHashとの比較になります。Array:allとかを使っていない限りは「いずれかにマッチ」になる。

p m.match?(foo: ["foo", "bar"]) #=> true

そして :any キー は、その名の通り :any キーの値に入れた条件どれかにマッチすればマッチしたことになる。

:all キーもその名前の通り :all キーの値に入れた条件すべてにマッチすればマッチしたことになる

両方の値にはさっき書いた条件をそのまま評価するので何を入れても良い。ただ、その条件の「いずれかにマッチ」等が :all だと「全てにマッチ」に変わるだけ。

:any キーは :all の中で一部を「このいずれか」にしたい時に便利。

普通の条件式等でいうと {all: {a: {any: [1,2,3]}, b: /c/}[1,2,3].include?(a) && /c/.match(b) みたいな感じ。

p m.match?(all: {foo: "bar", bar: "foo"}) #=> true
p m.match?(all: {foo: "foo", bar: "foo"}) #=> false
p m.match?(all: {foo: [/^f/,/o$/], bar: "foo"}) #=> true
p m.match?(all: {foo: [/^o/,/o$/], bar: "foo"}) #=> false

:raw キーのみを含んだハッシュをマッチ条件として渡したりすると、そのArrayと==trueになるか等になる。 要するに条件のカスタマイズではなくそれと比較させたいとかいう場合。

また match? ではなく match を使うと正規表現のMatchData等がとれ、条件にマッチしないときはfalse。

p m.match(foo: /b/, bar: /ba/) #=> [{:foo=>#<MatchData "b">}]
p m.match(foo: ["foo", /b/])   #=> [{:foo=>#<MatchData "b">}]
p m.match(/fo/, /ba/)          #=> [#<MatchData "ba">]
p m.match(/fo/)                #=> false
p m.match("foo", "bar")        #=> ["bar"]

その他

その他使い方・返り値が帰ってくるのかは matcher_spec.rb を読んでください………

あとがき

しかし日本語でうまく書けないな。おれはもうだめだ。

Published at 2012-01-28 14:15:06 +0900 | Permalink
2012-01-24

limit of inotify

dev

Problem

When dropbox or guard says like:

  • Unable to monitor filesystem Please run: echo 100000 | sudo tee /proc/sys/fs/inotify/max_user_watches and restart Dropbox to correct the problem.
  • No space left on device - Failed to watch "…": The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource. (Errno::ENOSPC)

Solution

man inotify(7) says:

The following interfaces can be used to limit the amount of kernel memory consumed by inotify:

/proc/sys/fs/inotify/max_queued_events

The value in this file is used when an application calls inotify_init(2) to set an upper limit on the number of events that can be queued to the corresponding inotify instance. Events in excess of this limit are dropped, but an IN_Q_OVERFLOW event is always generated.

/proc/sys/fs/inotify/max_user_instances

This specifies an upper limit on the number of inotify instances that can be created per real user ID.

/proc/sys/fs/inotify/max_user_watches

This specifies an upper limit on the number of watches that can be created per real user ID.

In this case, Dropbox and guard have to use many watches, so do this and increase max_user_watches.

# Check current maximum
$ cat /proc/sys/fs/inotify/max_user_watches
8192
# Increase the maximum
$ echo 100000|sudo tee /proc/sys/fs/inotify/max_user_watches
Password:
100000
# Check
$ cat /proc/sys/fs/inotify/max_user_watches
100000

Doing the above increases max_user_watches temporally.

To increase max_user_watches at boot, edit /etc/sysctl.conf and add fs.inotify.max_user_watches=100000 or fix fs.inotify.max_user_watches= to 100000.

(Note: I'm using gentoo so some other distros may have another way to do this…)

Published at 2012-01-24 14:24:52 +0900 | Permalink
2012-01-11

新マシン環境構築 (3) Gentoo を入れる

dev

新マシンの Windows をある程度設定した ということで Gentoo を入れます.

ただ,窓から Windows 投げ捨てたりはしませんが.

... Continue Reading...
Published at 2012-01-11 13:27:51 +0900 | Permalink
2012-01-11

新マシン環境構築 (2) Windows 設定

dev

新マシンの Windows を再インストール の続きです.

再インストールした Windows にソフトウェアを突っ込んで設定していきます.

... Continue Reading...
Published at 2012-01-11 13:24:46 +0900 | Permalink
2012-01-11

新マシン環境構築 (1) - Windows の再インストール

dev

"マシンが到着していました" の続きです.

開封して仮設置したので Windows を再インストールしてパーティションを切り直します.

... Continue Reading...
Published at 2012-01-11 13:20:31 +0900 | Permalink
2012-01-11

マシンが到着していました

dev

P1053055

だいぶ遅れてのエントリーとなりました.

9時くらいにヤマトがきた.午前中指定すばらしい...

マシンは Prime Galleria SH スペックはこんなもん

  • Windows 7 Professional
  • RAM 16GB (DDR3 SDRAM, PC3-10600, 4GB*4/ Dual Channel)
  • 2TB HDD
  • ブルーレイ(笑)

ということで開封の儀.

... Continue Reading...
Published at 2012-01-11 13:18:40 +0900 | Permalink
2012-01-02

マシン買った

305478BA8A8D | 30C930B930D130E9226A516C5F0F30B530A430C8226B
Uploaded with Skitch!

ゲーム用と開発用.Windowsはゲーム用になる予定.

やっと Core i シリーズのマシンを手に入れたので,Core 2 Duo 1.4GHz とか 2.0GHz とかからはおさらばだし,そこそこなグラボも乗ってるし良い.

が,Pasraの一部活発な面子はセンター受験や浪人でPC撤去などをしているのでゲーム活発にできなさそうで残念.

尚選定にあたってはあかぞらきゅんにお世話になりました! はるはるー.

Published at 2012-01-02 20:58:13 +0900 | Permalink
2012-01-02

Docomo の考えていることが本当にわからない件

これ,本当にひどい.

新春インタビュー:新たな付加価値と事業創造で「ダムパイプ」にはならない――NTTドコモ 辻村副社長に聞く (後編) (1/3) - ITmedia +D モバイル

1ページ目だけとりあえずコメントを入れておこう.

マルウェアの無い事を保証するwalled garden なアプリのマーケット (docomo 独自)

スマートフォンを初めてお使いいただく方には、ドコモが安全を確保した世界の中でご利用いただく。むろん、スマートフォンのよさは自由なところにありますので、お客様のリテラシーが向上して自ら望めば、(Androidマーケットなどから)自由にアプリを入手していただいて本来の使い方ができるようにしておきます。

これについてはまぁいいんじゃないかなあと.ただ,Androidマーケットではない別のマーケットとして展開するのはうーんと思う.開発者側のコストが増える.

Android マーケットから何本かおすすめできる安心アプリを選ぶ,もしくは開発者側からの要望で審査→リストに追加,インストールにはAndroid Marketにジャンプとかなら素晴らしいとは思う.が,これ後者のGoogle Apps非利用とかだと辛くなってくるのでDocomo Market側からもDLできるようなalternateオプションがあると良い?

Google アカウントはキャリアから手を付けられない

従来のネットワーク暗証番号やiモード暗証番号は、本人確認が取れればドコモショップで再設定してもらえましたが、Googleアカウントを忘れてしまうとキャリアではサポートしきれない。

本来こういうのが管理できない奴はAndroidを使うべきではない.

しかし問題はここからである.

"Google アカウントを使わない方針"

1つは「Googleアカウントを使わない方式」でAndroidスマートフォンを使っていただくというものです。 (略) ドコモでもspモードメールや地図アプリなど類似のサービスは用意しています。

類似サービスを提供するのはいいんだけど,おまえらのここ最近の動向を見てるとアップタイムが信頼できない.クソか.

"Google Apps 非利用"

1つの方向性として、(Googleアカウントの非利用は)ありだと思います。

もしGoogle Apps非搭載のスマートフォンとか出すとしたら本当に酷いとおもう.

全ラインナップがそういう形にりそうで怖いな.dメニュー(笑)

"Google アカウントの管理"

 そして、もう1つの方向性は、“Googleアカウントの取得から管理までをドコモが一括してサポートする”というものです。

え? 本気で言ってるの?

パスワードとかを格納するの? OAuth トークンとかではなく?

人の手で取得する等の場合でもちょっと信頼性に欠けるしかといって自動作成も無理だ.これはひどい.

Googleアカウントやパスワード情報が漏洩したら大変なことになりますので、我々がセキュリティを担保できるドコモのクラウドを活用するわけです。

ここ最近の障害,キャリアメールの取り違え等と同じような感じになるとヤバいと思うぞこれ.

IPアドレスとGoogle アカウントの結びつけなどはやめていただきたい所.メールアドレス取り違え以上の事が起こる.

これだけは本当にやめたほうがいい.

また,上述したが管理できない奴はそもそもスマートフォンとよばれる類を使うべきではないんだなこれが.

まあ,docomo 最近腐りすぎ.ここで端末を契約する気にはなれん.Wi-Fi ルーターだけで良いよもう.

Published at 2012-01-02 20:24:30 +0900 | Permalink
2012-01-02

あけおめ Lokka に移行した

あけましておめでとうございます.今年もよろしくお願いします.

ブログを Lokka に移行,ドメインを sorah.jp のサブドメインにした.

cod.note の記事もすべて移行して,codnote.net ドメインについてはちゃんと維持する予定.

しかしリンクしている各位はできればドメインを codnote.net から blog.sorah.jp に移行してくれるとありがたいです.

デザインも適当に2日くらいでスクラッチに書いたものをLokka向けに2日間かけてゆっくりと修正したものにした.

では今年もよろしくお願いしますね!

Published at 2012-01-02 12:38:08 +0900 | Permalink
2011-12-25

2011 年まとめと来年の抱負

今年もそろそろ終わりですね.今年の活動や出来事をすこしまとめます.

1月

2月

3月

4月

  • 中3になりました.学校には行ってませんけどね.
  • Desire HD を買いました - これでまともに使える電話番号と電話を手にしたので,まともに連絡を取れるようになった
  • Lingr for Android をリリースした - これも sinsai.info で Lingr を使い始めて,Android から参加できないよーという需要に答えたもの.オープンソースにしようしようとおもって全然できてませんね.ごめんなさい.でもTitaniumで実装していて大変重いのでいつかScalaで書き直します.
  • @IT に取材されました - 懐かしいですね.

5月

えーと,あと LinuxCon Japan 2011 に行ってきた気がします.これはこれで面白い体験だった.Linux カーネル周りも弄ってみたいんだよな.

6月

カメラを買ったので,この頃から写真の品質があがる.撮影技術はまだまだである.

ちなみにオリンパスの E-PL1 です.

7月

8月

このころからGentooを使い始める.セプキャン効果である

9月

あと,なんだかんだレポートを書けなかったですが RubyConf 2011 に行きました.7年ぶりのUS入国をキメてきた. 英語は全然ダメだったけどたこ焼き仮面が開催したパーティとか,料理が美味しかったし向こうのコミュニティの人となんとか喋れてよかった.

またいつか行きたい.

10月

11月

イベントいった記事を書くという週間が薄れてきたこの頃.

まず小山高専の高専祭に行きました.そこで撮った写真

で,Google Developer Day 2011 Tokyo に行きました.灘パソコン研究部の皆さんが恐ろしい点数を取っていて恐ろしかったです. ひろむかわいいかった.はて.Google Developer Dayでとった写真

そしてこの頃から桜花クラスタと絡むようになりました ヾ(๑╹◡╹)ノ" もふもふ.

次にujihisa.vim にも行きました.ujihisa と sandkatt が married していた! おめでとうございます! 割と日本で英語を使った一日.ujihisa.vim (2) でとった写真

また Team Pasra@tanaka_tnk が加入してゲームしてまくっていく日々が始まりました.L4D2ブーム(2回目)

こう言われたので追記.

たなか姉さんは姉のように慕っています.Pasra身内IRCチャンネルでは本名交えた呼び方があるのですが,うっかり表で呼んで殺されないように気をつける日々です.田中って呼ぶのに変な罪悪感があるので.

12月

この頃から codeforces をはじめる.

  • とちぎRuby会議に行きました.懇親会の料理がおいしかった.写真はこちら
  • セプキャン2011報告会(アフターキャンプミーティング)に行きました.ごはんが屈辱的だったのが印象ですね(しろめ) 灘の人がゆでたまごでスマートフォンの操作を試みる とか,やっぱり灘はかわいいと変人がおおいなっておもいました!
  • 進路に関するFAQ を書いた.
  • 日本情報オリンピック予選は落ちました.しょうもないミスで.24点でした…

今年総括

今年は割とイベントとかに顔を出せた.何回東京行ったんだろう…

来年抱負

  • 競技プログラミングしよう (Codeforces メインかなー?)
  • いい加減 Ruby の実装を読む時間をつくろう.全然読めてない.
  • Linux カーネルとか遊びたいよね
  • Gentoo をいじりまわりたいよね

楽しい1年でした.

あ,来年はいよいよWordpressを捨てる予定です.ご期待ください.

Published at 2011-12-25 03:29:02 +0900 | Permalink