Second Lifeで気に入ったアイテムの記録です あ、ウソです。スクリプトとか他のことも書いてます

2008/12/21

昨日のコードのこと

昨日のコードですけど、dataserverまわりって
これでいいですよね。

一度書いて、うまくいったコードって
なかなか振り返ることもなかったので
全く気づいてなかったです。
いま、割とメモリを気にする処理を書いてて
いろいろ見直してて気づきました。


dataserver(key query_id, string data){
if (query_id == key_ReadQ){
if (data == EOF)
state idle;

f_Analysis_note(data);
}else if (query_id == key_GetLineNumQ){
gl_i_loop_max = (integer)data;
if (gl_i_loop_max<=0){
llOwnerSay(gl_s_notecard+" is line Zero");
state idle;
}
}
key_ReadQ = llGetNotecardLine(gl_s_notecard, gl_i_loop_cnt);
++gl_i_loop_cnt;
llSetText("Read Note["+gl_s_notecard+"]"
+"\n("+(string)(gl_i_loop_cnt)+"/"+(string)(gl_i_loop_max)+")"
,GL_V_TEXT,1.0);
}


この2行は
key_ReadQ = llGetNotecardLine(gl_s_notecard, gl_i_loop_cnt);
++gl_i_loop_cnt;

当然、こう書いてもいいです。
key_ReadQ = llGetNotecardLine(gl_s_notecard, gl_i_loop_cnt++);

