shutdown -r nowを間違えてshutdown -h nowとしてしまうという痛恨のミス…!!
家帰ったら起動します。Wake on Lanとか出来たっけ?出来そうならそっちも設定しておきます…。
真実は、中指の指す方向にある。
(「イルベロ イルマティックエンベロ―プ」/マイルスト―ン)
shutdown -r nowを間違えてshutdown -h nowとしてしまうという痛恨のミス…!!
家帰ったら起動します。Wake on Lanとか出来たっけ?出来そうならそっちも設定しておきます…。
なにやら物騒なタイトルで。たまにはタイトル一本釣り。
リア充の皆様。AndroidにiPhoneといったスマートフォンを活用してリアルを充実させていらっしゃることと存じます。今回、私どもは、皆様のスマートフォンからTwitterへ送信することができる位置情報から、住所を特定できるのでは無いか、というありがちだけど実際検証した人は居ない†1仮説に基づき、実際にそれを行えるのかどうかやってみました。
今回開発したアプリでは、過去のツイートのうち、位置情報を持っている物を抜き出してGoogleMaps上に配置します。このアプリでは自分の位置情報のみを取得するようにしていますが、誰でも取得できる情報です。
こちらからアクセスしてください。
この画面で「Twitter経由でログインする!」をクリックすると、このようにOAuthの認証画面が現れます。ログインを押して続行できます。
ログインに成功すると、このような画面になりますので、「ロード」を押してツイートの読み込みを開始してください。
うまく読み込むと、こんな感じで地図上にマッピングされます。このψ(プサイ)という人は関東から…出ていないようです…w
ズームしていくと…つくばエクスプレスユーザーだと一目で分かってしまいますーー;;
自宅周辺では、たくさんのピンが立っているのが特徴なのはもちろん、こういった自宅でしてるっぽいツイートがあるのも特徴です。
単に位置情報だけでは通勤・通学で使う駅等で呟いてることが案外多かたりで、それだけで住所まで絞り込むのは難しいです。
ですので、発言内容も手がかりにしてみてください。住所だけじゃなくてよく使うレストランとかも特定できます←父親のアカウントで検証済み、こがねちゃん弁当乙
色々と生活パターンが分かって怖い…^^;こち亀でGPSの大きな装置を背負って生活してもらう!なんて話が100巻~120巻くらいにありましたけど、それが現実になってるんだな~、って感じです。もちろん、背負わなきゃいけないほど大きな装置ではありあませんが。
Twitterの設定画面から、あなたの位置情報をすべて消すことができます。
書かれている通り、大体30分くらい時間が必要なようです。何か怖いと感じたら消してしまって良いと思います。
位置情報って活用されてるんでしょうか?私はなんとな~くiPhoneの時は毎回入れていましたけど、冷静に考えるとあんまりいらない機能である気がして仕方がありません…w
政情不安とか地震とかの超リアルタイム緊急時だったら案外活用されてるのかな。
sessionでOAuth用のtokenの受け渡しとかが出来るのが便利~。やっぱりフレームワーク使うとサクサクできていいですね~。
現在、このサーバは「foltia」という録画ソフトとPT2を組み合わせた、アニメ録画サーバを兼ねています。このfoltiaでは、ファイル名を以下のような形で格納しています:
1725-35-20100607-1730.m2t (しょぼいカレンダの番組ID)-(話数)-(日付)-(時間).拡張子
このファイル名の書式は機械が扱う分には簡単なのですが、人間が読むのはちょっとしんどいです(だって、番組ID1725って何なのか知らないし…)。というわけで、これをしょぼいカレンダーのDBに問い合せ、こんな感じの名前にしてくれるソフトを作ってみました:
あにゃまる探偵 キルミンずぅ 第35話 ダブルでお任せ!ハグハグリーダー!? (20100607-1730).m2t
ファイル名の書式は入力/出力ともに自由にかつ割と簡単に設定可能ですので、foltia以外でも使えるかもしれませんね。
githubからDLしてください。
面倒なのでhelpをコピー!(ぉ
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ShoboCal_Renamer 1.0 (2011/04/28) written by PSI ( / ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= usage: ruby shobo_cal.rb [options] files or directories -i, --in_format FORMAT 入力ファイルのフォーマットを指定してください。 -o, --out_format FORMAT 出力ファイルのフォーマットを指定してください。 -d, --dry-run ファイル名を実際には書き換えません。 -r, --recursive 再帰的に実行します。 -e, --except FILENAME 指定したファイルは除外します。 -y 上書きが必要な際に、その旨を聞きません。 -h, --help このメッセージを表示します --version バージョンを表示します。
こんな感じで使えます。
カレントフォルダのファイルを全て処理 > ruby shobo_cal.rb . mp4に変換してあるのだけ処理したい。 > ruby shobo_cal.rb *.mp4 入力ファイル名、出力ファイル名のフォーマットを指定して、カレントフォルダのファイルを処理する。 > ruby shobo_cal.rb \ -i %tid%-%stid%-%date%-%time%.%ext% \ -o %title% 第%stid%話 %subtitle% (%date%-%time%).%ext% \ .
入力ファイル内の”%キーワード%”で囲んだ部分の数字を読み取り、出力ファイル名の対応する”%キーワード%”に書き出します。基本的に数字縛りです。
ただし、以下の例外があります。
アンペア数の変更工事があるため、現在サーバを停止しています。
東大隣人部
\部員募集中だよ!/
ミーム、あるいは概念です。非コミュのルサンチマンが鬱積した何かです。この先部員が居なくなって一時的に消滅しても、人間がコミュニケーションするならきっと何度でも蘇ります。
隣人部に参加したいと思ったその日から、あなたは立派な隣人部員です。入部届や退部届といった物はコミュニケーションが怖いのでありません。
あなたがリア充へのルサンチマンに燃えたその時が活動日で、非リアのルサンチマンのために行ったこと全てが活動内容です。
隣人部員同士で何かを行っても構いませんが、部員の性質上難しいのではないでしょうか。ただし、ネット上での腹芸やエア友達技術についての解説や、事務的な情報交換等はありうるかもしれません。
twitter上では「#rinjinbu」と「#todai_rinjinbu」タグの使用が推奨されています。mixiはリア充が怖いので参加出来てません。
駒場キャンパスで数万枚のエアビラ貼り、そして正門前での盛大なエアパフォーマンスの強行、一号館†2のエア封鎖を行い、現在、大学当局とエア対決中です。
リア充爆発しろ
前述のような形の上、エア部員も多数おり、部員数の把握は困難を極めています。コミュニケーション怖いし、他の部員の数はどうでも良いんじゃないでしょうか。
エア友達とならば可能です。
教科書は必ず買ってください。教授とはいい関係を築きましょう。遅刻せず、ノートはしっかりとってください。どれも、あなたを守る大切な武器になるでしょう。エア友達と一緒なら大丈夫ですよ、きっと。
まさかの非ジョークネタ
それとは別に、東大ニコ研ではエアオリ合宿†3の放送を予定しています。本物のオリ合宿とはちがってぼっちになる危険性は0ですので、ぜひご参加ください。
数値実態参照というのは、HTMLやXMLで直接記述できない文字を記述するための方法です。HTMLを書いた事のある方は、一度は「&」とか「<」とか見たことがあるんじゃないでしょうか。これらはHTMLのいわゆる”タグ”を表記したりするのに使うので、直接書くとタグの一部なのかどうか区別が付かなくなっちゃいます。だから、このように迂回して書くことで混同されるのを避けます。
HTMLやXMLには「&」を「&」と表すだけでなく、「&」と数字で表すこともでき、前者を文字実体参照、後者を数値文字参照と呼びます。前者の文字実体参照では表せる文字は限られますが、後者の数字文字参照ではUNICODEで表せる文字ならどんな文字でも表すことができます。
今回はこの文字と数値文字参照の相互変換、つまり「☆」を「☆」に変換したり、逆に「♡」を「♡」に変換したりしてくれるスクリプトです。たまに使う、かつありそうで無いスクリプトだったので昔作ったやつを公開します。
本日、地震が発生しました。無駄な電力の使用を抑えるため、サーバは停止とさせていただきます。アニメもやってないしつける理由無いさね。
おっ、こちらでの最後の投稿は去年の昨日(?)だったんですね。なんか感慨深い。
「UFO大好き霊子さん」をRails2.x系から3.x系に移植するに当たってぶち当たった問題のひとつです。かなり汎用性のある内容と思われるので、今回こちらにメモしておきます。
めんどくさい人は最後だけ見てね。
Rails2系では、こんなヘルパを書くことで簡単なAjax通信ができます。
<%= link_to_remote 'イイネ!', :url => {:controller => 'votes', :action => 'create', :moderate => 'yes', :post_id => @post.id}, :update => "post_voting_#{@post.id}" %>
こうすることで、’イイネ!’というリンクが現れます。これをクリックすると、VotesコントローラのCreateアクションがpost_idとmoderate=yesというパラメータで呼ばれ、その結果が”post_voting_#{@post.id}”というIDを持つ要素のinnerHTMLに書きこまれます。殆どJavaScriptを意識すること無く書けるので、とても便利で楽でした。
rails3系では「link_to_remote」が廃止され、代わりに「link_to」に:remote=>trueというオプションが加わりました。が、完全互換ではなく、:updateオプションはありません。
rails3.x系で正攻法で今までと同じことをするには、ビューの元の部分を
<%= link_to 'イイネ!', {:controller => 'votes', :action => 'create', :moderate => 'yes', :post_id => @post.id}, :remote=>true %>
と書き換え、さらにこの上でVotes#createがJavaScriptをrenderして返さなければなりません。たとえば、”view/votes/create.js.erb”を作って、
Element.update($("post_voting_<%= @post.id %>"),'投票ありがとう!');
みたいな感じですね。正直めんどくさい。
正直めんどくさいので、最小の手順でなんとかしましょう。Rails3系では、JavaScriptとHTML部分が完全に分離され、上記のlink_toで:remote=>trueをしても出力されたHTMLにはこのようにJavaScriptは一切含まれていません。こんな出力です:
<a href="/votes?moderate=true&post_id=1" data-remote="true" rel="nofollow">イイネ!</a>
ではどうやってJavaScriptで通信してるのかというと、rails.jsを見ればわかりますが、”data-remote”が指定されてる要素に対して”click”イベントハンドラを追加することで処理しています。こんな感じ:
document.on("click", "a[data-remote]", function(event, element) {
if (event.stopped) return;
handleRemote(element);
event.stop();
});
で、Ajax通信がとりあえず終わったらajax:competeイベント、成功するとajax:successイベントが、失敗するとajax:failureイベントが投げられます。rails.jsのイカの部分でゲソ:
function handleRemote(element) {
(略)
new Ajax.Request(url, {
method: method,
parameters: params,
evalScripts: true,
onComplete: function(request) { element.fire("ajax:complete", request); },
onSuccess: function(request) { element.fire("ajax:success", request); },
onFailure: function(request) { element.fire("ajax:failure", request); }
});
(略)
}
じゃ、このイベントを活用すれば良いんじゃなイカ?というわけで、イベントを追加して結果を流しこめばおk。こんなのをapplication.jsにでも追加しましょう:
document.on("ajax:success", "a[data-remote]", function(event, element) {
alert(event.memo.responseText); //結果が出てくる
});
あれ?結果を書きこむ先は?
link_toでは任意の属性を出力される要素に追加することができるので、これを使いましょう。また、createはpostメソッドなので、それも指定します。
<%= link_to_remote 'イイネ!', {:controller => 'votes', :action => 'create', :moderate => 'yes', :post_id => @post.id}, :remote=>true, 'data-update'=>"post_voting_#{@post.id}", 'data-method'=>:post %>
application.jsではこのようにして結果を書き込みます:
document.on("ajax:success", "a[data-update]", function(event, element) {
Element.update($(element.readAttribute('data-update')), event.memo.responseText);
});
これで目的は達成されました。
URLオプションの渡し方も微妙に変わってるので注意†1。:updateは’data-update’に変更し、アクションがpostの場合は’data-method’=>’post’も末尾に追加。
<%= link_to_remote 'イイネ!', :url => {:controller => 'votes', :action => 'create', :moderate => 'yes', :post_id => @post.id}, :update => "post_voting_#{@post.id}" %>
を、次のように変更します。
↓
<%= link_to 'イイネ!', {:controller => 'votes', :action => 'create', :moderate => 'yes', :post_id => @post.id}, :remote=>true, 'data-update'=>"post_voting_#{@post.id}", 'data-method'=>:post %>
document.on("ajax:success", "a[data-update]", function(event, element) {
Element.update($(element.readAttribute('data-update')), event.memo.responseText);
});
以上です。Rails3のAjaxでHTMLを返してjQueryで処理する – とはえ領域を参考にしつつ、jQueryを使わない方法を模索しました。
運命の2012年まであと10ヶ月、霊子さんが帰ってきたぞっ!
2009年に開始したしばらく後、アップデートがめんどくさいという諸事情により停止していた世界初?のオカルトスポット共有サイト「UFO大好き霊子さん」ですが、2012年に世界が崩壊すると聞いて霊子さんも黙って居られなくなったようです。今回、URLも移転しながら完全復活と相成りました。
立ち絵も得た霊子さんの活躍に刮目せよっ!イラストはりあたんです。
前述の通り霊子さんのキャラクターデザインは友人のりあたんがやってくれました、ありがとー!
霊子さんは…えーと…なんか昔私が注文時に語った中二設定が有った気がしますが覚えてません!輪廻転生がどうとか運命がどうとかそんな感じの設定だったと思います!
霊子さん初公開は私の大学受験の直前だったんですね。そりゃ落ちるわ。
なんか最近プログラミング・STGネタを投稿しなさすぎなので、たまにはそっち方面を投稿するテストw
進化するシューティングゲーム”GENETOS”が最近一番の個人的ヒット作です!ゲームシステムがゲーム進行にあわせ進化してくという発想の斬新さ、STGの歴史をうまくまとめ上げた構成力、ドラマチックな演出、遊びやすい難易度…。そしてBGMです!特に最終面のBGMはステージ演出と相まって最高です!
今回、そのGENETOSのBGMや画像ファイルに掛けられてる暗号を解除するツールを作成しました。ソースつき。
また、このツールを利用することで、BGMを暗号化することもできます。BGMの差し替えも可能です!(※制限あり、後述)
ライセンスはGPL3です。(アーカイブ内のLICENSE.TXTを参照)
GENETOSの、bgmフォルダ内の”○○○.mp3.ore”ファイル、または”○○○.mid.ore”を”oreshiki.exe”にドラッグアンドドロップすると同じフォルダに復号化されたファイルがでてきます。同様に、img内の.oreファイルも復号化できます。
なお、soundフォルダ内に入っている効果音ファイルは実は暗号化されてないので、.wav.oreを.wavに変更するだけで再生することができます。
ファイルの先頭128バイトを、”oreshikioreshikioreshiki…..”という”oreshiki”がぐるぐると連続する文字列とxorを取っただけです。つまり、ファイルの大部分は平文ですw
これを、再生直前に復号化して、再生が終わったら再び暗号化して再生できないようにする、という方法で暗号化しています。たぶんライブラリがメモリ上に展開されたmp3ファイルの再生に対応していなくて、その仕様と妥協しあった結果、でしょうか?
.mp3ファイルや.midファイルをこのソフトにドラッグアンドドロップすることで暗号化することもできます!このソフトで暗号化したファイルを、元のBGMのファイルと入れ替えることでBGMの差し替えを行うことができます。
ただしファイルフォーマットのチェックがシビアなのか、にこさうんど#等、ネット上から拾ってきたmp3はそのままでは再生に失敗することも多いので、一度wavに戻してからlame等で再エンコードして使うのを推奨します。
さらに、この方法ではステージがmidiのステージはmidiのファイルで、mp3のステージはmp3ででしか差し替えることができません。プログラムを書き換えれば可能で、一応そのための改造パッチも作ってあります。もう少しテストした上で公開できそうなら公開する予定ですが、いつになるやら。