2013年のふりかえってみて、個人的に記憶にのこったニュース。





・時事

1.東京オリンピック誘致成功

2.消費税8% (2014/4から)

3.docomoからiphone発売

4.ゆるキャラブーム (くまもん、ふなっしー、その他)



・ゲーム関連

1.Unityが個人利用であれば、無償化。

2.艦隊これくしょんがヒット (ブラウザゲーム)

3.Cookie Clickerもヒット (ブラウザゲーム)

3.ドラゴンウエスト スマートフォン 無料配布(2013/12/10まで)



・IT系

1.windows 8.1リリース



いろいろnewsがありましたが、2013年はあっというまに過ぎました。
個人的にはwindows XP があと3ヶ月くらいで寿命が終わるのは残念です。
vistaに変更してものすごく使いづらくなり、xpにもどって利用していたため、xpだけで8年以上使いました。
windows 8は使い勝手がわるく敬遠して正解でしたが、消費税があがるのでそのまえにPCを買う必要があると思っています。

消費税増税については給料が10年以上まえから新人時代と同じ、xx万円にかかわらず、消費税があがるのでいろいろ無駄づかいをやめないと生活が苦しくなりそうです。

今年で一番残念だったことはgoogle walletを他人に不正利用されたことです。パスワードも8桁以上あるのにMaxthonというブラウザ
からアクセスされ、セガのチェインクロニクルの精霊石、ガンホーのけり姫プレミアムのプレミアムチケットを大量に購入されていました。
(おそらくどちらもゲーム内での課金アイテムだと思います)
自分はどちらのゲームも購入してもいなければ、使用したこともありません。
まだいろいろ対策中ですが、この件でクレジットカードとメールアカウントを紐付けて運用するのは非常に危険があると思いました。
google playやapple storeにアプリを公開している人は販売元としてメールアドレスを公開しています。
そのためそこからアドレスを入手してパスワードアタックをかければ時間がかかりますが、gmail + gmailのパスワードを第三者が入手
できます。あとはgmailに不正ログインし、アカウントがgoogle walletにひもづいてさえいれば、第三者がクレジットカードの残額だけ
不正な買い物ができるわけです。
現在はコンビニで,google playカード、itunesカード,web moneyが使えるようになっているのでメールアカウント+クレジットカードを紐づけなくても、有料アプリや電子書籍は購入ができるので、自分はクレジットカードとメールアドレスをひもづけないようにして、google play,apple storeを
利用していこうと思います。


この件でゲームを無料で配布してアイテム課金をするという、現在のスマホゲームの主流になりつつあるこの商売にいっそう嫌悪するように
なりました。やはりゲームは購入後、それいじょうのお金を払わなくても楽しめるように作成してもらいたいです。
ガチャを規制しても、アイテム課金は規制されていないので、不正購入に対するための規制もあったほうがいいと思います。
アイテム課金は1アカウントxxx回までというようなルールを作成すれば、大人買いも避けられて、決まった金額内でゲームを楽しめると
思いますがどこの会社もやはりアイテム課金で、儲けようとしているので無理みたいです。









google wallet不正利用されたときの対処方法が
わかりづらかったのでまとめました。


google walletから返信があり、1週間以上連絡がない場合、こちらから催促メールを
いれたほうがよさそうです。
(調査しますというメールがきた後、google側の調査作業状況がわからないため)




1.購入したことがないアプリ(ゲームないでのアイテム)が自分のアカウントで
購入されていることを確認する。
gmailもしくはgoogle walletで確認可能。


2. カード会社に電話して、すぐにカードを停止してもらう。
場合によっては再発行ようの書類も送ってもらう。
(カード会社のシステムが不正利用と判断すれば、カード
会社側から止めてくれる可能性もある。)


3.google walletにログインしてクレジットカードの登録情報
を削除しておく。


4.google walletにログインして、[取引]をクリックして
不正に購入されている販売元とその金額を紙に記載しておく。
販売元は以下のBBBBBと表示される部分。
(不正に購入されたものがおおいときこの作業が一番時間が
かかります。)


ステータス>
完了しました。

xx月xx日 \xxxの取引を行いました。
請求詳細にGOOGLE*BBBBBと表示されます。



5.以下のページで販売元、不正購入された金額をすべて
記載して、送信する。(販売元が違えば、別被害として報告)
https://support.google.com/wallet/contact/privacy_security