また、これは
gl_i_loop_max = (integer)data;
if (gl_i_loop_max<=0){

これでもいいですね
if ((gl_i_loop_max = (integer)data)<=0){

2008/12/20

久しぶりにNSFWではないのです

どれみちゃんのDVDをぶっ続けで見ています。
ああ、ついに4箱目の最後の最後にきました。
これが終わったら、ナイショシリーズに入ります。

ということで、よくあるやつなんですけど
人が触ったらなんか言うやつです。
ちょっといろいろ事情があって、珍しくソースを貼ったりしてます。
※触るはtouchにあらず

何かオブジェクトを出して、こんな内容のノートと、その下のスクリプトをいれるとできます。
※ノートの名前は"!!Message"ね
#   同じ人にはメッセージを出さないオブジェクト
# ※一定時間経過すると同じ人でもメッセージを出す
#
# 人が触れた回数をDescriptionにセットする
# ※メッセージを出すロジックと同じ
#
# ※一定時間内にメモリがあふれるほど
# 違う人が触ると死にます
#

#表示するメッセージ
# 複数あると改行をつけてつながる
# ※指定しない場合は、メッセージを出さない
MESSAGE:Cheerful
MESSAGE:さいなら

#同じ人が触れた場合、一定時間の間はメッセージを出さない
# ※秒
LEAD_SEC:10

#SETTEXTでのデバッグ表示
# 表示するならON
DEBUG:ON

#最後に人が触れてから、一定時間後に
# メモリクリア処理を行う
# ※秒
SLEEP:30

#オブジェクトがファントムにするか
# ファントムならON
PHANTOM:ON

これ<>は、全角にしてあります。
key GL_K_NULL = NULL_KEY;
vector GL_V_TEXT = <0.0,1.0,1.0>;

string gl_s_message = "";
integer gl_i_lead_sec = 10;
integer gl_i_debug = FALSE;
float gl_f_sleep = 3.0;
integer gl_i_phantom = FALSE;

list gl_l_av_key = [];
list gl_l_time = [];
list gl_l_av_nm = [];

//========== note ==========
string gl_s_note = "!!Message";
key key_GetLineNumQ=NULL_KEY;
key key_ReadQ=NULL_KEY;
integer gl_i_loop_cnt = 0;
integer gl_i_loop_max = 0;
string gl_s_comment_mark = "#";
string gl_s_separate_mark = ":";

// 設定noteの解析
f_Analysis_note(string arg_s_buff)
{
integer idx;
arg_s_buff = llStringTrim(arg_s_buff,STRING_TRIM);
integer i_len = llStringLength(arg_s_buff);
if(i_len==0)
return; // empty
if(llSubStringIndex(arg_s_buff,gl_s_comment_mark)==0)
return; // comment line
idx = llSubStringIndex(arg_s_buff,gl_s_separate_mark);
if(idx<=0) // no delimiter or no key
return;
if(idx+1==i_len)
return; // no data

string s_key = llToUpper(llStringTrim(llGetSubString(arg_s_buff,0,idx-1),STRING_TRIM_TAIL));
string s_data = llStringTrim(llGetSubString(arg_s_buff,idx+1,-1),STRING_TRIM_HEAD);
if(s_data=="")
return;

if(s_key=="MESSAGE"){
if(gl_s_message!="")
gl_s_message += "\n";
gl_s_message += s_data;
}else if(s_key=="LEAD_SEC"){
gl_i_lead_sec = (integer)s_data;
}else if(s_key=="DEBUG"){
if(s_data=="ON")
gl_i_debug = TRUE;
else
gl_i_debug = FALSE;
}else if(s_key=="PHANTOM"){
if(s_data=="ON")
gl_i_phantom = TRUE;
else
gl_i_phantom = FALSE;
}else if(s_key=="SLEEP"){
gl_f_sleep = (float)s_data;
}
}

f_im(key arg_k_av)
{
integer i_idx = llListFindList(gl_l_av_key,[arg_k_av]);
integer b_say = FALSE;
integer i_now_sec = llGetUnixTime();
if(i_idx<0){
// リストにない場合は、追加してSay
gl_l_av_key += [arg_k_av];
gl_l_time += [i_now_sec];
gl_l_av_nm += [llKey2Name(arg_k_av)];
b_say = TRUE;
}else{
integer i_sec = llList2Integer(gl_l_time,i_idx);
// リストにある場合は、時間を更新して後ろに回す
gl_l_av_key = llDeleteSubList(gl_l_av_key,i_idx,i_idx) + [llList2Key(gl_l_av_key,i_idx)];
gl_l_time = llDeleteSubList(gl_l_time,i_idx,i_idx) + [i_now_sec];
gl_l_av_nm = llDeleteSubList(gl_l_av_nm,i_idx,i_idx) + [llList2String(gl_l_av_nm,i_idx)];
if((i_sec+gl_i_lead_sec)<i_now_sec){
// 最後に踏んだ時間から一定時間経過していたらSay
b_say = TRUE;
}
}
if(b_say == TRUE){
if(gl_s_message!="")
llInstantMessage(arg_k_av,gl_s_message);
llSetObjectDesc((string)(1+(integer)llGetObjectDesc()));
}
}

integer f_release()
{
integer i_cnt = llGetListLength(gl_l_av_key);
integer i_max = i_cnt;
integer i_from_idx = 0;
integer i_to_idx = -1;
integer i=0;
integer i_now_sec = llGetUnixTime()-gl_i_lead_sec;
for (i=0;i<i_max;++i){
if(llList2Integer(gl_l_time,i)<i_now_sec){
i_to_idx = i;
--i_cnt;
}else{
jump loop_end;
}
}
@ loop_end;
if(i_to_idx>=0){
gl_l_av_key = llDeleteSubList(gl_l_av_key,i_from_idx,i_to_idx);
gl_l_time = llDeleteSubList(gl_l_time,i_from_idx,i_to_idx);
gl_l_av_nm = llDeleteSubList(gl_l_av_nm,i_from_idx,i_to_idx);
}
return i_cnt;
}

f_debug_disp(float arg_f_sleep)
{
if(gl_i_debug==FALSE){
llSetText("",GL_V_TEXT,1.0);
return;
}
integer i = llGetListLength(gl_l_av_key);
string s_msg = "";
for (--i;i>=0;--i){
s_msg += (string)llList2String(gl_l_av_nm,i)+"("+(string)llList2Integer(gl_l_time,i)+")\n";
}
s_msg += "sleep("+f2s(arg_f_sleep)+")\n";
s_msg += "lead("+(string)gl_i_lead_sec+")";

llSetText(s_msg,GL_V_TEXT,1.0);
}

string f2s(float f)
{
string s_tmp = (string)f;
integer idx = llSubStringIndex(s_tmp,".");
if(idx<0)
return s_tmp;
string s_chr="";
integer i = llStringLength(s_tmp) -1;
for (;i>idx;i--){
s_chr = llGetSubString(s_tmp,i,i);
if(s_chr!="0"){
if(s_chr==".")
return llGetSubString(s_tmp,0,i-1);
else
return llGetSubString(s_tmp,0,i);
}
}
return llGetSubString(s_tmp,0,idx-1);
}

default
{
state_entry()
{
state readnote;
}
collision_start(integer total_number){}
}

state idle
{
state_entry()
{
llVolumeDetect(gl_i_phantom);
llSetStatus(STATUS_PHANTOM,gl_i_phantom);
}
state_exit()
{
llSetTimerEvent(0.0);
}
collision_start(integer total_number)
{
llSetTimerEvent(0.0);
f_debug_disp(0.0);
integer i=0;
for(i=0;i<total_number;++i)
f_im(llDetectedKey(i));
llSetTimerEvent(gl_f_sleep);
f_debug_disp(gl_f_sleep);
}
timer()
{
float f_sleep = 0.0;
llSetTimerEvent(f_sleep);
if(f_release()>0){
f_sleep = gl_f_sleep;
llSetTimerEvent(f_sleep);
}
f_debug_disp(f_sleep);
}
changed(integer i_change)
{
if(i_change&CHANGED_INVENTORY)
state readnote;
}
}

// 設定noteの読み込み
state readnote
{
state_entry()
{
if(llGetInventoryType(gl_s_note)!=INVENTORY_NOTECARD)
state idle;

gl_s_message = "";
gl_i_lead_sec = 10;
gl_i_debug = FALSE;
gl_f_sleep = 3.0;
gl_i_phantom = FALSE;

key_GetLineNumQ = llGetNumberOfNotecardLines(gl_s_note);
gl_i_loop_cnt = 0;
llSetText("Analyze Note["+gl_s_note+"]",GL_V_TEXT,1.0);
}
state_exit()
{
llSetText("",GL_V_TEXT,1.0);
}
dataserver(key query_id, string data){
if (query_id == key_ReadQ){
if (data == EOF)
state idle;

f_Analysis_note(data);

key_ReadQ = llGetNotecardLine(gl_s_note, gl_i_loop_cnt);
++gl_i_loop_cnt;
llSetText("Read Note["+gl_s_note+"]"
+"\n("+(string)(gl_i_loop_cnt)+"/"+(string)(gl_i_loop_max)+")"
,GL_V_TEXT,1.0);
}else if (query_id == key_GetLineNumQ){
gl_i_loop_max = (integer)data;
if (gl_i_loop_max<=0){
llOwnerSay(gl_s_note+" is line Zero");
state idle;
}

key_ReadQ = llGetNotecardLine(gl_s_note, gl_i_loop_cnt);
++gl_i_loop_cnt;
llSetText("Read Note["+gl_s_note+"]"
+"\n("+(string)(gl_i_loop_cnt)+"/"+(string)(gl_i_loop_max)+")"
,GL_V_TEXT,1.0);
}
}
collision_start(integer total_number){}
}

他の人のがどうやってるのか知りませんが
結局は、触れたkeyをとっておいて、それがリストにあるかどうか(前に触れたか)
チェックしてるだけです。
何かがふれるたびに動くので、どこまで処理を軽く仕上げられるかがポイントなんでしょう。
なんだか、こんなの...って感じがしますね。
これなら、普通に毎回IMしてる方がマシな気がします。
IMされてる方はたまったもんじゃないのですが。

ああ、よく考えたら、NOTEに書かれたON/OFFをTRUE/FALSEに変換するのは
関数化した方がいいですね。
これだと二個ですけど、もっと増えるとえらいことです。
integer f_cnv_ONOFF(arg_s_str)
{
if(arg_s_str=="ON")
return TRUE;
return FALSE;
}

デバッグモードのためだけに、名前をリストで残してるのもウザイところですが。
まあ、そのへんはハハハという感じで。

一応、新店舗にも0L$で置いてます(気分次第で撤去ですが)。
タコが守ってますので、要注意。

2008/11/23

スクリプトの販売とか

なーんかマウスがぶっとんだり、
うまく動かなかったりしてキー!とか。
いろいろ検討した結果、
TrackMan(Wheel)にしました。
最初は、G5 Laser Mouseとかも
考えたのですが、ちょっと気分を変えて
トラックボールにしました。

サイトで見てると、
なんか色悪いなーと思ってましたが
実際には、いい感じの色です。

BoingoのUnisex Leather Apron Set
マウスからの移行は
思ったよりも苦ではないんですが
やはり慣れは必要です。
これおもしろいことに、仕事場ではマウス
家ではトラックボールと、
普通に使い分けられます。

ということで、
本気で仕事場で見れないblogを目指し始めました!
というわけではありません。
これ、後ろから見ると丸出しなんですけどね。

Angels Dessous(blog)のAngel Big Pack One all 3 Colors
さて、今回はスクリプトの話です。

以前からウダウダ考えてたんですが
私のつくるものは、ツール系とか組み込んで
使うものが多いです。
そういうのは、私の手から離れて
その後、別の人が組み込んで
さらに他の人のところに行くんですよね。
つまりtrans okでないとダメなわけです。

実は、これがやっかいなんですよね。

The Contest Black Star
依頼を受けて作る場合は、
その人に、ほらよっと渡してしまえばいいのです。

ところが汎用に組んで、売る場合
これが難しい。

trans okなので、
どんどん拡散...ということもありえます。
組み込みツールなわけですから、
no copyにして、製品ひとつにつき
ひとつずつ買ってくれ!ってことも言えません。

Umi Usagi(blog)のlapin de ville rouge
次に考えられるのは、
スクリプトに仕掛けをしておくということです。
たとえば、利用者のKEY(UUID)をスクリプトに
書き込んで、「その人のPrimでのみ実行できる」
というような仕組も考えられます。

これは、販売のたびに、
KEYを書き入れる必要があるので
販売が異様にめんどくさくなります。



CARNALのLAURE Sheer Basque
また、その人のprimがフリーアイテムなどで
出回っている場合、全く抑止力になりません。
ということで、このやり方はボツです。
(もちろん、他のネタには使えそうですが)

さて、話は少し変わるのですが
組み込み用のアニメなどを売っているところは
どのようにしているのでしょうか。
私が見たことがあるのは、
少し高めにして、拡散については
仕組としては手を打っていないようです。

Earth & Sky(blog)のBali bikini snake
あとは、フリーにして置いておいて
tipjarを置いておくって手もあります。
機能制限なしのシェアウェアみたいな感じですね。
スクリプトが自分のパーミッションを操作できると
もっといろいろできるんですけどね。

このtipjarというのは、実はいいかもです。
価値を認めてくれた人は、払ってくれそうですし。
あとは、スクリプトそのものには値段をつけず
サポートに値段をつけるというのもいいかもしれません。


Paris Nights
さて、今回のことをなんとかできないか
仕組を考えるのが楽しくなってきました。
目的のために手段を考えるのではなく
手段を考えるために、目的を設定してしまってます。

やり方としては、スクリプトそのものは
trans okにしておいて、その起動のための
仕組をno transにするということが思いつきます。
多分、これしかないと思います。
(他にもないかは模索したいところです)


Hi Standard(blog)のLa Sylphide
ottico(blog)のnumero74
いくつか考えてみると、これも意外と難しいのです。

A)起動用オブジェクトからsayで起動コード送信
 →傍受されると終わり
B)同じオブジェクトにいれてMsgLnkで起動コードを送信
 →MsgLnkも同じオブジェクトにいれると傍受できる
