サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
cygx.mydns.jp
久々にTokyoDemoFestに参加することができました。2014年以来です。 で、久々に徹夜でGLSLを書いた作品でGLSL Compo 2位を獲得!嬉しいですね。 GLSLで1位を取った@soma_arcさん、3位の@gam0022さんが解説をされていて勉強になったので、自分も簡単ですが技術的なこととか、どう作ったかを書いてみます。 TokyoDemoFest 2017 の GLSL Graphics Compo で3位入賞! http://gam0022.net/blog/2017/02/24/tdf2017 Tokyo Demo Fest 2017に参加しました http://soma.hatenablog.jp/entry/2017/02/26/002456 作品について glslsandbox.com用のglslで、minifyして4KB弱です。 次々とメタリックな謎の物体が
Google Research Blogに載っていたNeural Networkを使った画像集が面白いです。 Inceptionism: Going Deeper into Neural Networks http://googleresearch.blogspot.jp/2015/06/inceptionism-going-deeper-into-neural.html このグーグルの記事は簡単に言うと、特徴量から絵が作れちゃうよ、という話です。 例えば下記はダンベルの特徴量から絵を創りだしたわけですが、なぜだか腕が生えています。これはダリっぽい絵を作ろうとわざとやったわけではなく、ダンベルを表すクラスに腕が混じり込んでいることを示します。ダンベル画像に付き物のマッチョなお兄さんを完全に分離できずに学習しちゃったんだなー、とネットワークが実はうまく作れていなかったことが分かるわけです。
先日Oculusに買収されjoinしたRichard Newcombe氏らの論文を5つほど流し読みしましたので、適当な解説を加えて紹介します。 https://www.oculus.com/blog/announcing-the-acquisition-of-surreal-vision DTAM: 単眼カメラでリアルタイムに3次元再構成 (2011年) http://www.youtube.com/watch?v=Df9WhgibCQA DTAM: Dense Tracking and Mapping in Real-Time http://www.doc.ic.ac.uk/~ajd/Publications/newcombe_etal_iccv2011.pdf DTAMの前にその全身となるPTAMについて。PTAMはいわゆるマーカーレスで自己位置推定をやる手法。画面上に特徴点を大量に見
Ruby on Rails 4を使ってRESTfulなAPIサーバを作ってみます。RoRを触るのは数年ぶりなのでググりながらやってみた結果のメモとなります。 そもそも新しいrubyが入っていなかったので入れます。rvmというのが便利らしい。nodeでいうnvmやnodebrewですね。 uname -a Linux mnu13 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux curl -sSL https://get.rvm.io | bash -s stable source ~/.bash_profile rvm install 2.1 rvm use 2.1 ruby -v ruby 2.1.2p95 (2014-05-08 revision 458
*TDF2015で史上最高の4KB誕生か? Optical Circuit tech demo 20150301 112425 今年のTokyoDemoFestは行けなかったのですが、そこで凄まじい作品が発表されてました。それがcombined demoで優勝した4KB introのOptical Circuit。 まずはこれを見ていただきたい。(是非1080pで見てください。ちなみに最初に貼ったurlは音と映像の同期が取れていなかったようです) http://www.youtube.com/watch?v=ZT_rlKRT4K8 これが4KB弱のwindowsの実行ファイルから生成された映像と音なのであります。全く意味が分かりませんね。 2009年にRGBAが発表した4KB IntroのElevatedが当時与えた衝撃は凄く、間違いなく歴史上最も重要な4KB Introです。しかし、それ
Xperia Z Ultraをexpansysで注文してみた から2ヶ月以上、とりあえず今のところあんまり問題ない。ただ、タッチパネルが敏感すぎるのがいかんね。洗剤で洗ったせいで一度タッチパネルに浸水したせいかもしれんけど… それはともかく、期待していなかった割に大活躍しているのがカーナビとしての役割。グーグルマップのナビ機能が無料とは思えないほど便利。そして、Z Ultraのサイズがカーナビに絶妙にマッチ。今までnav-uを使っていたのだけど、もう全然使ってない。 車載マウンタ マウントにはモバイクスのものを購入。これだと電源・音量・USB microを活かしたままマウント可能。Tao TronicsやTAXANとかも考えたけど、電源ボタンなどと被りそうなので。 ただ、これは自分の車の問題だけどなかなかフロントに吸着してくれない。が、吸着せずに置くだけでも荒い運転をしない限り動かない模様
SDR(Software Defined Radio, ソフトウェア無線 )をご存知でしょうか? 無線の変調や復調をソフトウェアで行う(プログラマブルに可変にする)技術です。 これが実は最近物凄くお手軽に出来るようになっています。 なんと1000円以下で売られているワンセグ用のUSBドングルを使うと、局発で中間周波数へ落として約2.4MHz *0 でサンプリングしたものをPCで取り込むことができるのです! 【特売品】ワンセグRX DVB-T+DAB+FM R820T高性能受信機[R820T] http://www.aitendo.com/product/7025 対応チップが載っているワンセグドングルなら何でも良いようです。 これにOSSのSDRソフトを使います。SDR# HDSDRあたりが有名。最初はSDR#のsdr-install.zipを使うとドライバのインストーラも入っていて簡単で
時代は変わりました。 今はJavaScriptでベースバンドをリアルタイムに処理する時代のようです(正確に言えばIFに落としてるからベースバンドじゃないけど)。 以前、 RTL-SDRでFM放送を聴く という記事を書きましたが、恐ろしい物が出ていることに今更気づきました。なんとJavaScriptのみで、RTL-SDRからベースバンドを取得しFM復調して、FM放送を再生するというChrome Appが出ているのです。 Chrome ウェブストア - Radio Receiver https://chrome.google.com/webstore/detail/radio-receiver/miieomcelenidlleokajkghmifldohpo 実行するにはお馴染みRTL2832U+R820Tの構成の地デジドングルが必要です。 ちょっと前までは1000円以下で売っていた気がします
ワンセグドングル+RTL-SDRでいろいろ受信できるけど携帯はどうだ?と思ってググったらありますね。 Cracking GSM with RTL-SDR for Thirty Dollars http://hackaday.com/2013/10/22/cracking-gsm-with-rtl-sdr-for-thirty-dollars 直訳すると「30ドルでRTL-SDRを使ってGSMをクラックする」(既にワンセグドングルは1000円で買えます@aitendo、量販店とかで安売りしてればもっと安い)。2,3年前からそこそこ高価か特殊な機材を使えばハック可能とは分かっていたのですが、色々な技術がオープンソースや安価な機材で揃ってしまい比較的カジュアルにハックできるのがヤバい、という感じ。 GSMは第2世代(2G)の携帯電話の通信方式の一種で世界中で使われています。ただ日本(GSMじゃな
IEの脆弱性とUse-After-Free というメモを書いて色々調べていたら、面白い記事を見つけた。 ASLR Bypass Apocalypse in Recent Zero-Day Exploits http://www.fireeye.com/blog/technical/cyber-exploits/2013/10/aslr-bypass-apocalypse-in-lately-zero-day-exploits.html どうやら最近はASLRも回避する方法が確立されつつあるらしい。 リンク先で幾つか回避方法が紹介されているが、その最も有力な手法がArrayオブジェクトのlengthの書き換え。Buffer overflowなりuse-after-freeなりでarrayのlengthを不正に書き換えることで、最終的に全メモリへのアクセス権をスクリプト上から得る。こうなればe
先週、日本で唯一のデモパーティー、TokyoDemoFest 2014が飯田橋はアンスティチュ・フランセ東京で行われました。 しかも金土日の三日間! デモパーティーとはなんぞや、というのを念のため説明しておくと、要はコンピュータに関するオタクが集まって酒飲んだりする会、ですかね。すいません、完全に僕の個人的定義です。それだとただの飲み会やないか、と思われそうですが、決定的に違う点は1つ。コンペティション(コンポ)があるということ。ということで、作品を何か作って発表するのがデモパーティーの醍醐味。 とはいえ、手ぶらで行っても問題無し。僕も去年は何も出さずに見に行きましたが、十分楽しかったです。とはいえ去年、よっしんさんやnikqさんのデモがスクリーンに映されて、盛り上がって歓声が上がり、表彰されるのをみてると、僕もなんか来年は作りたいなーと思ったのをよく覚えています。 実際の去年のデモコンポ
←New エミュレーションは98年頃から始まったようです。その頃はログを読むとMDXDRVを筆頭にWinMDX,MDXWinの御三家が存在したようです。ただ当時はMDXDRVの再現性が圧倒的だった記憶があります。MDXWinは演奏のコアの部分は現在手に入る最新だとMDXDRVm.dllというものを使っているようですが、これが何なのか既に僕には分かりません。また98年当時は何を使っていたのかも既にバイナリが手に入らず不明です。(@hex125さんより、MXDRVm.dllはmoonlight氏の独自実装だったようです 2/17追記) この頃はYM2151(OPM)のエミュレーション技術がm_puusanのx68sound.dllによって急激に完成しつつ有り大きな衝撃を受けたものです。MXDRVのエミュレーションに限らずEX68というX68自体のエミュレーションの黎明期でもありました。「X68
これは以前テキサスホールデムのゲーム理論上の最適解について調べ物をしていたときの備忘録です。 ゲーム理論とは ここを読んでいただくのが手っ取り早いですが、複数人のプレイヤでゲームをするとき、どうやったら最大の利益が得られるかを考える学問です。第二次世界大戦前後にフォン・ノイマンが戦略を確率的に混ぜた混合戦略を用いることで様々なゲームにおいて均衡が見つかることを示し、そこから軍事等に応用されました。さらにナッシュが非協力n人ゲームでも均衡が存在することを示し、殆どの現実のモデルにゲーム理論を適用可能となりました。当然ポーカーにも理論上は適用可能です。もし均衡が分かれば、それは絶対に搾取されない無敵の戦略となります。(ただし誰にも負けないことを保証するだけで、プラスになるとは限りません。例えば、ジャンケンのナッシュ均衡はグーチョキパーを1/3ずつの割合で出す戦略ですが、誰にも負けませんが誰にも
特区で雇用規制緩和 政府検討、残業・解雇柔軟に :日本経済新聞 こんなニュースが有った。日本の雇用はどうなるんだろう? ところで話は変わるが、 容赦の無い首切り、世界最高水準の転職率、大資本同士の買収合戦、高い配当を求めるモノを言う株主、市場による資金調達、官僚統制のない完全な自由競争。 さてこれはどこの国だろうか? 実は戦前の日本なのである。戦前の日本は今のアメリカも真っ青の原始的な資本主義社会であった。解雇に関する制限はなく、事前通知もなく首を切ることが出来た。そのため、1930年代まで日本は世界最高の横転率(職種を変えず会社を変える率)だった。 終身雇用による雇用の安定、それによる雇用の硬直化と労働者の会社への隷属、企業同士の株の持ち合いによる株主の権力無効化、銀行の融資による企業の支配、官僚による様々な規制と行政指導による護送船団。 今ではだいぶ崩れたが、これら日本特有の経済システ
ワタミグループは確かに色々と叩かれる面もあるが、渡邉美樹自身はとんでもないカリスマなのである。高杉良が書いた小説「青年社長」にその伝説の数々が書かれているので、幾つかその渡邉美樹烈伝を抜粋しよう。 明治大学時代、明治大学横浜会を率いて様々なイベントを成功させる。最も大きなイベントとして、チャリティーの学生コンサートを主催。150人の学生を組織し、ゲストに森進一を召喚し、集客1万2千人。500万以上を寄付。 卒業前に日本や海外を旅行し、外食産業を立ち上げることを決意。大学卒業後、会社の仕組みを覚えるためミロク経理に入社、経理などを覚えて半年で辞め、開店資金を貯めるために高給の佐川急便のセールスドライバー(SD)になる。 1982年当時、佐川急便のSDの労働環境の劣悪さは凄まじく、一日の労働時間は20時間に近いと言われていた。午前6時出社で深夜2時過ぎまで働くこともザラ。ちなみに初日は6:00
こんな経験をしたことはありませんか? PCのChromeではJavaScriptからwindow.openでポップアップウィンドウが開けるのに、AndroidのChromeでは開けない。けど、onclickイベントのハンドラ内だったらAndroidでもwindow.openが動く PCのSafariでは動画の自動再生(document.onloadのタイミングでvideo要素のplayを呼ぶ)ができるのに、iPhoneのSafariでは出来ない これらの挙動の違いはバグではなく、主にモバイル端末向けにWebKitの内部設定が変更されているためです。実はモバイルに限らず、ブラウザではユーザ操作(UserGesture)による呼び出しか否かでスクリプトの挙動が変わります。そして、その変わり方がブラウザによって違います。 このあたりのWebKitにおける実装を調べてみました。 下記の操作はクリッ
5,6年前かJavaScriptのプロトタイプチェーンやスコープチェーンに関して 「なんでこんなに分かりづらいの?スコープチェーンだけで十分じゃね?」 「ruby使ってると、functionとかreturnとか、いちいち打つのが面倒なんだよ!」 と思って、自作言語をruby上で作ったことがあった。 その後、2,3年くらい前か、「男ならクリスマスツリーよりシンタックスツリー」というネタを12月にやろうとふと思い、その自作言語をCに移植を試みたのだけど、結局面倒くさくなって、というより完成が間に合わず途中で放棄。 その古代遺跡がつい先日発掘された。言語名はscope。 俺考古学の一環として、その解析をしたいと思う。 まずはソースコードを https://github.com/mitsuman/scope に上げた。 さて、まずはビルドしよう。手元のcygwinでトライ。 $ make g++
高専の友達と呑んでいた。 なんでそういった話になったか覚えていないが、情報工学畑の僕が 「大学の実験ページを見たらコンパイラ演習が無くなっていて驚いた。情報工学でコンパイラも作ったことないってどうなのよ?アカンでしょ」 と言ったところ、電気電子畑の友が 「そんなもの『電気科で8石スーパーヘテロダインラジオも作らないで卒業するのは許せん!』と言っている老害と同じ。やるべきことは時代で変わる。会社でも特定の技術に長けて成功した人ほど、視野が狭くなって老害化してほんと困る云々」 というようなことを言った。 ちょっと話は逸れるけど、家電メーカーでもあるよね。一度テレビで成功しちゃったが故に、赤字になってもテレビをいつまでも家電の王様と信じて作り続けちゃう、みたいな。バカは死ななきゃ治らない、って言うけど赤字事業でもそれに従事するエンジニアは超一級で、そもそもかつてテレビは最先端の花形事業であって、
●幕末生まれ(~1868) 明治維新を成し遂げ、日本を近代国家の仲間入りさせた最強の世代。日清・日露戦争を勝利に導き領土を広げた。天皇を天ちゃんと呼んでいた。 ●明治生まれ(1868~1912) 大正デモクラシーを謳歌。皇国教育を受けアメリカと戦争を引き起こし、大日本帝国を滅亡に追い込んだ世代。頑固。 ●大正生まれ(1912~1926) 明治男の無謀な命令で前線で戦い、戦死者が一番多い世代。女性は戦争未亡人が一番多い世代。生き残った男は、 男が少ないため結婚相手に困ることはなし。戦後も明治男の無理難題の要求に苦労しながら奇跡の復興の原動力に。 ●昭和一桁(1926~1934) 軍国少年少女となるべく教育を受け、防空壕を掘ったり軍需工場で働かされ青春はなし。家族を空襲で失った者多し。 貧乏のどん底からモーレツに働き、戦後は高度成長期の原動力に。 ●昭和二桁(1935~1946) 戦争に負け、
やり方は http://www.chromium.org/developers/how-tos/build-instructions-windows に書いてあるのだけど、その中のAutomatic simplified toolchain setupがそれ。 今まではWindowsの場合、Visual Studioでビルドをしていたと思うのだけど、これはSDKやらのインストールやらパッチ当てが面倒くさい上にビルド自体が激重い。けど最近は、Windows上でもセットアップの自動化を行う神スクリプトが出て来て、それとninjaビルドを組み合わせるとお手軽にビルドができるようになったらしい。試してみる。 まずは https://src.chromium.org/svn/trunk/tools/depot_tools.zip を落として、適当なところに展開してコマンドラインから叩けるようにPAT
RefPtr and PassRefPtr Basics Darin Adler Version 4, 2010-08-27 を訳してみた。 WebKitの中を見ると必ず出くわすクラステンプレートで、要はboostのintrusive_ptrと同じようなスマートポインタなんだけど、真面目に読んだ事がなかったので折角だから拙訳だけどここにメモしておく。 歴史 WebKitの多くのオブジェクトは参照カウンタを持つ。このパターンでは、クラスは参照カウンタを上下するref,derefメンバ関数を持つ。refとderefの呼び出しは一対一で対応する必要があり、参照カウントが1のときにderefが呼ばれると、オブジェクトは削除される。WebKitの多くのクラスはRefCountedクラステンプレートを基底としてこのパターンが実装されている。 2005年頃、私たちは大量のメモリーリークがあることを発見し
ほんの少しの昔にも思えるが、遥かに遠い昔のように思える。 8ビットや16ビットの機械が活躍していた時代。 ちょっと懐かしいものを手違いで掘り起こしてしまったので、それらについて思うままに書いてみます。 それは、X68000用の月刊ディスクマガジン、電脳倶楽部。 満開製作所という怪しい名前の会社が作っておりました。 X68000ユーザー向けにソフトバンクが発刊していた雑誌Oh!Xに電脳倶楽部の広告が載っており、 当時小中学生だった私は親にねだったり、なけなしのお年玉を崩して、 たまに定期購読したり、タケル(ソフト自販機)で買っていたものです。 タケルも当時は地元にはなかったため、わざわざ名古屋の大須まで買いに行ったものです。 中身も当時は貴重なものだったのですが(簡単に言えば、雑誌からソースリストを打ち込まなくてもゲームができる!)、印象的だったのは広告でした。日ペンの美子ちゃんのパロディの
前回、 三味線 ぽいものや ブラス をJSで作ってみたので、 今回は 擦弦楽器 をやってみよう。 いや、やってみようと言っても、単にSTKのコードを持ってくるだけで、 大したことをするわけじゃないんだけど。 http://cygx.mydns.jp/tracker/?id=Bowed 鍵盤をクリックで音が鳴ります。 Y方向にドラッグするとビブラート、X方向にドラッグすると弾く弦の位置が変わります。 多分、現実にはありえないくらいキーやパラメータが変えれてしまうため、 おかしな音がなるかと思いますがご愛嬌ということで。 擦弦楽器のシミュレーションについては、 https://ccrma.stanford.edu/~jos/pasp/Bowed_Strings.html に書いてあります。 その前に、そもそもバイオリンとかの仕組みを知らない方は楽器解体全書をどうぞ。 で、仕組みについて自分なり
TDFの感想を書き忘れていた。 3週間前に日本唯一のデモパーティーであるTokyo Demo Festに行って来た。 実はデモパーティーなるものには初参加。 アンスティチュ・フランセ東京という凄く雰囲気の良い、お洒落な会場でちょっとびっくりする。 いつもの面々に加え、久々にtox2roさんに会えたり、ファミベのよっしんさんに会えたり、様々なセミナー(Agni's Philosophyが凄かったよ。ノートPCで動いちゃうとは)やデモショーなどcompo以外も非常に楽しかった。 けどやっぱコンポが最高に盛り上がってた。結果はこちら。 http://tokyo-demo-fest.jpn.org/2013/?page=results http://www.pouet.net/party.php?which=1542&when=2013 幾つか紹介してみる。 Combined demo #1 il
前回のこの記事 、もっともらしく書いておりますが、あくまで外側からレビュアーでもコミッターですらも無い、一ウォッチャーが見て思った推測にすぎません。反響が予想外に大きかったため、一個人の勝手な推測とはいえグーグルの方にはご迷惑をおかけした、あるいは気分を害された方もいるかもしれません。大変申し訳ありませんでした。 当然、Blinkの公式ページには「全体的なイノベーションの速度が低下してきたこと」が理由であるとして、私が付け足した理由については書いておりませんし、それが公式な見解です。私は外側の人間であり内側で本当は何が起きたか、その真実は知りようがありません。あくまで第三者による裏側の推測です。例えば、書いた自分自身いくらでもマッチポンプ的反論は書けます。 例えて言うなれば、こんな筋で前回の記事を批判することもできます。 夢を実現するために若者が故郷(WebKit)を離れ、上京(fork)
CCRMAにブラスの物理モデルが書いてあった。 https://ccrma.stanford.edu/~jos/pasp/Brasses.html 実装はSTKに書いてあるので、jsで真似して書いてみた。 http://cygx.mydns.jp/tracker/?id=Brass それっぽいけどまだ何か変。 とりあえず分かったことをメモ。 簡単に言うと、管楽器というのは管とリードから成る。ブラスの場合はリードは奏者の唇となる。 唇は息と管の圧力を双2次フィルタで目的の周波数で共振させることで実装している。 息の圧力は単純にADSRで決める。ただそれだけだと単純すぎるのでサイン波でビブラートを入れる。ついでに雑音も入れてみた。 管はdigital waveguideで実装していると書いてあるけど、難しいことは無く、左へ進む波と右へ進む波をそれぞれ管理するバッファのこと。管の性質は端に到達し
物理モデル音源といえば、VL1だと思ってたけど、もうとっくにソフトシンセでも物理ベースが当たり前になりつつあるらしい。 【DEMO】YAMAHA VL1 http://www.youtube.com/watch?v=OYWxCrz3vmQ VL1は今見ても面白い。 YAMAHA VL1 Perfect Guide http://download.yamaha.com/api/asset/file/?language=ja&site=jp.yamaha.com&asset_id=17050 その仕組みは僕にとって謎だったのだけど、シンセサイザの総本山的なスタンフォードのCCRMAのページにかなり詳細な情報が載っていた。 PHYSICAL AUDIO SIGNAL PROCESSING https://ccrma.stanford.edu/~jos/pasp/pasp.html これは本当に宝
ついにWebKitからGoogle勢が分裂してBlinkという新しいフォークが出来てしまった。 折りしもmozillaがレンダリングエンジンをRustで作り直すという挑戦的なニュースも重なり、 新年度早々Web業界ウォッチャーには衝撃が走った。 さて、このBlinkのフォーク騒動だけど、理由は大きく2つあると思う。 一つは、性能や安全性向上のためのリアーキが現状のWebKitのtrunkでは難しいから。 二つは、WebKitのコミュニティ上でのApple勢とGoogle勢の信頼関係が崩れたため。 一つ目の性能に関する理由は明白。Blinkの公式サイトにもあるような、iframeのsandbox化、ネットワークコードの簡潔化、DOMをJSヒープに移動させることによるDOM操作の高速化などを、様々な移植層に適合した形で実現するのは技術的にも政治的にも非常に難しいためだ。 そういったドラスティッ
まず、~/.gitconfigによく使うコマンドをaliasで登録。 [alias] a = add br = branch ci = commit co = checkout cp = cherry-pick di = diff st = status k = "log --graph --pretty='%x09%h %ci %cn%x09%s %Cred%d'" では個人的によく使いそうなイディオム、あるいは自分がhelpを引かずに打てるコマンドを書きだしてみる。 git diff 今の作業中の差分なんだっけ、とかコミット前に差分を整えたりとか。 git st これも作業状況の確認。 どのブランチに居るかとかも分かるけど、自分はshellのステータスに常にブランチを出しているからその目的では使わない。 git k コミットログ一覧をグラフ付きで。 ただ、androidのようなプロジェ
次のページ
このページを最初にブックマークしてみませんか?
『cygx.mydns.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く