6.販売元にもアカウントが不正利用されて、購入した覚えが
ない、ゲーム内のアイテムを購入していることを報告する。
自分の場合、セガからは連絡がありましたがガンホーからは返信
メールはありませんんでした。
セガ モバイルサポートのメールによると決済情報は
googleしかわからないため、販売元ではなにもできないらしいです。


しかし、販売しているゲームが不正利用されていることはユーザから
の報告がないゲーム会社もわからないと思うので、できれば
報告しておいた方がいいと思われます。









7.gmailにログインしてアカウントアクテビティを確認。
不正購入されたとき、どのブラウザでアクセスされ、どの場所からアクセス
されたかのスクリーンショットをとっておく。




8.gmailのアカウントのパスワードを全て変更。
不正に購入されたメールの中に、パスワードに関係するメールがあった場合
そのパスワードを全て変更する。
不正アクセスされたときに、google playからの不正購入だけではなく、メールをすべてダウンロードされて重要なメール
も流出している可能性があるため。








https://gdc2013.nintendo.com/sign_up.php
より抜粋
日本国内の開発会社様からのご申請は、現在受け付ておりません。
We are not accepting applications from developers located in Japan at this time.



Microsoft,Sonyともインディーゲームの開発できるようにしているのに、任天堂だけ方針が違うようです。
androidが流行ったときも開発に乗り遅れたNEC,Panasonicのように、気がつけば有能な開発者がWill Uのインディーゲーム開発を
してくれないというような状況になりそうです。


・Sony(PS Vtta)の開発
https://psm.playstation.net/portal/ja/#register

・Microsoft(xbox one)
http://slashdot.jp/story/13/07/29/030219/Xbox-One%E3%81%A7%E3%81%AF%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%BC%E3%82%BA%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B2%E3%83%BC%E3%83%A0%E9%96%8B%E7%99%BA%E3%81%8C%E3%82%88%E3%82%8A%E5%AE%B9%E6%98%93%E3%81%AB%E3%81%AA%E3%82%8B
http://www.gameinformer.com/b/news/archive/2013/07/24/microsoft-to-announce-indie-self-publishing-new-certification-process.aspx


・インディーゲーム開発の情報(海外サイト)
http://www.gamescom-cologne.com/en/gamescom/home/index.php
http://www.gamescom-cologne.com/en/gamescom/presse/presseinformationen/gc_pressinformationen.php?aktion=pfach&p1id=kmpresse_gamescom_e&format=html&base=&tp=k3content&search=&pmid=kmeigen.kmpresse_1376649210&start=0&anzahl=10&channel=kmeigen&language=e




音声、画像ファイル,windowsファイルのフォーマットの入手および入手先の
リンクがまとめられている海外のサイト
http://www.wotsit.org/default.aspn


2D,3D画像フォーマットを参照可能なサイト
http://www.martinreddy.net/gfx/

ネットで商標が検索できるサイトがありました。


商標を検索できるサイト
http://www2.ipdl.inpit.go.jp/beginner_tm/TM_AREA.cgi?1195217692937



ある程度プログラミングができるようにすると、自分のプログラミング力がどれくらいかためしてみたいこと
があります。

むかしは「どう書く」というサイトがあり、そこでいろいろプログラミングやアルゴリズムの勉強ができました。
そのサイトではお題にたいして、そのページを訪れたプログラマが
c,c++,java,bash,pythonなどのいろいろな言語を使用してその問題を解き、自分やその他の人が投稿したプログラムを参考にできるサイトでした。
いつのまにかどこかのページに移転し、移転先のサイトがわからなくなってしまいました。
「どう書く」のようなサイトをさがしていたところ以下のサイトを発見しました。
ユーザ登録が必要なのはネックですが、自分のプログラミング力をあげるのはいいサイトだと思います。

まあ、スマホアプリ、PCアプリで作りたい物がはっきりしている人にとっては、作りたいアプリを作ったほうがモチベーションや
プログラミング力の向上にもつながりますが、息抜きにはいいかもしれないです。




atcoder公式サイト (プログラミングコンテスト)
http://geocon2013.contest.atcoder.jp/




1.gem instal pik

2.pik_install C:\tools

3.cd c:\tools

4.pik add