C)同じオブジェクトにいれて、llSetScriptStateで起動
 →ナニからでも起動できる

で、最終的にllRemoteLoadScriptPinを使うことにしました。
これは、他から傍受されない引数を渡せるのが大きなポイントです


ということで、整理したものを載せます。
(※昨日のOHで話した内容も反映しています)

サイズがバラバラなのは気にせず
興味のある人は見てみてください。
「あー、これまずいんじゃないのー?」とか
「もっといい方法あるよ!」というのは
ぜひ、コメントでお寄せください。
















































※ここにでてくる擬似乱数生成器(Xorshift法)[参考]は
 LSL-CON2008で、ぺんぎんの人が展示されていたものです。
 この仕組使うメリットとしては、
 ・簡単に実装できる
 ・同じ種から同じ値を生成できる
 などがあります。

2008/11/12

とりあえず、メモ








ということでカレー食べよう

2008/11/03

長かったイベントも終わり...

INSOLENCE(blog)のBarbara

イベントも昨日で終わりました。
期間中はBack YardもPublicにしていたので
オチオチ撮影もしてられません!
ということで、昨夜は終わった瞬間から
いろいろ撮影していました。
そんな理由で、通常よりも
NSFWなのは仕方ありません!



今回も運営スタッフとしての参加をして
意見交換会の司会をしました。
二回目の方では、人数も少なかったのと
最終日だったのもあって(ちょっとズルをして)
勝手にLSL-CONをふりかえる会にしました。

ということで、今回は個人的感想を。
細かいところにいくつか課題はありますが
トータルで見て成功だったと思います。



RIDDLEのHawaiian print bikiniと
Skully Argyle


去年と違う企画では、今回は
講座とクエストが大きなものです。
講座は「SL内でスクリプト講座やってます」の
DKさんたちに依頼して、
初心者用講座をしていただきました。
ボイチャ中心で、よく考えられた教材で
進められる講座は、初めてLSLにふれる人も
入りやすかったんじゃないでしょうか。

スクリプトはビルドと違って
書いている最中は孤独な感じがします。
独習していても、つまってしまって
先に進めないことも多いかもしれません。
それでも、同じようにがんばっている人がいること
迷いながらも作り上げる楽しさを感じることができると
これからの支えになります。

この講座をスタートにして、
よりSLが楽しめるようになる人も多いのでは
ないかと思います。

クエストは、意見交換会の中でもでましたが
本当にいつも人がいる感じの人気の企画でした。
スクリプトを書くときは、いつも時間制限なんかないので
ものすごく緊張感があります。
また、先生の言うことを理解して、コード化するというのも
単にコードを書くのと違う難しさです。
全てをクリアした人も、このクエストのチェック機構を
推理してみる楽しさや
できるだけ裏をかいてクリアする楽しさ(抜忍と呼ぶ)があり
二度三度と楽しめます。


BoingoのFormal Link DressとLink Dress 2

イベントのメイン会場だったNew Scriptは、
スクリプトで楽しいことをしていくベースがほしいということで
何人かの有志で用意したSIMです。
展示は常設ではないので、撤収となりますが
クエストは、今後も継続して楽しめます。
興味のある人はどうぞ。
(不具合報告や抜け忍報告もよろしく!)

さて、恒例の展示ですが、今回も充実した展示になりました。
その上、少し変化もあります。

・すでに商品にしているものも展示可能
・自分の土地を別会場にすることができる
・アイテムデモというデモンストレーションの場
・コードリーディングという意見交換の場

アイテムデモは、準備段階では、
人が集まるかという懸念がありました。
実際には、毎回たくさんの人が集まり、
工夫した発表で楽しい時間をすごせました。
単に展示を見るだけでなく、その裏話も伝わります。
(プロジェクトXみたいですね)

ELIXIRのRubber Window Suit-W-Zebra

コードリーディングも、コードを提供してくれる人が
何人いるのかーと心配していましたが
たくさんの人が協力してくれました。
コード書きにとっては、
これは本当に心理的抵抗が高いことだと思います。
これ、ぶっつけではなく、事前に担当者との
綿密な準備があったようです。
大変だったろうなー


今回、Babbage Linden講演会も開催できました。
企画段階では、ダメモトでーみたいな感じでしたので
まさかできるとは...という感じです。
なんなんだこの充実っぷりは...

