「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



http://openblocks.plathome.co.jp/products/special/bx1_sp/

ぷらっとホームのOpenBlocks IoT BX1。中身は
Edisonなんだな。

このコネクタって、どんな形状なんだろう?
http://openblocks.plathome.co.jp/products/obs_a/bx1/option.html

とりあえず、USBのメス端子を引っ張り出せる
みたい。

http://www.plathome.co.jp/about/press/1410_05.html

GPIOのPWMとかI2Cとかいろいろ引っ張り出せそうだな。
Edisonが入ってるってところが、OSやその他のソフト
とかの使い勝手なんか考えて、便利かもしれん。
Debian使えるといろいろ使い勝手よさそうだよな。

Edisonは、Intel製のベース基板だけじゃなく、こういう
サードパーティーの基板とか筐体とかいっぱい出てくる
といいなぁ。使い勝手がよさそうなやつ。

ん?3GのFOMA網って…Wi-FiとBLEだけじゃないのか。
へぇ。
SIMがそのまま挿さったりするの?格安SIM入れっぱとか
できたら便利かも。

3G通信時で0.8Wって書いてあるから、微々たる消費電力
さえなんとかなれば、通信関係は場所をあまり気にせずに
設置できるってことか。いいなこれ。







Raspberry Pi2のWindows10がどんなかんじなのか
が気になって、youtubeを眺めてたんだけど、
あんまりわかりやすい動画が見つからず。

一方、Raspberry PiでWindows3.1なんていうのを
発見。

https://www.youtube.com/watch?v=idHQk99E4VA

ん?と思ってよく見てみると、どうやらDOSboxを
動かして、そこに3.1をインストールしてるんだな。
へぇ。そこまでして、Windows3.1使う意味が
わかんないなぁ。DOS関係のソフト使いたいなら、
なんとなくわかるんだけど。





https://twitter.com/warapuri/status/596714323709308928

おぉ。ここには未来がある!

銀座~浜崎橋~芝公園~一ノ橋。映像とマップが
シンクロしたら、これはなかなか面白そう。
スピンしたら、周囲がぐるっと見えたり。いいなぁ。






今日は秋葉原行こうかどうしようかまよってたんだけど、
行かずしまいだった。
なんか、神田祭りで、ものすごく賑やかだったらしい。

https://twitter.com/marei_de_pon/status/596963572560695297

何じゃこりゃ?







最近のマイブームといえば、グミキャンディーとか
砂糖漬けの果物とか。今日は砂糖漬けの生姜を
ちょっと摘んだら、えらくはまってしまって、
これなら自分で作って作り置きしておいたら、
むしゃむしゃ食えるんじゃね?とおもって、
レシピとちょっと検索。

http://cookpad.com/recipe/2030944

煮こぼさないっていう作り方があった。エグ味とか
大丈夫なのかな。







http://gigazine.net/news/20150509-graphene-carbon-nanotube-spider-silk/

カーボンナノチューブを使って、くもの糸がすごく
強化される…面白いな。

ぜひ、はじめちゃんとこでGT-Rシリーズとかにこれ
入れてほしい。

http://www.sanyo-nylon.co.jp/products/applaud/gtr/


それにしても、これって、軌道エレベータの素材に
また一歩近づいたっていえるのかなぁ?





コメント ( 0 )




PC-8001いじってた時代から、何となくココロに
引っかかってモヤモヤしていたガベコレ。

最近の開発言語とかは一旦おいておいて、PC-8001
の時代って、どうだったんだっけ?と思って、ふと
検索。

http://www.yoriki.jp/smalltalk/academy02.html

うん。なんか、そうそう。そういうもやもや感があった
よねぇ…。

って思って、あらためてPC-8001(エミュレータ)で、
ガベコレが起こるときって、どんなだったっけ?と
思って、ガベコレしそうなプログラムを書いてみる。

適当に文字列たくさん扱う処理を書いてみるも、あまり
処理が止まったりする感じが見えなかったので、全体的
に処理を見直す。

配列の大きさとか、変数エリアのサイズとか、更新の
かけ方とかなのかな?と思って、もっと負荷がかかり
そうな処理に変えてみた。