C:\tools>pik sw
Select which Ruby you want:
1. 187: ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]
2. 200: ruby 2.0.0p0 (2013-02-24) [i386-mingw32]
3. 192: ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
4. 193: ruby 1.9.3p194 (2012-04-20) [i386-mingw32]
?
Ambiguous choice. Please choose one of [].
? 2

C:\tools>ruby -v
ruby 2.0.0p0 (2013-02-24) [i386-mingw32]

C:\tools>pik sw
Select which Ruby you want:
1. 187: ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]
2. 200: ruby 2.0.0p0 (2013-02-24) [i386-mingw32]
3. 192: ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
4. 193: ruby 1.9.3p194 (2012-04-20) [i386-mingw32]



以下で使用できるrubyのバージョンを切り替え
pik sw 192



C:\tools>ruby -v
ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
いままで、android,iOSに出力するには、それぞれ35700円必要でしたが、そのライセンスを
購入することなくbasic版が使えるようになったようです。
制限は昨年の売上が10万ドル以上の会社については,Pro版を購入しなければならないという制約があります。
unityは2012年のときもunity3系を期間限定で無料化したりしていましたが、今回は期間限定では
ないようなので、android,iOSの二つのプラットフォームに対応したソフトを開発する場合
一番コストパフォーマンスがいいツールとなりそうです。(unityのブログには、無償でwindows 8,black berryもデプロイできるようにする予定と記述があります。)
unity4系にアップデートした人に対して、救済措置とかはあるかはどこにも記述がありませんでした。
Unity3.系からUnity4.系に料金を支払ってアップデートした人はどうなるのでしょうか?


そろそろ、unityを本気で学習しておいたほうがよさそうです


Unityのblog記事
http://japan.unity3d.com/blog/?p=1075
http://japan.unity3d.com/blog/?p=1107


2013年4月いままで、調査してなかった海外製のゲームエンジンについて調べてみた。
cocos2d X,Unityもそうですが、スマホ向け(android,iphone)で同時開発できるように設計するのが主流のようです。
携帯の契約数の半分がスマホになっているのでメーカとしては当然の選択だと思いますが、家庭用ゲーム機,PCゲーム機向けの開発は
二の次になっているみたいです。今年もスマホ向けに限らず、PC向けにも日本製のエンジンが発表されたら、いろいろいじってみるつもりです。



1.Project Anarchy
http://www.projectanarchy.com/jp
作成言語:c++
ライセンス:記載なし、android,iphoneについては無料だが、その他プラットフォームは有料になる
動作するプラットフォーム:android,iphone (その他)
備考:2013/4/30の時点でリリースしていない。詳しい情報はすべてblogで発信するとの事。
http://www.projectanarchy.com/jp/blog


2.Torqu2D
http://www.garagegames.com/products/torque-2d/features
https://github.com/GarageGames/Torque2D/wiki
作成言語:c++
ライセンス:MIT
http://www.garagegames.com/products/torque-2d/licensing
備考:日本後の資料がないけど、英語力に自信があればwikiページの内容でものをつくれそう。
以下のページによると海外では人気らしい。
http://www.isus.jp/article/game-special/six-tips-for-developing-easily-ported-games/

ノベル系エンジンについて調査してみた。とりあえず調べてみて思ったのはHTML5対応やwindowsで実績があったNscriptor,吉里吉里
の資源をそのまま、android,iphoneにも利用できるようにしている物が多かった。ノベル系のアプリはたまにプレイしますが、技術者としきになるのは背後で動作しているエンジン、どんな言語で利用されているかだったりする。
いろいろなエンジンがあるが収益を目指すひとにとって一番気になるのはライセンスですが、ノベル系エンジンはありがたいことに
商用リリースしても無料な物が多いみたい。(一般的なゲームエンジンは売上や有料アプリにすると料金が発生するものも存在する。)
ゲーム機もそうですが、エンジンがいろいろあるうちが、選べるたのしさ、過去の資産の流用、持っている知識の有効活用
HTML5の習得など、いろいろ考えるのが楽しいですね。


1.OnScriptor
http://onscripter.sourceforge.jp/onscripter.html
ライセンス:本家ページに記載なし、
作成言語:NScriptor (windowsのNScriptorで作成)
動作するプラットフォーム:android,iphone,windows,mac,linux,その他
有償、無償どちらで公開しても構わない。とくに料金がかかることはない。