広報活動も継続したものになりました。
こういうのって地味に大変なんですよね。
参加者と運営の橋渡しとして、とても重要な位置でした。

ということで、今回のLSL-CON Japan 2008も終了です。
(よかったら、写真とかも見てみてくださいね)

2008/10/05

精神的リニューアル第一弾

リニューアルというか、マイナーチェンジというか
非常に怪しいところで。しかも、精神的に変わってるだけ。

今日は、HUDもある程度落ち着いたので
ふらふらと買い物に出たわけで。

このお店の名前は、CP Designsでいいんだろうか
pinks Sugarさんという方がつくられています。
IMpulse Ragged she urt Tan
IMpulse Tattered Rielle Grayの2つです。


ということで、住んでいながら
撮影に使ったことのなかったAirShipで撮影。
もちろん他意はありまくりですが。

やっぱいいとこなんですよね、ここ。

で、服のほうなんですが、スキなタイプです。
看板見て、すぱっと買って、
着てみて、思ってたよりよかった感じです。
ブーツは例のやつです。
もう一年前になるのかー。

こっちは、いい感じにやぶれてます。
このTattered Rielleの方見て、買おう!って決めました。
あー、ちらっとやぶれて、ちらっと見えてるやー
イイネって感じです。

さて、昨日から始まってる電王ですが
どうしようか考え込んでます。
いつも行ってる大津シネマでは
「10/25より上映」と書いてあるわけで。
なんだそれ!って感じです。


住んでるのも京都市内なんですが
市内の映画館は、駐車場とか
混みっぷりとか、
イライラするんだよってな理由でパスです。

明日休みなんで、久御山にでも見に行こうかなぁ
見るなら10時のやつだな。

techcrunchの記事をRSSリーダーで見てるんですが
油断してると、reblogみたいに記事が増えていくので困ります


まあ、私が困ろうとどうしようとどうでもいいんですが。
日本製スチームパンク腕時計はスゴい
むむう、末吉晴男時計工房の旧サクいいっすよ、旧サク
なんかアゴの長い人みたいな名前ですけど
別の意味だそうです。普通に連想する方ですね。
なんかこういうのに気が向いてるうちは
心にゆとりがあるんじゃのうと、ちょっと楽になります。

って、ほしい気持ちが満ち満ちてきて
楽じゃねーよ!

2008/10/04

というわけで

そろそろ終了の雰囲気が漂うこのblogですが
やっぱりイベント時期になるととまります(毎回書いてますが)。

このblogを始めた頃は、日本語で服がどうとか書いてる人が
少なかったので、なんとなくやってみるかーって感じでした。
今は、キレイな写真、丁寧な説明や評価のblogもたくさんあって
うわー、すげぇってな感じです。
ファッションセンスというものはないので
キレイな服を買ってきて、鼻息荒くコーフンしてるblogを
続けていたわけですが、そろそろ飽きてきたというか
モチベーション下がってますよという感じです。

まあ、終了といっても、終了して、いったい何わかると言うのか
という感じで、今まで何かやっていたというほどのことでもないので
ぐだぐだと何か書くのは続けていくとは思います。
ヘンなDVD買ったよとか
エロいデキゴトあったよとか
もちろん、エロいステキな服とかモノがあれば、そのことも書きます。
ただ、服目当てで見てたんだよ!という人がいてくれたなら
今後は、そういう人が絶望のどん底というか
ガックリの嵐が吹き荒れるというか
ますますナンセンスな状態になっていきます。

という告知でした。

今日、注文していたDVDが届きました。
こんなやつです。

LSL-CON2008

やあ、完全に一ヶ月あきました。
いろいろと服買ったりふらふらしたりしてたんですが
どうも撮影するまとまった時間をとる気がなくて
スクリプト書いてました。

ということで、今月スタートのイベント
LSL Convention 2008 は、かなり準備がすすんでます。
(※この時期にきて、すすんでないとマズいんですが)

LSLCON2008-poster

今回は、会場案内系のHUD作ってます。
デザインしなくていいって気が楽だー。
展示もいろんなものが集まっていますのでご期待ください。

このイベント、去年のもそうだったんですが
これまで知らなかった人と出会うチャンスでもあります。
去年と違い、いろんなイベントがありますので
チャンスも倍増ですね。

期間が結構長いんで、ぼやーっと行ってるうちに
気になるものが見えてくるかもしれません。
でも、こういうの話したいなぁとか見たいなぁとか
ねらいをつけていくのも、より一層楽しめます。

週末は、人で混みそうなので
曜日や時間をずらすというのも手ですね。
去年は、私は早朝をねらってました。

LSLCON-LOGO-square-gray-240

今回、わりと早い目から準備に関わっていたのですが
やっぱりいろんな人が集まるとすごいなと思います。
人の数だけ視点があって、その表現の仕方もいろいろです。
ちゃくちゃくと提案を作る人もいるし、
話し合いの中で、おお!と思うようなことをいう人もいます。
地道な作業を継続してやっていくというなかなかしんどいことを
ずっとやる人もいます。
広報のblogもずっと続いています。
やっぱり何かをつくるのは楽しいですね。

楽しいですねとかかいてますが
自分の展示ネタが全然すすんでないので
ちょっとあせります。
今回、特に新しい視点も入ってないしなぁ...
この休みと来週の休みで、仕上げないと。

2008/08/30

補足

#このあたりの動作の保証になるような資料が
#なかなか見つからずにいつも悩みます。
#何パターンかの実験を何度か繰り返したり
#友達の経験を聞いたりして、
#「こういうことにしておこう」とケリをつけるんですが
#「偶然そういう結果になっただけでは?」という思いが消えず
#モヤモヤしたままとか...


の件について、もうちょっと補足。

自然に対しては、実験を繰り返し、仮説を積み重ねることで
真実(本当のこと)の追究をするわけです。
これは正しいアプローチだよなぁと。
ただ、これでも「こういうことにしておく」となるだけで
後に新事実とかぽろっと発見したりして、全部ひっくり返ることもよくあります。
これは、一万回と二千回実行した結果でも、同じです(もちろん、信憑性は高くなります)

ただし、今回のような人工物の場合は、
なんらかの取り決め(仕様)があるのですから
その仕様を知っていれば、実験する必要はありません。
(※正しく実装されているか、検証するのは別として)
LSLの言語仕様書がほしいなぁ。
 余談ですが、言語仕様書(参考)は、それだけで読み物としても楽しめると思っています。
 「そういう実装」になっているのが、どんな思想なのかとか考えても楽しいですしね。
 リファレンスを見るだけではわからなかったことも、深く理解できたり。

※仕事で使うプログラミング言語は、マイナーなものが多くて
 マニュアルは「なくなった」、文献がほとんどないなんてケースもよくあります。
 その場合は、実験と多言語から仕様を類推するしかありません。

