Hello, world!
http://blog.s21g.com/genki
2394
光ファイバーを二次元振動させて走査するAR用ディスプレイ
<p>下図のような感じのディスプレイ作ろうとしてる人いないですかね。</p>
<p><img src="http://blog.s21g.com/blobs/13d7145801be45a8afe7b43258eaca61/FiberSweepDisplay.png" alt="FiberSweepDisplay.png" /></p>
<p>撮像用途では光ファイバスキャナの研究を見かけたのですが。</p>
<ul>
<li><a href="https://astamuse.com/ja/published/JP/No/2014137565">光ファイバスキャナ</a></li>
<li><a href="https://kaken.nii.ac.jp/ja/grant/KAKENHI-PROJECT-17040002/">極細径光ファイバ先端駆動形2次元マイクロ光スキャナ</a></li>
</ul>
<p>ディスプレイでも行けそうですよね</p>
Tue, 21 Mar 2017 16:06:55 +0000
Tue, 21 Mar 2017 16:07:30 +0000
瀧内元気
2393
因果の取り違え
<p>Xの原因だと思っていたものが、実はXの結果であった、という事は結構ありますね。前後即因果の誤謬に近いかな。虚偽の原因の誤謬の一種ですね。</p>
<ul>
<li><a href="http://www.gelifesciences.co.jp/newsletter/biodirect_mail/chem_story/132.html">生化夜話 第47回 美しすぎる相関性が生んだ思い込み - 乳酸と筋肉疲労</a></li>
<li><a href="http://wired.jp/2016/06/03/brain-infections-may-spark-alzheimers/">アルツハイマー病は「脳が感染と戦った結果」なのか:研究結果</a></li>
</ul>
Fri, 03 Jun 2016 14:27:32 +0000
Fri, 03 Jun 2016 14:27:32 +0000
瀧内元気
2390
Swift2's defer for CoffeeScript
<p>Though currently I am prefer to use CofferScri<wbr />pt than Swift, I have thought that the <code>defer</code> of Swift2 is pretty cool. So I wrote a snippet that accomplish<wbr />es the feature by using <code>yield</code> as like the manner of <code>co</code> is doing.</p>
<p><div class="blackboard-head"><div></div></div>
<pre class="blackboard"><span class="marker"><span class="line-numbers"> 1 </span> </span>defer <span class="Keyword">=</span> (g) <span class="Keyword">-</span><span class="Keyword">></span>
<span class="marker"><span class="line-numbers"> 2 </span> </span> deferred <span class="Keyword">=</span> []
<span class="marker"><span class="line-numbers"> 3 </span> </span> go <span class="Keyword">=</span> (i) <span class="Keyword">-</span><span class="Keyword">></span>
<span class="marker"><span class="line-numbers"> 4 </span> </span> {value,done} <span class="Keyword">=</span> <span class="Keyword">do </span>i.<span class="Entity">next</span>
<span class="marker"><span class="line-numbers"> 5 </span> </span> <span class="Keyword">unless</span> done
<span class="marker"><span class="line-numbers"> 6 </span> </span> deferred.<span class="Entity">push</span> value
<span class="marker"><span class="line-numbers"> 7 </span> </span> go i
<span class="marker"><span class="line-numbers"> 8 </span> </span> exit <span class="Keyword">=</span> <span class="Keyword">-</span><span class="Keyword">></span>
<span class="marker"><span class="line-numbers"> 9 </span> </span> <span class="Keyword">do </span>f <span class="Keyword">for</span> f <span class="Keyword">in</span> deferred
<span class="marker"><span class="line-numbers"> 10 </span> </span> process.<span class="Entity">removeList<wbr />ener</span> <span class="String"><span class="String">'</span>exit<span class="String">'</span></span>, exit
<span class="marker"><span class="line-numbers"> 11 </span> </span> process.<span class="Entity">on</span> <span class="String"><span class="String">'</span>exit<span class="String">'</span></span>, exit
<span class="marker"><span class="line-numbers"> 12 </span> </span> try go <span class="Keyword">do </span>g
<span class="marker"><span class="line-numbers"> 13 </span> </span> <span class="Keyword">catch</span> <span class="Keyword">then</span> <span class="Keyword">do </span>exit
<span class="marker"><span class="line-numbers"> 14 </span> </span>
<span class="marker"><span class="line-numbers"> 15 </span> </span>foo <span class="Keyword">=</span> (type) <span class="Keyword">-</span><span class="Keyword">></span> defer <span class="Keyword">-</span><span class="Keyword">></span>
<span class="marker"><span class="line-numbers"> 16 </span> </span> console.<span class="Entity">log</span> <span class="String"><span class="String">"</span><span class="String"><span class="String">#{</span>type<span class="String">}</span></span> 1<span class="String">"</span></span>
<span class="marker"><span class="line-numbers"> 17 </span> </span> <span class="Keyword">yield</span> <span class="Keyword">-</span><span class="Keyword">></span> console.<span class="Entity">log</span> <span class="String"><span class="String">"</span><span class="String"><span class="String">#{</span>type<span class="String">}</span></span> deferred 1!<span class="String">"</span></span>
<span class="marker"><span class="line-numbers"> 18 </span> </span> <span class="Keyword">yield</span> <span class="Keyword">-</span><span class="Keyword">></span> console.<span class="Entity">log</span> <span class="String"><span class="String">"</span><span class="String"><span class="String">#{</span>type<span class="String">}</span></span> deferred 2!<span class="String">"</span></span>
<span class="marker"><span class="line-numbers"> 19 </span> </span> console.<span class="Entity">log</span> <span class="String"><span class="String">"</span><span class="String"><span class="String">#{</span>type<span class="String">}</span></span> 2<span class="String">"</span></span>
<span class="marker"><span class="line-numbers"> 20 </span> </span> <span class="Keyword">if</span> type <span class="Keyword">==</span> <span class="String"><span class="String">"</span>exit<span class="String">"</span></span> <span class="Keyword">then</span> <span class="Keyword">do </span>process.<span class="Entity">exit</span>
<span class="marker"><span class="line-numbers"> 21 </span> </span> <span class="Keyword">else</span> <span class="Keyword">throw</span> <span class="String"><span class="String">"</span>throw<span class="String">"</span></span>
<span class="marker"><span class="line-numbers"> 22 </span> </span> console.<span class="Entity">log</span> <span class="String"><span class="String">"</span>3<span class="String">"</span></span>
<span class="marker"><span class="line-numbers"> 23 </span> </span>
<span class="marker"><span class="line-numbers"> 24 </span> </span>foo <span class="String"><span class="String">"</span>throw<span class="String">"</span></span>
<span class="marker"><span class="line-numbers"> 25 </span> </span>foo <span class="String"><span class="String">"</span>exit<span class="String">"</span></span>
<span class="marker"><span class="line-numbers"> 26 </span> </span>
<span class="marker"><span class="line-numbers"> 27 </span> </span><span class="Comment"><span class="Comment">#</span> RESULTS</span>
<span class="marker"><span class="line-numbers"> 28 </span> </span><span class="Comment"><span class="Comment">#</span> </span>
<span class="marker"><span class="line-numbers"> 29 </span> </span><span class="Comment"><span class="Comment">#</span> throw 1</span>
<span class="marker"><span class="line-numbers"> 30 </span> </span><span class="Comment"><span class="Comment">#</span> throw 2</span>
<span class="marker"><span class="line-numbers"> 31 </span> </span><span class="Comment"><span class="Comment">#</span> throw deferred 1!</span>
<span class="marker"><span class="line-numbers"> 32 </span> </span><span class="Comment"><span class="Comment">#</span> throw deferred 2!</span>
<span class="marker"><span class="line-numbers"> 33 </span> </span><span class="Comment"><span class="Comment">#</span> exit 1</span>
<span class="marker"><span class="line-numbers"> 34 </span> </span><span class="Comment"><span class="Comment">#</span> exit 2</span>
<span class="marker"><span class="line-numbers"> 35 </span> </span><span class="Comment"><span class="Comment">#</span> exit deferred 1!</span>
<span class="marker"><span class="line-numbers"> 36 </span> </span><span class="Comment"><span class="Comment">#</span> exit deferred 2!</span>
</pre><div class="blackboard-foot"><div></div></div></p>
Sat, 10 Oct 2015 00:36:04 +0000
Sat, 10 Oct 2015 00:36:04 +0000
瀧内元気
2387
mongodb-3.0からcreateIndexのdropDupsが無くなったらしい
<p>ということで、適当なセカンダリで重複を探して予め削除する必要が。
aggregateで探す例)
<div class="blackboard-head"><div></div></div>
<pre class="blackboard"><span class="marker"><span class="line-numbers"> 1 </span> </span><span class="Entity">aggregate</span>([
<span class="marker"><span class="line-numbers"> 2 </span> </span> {:<span class="Variable"><span class="Variable">$</span>group</span> => {_id: {user_id<span class="Constant"><span class="Constant">:"</span>$user_id<span class="Constant">"</span></span>, date<span class="Constant"><span class="Constant">:"</span>$date<span class="Constant">"</span></span>},
<span class="marker"><span class="line-numbers"> 3 </span> </span> uniqueIds:<wbr /> {:<span class="Variable"><span class="Variable">$</span>addToSet</span> => <span class="String"><span class="String">"</span>$_id<span class="String">"</span></span>}, count:{:<span class="Variable"><span class="Variable">$</span>sum</span> => <span class="Constant">1</span>}}},
<span class="marker"><span class="line-numbers"> 4 </span> </span> {:<span class="Variable"><span class="Variable">$</span>match</span> => {count: {:<span class="Variable"><span class="Variable">$</span>gt</span> => <span class="Constant">1</span>}}}],
<span class="marker"><span class="line-numbers"> 5 </span> </span> allowDiskU<wbr />se: <span class="Constant">true</span>)
</pre><div class="blackboard-foot"><div></div></div></p>
Fri, 22 May 2015 02:28:14 +0000
Fri, 22 May 2015 02:28:14 +0000
瀧内元気
2386
mongodb-3.0以降のWiredTigerの設定を動的に変更する方法
<p>WiredTiger<wbr />が非常に素晴らしいのですが、設定ファイルが </p>
<ol>
<li><code>/etc/mongo<wbr />d.conf</code></li>
<li><code>/var/lib/m<wbr />ongodb/Wir<wbr />edTiger.ba<wbr />secfg</code></li>
<li><code>/var/lib/m<wbr />ongodb/Wir<wbr />edTiger.co<wbr />nfig</code></li>
</ol>
<p>のように沢山あって結構ややこしいです。</p>
<p>基本的には 1. はmongodbの初回起動時だけ有効で、3. が次回以降の再起動で反映されるものになります。
さらに、mongodbを動かしたままWiredTiger<wbr />の設定だけ変更したい場合は、
mongoのコンソールから</p>
<p><div class="blackboard-head"><div></div></div>
<pre class="blackboard"><span class="marker"><span class="line-numbers"> 1 </span> </span>db.adminCo<wbr />mmand({setParamet<wbr />er:<span class="Constant">1</span>, wiredTiger<wbr />EngineRunt<wbr />imeConfig:<wbr /><span class="String"><span class="String">"</span>c</span>
<span class="marker"><span class="line-numbers"> 2 </span> </span><span class="String">ache_size=<wbr />8G<span class="String">"</span></span>})
</pre><div class="blackboard-foot"><div></div></div></p>
<p>のように修正できるようです。パラメータ名は 2. のファイルの中身が参考になります。
これによって内部的には<code>WT_CONNECT<wbr />ION::recon<wbr />figure</code>が実行される模様。</p>
<p>修正したら、次回来起動した場合に備えて 3. も書き換えておくと良いでしょう。</p>
Wed, 13 May 2015 03:43:45 +0000
Wed, 13 May 2015 03:43:45 +0000
瀧内元気
2385
一般楕円の高速生成アルゴリズムへの道標
<p>たびたび見失ってGoogleで探すのに苦労するので道標的に。</p>
<ul>
<li><a href="http://www.geocities.jp/numada777/cg.html">CGにおける楕円曲線の高速発生法公開 </a></li>
<li><a href="http://jglobal.jst.go.jp/public/20090422/200902101605865634">一般楕円生成の高速化について</a></li>
</ul>
Fri, 08 May 2015 21:46:23 +0000
Fri, 08 May 2015 21:46:23 +0000
瀧内元気
2384
farro mantecatoのレシピ
<p>二人前の分量です。</p>
<ul>
<li>スペルト小麦(farro)80g セミペルラート(半精麦)</li>
<li>にんにく一片</li>
<li>鶏もも肉150g (皮、脂肪を除いた重さ)</li>
<li>白ワイン(辛口)100cc</li>
<li>オリーブオイル 25g (エクストラバージン)</li>
<li>ローリエの葉1枚</li>
<li>固形ブイヨン1/2</li>
<li>厚切りベーコン50g</li>
<li>パルミジャーノチーズ 10g</li>
<li>バター 10g</li>
<li>タイム一振り</li>
<li>エシャロット 1本</li>
<li>人参1/3ぐらい</li>
<li>塩コショウ 適量</li>
</ul>
<p><strong>手順</strong></p>
<ol>
<li><p>スペルト小麦を冷たい水に浸して30分放置し、ザルなどで水を切って流水で洗う。鍋に1リットルの水を入れ、スペルト小麦、にんにく、ローリエを入れて沸騰させ、とろ火にして45分ほど煮込む。</p></li>
<li><p>鶏もも肉の皮と脂肪を取り除き、人参とともに1cm角ほどのサイコロ状に切る。エシャロットはみじん切りにする。</p></li>
<li>煮込み終わったスペルト小麦をザルなどで水切りし、ボールに移してオリーブオイルを加えて混ぜ、冷ます。</li>
<li>ベーコンを棒状に切り、フライパンで油が出るまで過熱し、鶏肉、人参、エシャロットを加えて4分間ほど中火で過熱する(人参にしっかり火を通す)</li>
<li>白ワインを加えて沸騰させ、ブイヨン、塩、スペルト小麦を加えて手早くかき混ぜる。</li>
<li>フライパンに蓋をしてとろ火で5〜10分ほど煮詰める。</li>
<li>バター、パルミジャーノチーズを削り入れ、リゾット状になるように混ぜる</li>
<li>タイムを一振り、塩、胡椒で味を整える。</li>
<li>皿に盛りつけて完成</li>
</ol>
Sun, 26 Apr 2015 03:02:24 +0000
Sun, 26 Apr 2015 03:02:24 +0000
瀧内元気
2371
Droonga関連の記事のまとめ
<p>そろそろDroongaをちゃんと使ってみようと思ってますが、
開きっぱなしのブラウザのタブを削減するために書き出しておきます。</p>
<ul>
<li><a href="http://qiita.com/groonga/items/1e9b6033ce710ecb6222">はじめてのdroonga - 全文検索エンジンgroongaで大規模データを扱うには</a></li>
<li><a href="http://droonga.org/news/2014/07/29/release.html">Droonga 1.0.5 has been released!</a></li>
<li><a href="http://droonga.org/news/2014/07/10/grn2drn.html">Grn2drn 1.0.3 has been released.</a></li>
<li><a href="http://www.clear-code.com/blog/2014/3/13.html">Groongaでの可変長データの管理方法</a></li>
</ul>
Wed, 30 Jul 2014 17:39:06 +0000
Tue, 06 Jan 2015 16:31:57 +0000
瀧内元気
2370
RuntimeErrorの特定のメッセージに限定してrescueする方法
<p>ライブラリの内部から素のRuntimeErr<wbr />orが飛んでくると対処に困りますね。
適当な例外クラスを用意してほしいものですが、とりあえず以下のような関数を定義することで、特定のメッセージの場合だけ<code>rescue</code>できます。</p>
<p><div class="blackboard-head"><div></div></div>
<pre class="blackboard"><span class="marker"><span class="line-numbers"> 1 </span> </span><span class="Keyword">def</span> <span class="Entity">RuntimeErr<wbr />or</span>(<span class="Variable">message</span>)
<span class="marker"><span class="line-numbers"> 2 </span> </span> (<span class="Variable"><span class="Variable">$</span>!</span>.<span class="Entity">is_a?</span>(<span class="Variable">RuntimeErr<wbr />or</span>) <span class="Keyword">and</span> <span class="Variable"><span class="Variable">$</span>!</span>.<span class="Entity">message</span> <span class="Keyword">==</span> message) <span class="Keyword">?</span> <span class="Variable">RuntimeErr<wbr />or</span> : <span class="Variable">Class</span>
<span class="marker"><span class="line-numbers"> 3 </span> </span><span class="Keyword">end</span>
<span class="marker"><span class="line-numbers"> 4 </span> </span>
<span class="marker"><span class="line-numbers"> 5 </span> </span><span class="Keyword">begin</span>
<span class="marker"><span class="line-numbers"> 6 </span> </span><span class="Comment"> <span class="Comment">#</span> do something</span>
<span class="marker"><span class="line-numbers"> 7 </span> </span><span class="Keyword">rescue</span> <span class="Variable">RuntimeErr<wbr />or</span>(<span class="String"><span class="String">'</span>connection<wbr /> closed by server<span class="String">'</span></span>) => e
<span class="marker"><span class="line-numbers"> 8 </span> </span><span class="Comment"> <span class="Comment">#</span> ...</span>
<span class="marker"><span class="line-numbers"> 9 </span> </span><span class="Keyword">end</span>
</pre><div class="blackboard-foot"><div></div></div></p>
Tue, 29 Jul 2014 11:01:37 +0000
Tue, 29 Jul 2014 11:01:37 +0000
瀧内元気
2369
jQueryでscriptタグを実行せずにappendする
<p>jQueryで append すると、追加したDOM中の<code>script</code> タグが実行されます。</p>
<p><div class="blackboard-head"><div></div></div>
<pre class="blackboard"><span class="marker"><span class="line-numbers"> 1 </span> </span><span class="Keyword">$</span>(<span class="String"><span class="String">'</span>#target<span class="String">'</span></span>).append(what);
</pre><div class="blackboard-foot"><div></div></div></p>
<p><code>script</code> タグを実行せずに append したい場合、あらかじめ
<code>script</code> タグを取り除いておけば ok</p>
<p><div class="blackboard-head"><div></div></div>
<pre class="blackboard"><span class="marker"><span class="line-numbers"> 1 </span> </span>what.<span class="Support">find</span>(<span class="String"><span class="String">'</span>script<span class="String">'</span></span>).<span class="Support">remove</span>();
<span class="marker"><span class="line-numbers"> 2 </span> </span><span class="Keyword">$</span>(<span class="String"><span class="String">'</span>#target<span class="String">'</span></span>).append(what);
</pre><div class="blackboard-foot"><div></div></div></p>
Sun, 06 Jul 2014 18:07:59 +0000
Sun, 06 Jul 2014 18:07:59 +0000
瀧内元気