疑問点:WindowsでNscriptorで作成しそれをandroid,やiphoneの別プラットフォームで動作
するようにしているが本家NScriptorの料金については以下の通り。
ベースとしてNscriptorを使用するならこれにも準ずる必要があるのかな?


・無料配布であれば企業/個人の区別や配布方法を問わず無料でお使いいただけます。

・雑誌付録にフリーウェア/シェアウェアとして収録する場合は無料でお使いいただけます。

・商業流通作品の販売の際には、使用料を一作につき40万円いただきます。
ただしメールで個別の値段交渉には応じます。
例えば、ネットのみの販売だとか、低価格販売だとか、即売会で少し売るだけだとかで、
収益的に見込みが立たない、という時には割引したり無料でOKを出したりします。
まとめて数作分契約するので一本を安くしてくれ、という交渉にも応じています。
特に、オンライン低価格販売に関しましては、応援したい気持ちもありますので、
極力値段交渉には応じようと思います。まずはお気軽にご相談ください。

・同人流通作品の販売に関しては無料とさせていただきます。
特に作者(高橋直樹)への報告の義務はございません。
もしクレジットに名前が必要な場合は、高橋直樹でお願いします。
同人誌即売会での販売はこの条件に含まれます。


http://www.nscripter.com/nscr_price.txt
より抜粋


2.ティラノスクリプト
http://tyrano.jp/
ライセンス:MITライセンス
作成言語:HTML5,KAG3/吉里吉里と互換あり
動作するプラットフォーム:android,iphone,windows,mac,その他(HTML5が動作する環境)
備考:HTML5に対応したノベルエンジン。吉里吉里のTJSは使用できないがjavascriptが利用可能。

3.KAS(KAG-like Android Script Engine)
http://studiomikan.net/kas/
ライセンス:zlib/libpng ライセンス,LGPL
作成言語:吉里吉里/KAG
動作するプラットフォーム:android
備考:2013/4/26 現在ベータ版


4.AIRNovl
http://famibee.web.fc2.com/intro/home.htm
ライセンス:記載はないが、無料、商用とわずに利用可能。お金はかからない
作成言語:Adobe Air
動作するプラットフォーム:android,iphone,windo(adobe AIRが動作する環境)


5.Almight
http://almight.jp/
ライセンス:記載なし。商用・非商用問わずに無料で利用可能
作成言語:HTML5 ,吉里吉里/KAGと互換性あり
動作するプラットフォーム:android,iphone,windows,mac,その他(HTML5が動作する環境)
備考:2013/4/26 version 3.0beta版が最新

6.ノベルスフィア
http://novelsphere.jp/
ライセンス:不明
作成言語:HTML5,吉里吉里/KAG3互換あり
動作するプラットフォーム:android,iphone,windows
備考:
・ディベロッパー登録しないとSDKがダウンロードできない。
・2013/4/26 無料の作品の配信のみ許可
・Google Chrome の最新版でプレイすることを推奨
GUIでwiresharkがつかない場合はtsharkというcuiコマンドを利用する。

tcpdumpで書き込んだキャプチャしたデータに対して

# tshark -r test.cap

ディスプレイフィルタ(どのようなディスプレイフィルタが使えるかはwiresharkeの定義で確認できる)
演算子として以下のものも使える。





# tshark -r test.cap -R "tcp.optios.sack"


display filterの参考にするべきソース
proto_register_xxx (xxxの部分をtcp,udp,httpに変えて検索する)
proto_register_tcp (TCP関連のdisplay filterを調べるとき)


1linarでtcp display filter取り出す方法





TCP関連のdisplay filter




UDP関連のdisplay filter
1linarでudpのdisplay filterを取り出すコマンド





HTTP関連のdisplay filter

1linarでhttp関連のdisplay filter取り出し




FTP関連のdisplay filter







arp関連のdisplay filter





ipmi関連のdisplay filter





ipv6関連のdisplay filter





nfs関連のdisplay filter







ntp関連のdisplay filter





dns関連のdisplay filter






json関連のdisplay filter




スマホの第3勢力としてtizenとfirefoxOSの情報がちらほらでてきているが、いまのところ様子を
みたい。下手をするとwindows phoneのようになりそうな気がする。
とりあえず、firefoxで動作するfirefoxエミュレータをインストールしてみたが、いまのところ開発意欲はそこまでわかなかった。
どちらの端末も今年中には発売される。

tizenはNTTドコモ、サムソンがサポート
firefoxOSはkddiがサポート。