ちょっと休憩

(やったことないけど癒される曲です)

さて、LSL-BBSなどで私が質問に対する投稿をする場合
その根拠は、以下のどれかです。
1.LSL-Portal
 断定口調であったり、なんとなく偉そうなムード漂い
 天狗ちっくな書き込みになります。
2.実験した結果
 ちょっと頼りなくなっています。
 実験方法を示して穴がないか、
 指摘してもらおうという気持ちが滲み出ていることも多いですね。
3.想像/推理/経験
 「~と思います」「~なはず」「~じゃないですかね」などと
 気持ちで答えていることが多いです。
 「ソースは?」といわれると、「...」となるしかありません。

わりときちんとチェックしているLSL-BBSでは
フォローもできるので、2や3もありなのですが、
たまにしかみない「教えて」の場合、ほとんど1でしか書き込みをしません。

閑話休題

さて、秋のイベントでは、こんな話もできればなぁと思ってます。
実験とかでも、トンデモ実験で、すごい結果を出してることも多いので
スクリプト書きのコミュニティがあると、指摘してくれる友達ができます。
ある種、ハッカーに頼んで自分のシステムの穴を見つけてもらうようなノリに近いです。

ということで...
参加しよう!LSL-CON!!

...書き出しの主旨と、オチがズレまくるのはいつものことです...

2008/08/29

とにかく金がないTV

お盆休みも終わって、だーらだら仕事してます。

さて、こないだこれをヨドバシで買った。

のが、今日(28日)届いた。

ので、見ていた。

と、淡々と書いてますが、これがキョーレツにおもしろかったのです。
テレ東の番組で、YOUに作った映像を見せるというものらしいです。
(※詳細はコチラで)

ああ、もうこのおもしろさをなんて伝えていいのやら。

とりあえず、この2つを見てもらえれば、その片鱗がうかがえるかと。


2008/08/19

ホーガンとか

常にかばんに文庫を二冊入れて仕事に行ってます。
一冊は新しい本で、一冊は古い本。
この「新しい本」というのが、なかなかなくて
6・7月は、気がつけば、文庫だけで31冊買っていたという...
これはダメだ...

さっき、例のとんかつ本が届きました。
明日は、これ持って行こう。
さっき、ぱらぱら見てたんですが
ふと、懐古的洋食事情を思い出しました。
かなり昔になぜか二巻から読み始めたのですが
もう完全にはまりました。
今は、時代別に再編された「新編」がでてるそうなので
今から読む人は、そっちがいいのかもですね。

で、もう一冊の「古い方」ですが。
2年くらい寝かせて、内容を忘れつつある本がいいのです。
そう、いいのですが、そうはいかないのです。
ヘビーローテーションになってしまう本があります。

それが私の場合は、ホーガンの本なのです。
(あれ?ホーガンについては、前も書いたか?)
一部、ちょっと違うのですがハードSFな人です。
この人の本を読んでいると、
科学サイコー、未来サイコーと
どんどん明るい気持ちになっていきます。
(「星を継ぐもの」は、しょっぱなで萎えて
 2年後のチャレンジでハマりました)


もちろん、巨人シリーズは大好きなのですが
今日読んでいた「創世記機械」もかなりスキです。
同じようなコードばかり書いていたり
なんだかなーって思うことがあっても
元気になれます。
単純に科学面で楽しいっていうのもあるんですが
実は、10章が読みたくて読んでるという話もあります。
この科学者と役人のやりとりが、なんとも言えず。

「未来からのホットライン」を読みたいんですが
ツレに貸したまま戻ってこないのです。
ということで「未来の二つの顔」を読むことにします。

倉知淳も、西澤保彦も新刊でないなぁ...

スパイスとか

コンティニュアムを先に買っておくかどうするか悩んでますが。

買ってしまうと100%先に見てしまうので...
SG-1とアトランティスの本編が、いつまでも出ないと買ってしまうな、これは。
コレは、雑誌だけほしいな...

さて、わりと気に入って買っているのが
友達に教えてもらった「ゆず唐辛子」です。
あ、別に激辛!とかではないです、念のため。
パスタにぶっかけて食べているので
ものすごいイキオイで減っていきます。
ゆずなだけに柑橘系な味わいがすごくいいです。
残念ながら、パスタ以外に使ったことがないんですが
お吸い物とかにもよさそうです。
(ミソは苦手なので、お吸い物派です)

あと、お土産でもらった「島唐辛子」とかも
気に入ってます。
これも、パスタに...
考えるとパスタばっかりなんですが...
これ、泡盛につけてあって、
茹で上がったパスタにさらっとかけると
味わいが増します。
今、初めて楽天みたんですが
この激辛3兄弟ほしいなー

わりとスパイスってお手軽に楽しめるので
教えてもらったものは、すぐに試したりします。
ということで、これはオススメ!というのがあれば
御一報を!
お礼は精神的に...

こないだテレビでやってたコレ
週末に届きます。
って、今見てみたらフレーク全滅してますね...
昔は、テレビでやってて「おいしそー」と思っても
のせられはせんぞ!」と無視してましたが
誘惑にコロリとやられる人になってしまいました。
ザクザクザクザクとネギ切って
大量にぶっかけて食べる予定。

2008/08/18

マルチディスプレイにしてみた

去年の7月にPCを買い換えました。
グラボからの出力が2つあるのが気になりながらも
元々あったCRTとつながらないので、放置で1年。

先日、ツレのお供でパソコン工房に行ってみると
なんかそれらしいものが売っていました。
ELECOMAD-D15FTDVMというコネクタで
パッケージを見てみると、絵がどう見ても
求めているものと逆さま
でも、コネクタを見てみるとあってる感じ。
あてにならない記憶にイライラしつつも
980円だったの、しくじっても痛くないってことで。

つないでみると、隣り合わせの端子がギリギリで死にそうでしたが
うまくつながりました。
マルチディスプレイはいいよー、モテるよー、モテちゃうよー、モテモテだよー
とは聞いていたのですが
最初はイライラしまくりで、モテるどころではありませんでした。
あっちのディスプレイに行くにはどうすんだー!
なんかふらっと向こうに行くけどなんでじゃー!
※画面の端でつながってんですが
 モニターの配置が逆さまだったため、
 かなり長いこと気づきませんでした。

やあ、快適ですね
液晶とブラウン管という異様な光景ですが
かなりの快適っぷりです。

ということで、最初にやったのは
Diabloしながらブラウザを見るという...
祭壇の効果が覚えられません!
で、どうもモードが切り替わってしまうようで
この野望は達成されませんでした。

2008/08/17

とんかつの捜索

朝からぼーっと(このフレーズ多いな)わさっていると
ファラオが、おもしろそうなリンクを残してる。
そこから派生してうろうろしてると
なぜか、これを買っていました。