こんな感じ。



要素300個の配列を作ってみて、そこに1~30文字の
長さがランダムな文字列をぶっこんでいって、それを
表示。300個終わったらまた1から、というかんじ。

なにしろ、メモリを使いきらないとガベコレ発生
しないだろうし、発生しても、生き残る文字変数が
いっぱい無いと一瞬で終わっちゃうだろうから、
生き残りやすいしぶとい処理にしてみた。


実行してみるとこんな。



変数エリアには10000バイト(10k)を確保して、そこに
平均では、15文字×300=4500バイト+αの文字列データ
が格納されるという感じ。
(最低でも4500バイトくらいは生き残るという計算)

実際は、途中に出てくる「c$」っていう変数が、
じゃんじゃん更新かかって無駄食いするので、
300のループが回る前にじゃんじゃんガベコレ発生する
という感じになる。

具体的には、10~数10行毎に1回、5秒くらいの停止時間
が発生するみたい。c$に1文字ずつ足す度に、別の
メモリが割り当てられてるんだろうな。
もちろんガベコレの間はSTOPキーも効かない。



うーーーーーん。なんか、もうちょっといっぱい時間
掛かったような記憶があるんだけど、違うんだっけ?
こんなだったっけ?


ちなみに、この位のメモリを相手にしたガベコレだと、
ロジックもきっと単純で、想像だけど、マークアンド
スイープだけなんじゃないかな。

まぁ、やっぱガベコレ発生すると、処理が止まって
しまってワンワンワワンだよな。現代のプログラム言語
でも、ガベコレのチューニングまわりは色々難しい
んだろうなぁ。今まであんまり考えたこと無かったけど。




で、あらためて最近のガベコレについて調べ直してみる。

http://gihyo.jp/dev/serial/01/jvm-arc/0005

http://www.atmarkit.co.jp/ait/articles/0404/02/news079.html

http://itpro.nikkeibp.co.jp/article/COLUMN/20060612/240657/


この辺を眺めると、やっぱこの間見てたような、

・マークアンドスイープ
・(場合によってはコンパクションを組み合わせ)
・コピーGC
・世代別GC

っていう組み合わせになるんだろうなというのが
何となく分かった。これ以外になにか考えろ、と
いわれても、オイラの頭ではなかなか考えつかない
なぁ。

それにしても、JAVAって、やっぱメモリ管理まわり
が一つの売りでもあって、GCによるパフォーマンス
チューニング用に、ユティリティーやライブラリが
色々備わってるんだな。その辺はさすがだな。


オイラはJAVA嫌いなんだけど、よくできてるところは
やっぱホントによくできてるなと思うし、この部分が
あれやこれや別の言語でも使えるといいよなとか
思ったり。



でもやっぱ、コロコロ変わる仕様と、バギーだったり
セキュリティーホールバリバリな感じがねぇ…
あと、数値型変数の種類がねぇ。

なんで正値型(いわゆるunsigend)が使えないん
だろう…16進データで大小関係調べるのとか、
けっこう困るんだよな。




LLVMつかう言語がいっぱい増えるといいよな。
選択肢は大事だ。

JVMとか.NETとか、どうしても好きになれないん
だよな。
まぁどっちかっていうと、二者なら.NETの方が
好きな感じだけど、以前VBで.NET任せのメモリ
管理させたプログラムがウンコなパフォーマンス
になっちゃった経験から、やっぱ嫌だ。

まぁ、これはVM次第っていうよりは言語仕様次第
なんだろうけど、せめて、C言語系の場合くらい、
ヒープ確保みたいな明示的なメモリ制御が出来る
ようになってるといいんだけどな。



あと、P言語系で、インタプリタじゃなく、VM上で
動くようにする試みがあるけど、ああいう取り組み、
じゃんじゃん進むといいなぁ。




それにしても、
http://mag.autumn.org/Content.modf?id=20031205150709
ここで取り上げられている怪文書。
ネタだろうとは思うけど、
「時が未来に進むと誰が決めたのだ。」
とか、おもしろすぎ。



コメント ( 0 )