・tizen sdk
https://developer.tizen.org/downloads/tizen-sdk

・firefox OS
http://www.mozilla.org/en-US/firefox/partners/


・slideshareにあるわかりやすい解説(firefoxOS)
http://www.slideshare.net/dynamis/firefox-os-html5j

・slideshareにあるわかりやすい解説(tizen)
http://www.slideshare.net/moguriso/kansai-opensource-20121110#btnLast

・その他の情報
https://event.atmarkit.co.jp/events/d559c6b95217176d7998a67c915d93c7/atmarkit_report
http://gihyo.jp/news/report/2013/01/3001

とりあえず、kdumpを有効にしてvmcoreが作成された場合
まず最初に一般情報のみ取得してから、各構造体のアドレスを参照していく。


[一般情報の取得]
# crash /boo/systemtap.xxx /usr/lib/debug/xxx.xx/vmlinux vmcore

crashにはいったら任意のフォルダにマシン情報を保持する.は任意のpid

crash> bt -f >/tmp/bt-f
crash>bt -f > /tmp/bt-f-pid
crash>kmem -v >/tmp/kmem-v
crash>kmem -V >/tmp/kmem-V
crash>kmem -s >/tmp/kmem-s
crash>ps -u >/tmp/ps-u
crash>ps -k >/tmp/ps-k
crash>ps -G >/tmp/ps-G
crash>sig >/tmp/sig-pid
crash>files >/tmp/files-pid
crash>task >/tmp/task
crash>vm >/tmp/vm
crash>foreach -bt >/tmp/foreach-bt
crash>foreach -vm >/tmp/foreach-vm
crash>foreach files >/tmp/foreach-files
crash>foreach -R files /opt >/tmp/foreach-files-opt

上記の情報を取得後,各構造体の値を確認していく。
crash>mount
crash>net
crash>log

crash>mount super_block xxxxxx (mountで表示されるアドレス)

kdumpを有効にしてlinuxでdumpを取得する。

[ネットワークダンプの設定]

1.sshでcrash用のユーザをリモートホスト上で作成する
# adduser crash
# passwd crash (パスワードは任意)

2.crashを取得するサーバの/etc/kdump.confの設定変更
以下の設定を追加。
それぞれkdumpが出力したダンプをリモートホスト上の/tmp/crashに保存する。

net crash@xx.xx.xx.xx
path /tmp/crash

3.kdumpの設定の更新と確認
# /etc/init.d/kdump propagate

# /etc/init.d/kdump restart

# cat /sys/kernel/kexec_crash_loaded


4.リモートに保存できるかテストする
# echo c >/proc/sysrq-triger

src.rpmやkernelソースをブラウザで参照できるサイト

http://rhkernel.org
http://lxr.linux.no/
http://opensource.apple.com/source
http://www.sourcecodebrowser.com/

sdデバイスとsgデバイスの相互確認


sdデバイスがsgのどれに対応するか調べるにはsg_map26コマンドを使う。
sg_mapコマンドではだめ。


使い方
# sg_map26 /dev/sda
# sg_map25 /dev/sg3

で相互に変換可能。sgデバイスとsdデバイスではkernel内部でも処理が違うため注意する。

sgデバイスにioctlを発行したときはエラーになる。
sdデバイスにioctlを発行したときはエラーにならない。









・sdにたいしてioctlをコールしたときのkernel内部の関数コール
sd_ioctl
->scsi_cmd_ioctl
-->sg_io
--->blk_get_request

・sgにたいしてioctlをコールしたときのkernel内部の関数コール
sg_ioctl
->sg_new_write
-->sg_common_write
--->sg_stat_req
---->blk_get_request


100行目から150行目を取り出すためのawkの1ラインコマンド。
syslogで重点的にチェックしたい時間帯があればこのコマンドを
別ファイルにリダイレクトとかして調査する。

awk 'NR>=100 && NR<=150 {print $0}' < syslog

システムコールからlinuxのkernelが動作している部分の辿り方


1.man xxxx
で調べたい関数がシステムコールであることと、引数の数を確認する。

2.「SYSCALL_DEFINE」でlinux kernelのソースを検索する。
はシステムコールの引数の数。


システムコールがkernel内部でどのように処理をしているか調べたい
ときに重宝する。また、sys_xxx ->do_xxxというような流れでコール
されていない関数もあるので注意する。

About