そんなわけでおいしいトンカツを食べたいなーっと。
京都在住なわけで、トンカツで思い出すのは「一兆」というお店です。
これ、ググってみたら、そのものずばりの投稿をされている方がいてびっくりしました。
実は、いまだに探してるんですよ、閉店したこのお店。
ツレの中でも、「あれはうまかった」と評判だったので
単純に閉店なのか、それとも移転なのか気になるところで。

ということで、五条大宮の角にあった「一兆」の話を。

普通に会社勤めを始めた頃、
仕事の後に、家庭教師のバイトをしてました。
その時間までに夕ごはんを食べようと通っていたお店です。

なんというか、よくある古い食堂みたいな印象で
店の真ん中に凸っとしたカウンターがあって
ボックス席が2~3くらいのお店でした。
「やわらかトンカツ」をアピールされてました。
メニューの裏には、豚肉と他の肉との比較(コレステロールだったかなぁ)
書かれていて、その豚の絵が妙に哀愁を感じさせるもので...

1つのメニューにつき量が3種類から選べます。
とりあえず、全種類頼んだことはあるんですが、
一番多いのは、ハンパない量だったのを覚えています。
(どこかの学生さんがたくさんきていて、
 テーブルにそれがみっしり並んでいるのをみたこともあります)


さきほどのリンクのblogでも書かれていましたが
ポンパドール風とか、妙なメニューがたくさんあったのですが
私はかたくなに普通のとんかつをオーダーし続けてました。

時間帯のせいか、普段からそうなのか
私が行くときは、9割くらいの確率で他の客はいなくて
気分に応じて、カウンターとかボックスとかいろんな席に座ってました。

カウンターに座ったときには、
勝手に違うメニューを持ってこられたり
試作メニューを出されたりしていました。
 (客は私ひとりなので、間違える要素なし)
これ、おいしくても名前がわからないので
意識的に注文できないという罠なんですが...

ここのトンカツ、ソースとかなしでも十分おいしかったです。
私は、最初はソースなしで試すクセがあるんですが
それを目ざとく見られて、
「お、そうそう、うちのはソースなしでもいけますよ」とか言われたことがあります。
※実際、とんかつ屋さんの中には、ソースで逃げてるところもあったりして
 余計に、このお店を思い出させるのです。

ただ、いろんなソースも試してほしいらしくて
梅のソースとかも出されたりしてました。
なぜか、私には選択権がないようでしたが。

カウンターには、マスタードの小瓶が置いてあって
当時、「とんかつにからし」の組み合わせを知らなかった私は
それが気になって気になって気になってしょうがありませんでした。
ボックスに座っていても、おっさんが厨房に消えると
こーっそりマスタードを奪取し、痕跡の残らないように
ひときれのトンカツの上に、マスタードをのせて使ってました。

ちょっと変わったおっさんでしたが
味に間違いはなく、ツレたちが100%納得したお店です。

はぁ、おなかすいた...

2008/08/11

LSL Convention 2008の...

今年もLSL Convention 2008をしますよ
サイトもできました。
http://lsl-con.org/2008/
※実行委員の募集もはじまりました

なんだか二回目となると精神的にゆとりがあるなぁとか思ってたんですが
ゆとりがあるのは、二回目だからってわけではなかったりします。
去年は、実行委員会まわしたりとか、いろいろ問い合わせ対応とかで
ばたばたしてて、全体を把握してるのは、数人という恐ろしい状況。
場所を借りたりとかの手配も、追われるようになってました。

今回は、少し前から準備会をつくって
IRCでわらわらと準備を進めてました。
私を含めて2~3人倒れても、全然進むよなぁって感じで安心できます。
このへんが、精神的なゆとりにつながってるわけで。
こういうやり方なら、継続してやっていけるなぁと。

今、準備してるのは、このConventionと
LSLについての情報ハブサイトとスクリプト島(sim)構想です。
Conventionのメイン会場は、スクリプト島になります。
とにかく、ばらけがちな情報をつないでいくサイトと
ぐだぐだと交流できる場としての島ですね。
このへんができていくと、もっと楽しいことがしやすくなるかなーと。

一人だとできないことも、やろう!って人が集まると
積み重なってできてしまうので、すごいことです。

今回のConventionでも、展示コーナーがありますので
いろんなものが見れそうで楽しみです。
(募集は、近いうちに始まります)
私もなんかつくらないとなー。
ふと、思ったんですが、今回の参加者が去年と一緒だとは限らないので
去年の展示をそのまま使いまわ...
いやいや、なんか考えましょう。

2008/08/09

INSOLENCE

さてさて、INSOLENCE(blog)です。
※今回の記事はこちら

Floreです。
最初にテクスが大きく見えるやつをどうぞ。
これは、Creamね
はい、これで今回のお気に入りポイントが
ご理解いただけたと思います。
あとは、カラーとデザインのバリエーションを
つらつらご覧ください


Whiteです。

今回のFloreの印象は「やさしい」でした。

もちろん、色によって印象は
少しずつ変わるんですが、
これは惚れます。





Pink

また、一色でいろんなデザインが
楽しめるのです。じゃーん

これ、ブラの形も違うんですよ。

私は、このトライアングルのタイプが好きです。




Peach

そいでもって、こんなふうなパーツもついてたりして
よく考えてみると、これだけ楽しめて
あの値段ですか...安いな。

newbieの人が「パンツほしいんですけど」
って聞くことはあんまりないと思いますけど
意外とオススメかと思います。
「どういう時に使うんですか」って質問きても困りますが。


Lavander

この色が一番強いのかなぁ
でも、哀愁漂う後ろ姿なので
ちょっとわからないかもです。


ああっ、なんだか久しぶりすぎて
ボケをいれる間がわからない...



Green

ということで、今回は透けもなく
パンツ生活入門の人にもいい感じです。


盆休みも2日目です。
かなりのんびりできて
って、えええ!もう2日目!?
少し、あせりも感じつつ、のんびりさせていただきます。

el trebol

すでに先月の話ですが
IWGPのコンテストの水着の販売が始まっていたようです。

去年の盆休みに自転車でぷらぷらしていて、
偶然通りがかったことを思い出します。

ということで、いろんな水着が置いてありましたが
あー、いいなーと思ったのを買ってみました。
偶然にもel trebolのものでした。
(去年、おしりで騒いでたやつですね)


全体の形と色合いがかわいくて、ほいほいっと買ったのですが
着てみると、さらにかわいいアクセもついてます。

実は、サイズが2種類(wear場所が2種類なのかな)あるんですが
私はどちらも、うまくあわなくて
パーツいじって調整しました。
みんなどうやって調整してんだろ...
苦労しましたが、その価値ありです。

...なんか撮影が久しぶりで感覚が...

2008/08/08

土地とDeedとなんとか

ということで、だーいぶ前から趣味的にyoutubeのplayerとかいじってるわけですが
土地とDeedの関係で、設定がめんどくさかったりします。

で、設定できないならできないで
なんでできないのか言ってくれれば
設定しやすいのかなと。

こんなチェック関数作ってみました。
最初に、必要な情報を全部とってますが
実際には、必要なタイミングでとったほうがいいですね。
とりあえずは、わかりやすさ優先で。

あ、メッセージは日英で書いてますが
英語は適当です。

integer f_chk_parcel()
{
list l_parcel = llGetParcelDetails(llGetPos(),[PARCEL_DETAILS_OWNER,PARCEL_DETAILS_GROUP]);
list l_obj = llGetObjectDetails(llGetKey(),[OBJECT_GROUP]);
key k_parcel_owner = llList2Key(l_parcel,0);
key k_parcel_group = llList2Key(l_parcel,1);
key k_object_group = llList2Key(l_obj,0);
key k_owner = llGetOwner();

// OK
if(k_parcel_owner==k_owner){
// GROUP DEED OK
// OWNER OK
return TRUE;
}
llWhisper(0,"この土地のmedia設定ができません。");

if(k_parcel_group!=NULL_KEY){
// 土地がグループ設定されています
if(k_parcel_group==k_parcel_owner){
// 土地はDeedされています
llWhisper(0,"この土地はグループの土地です");
llWhisper(0,"this parce is group DEED parcel");

if(k_object_group==NULL_KEY){
llWhisper(0,"オブジェクトにはグループ設定を行いDeedしてください");
llWhisper(0,"Please set group at object");
// オブジェクトのグループ設定がされていません
}else{
// オブジェクトのグループ設定がされています
if(k_object_group!=k_parcel_group){
llWhisper(0,"このオブジェクトと土地のグループが違います");
llWhisper(0,"The group of the object is different from parcel");
}else{
if(k_object_group!=k_owner){
// オブジェクトがグループDeedされていません
llWhisper(0,"オブジェクトをグループにDeedしてください");
llWhisper(0,"Please DEED object at group");
}
}
}
}else{
llWhisper(0,"この土地はグループ設定されていますがDeedされていません");
llWhisper(0,"this parce is NOT group DEED parcel");
// 土地はDeedされていません
}
}else{
// 土地がグループ設定されていません
// ここはあなたの土地ではありませんので
// media設定ができません
llWhisper(0,"ここはあなたの土地でも、グループの土地でもありません");
llWhisper(0,
"you are not Parcel Owner\n"
+"\t need parcel set group\n"
+"\t need object set group and deed"
);
}
return FALSE;
}

翻訳機について

ということで、今日から夏休みです。
ああ、すばらしき10連休

今日の昼間、わっさーで話してたんですが
翻訳機の話です。

翻訳機便利ですねーって感じなんですが、
ちょっとその仕組を考えてみましょう。

仕組は、ものすごく大まかに書くとこんな感じです。
-----
・listenで発言を取得
・HttpRequestで翻訳サービスに内容を投げる
・返ってきた翻訳結果をSayする
-----
さて、それぞれの処理の詳細はおいておきますが、
注目すべきなのは、これが発言のたびに発生するということです。

chatでの発言は、ペースも速く
ログを見返してみると、量も多いですよね。
翻訳機をつけっぱなしにして発言すると
それだけ負荷が増すということになります。

負荷軽減をいくつか考えてみましょう。

1.無駄に使わない
 つけっぱなしは避けましょう。
「w」の1文字を翻訳してもしょうがないので
できれば、ON/OFFをこまめにすることも有効だと思います。

2.対象を絞る
 最近の翻訳機には標準装備だと思いますが
誰の発言を翻訳するのかを決めてしまいましょう
listenの条件を指定することで不要な処理が発生しません。

3.使い方を考える
 例えば講演会などをする場合
客一人ずつが翻訳機を使うよりは
話す人が翻訳機を使うほうがいいのではないでしょうか。

※例えば、チャンネル1では、日本語をSayし
 チャンネル2では、ロシア語をSayする
 こんなふうにして、必要なチャンネルを受信するツールを
 客が装備して、そのツールがOwnerSayするようなものがあれば
 少なくともHttpRequestは減ります。

要するに2人の人間が、
お互いの翻訳を独自にする必要はないということです。


できれば、翻訳機を使わずに話すのが一番いいのですが
なかなか難しく、せっかくchatベースの世界なので
便利なものは使っていきたいですよね。
「負荷が高い→使うな!」ではなく
うまく使っていきましょう。

ということで、
「翻訳機の仕組そのものを知らない人がいるんじゃないか」
という声もあったので書いてみましたが、
認識のおかしいところもあるかもですので
詳しい人のつっこみ・フォローをお待ちしております。

2008/07/21

llDetectedGrab

という関数があるのです。
(ポータルではコチラ参照)
なんというか、ドラッグを検知するような関数ですね。
ウソかもしれないので、ちゃんとポータルの方、見てみてください。

Mizさんのところ
「使っている人をあまり見かけないのだが、いろいろと可能性のある関数だと思う。」
と書かれているので、一番安易な使い方をしてみました。
テクスチャを順番に切り替えるスイッチを
プリムの表面をタッチしながら、ずずっと動かすということでやります。

ということで、
わりとうまくいったので、
お店においておきます。

0L$なので、気軽に試してみてください。
(サンプルもおいてます)

この関数の特性をご存知の方は
primをいろんな向きにしてみてくださいね。


このいろんな向きにしても、正しく左右がとれるっていうところが
今回のポイントですので、
やり方をあーだこーだと妄想してみてください。
ものすごく単純な考え方でやってますので。

しかし、これどうなんでしょうね
正直、UIとしては使いにくいと思います。
素直に左右ボタンつくったほうがいいような...
1primが2primとか3primになっても、大差ないですよね。

実際に、これにテクスチャを
100枚つっこんだところを想像してもらうと
全然実用的じゃないのがわかります。
(ナナメ上で10枚飛ばし/ナナメ下で20枚飛ばしとかやっても焼け石に水)

用途としては、今回は撮影の背景とかで考えてますが
思ってもいない使い方とかあるのかもしれません。
「こんな使い方なら、十分ですよ!」とか
いい使い方があれば教えてください。

animation HUDその後

その後、ちらちらと要望がでていたので
バージョンアップしたりしていました。
この手のやつは、中身を入れ替えないとだめなので
バージョンアップは、後ろめたいわけです。

縦一列にしました。
一列にしただけではなく
全体的に、さらにちいさくしましたので、
マウスの移動量も若干マシです。
といいつつ、
ポーズのボタンを25にしたりしているので
結局、移動量も増えました。
ポリシーのない変更はダメだ...

で、縦一列にすると、妙な隙間とかできたので
ライトのコントロールを追加したりしています。
(EDITでライトのON/OFFってめんどうじゃないですか?)

今回、73primになったので、自宅でRezできない人続出な気がします。
※no copyなものでなければ、付属のスクリプトで
 wearしたまま、ポーズを転送できます


ボタン重なってへん?ってことで
これ実際重ねてたんですよね。透過テクスは、タッチできないんじゃあ...
実際押しにくいので、このへんも構造を変えています。

今回、ボタン類をAqua化していますが、
このへんは全てAquaMakerを使っています。
「使っています」というよりも、これ抜きにはAqua化できませんでした。
やっぱりもうちょっと腕をあげねば。

HUD上段のクイックボタンは、しねきゃぷしょんの人のトンパ文字です。
前の時に、一緒に商用利用の許可をもらっていたので
違和感あるかなぁ、どうかなぁと思いつつ
完全に自分の趣味でトンパ化。

完全にヤバイ感じ英語が満載のPopです。

今回の変更は内部にも及びます。
元々がmodしても使えるように作っていたので
汎用性が高くなるように組んでいました。

が、実際にはmodしまくる人もいなくて速度を求められるので、
一覧の更新部分などは、少し早くなるようにしました。

カスタマイズ項目も無駄な方向に増やしていますので
文字色とか勝手に変えてください。

minaさんところで出しもらっているSSですが
ここまで画面を占領していたとは...
 (いやいやいや、もちろん全画面だとは思ってませんが)
人の画面を見れるというのはありがたいことです。

ということで、特に要望や問題が発生しなければ
これはこれで、収束です。

2008/07/16

Lingerie & Beachwear Expo その2

さて、前回の続き

しょっぱなからNANDA KOREHA-!という感じですね
ALB DREAM FASHION

ALB AIRU set string + bra onlyです

ゆらゆらと視線をさまよわせて
これに目がいったときは、かなりびっくりしました。
びっくりしすぎて、思わず買ってしまったという...


と、まあ、それはそれとして(失礼な話ですが)
ALB BOLLY BRA + string only by AnaLee Balutです

うちをよく見てくれている人は
あー、スキそうスキそう
ってまるわかりな感じです。

はい、もちろん、スキです。
ちょっと重たそうですけど、
よーく見てみると、そんな重くもなく、かわいいのです。


なんだか、「貼ってある」感がイイ
ALB FIRE SET AnaLee Balutです

微妙にストライクゾーンはそれてるんですが
なんだかひきよせられます。

はい、お気づきの方もいらっしゃると思いますが
この後、ALBシリーズ続きます。




さて
ALB HALLOWEEN Set AnaLee Balutなのですが

これは大好きです
基本、黒がスキってのもあるんですが
がっちりホールドされてる感じがいいです。

下が、たよりないんじゃない?
って声もありそうですが、
違和感なくて、これでいいのだです


ALB LILLI BIKINI 4 orange by AnaLee Balut

これは完全に色です。
ビニールちっくなところも気に入りました。
また、これは、こういうバージョンも楽しめます。












ALB SHUSHU bra + string only

これも好きなテクスとデザインです。
ビーズちっくなところも、かわいいですし
やっぱり、ちょっと渋い目なところに
引き寄せられてしまいます。

ちょっと古い感じのテクスなのかなぁ
デザインとしては、全然大人しくないんですが
この布の感じとのギャップがいいですよね。


ALB TOM set bra + string only

さて、これは最初のとは別のやつなんですよ
デザインも違いますしね。

そして、このポーズ
これ、なぜかわかります?

...こうしてないと具が見えるからです...



Casa Del Shai(blog)
Shai Boudoir Lingerie Set - Samantha

さあってShaiです
ここんとこ、お店に言ってなかったので
なんだか懐かしい感じです。

カッコイイ看板が置いてあったので
深く考えずに買ってしまってます。




が、これは買って正解でした。
もう明らかにかっこいいですね。

撮影に時間がかかりすぎて
光が変わっちゃってますが
それもプラスして、なんかすごいことに
なってきました。





Alphamale
です

Alphamale Dark Lusts: Blue Leather Bra & Garter Belt Set

革モノです。
一応、全店見てるはずなんですが
革モノは少なかった気がします。

こういう系統を出してると思ったら


こういうのを出してはったり
Alphamale ObjecPassionate Touch - Yellow Satin & Lace Corset Set

こういうタイプ
締める面が多い(=ホールド感高い)上に
装飾がゴリゴリしてあって
かつ、エロいってのはすごいな

※もう眠くなってきて、表現がだいぶストレートになってきています


SySy'sblog

SYSY"s Exclusive gold glam bikini For Altamoda

すいません
今、改めてみるとgold感があるんですが
写真をとりながら、鳥皮食べたいなーとか思ってました。

いや、もちろん、だからと言って
このデザインのよさは失われません!


SYSY's Paisley bikini - orange @ Expo

極端なんですよ、goldかと思えば
普通に布。

バンダナっぽいところが
なんだか、素な雰囲気で
かわいいです。





SYSY's Strapless Slip dress - les bleus @ Expo

ってあれ?
なんか今回のEXPOと違うものが混じってる気が...

でも、しゅるっとした感じが気に入って
まんまと購入。
涼しげなので、今も着てます。



AOHARU(blog)

AOHARU_BT_FlowerShinyBikiniSet_Pink

これは見た瞬間
「ああ、うまいなぁ」と思いました。
ナニが!?と言われると困るんですが。

このお店は、名前だけずっと聞いてて
まだ言ったことのないお店です。
blog見ても、なかなかかわいいので、今度行ってみます。


と、言うことで、もう何回、「感じ」と書いたことやら
もっと表現磨かないとダメですのう。

このAOHARUの写真を撮った直後に
完全に光の状態も変わりました。

今回、気がついた方は少ないと思いますが
右のみみたぶで、ちらちらしてたのは、これです。


LSL icon

たまたま作者の人にお会いする機会があって
直接いただきました。

それ以来、ずっと右耳にくっついてますw
ここんところ、長い髪が多くて
外から全然見えなくて残念でしたが
この新しい髪だとちゃんと見えますので大丈夫です。


これから、夏なので、水着になることもどんどん増えるかなぁと。
季節とは直接関係ない世界ですが、
そういうイベントも増えますし、雰囲気大事ですしね。

ということで、ぜひ、期間中に行ってみてはいかがでしょうか。
Lingerie & Beachwear Expo(7/12-7/26)

...書いてる方もクタクタですが
全部読んだ人もクタクタだろうなぁ...