「Draw」を含む日記 RSS

はてなキーワード: Drawとは

2018-06-04

anond:20180604161621

Although what causes pedophilia is not yet known, researchers began reporting a series of findings linking pedophilia with brain structure and function, beginning in 2002. Testing individuals from a variety of referral sources inside and outside the criminal justice system as well as controls, these studies found associations between pedophilia and lower IQs,[48][49][50] poorer scores on memory tests,[49] greater rates of non-right-handedness,[48][49][51][52] greater rates of school grade failure over and above the IQ differences,[53] lesser physical height,[54][55] greater probability of having suffered childhood head injuries resulting in unconsciousness,[56][57] and several differences in MRI-detected brain structures.[58][59][60]

Such studies suggest that there are one or more neurological characteristics present at birth that cause or increase the likelihood of being pedophilic. Some studies have found that pedophiles are less cognitively impaired than non-pedophilic child molesters.[61] A 2011 study reported that pedophilic child molesters had deficits in response inhibition, but no deficits in memory or cognitive flexibility.[62] Evidence of familial transmittability "suggests, but does not prove that genetic factors are responsible" for the development of pedophilia.[63] A 2015 study indicated that pedophilic offenders have a normal IQ.[64]

Another study, using structural MRI, indicated that male pedophiles have a lower volume of white matter than a control group.[58] Functional magnetic resonance imaging (fMRI) has indicated that child molesters diagnosed with pedophilia have reduced activation of the hypothalamus as compared with non-pedophilic persons when viewing sexually arousing pictures of adults.[65] A 2008 functional neuroimaging study notes that central processing of sexual stimuli in heterosexual "paedophile forensic inpatients" may be altered by a disturbance in the prefrontal networks, which "may be associated with stimulus-controlled behaviours, such as sexual compulsive behaviours". The findings may also suggest "a dysfunction at the cognitive stage of sexual arousal processing".[66]

Blanchard, Cantor, and Robichaud (2006) reviewed the research that attempted to identify hormonal aspects of pedophiles.[67] They concluded that there is some evidence that pedophilic men have less testosterone than controls, but that the research is of poor quality and that it is difficult to draw any firm conclusion from it.

While not causes of pedophilia themselves, childhood abuse by adults or comorbid psychiatric illnesses—such as personality disorders and substance abuse—are risk factors for acting on pedophilic urges.[6] Blanchard, Cantor, and Robichaud addressed comorbid psychiatric illnesses that, "The theoretical implications are not so clear. Do particular genes or noxious factors in the prenatal environment predispose a male to develop both affective disorders and pedophilia, or do the frustration, danger, and isolation engendered by unacceptable sexual desires—or their occasional furtive satisfactionlead to anxiety and despair?"[67] They indicated that, because they previously found mothers of pedophiles to be more likely to have undergone psychiatric treatment,[56] the genetic possibility is more likely.

A study analyzing the sexual fantasies of 200 heterosexual men by using the Wilson Sex Fantasy Questionnaire exam determined that males with a pronounced degree of paraphilic interest (including pedophilia) had a greater number of older brothers, a high 2D:4D digit ratio (which would indicate low prenatal androgen exposure), and an elevated probability of being left-handed, suggesting that disturbed hemispheric brain lateralization may play a role in deviant attractions.[68]

https://en.wikipedia.org/wiki/Pedophilia

2018-05-16

Cats Walk Eight Knot.

Ume and Hagi walk same way.

When Ume turnes to right, Hagi turns to left.

Two bumps and goes away each other.

They draw a route of eight knot.

2018-02-11

年収240万のWEBプログラマ底辺会社や人に対して抱いてる不満

会社について

パソコンスペックが貧弱

事あるごとにだんまりするパソコンを使い続けている人って本当にすごい。

自分場合によってはログイン画面で既に半ギレなのに。

キーボードマウスが貧弱

USB接続セキュリティ的にどうのこうのって言うけど、多少手間が掛かっても好きなの使わせてよ。買ってくれとはいわないから。

ディスプレイが貧弱

自分は最低でも3つは欲しい。こういう仕事してればウィンドウだらけになるじゃん。

・机が狭い

机が広いってだけで効率と気分が良くなる気がする。というかディスプレイが置けない。

通路が狭い

後ろを誰かが通るとき、逐一すみませんって通路を開けなくちゃいけないのつらい。

・イスがしょぼい

腰がつらい。

ライセンスを買ってくれない

アクティベートしないまま使わせるのは百歩譲るとしても、ヤフオクとか怪しいところからマイクロソフトアドビライセンス仕入れて使わせるのってどうなんだ。

そういう思考回路人間は、バレないからとか、まわりもやってるとかい免罪符を盾に、法律倫理も破っていいとか考えていそう。特に労働基準法的なやつ。

・開発環境が整っていない

gitってなに・・・?ってところからはじめたくない。

JetBrainsIDEを使うのに骨折って交渉するところからはじめたくない。

・なにをするにも申請必要

めんどい。上掲した項目を実現するのに、対費用効果がどうのこうの・・・って。誰が得するんだよ。

労働者労働環境に対して金払いが悪い

ベンダー資格とか高いけどさ、業務関係するのなら、資格手当が出ないのなら、せめて合格したとき受験料払ってよ。

一般的感覚会社負担費用個人負担にさせるような会社は嫌い。好きになれない。

・気分良く仕事をしてもらうという働きかけが一切ない

高い意識を持って働いてほしいだとか、会社を好きになってほしいとか、そういうこと全く思っていないのだろうか。

あるいはそれが労働者として当然のことで、自然にそうなるとでも思っているのだろうか。

少なくとも自分は苛立ってると普段より頭の回りがそれなりに悪くなる。

残業だってそう、連日遅くまで残って仕事して、それで効率よく質の良いものを作れるとは到底思えない。

プロ意識をもって仕事しろとか言っちゃう

240万にも満たない年収で雇ってるんだから、ちゃんとその程度のゴミを雇ってるって自覚持ってほしい。

お金を貰ってるんだからとか、社会人なんだからとか、そんなん言われただけでやる気になるわけねーだろ。むしろやる気なくなる。

この年収自分が幾らか熱意を持って仕事したり勉強するのは、あくま自分個人的な興味や矜恃の問題から

というか発注する客側もそう。然るべき時間費用があってこその質なのだから、短い時間と割安な費用で納品されるのはゴミだと自覚してほしい。

短い時間と割安な費用でも、企業として質の高い製品を納品するのが当然だと思っているのだろうか。まあゴミが納品されるんですけどね。

残業は全額はでないのが当然とかい唾棄すべき風潮

そういう会社は等しく今すぐ潰れろ

・隣の人と距離が近すぎる

ほどほどが良い。Slackみたいなコミュニケーションツールがあって、気軽に話せるけど、物理的には近すぎないのがいい。

・書いたり貼り出したりする場所が少ない

壁を自由に使えると手軽で良いな。

UMLを知らない、使わない

複雑なものをある側面から、誤解なく簡素に表せる、素晴らしい言語なのになぜ使わないのか。

draw.ioみたいな便利なのがあるのに、Excel方眼紙アクティティ図に似て非なる謎の図を書き続けるのはなぜなのか。

テスト時間をかけるという風潮がない

画面を動かしてみて、できました、このテストおわりです、それで済ませて質が高くなるわけないだろ。

そもそもjenkinsとかcircle ciとか誰も知らないseleniumとか聞いたこともない。

ウォーターフローにとらわれてる

前もって仕様が確定することなんてどうせないじゃん。いつまでたっても客側にいいように言われて、しっちゃかめっちゃかされるんでしょ。

なら保守されないExcel方眼紙を量産したって仕方がないじゃん。せめてじゃあその辺は最低限にして動くものを作ろうよ。

からってアジャイルにしようとは絶対にならないだろうけど。。。そういう参加を客側と交渉すること自体ありえないって思ってそうだし。

でもさあ、とりあえず動くものを早い段階から見てもらうくらい良いじゃん。どうせこそこそやると後になって見たいって言われて叩かれるんだから

人について

・話が長い、でも資料もないし書き出さな

話の論点がズレて、何を話したかったのか、何を聞きたかったのかわからなくなる。そして後から言った言わないになる。

あらかじめ資料を用意しとくなり、どこか広いところに書きながら話そうよ。で、できれば書いた人がデータとしてどこかに投げてほしい。そして消しておいてほしい。

言葉意味を大切にしない

訳のわからない造語を使い出したり、意味を分かってないのにその言葉不用意に使うの止めてほしい。

きっとそういう人って、まずその言葉意味理解しようという意志が致命的に欠けているから、会話していて不毛感が凄い。

・長く書くことをしない

短い文章齟齬なく十全な文章を書けることは確かに素晴らしいことだけど、だいたいそんなことは出来ない。

から多少冗長であるように思えても、細かすぎるように思えても、長く書いてほしい。

つーか、毎度毎度短い謎の書き残しがあって、それの話を聞きに行くのつらいんだよ。わかってくれ。絶対わかってくれないけど。

読んで意味のわからないことって、読んだつもりにだけなってしまって、後で指摘されると読む側が一方的に悪いことにされたりするのつらい。

・居眠りする

正直自分の気づかないところなら好きなだけ寝ていてもいいけど、まあ気づくし。

眠い頭でこういう仕事なんて効率よくできるわけないのに。つまり目障り。

自分過去を話したがる

興味ないから。前の会社とか、そこでなにしてたとか。知りたきゃこっちから聞くよ。

自分が興味あるのは自分が抱えてる仕事を如何にしてうまいことするかなんだよ。話すなら年長者としてそれを話してくれ。

2018-01-27

スクエニのサヴァスロがクソすぎてつらい

先ごろスクウェア・エニックスからリリースされたサーヴァント・オブ・スローンズ(以下サヴァスロ)があまりにも酷いのでヘイトの吐き出し場所としてここに記す。このゲームはいわゆるクローンゲーというやつで、Supercellクラッシュ・ロワイヤル(以下クラロワ)をベースにしているのだが、後発にもかかわらずあらゆる所が劣化していてクラロワユーザーとしては憤懣やるかたない仕上がりになってしまっている。

UI(画面)がひどい

全体的に装飾過多なのに説明文言は多く、見づらいの一言

特にデッキ編成画面の乱雑っぷりといったらまさに地獄。編成方法もクラロワとまるっきり同じなのにユニット並べ替え機能はついてなくて劣化感丸出し。特定キャラクター専用ユニット表示もユニットの絵に常にフェードインアウトしているため非常に邪魔。あの画面にGO出したアートディレクターは降格してほしい。またゲーム中では「ソウル」「アルカナ」「エーテル」「ゴールド」「サヴァスロポイント」などの単位が乱立しているにも関わらず個別説明はなく、アルカナなどは今の所持数も表示されないため何もかもが煩雑

UI操作性)がひどい

クラロワの優れているところは対戦スキームだけに留まらず、対戦準備画面を起点に、すべての機能ロードなしでスワイプ遷移できる極めて合理的UI設計にあった。にも関わらずサヴァスロはそこは踏襲せずいわゆる和製ゲームアプリ文法機能の配置を行ったため、本来スムーズな遷移は失われ、どこに移動するにもロードロードロード…。スクエニには二度とUXという単語を使ってほしくない。

テンポがひどい

クラロワのバトル画面までのステップ

『対戦準備画面→マッチング画面→(マッチング0.5秒以下)→バトル画面』

わずか2遷移しかないが、サヴァスロは

ホーム→レートバトル画面→出撃準備画面→(ロード)→マッチング画面→(マッチング1〜3秒)→VS表示画面→(長いロード)→バトル画面』

と5遷移もあり、圧倒的テンポの悪さを誇っている。VS表示画面はおそらく仕様書シャドウバースの対戦前画面のスクショでも貼ってあったと思しきレイアウトだが、解像度足りてないのに無理矢理拡大された小汚い「VS」の文字と安っぽい稲妻エフェクトのせいで本当に気分が萎える仕上がり。そもそもあの画面いる?おまけにバトル冒頭ではモーション・セリフが1パターンしかないリーダーキャラカットシーンをバトル前後で毎回見せられ、スキップもできない有様。ホントにクラロワ研究したの?

そもそもリリース直後だからか、通信エラーで対戦画面に行くことすらできなかったり、ショップ画面に遷移するとエラータイトルに戻されたり、クラロワに比べるとこのゲームには快適さという概念は1ミリたりとも無い。

バトル画面もひどい

では肝心のバトルスキームがクラロワに比肩しているかといえばそういうこともない。ここでも際立つのUIの悪さだ。手札をタップすると表示されるユニット情報パネルデカデカゲーム領域を隠すため、左側のタワーの状況がわからなくなる。また、フィールドに出たユニットタップすると攻撃範囲が表示されるという本家にはない機能があるが、これがユニットを設置する際の攻撃範囲表示とまったく同じのため、ユニットの設置ミスが頻発する。

クラロワはゲーム中のバフ・デバフ表現文字に頼らず配色とエフェクトだけでうまくデザインしていたにも関わらず、サヴァスロは「ATK」とか「SPD」とかの文字がうじゃうじゃと沸き、戦況把握を妨げまくる。ラヴァハウンドみたいなユニットが弾けたあとの表示はiPhoneでは文字が潰れていて認識できないレベルだった。

ユニットも似たような造形のものが多く、ベビードラゴンみたいなやつとインフェルノドラゴンみたいなやつや、ゴブリンと槍ゴブリンみたいなやつなどは攻撃されるまで判別は難しい。ユニットモデル解像度問題なのか全体的に小汚いし、キングタワー的な砦が攻撃されるとハリボテみたいなリアクションとるのもチープだし、ルックとしてクラロワに勝っているところは今のところ一つもない。だいたい「ブラウニー」と「槍ブラウニー」とか、「スケルトン軍団」とかなんでわざわざクラロワの日本語ローカライズされた名前に寄せてんだよ!もっと槍兵とか骸骨とかいくらでも避けようあっただろ!

かいところもひどい

クラロワはフレーバーテキストひとつとっても、特性説明だけでなくユニット個性に応じたユーモアが散りばめられている。

一方サヴァスロはどこかで見たようなテンプレ文言オンパレード。それだけならまだしも、国産なのにところどこど日本語おかしい所まであるのが腹立たしい。

例)

プリンスみたいなやつ「突撃威力特筆

→それ「特筆すべき〜」とか続けないといけない表現では?

墓石みたいなやつ「破壊されてもただでは転ばない」

→「転んでもただでは起きない」って言いたかったのかな?

他にもバトル画面中のスタンプ文言も丸パクリなのになぜか「グッドゲーム」はないとか、DRAW用のリアクションがなくて引き分けなのに毎回負けモーションを見せられて萎えたりとか、別端末でプレイする際は毎回引き継ぎの操作を求められる超前時代設計とか、このゲームユーザー満足度というもの存在しないのだと思う。

クソすぎて悲しくなってくる

いろいろ書いたが、とにかく後発で丸パクリなのに新しいゲームスキームを切り拓いたクラロワへのリスペクトが一切感じられないのが本当に頭にくるし、残念だ。LoVリソース流用して人気のスキームなぞれば売れるやろ的な浅はかな企画意図と、ただそれに従うだけでオリジナリティを一切発揮しようとしない開発側の思考停止が透けて見えるようで悲しくなる。愚直に本家トレースして同レベルのところまで磨きあげ、そこからアイデアを足せばよかったではないか。せっかくこんな面白いゲームをお手本にしているのだから

最近の例でいえば、中国が作ったアズールレーン艦これのコンセプトを踏襲しつつ、「顧客が本当に欲しかったもの」みたいな仕上がりを実現した。後発だったらあれくらいやって然るべきだ。日本企業がやっていることといえば、フィンランドの生んだあの美しいゲーム特許イチャモンつけたり(グリーの敗訴を心から願う)、劣化コピーを作ったりするばかり…そりゃ後進国って言われるよ…。

クラロワのファンであるがゆえに殊更クソに映るサヴァスロだが、ユニットフィールド特性に丸パクリでない部分もわずかにはあるし、ブラウニーとかママリリちゃんとか、かわいいユニットがいるという極めて少ないアドバンテージもあるので、ぜひ奮起して「面白いゲーム」になるか今すぐサービス終了してください。

2018-01-21

図で考えるということ

物事の複雑な仕組みを理解するには図にしてみると良いとわかっていたが複雑な図を簡単に描けるアプリが見つからなくて困っていた。だが最近draw.io」という作図アプリ出会い長年の悩みが解決した。このアプリを使うとどんなに複雑な構造でも理解できるようになる。こうしたツール存在を知っているかどうかで仕事効率が劇的に変わる。情報弱者にはなりたくないものだ。

2018-01-07

殴り殴られ教え教えられ

殴らずに教えられる先生 vs 殴られずとも学ぶ生徒 → 望ましい

殴らないと教えられない先生 vs 殴られないと学ばない生徒 → 本当は望ましくないが一応Win-Win

殴らないと教えられない先生 vs 殴られずとも学ぶ生徒 → 生徒Lose,問題

殴らずに教えられる先生 vs 殴られないと学ばない生徒 → Draw先生・生徒の力量により勝ったり負けたり.先生が負けると悲惨

環境遺伝により格差があるため,一定量割合で各層にこの4タイプ存在すると思う.

問題ミスマッチが発生した場合にどうするかで,強い立場の方を頑張って教育するか,弱い立場の方を逃がすか,あるいは両方か.

私自身としては,暴力による解決は望ましくないし,なくしていくべきだが,すべての生徒に対し交流対話のみで問題解決できるかといわれると難しいと思う.

しかしこういうのってケースバイケースで一律に対応するのは難しいし,生徒達もどんな結果にせよ数年で去ってしまうし,教育って難しいなーと思う.

すべての人類が隣人を愛する平和世界は実現するのだろうか.

2017-10-21

ちょっとしたベクタアイコンSVG画像が欲しい

こんな自分でも描けそうな線と面だけの簡単な会話吹き出しSVGなのにどいつもこいつもメアドよこせダウンロードじゃないか

自分でも描けたわ! OpenOffice/LibreOfficeDrawSVGエクスポートできるわ!しかもオートシェイプに吹き出し入ってるわ!

フリー画像として小一時間ほど探してたんだけど手元で選んで伸ばして書き出して1分で手に入ったわ!過去の凝り固まった自分オクラホマミキサー

2017-04-27

http://anond.hatelabo.jp/20170427113600

マウスクリックした場所から書き込む

そういうレイアウト上の融通がいちばんきくのが実はLibreOfficeDrawなんだが。

なぜかそれを使うって話は絶対に出ないのな。

2016-12-30

規則動詞の分類別一覧

英語の不規則動詞はおおまかに,過去分詞がtかdで終わるもの(以下dtタイプ)とnで終わるもの(以下nタイプ)に分けられる。ほとんどのdtタイプ動詞過去形過去分詞形が同じ形で,A-B-B(一部はA-A-A)のように変化する。また,原形の末尾がdかtの不規則動詞ほとんどがdtタイプに属する。(例外eat,get,bid等)一方,ほとんどのnタイプの不規則動詞は原形,過去形過去分詞形がすべて異なり,A-B-Cのように変化する。

原形から過去過去分詞形になるときに起こる変化は基本的母音が変化するか末尾にdtnが加わるかの2種類,あるいはその両方で,原形にあった子音がなくなることは原則としてない。(例外:-ught型,went,had,made

表の説明

分類は以下の通り

  • dtタイプ
  • nタイプ
    • 【A-B-An】型
    • 【A-Aed-An】型
    • 【A-B-Bn】型
    • 【-dden,-tten】型
    • 【A-B-Cn】型
  • その他
    • 【i-a-u】型
    • 【A-B-B(その他)】型
    • 【その他】

become,forgetなど末尾にほかの不規則動詞を含むものは省いた。

表中の*は規則変化もし得ることを,#は他の不規則変化もし得ることを,!は意味によって変化が異なる単語であることを示す。

【A-A-A】型

すべてdかtで終わる。特に末尾tで短母音のものが多い。get,sitが含まれないことに注意。形が1種類で覚えやすいが,英文中の「have put」「is put」等を見てもビビらない心構えが必要

bet * bust * cast cost cut
hit knit! let put quit *
set shit *# shut sweat * thrust
wet* burst * hurt beat # bid #
clad glid * rid* shed spread
wed*
Ad-Bd-Bd】型

原形がdで終わる動詞母音を変化させて過去形過去分詞形になる型。最後のplead,read発音のみ変化する。

breedbred
feedfed
leadled
plead *#pled
speed !sped
tread #trod
bindbound
find found
grind ground
wind wound
chide *#chid
slide #slid
hold held
stand stood
abide *abode
plead *#plead
readread
Ad-At-At】型

原形の末尾のdがtに置き換わり,それ以外は綴り発音も変わらない。endで終わる動詞が多いが,end自体規則動詞。原形のほうが過去形っぽく見えたりするので注意が必要。逆パターン(At-Ad-Ad)は存在しない。

bend bent
lend lent
rend rent
send sent
spend spent
build built
geld *gelt
gird *girt
At-Bt-Bt】型

Ad-Bd-Bd】の末尾tバージョンget,sitはこちらに含まれる。

fightfought
light *lit
meet met
shoot shot
get #got
shit *#shat
sitsat
【A-Bd-Bd】型

末尾にdが加わるという点で規則動詞に近いが,付き方が特殊母音も変化する。

lay laid
pay paid
say said
sell sold
tell told
hear heard
flee fled
shoe *shod
baa *baa'd
makemade
have had
【A-Bt-Bt】型

末尾にtが加わる。原形の/iː/が/e/に変化するものが多い。

feelfelt
keep kept
sleep slept
weep wept
creep crept
kneel *knelt
sweep swept
leave left
bereave !bereft
cleave *#cleft
deal dealt
mean meant
dream *dreamt
lean *leant
leap *leapt
lose lost
spoil *spoilt
burn *burnt
learn *learnt
dwell dwelt
smell *smelt
spell *spelt
spill *spilt
drip *dript
grip *gript
wrap *wrapt
pen *pent
【-(o/a)ught】型

末尾が-oughtか-aughtに変化する。どちらも発音は/ɔːt/。wentを除けばもっとも原型をとどめない変化が起こるので過去形から原形を思い出せるようにしておく必要がある。

beseech *besought
bringbrought
buy bought
overwork *overwrought
seek sought
think thought
catchcaught
teach taught
【A-B-An】型

過去分詞形が原形+nとなるもの過去形では母音が変化している。fall,eatにはenが,do,goにはneが付くことに注意。

blowblewblown
grow grewgrown
know knewknown
throw threwthrown
drawdrewdrawn
shakeshookshaken
taketooktaken
drivedrovedriven
riseroserisen
strive strovestriven
thrive *throvethriven
see sawseen
give gavegiven
eatateeaten
fall fellfallen
do diddone
gowentgone
【A-Aed-An】型

【A-B-An】の亜種で,showに代表される過去形規則変化(-ed)になっているもの

grave *gravedgraven
hew *hewedhewn
mow *mowedmown
prove *provedproven
saw *sawedsawn
sew *sewedsewn
shave *shavedshaven
show *showedshown
sow *sowedsown
strew *strewedstrewn
【A-B-Bn】型

過去分詞形が過去形+nとなるもの。eが脱落するtear-tore-tornのパターンに注意。wakeはtake,makeと異なり,この型に属する。

break brokebroken
cleave *#clovecloven
freeze frozefrozen
speak spokespoken
steal stolestolen
weave !wovewoven
shrink #shrunkshrunken
wake wokewoken
bear !boreborn
swearsworesworn
tear toretorn
wearworeworn
bear !boreborne
【-dden,-tten】型

原型にd,tを含み,過去分詞形でそれが重なるものget以外は【A-B-An】に近いがgetは【A-B-Bn】に近い。

smite #smotesmitten
ride roderidden
writewrotewritten
bite bitbitten
chide *#chidchidden
hidehidhidden
slideslidslidden
bid #badebidden
forbid #forbadeforbidden
forbid #forbadforbidden
get #gotgotten
【A-B-Cn】型

過去分詞形にnが付くが,【A-B-An】でも【A-B-Bn】でもないもの

flyflewflown
lielaylain
slay slewslain
shear *shearedshorn
swell *swelledswollen
tread #treadedtrodden
【i-a-u】型

原型にiを含み,それがi-a-uと変化していくもの。わかりやすい変化だが数は少ない。

beginbeganbegun
drink drankdrunk
ringrangrung
shrink #shrankshrunk
singsangsung
sinksanksunk
spring #sprangsprung
stink #stankstunk
swim swamswum
【A-B-B(その他)】

dt型でないが,A-B-CではなくA-B-Bと変化するもの。末尾が-ingのものが多いが,bringring,singが含まれないことに注意。

clingclung
flingflung
slingslung
slink slunk
spling #splung
stingstung
stink stunk
stringstrung
swingswung
wringwrung
hang !hung
dig dug
stickstuck
strike struck
heave !hove
reeve *rove
stave *stove
shine !shone
winwon
【その他】
[A-B-C]
dive *dovedived
smite #smotesmit
[A-A-B]
beat #beatbeaten
[A-B-A]
come camecome
runranrun

2015-07-15

http://anond.hatelabo.jp/20150715081321

そうやってレッテル貼っておけば散々言い負かされてきたのがチャラになると思っているなら1人でそう思っていればいいんじゃないかな?

別にお前が何思おうと他人からすればどうでもいいんだしそれでお前が幸せになるならDRAWWINで何の問題もないよ

http://anond.hatelabo.jp/20150715155236

そうやってレッテル貼っておけば散々言い負かされてきたのがチャラになると思っているなら1人でそう思っていればいいんじゃないかな?

別にお前が何思おうと他人からすればどうでもいいんだしそれでお前が幸せになるならDRAWWINで何の問題もないよ

2015-03-26

アメリカBBCニュースからうんこじゃない文章の例を拾ってみたわ

Relatives and friends of the 150 passengers and crew on Germanwings Flight 4U 9525 are due to go to the crash site high in the French Alps.

Lufthansa will operate two special flights - one from Barcelona and one from Duesseldorf - to Marseille, and both groups will travel on by road.

Reports say one of the two pilots on the doomed flight had left the cockpit and had been unable to get back in just before the crash on Tuesday.

There were no survivors, officials say.

They say the Airbus 320 from Barcelona to Duesseldorf hit a mountain after a rapid eight-minute descent.

Germanwings chief Thomas Winkelmann said 72 passengers were German citizens, including 16 pupils returning from an exchange trip.

Spain's government said 51 of the dead were Spanish.

Other victims were from Australia, Argentina, Britain, Iran, Venezuela, the US, the Netherlands, Colombia, Mexico, Japan, Denmark and Israel.

Germanwings is a low-cost airline owned by Germany's main carrier Lufthansa.

Cockpit mystery

Families and friends of the victims are expected to arrive at the crash site at Meolans-Revels later on Thursday.

Separately, a bus carrying 14 relatives of Spanish victims left Barcelona on Wednesday for the crash area, because they did not want to fly.

In France, special teams have been prepared to assist the families during their visit.

On Wednesday, French officials said usable data had been extracted from the cockpit voice recorder of the Germanwings plane.

Remi Jouty, the director of the French aviation investigative agency, said there were sounds and voices on the cockpit voice recorder but that it was too early to draw any conclusions.

He said he hoped investigators would have the "first rough ideas in a matter of days" but that the full analysis could take weeks or even months.

But the New York Times quoted an unnamed investigator as saying that one of the pilots had left the cockpit and had been unable to get back in.

"You can hear he is trying to smash the door down," the investigator adds, describing audio from the recorder.

A source close to the investigation told a similar story to the AFP news agency.

There had been earlier reports that the second black box - the flight data recorder - had been found. But Mr Jouty said this was not the case.

'Flying to the end'

Mr Jouty said the plane's last communication was a routine one with air traffic control.

The plane confirmed instructions to continue on its planned flight path but then began its descent a minute later.

Mr Jouty said controllers observed the plane beginning to descend and tried to get back in contact with the pilots but without success.

He ruled out an explosion, saying: "The plane was flying right to the end."

2014-09-21

http://anond.hatelabo.jp/20140920164256

もう最初から

リクルート側: タダ飯と引き換えでエンジニアに罵声を浴びせることで、日頃のストレスを解消

エンジニア側: 罵声と引き換えで、タダ飯を喰らう

という、Win-WinならぬDraw-Drawイベントを企画しよう

2014-01-20

qgisのopenlayers_plugin

こいつで電子国土とか空中写真とかで遊ぼうと思って先人の知恵を借りつつ一所懸命やってみたけど

Traceback (most recent call last):

File "C:\Users\****/.qgis2/python/plugins\openlayers_plugin\openlayers_layer.py", line 109, in draw

self.render(rendererContext)

File "C:\Users\****i/.qgis2/python/plugins\openlayers_plugin\openlayers_layer.py", line 158, in render

for res in self.resolutions():

TypeError: 'NoneType' object is not iterable

って動かない。他のも試したけどダメ

何か仕様変わったの?わからん

2013-02-24

http://www.telegraph.co.uk/sport/football/competitions/euro-2012/9337123/Nuclear-attraction-Engl

Nuclear attraction: England fans flock to Chernobyl

It is the site of the world’s worst nuclear disaster but Chernobyl is proving an unlikely tourist draw for hundreds of England football supporters attending the European championships.

2012-03-24

http://anond.hatelabo.jp/20120324142820

クリエティビティのあるソーシャルゲーム」は存在するよ。俺のお勧めだと、iPhone/iPadでTrade Nations、Battle Nationsやってみ。ソーシャルの要素は薄いけどね。

最近Zyngaの買収したOMGPOPのDraw somethingはソーシャルな要素だけで遊ぶゲーム。素晴らしいクリエティビティ。

2010-10-24

初音ミク海外メディア

 Metro紙の威力すげえ。

 この1~2日の間に欧州中のニュースメディアに「初音ミク」の話が広まってやがる。

・火をつけたMetro紙の記事

Hatsune Miku is pop's biggest draw as Japanese 3D cartoon stage sensation | Metro.co.uk

・その他英語メディア

This Rocking Lead Singer is a 3D Hologram (video) | Singularity Hub

The Virtual Pop Star Hatsune Miku | VizWorld.com

Hatsune Miku is a 21st Century Rockstar | Hybrid Reality | Big Think

BBCスペイン語サイト

BBC Mundo - Noticias - Hatsune Miku: el holograma japonés estrella de la música

http://www.bbc.co.uk/mundo/noticias/2010/10/101022_hatsune_miku_holograma_musica_3d_amab.shtml

フランス語メディアいくつか

Hatsune Miku : une idole pas comme les autres

Les concerts de Miku Hatsune, chanteuse virtuelle, rameutent les foules | 24 heures

ノルウェーメディア

HATSUNE MIKU - Japans nye megastjerne er et hologram - Side3

ポーランド

Dziewczyna z komputera

2009-03-18

ドライバー選び

増田ドライバー選びを相談してみるテスト

スペック

28才 リーマン

月2回程度ラウンド。

スコア平均101(最近10R)

今のドライバーはR7 draw(シャフト SR)で、

左にばっかり出るのでどうにかしたい。

つるやの兄ちゃんはどうやらバーナーTPのランバックスシャフト

売りつけたいらしいが、こちとら賢い消費者そうは簡単いかねー。

安くしときますよーという言葉を聞きつつ、HSだけ調べて華麗に帰宅

ゲージでの測定結果、ドライバーのHSが43km/hであることが判明。

以下聞きたい点

・アイアンは合っているのか?

 rac LT(2代目) NS950S はこのヘッドスピードにおいて適正なのか?

 たぶん右手でこねているので、これでも左に出てるのだけれど…

ドライバーはどうするか…

 バーナーTPの測定結果は右に出まくり

 10回に1回程度まっすぐ出ていた。

 回転数は2500回転程度ぐらい。

 ということでこんな私にぴったりなお勧めクラブを教えていただきたい。

2009-02-17

村上春樹エルサレム講演と「ペスト

http://d.hatena.ne.jp/sho_ta/20090216/1234786976 の"unique divinity of the individual"に着想を得ました。

英文の引用は http://www.jpost.com/servlet/Satellite?cid=1233304788868&pagename=JPost%2FJPArticle%2FShowFull

和訳の引用は http://anond.hatelabo.jp/20090217011603


上段:村上氏の発言(訳されたもの)

中断:村上氏の発言(JPostより引用

下段:アルベール・カミュ作「ペスト新潮文庫、第67刷、2006年刊)」


固く高い壁があり、卵が壁に打ち壊されるなら、壁がどんなに正しく卵がどんなに誤っていても私は卵の側に立ちます。

If there is a hard, high wall

and an egg that breaks against it,

no matter how right the wall or how wrong the egg,

I will stand on the side of the egg.

「この地上には天災犠牲者というものがあるということ、そうして、できうるかぎり天災に与することを拒否しなければならぬということだ」 (P377)

「あの大物のペスト患者たち~略~もまたその場合の立派な理由があるわけだし、もし僕が小物のペスト患者たちのもちだす不可抗力という理由と、必要性ということを容認するとしたら、大物どものそれも否認することができなくなる」 (P373, 374)

「僕はこう考えた。 ~略~ このいまわしい虐殺にそれこそたった一つの ~略~ 根拠でも与えるようなことは絶対に拒否しようと」 (P374)


どうしてなのか?私たちそれぞれは卵であり、壊れやすい卵にくるまれた唯一無二の存在だからです。私たちそれぞれは高い壁を前にしています。高い壁とはシステムです。それは通常では個人として受け入れがたいものを私たちに強います。

Why? Because each of us is an egg, a unique soul enclosed in a fragile egg.

Each of us is confronting a high wall.

The high wall is the system which forces us to do the things

we would not ordinarily see fit to do as individuals.

「僕の問題というのは、つまりあの胸にあいた穴だったのだ」 (P374)

「われわれはみんなペストの中にいるのだ」 (P375)


私が小説を書く理由はただ一つです。すなわち個人が持つ唯一無二の神聖さを描く事です。唯一無二なるものを満足させる事です。システムが私たちをめちゃくちゃにするのを防ぐ事です。だから私は生と愛について物語を書きます。人々を笑わせ、泣かせます。

I have only one purpose in writing novels,

that is to draw out the unique divinity of the individual.

To gratify uniqueness.

To keep the system from tangling us.

So - I write stories of life, love.

Make people laugh and cry.

「これはあなたのような人には理解できることではないかと思うのですがね、~略~ おそらく神にとって、人々が自分を信じてくれないほうがいいかもしれないんです。そうしてあらんかぎりの力で死と戦ったほうがいいんです、神が黙している天上の世界に目を向けたりしないで」 (P188)


私たちは皆人間であり、個人であり、壊れやすい卵です。壁を前にして、望みは失われます。高く、暗く、冷たすぎるのです。暖かみと力のために、私たちの存在を一つにして壁と戦わなくてはなりません。システムが私たちをコントロールするのを許してはいけません。私たちが何者であるか、決めさせてはいけません。システムを作り上げたのはは私たちですから。

We are all human beings, individuals, fragile eggs.

We have no hope against the wall:

it's too high, too dark, too cold.

To fight the wall, we must join our souls together for warmth, strength.

We must not let the system control us - create who we are.

It is we who created the system.

「このペストがあなたにとって果たしてどういうものになるか」「際限なく続く敗北です」 (P188)

「そして心の平和に到達するためにとるべき道について~略~何かはっきりした考えはあるか、と尋ねた。『あるね。共感ということだ』」 (P379)

「われわれは一緒に働いているんです。冒涜や祈祷を超えてわれわれを結びつける何者かのために。それだけが重要な点です」 (P373)


イスラエルの皆さん、私の本を読んでくれて感謝します。意義ある何かを共有できればと願う次第です。あなたが私がここにいる最大の理由なのです。

I am grateful to you, Israelis, for reading my books.

I hope we are sharing something meaningful.

You are the biggest reason why I am here.

「神さえも、今ではわれわれを引き離す事はできないんです」 (P324)

2007-09-07

ようこそ、℃-uteLisp の世界へ

発祥: http://ex23.2ch.net/test/read.cgi/morningcoffee/1188654905/

はじめに

Scheme という Lisp 語族言語を用いて ℃-ute相関関係プログラムし、様々な角度から関係性を分析する手法を紹介していきます(ソースコードは最後に張ります)。

まずは、メンバー間の関係を「リスト」というデータ型で表現します。例えば「栞菜->愛理」という関係

(kanna . airi)

という形で表すことができます。これに、「大好き」という情報を付加し、ついでにその関係の性質を数値化したものを加えると

((kanna . airi) (desc "大好き") (score . 1))

のようになり、関係図における一つの矢印の情報データ化できたことになります(暫定的に、好意は 1、良好・中立は 0、険悪は -1 の3段階で表すことにします)。

メンバー間の全ての関係性をこのデータ単位で定義し、データベース化しておくことで、色んな条件に基づいた検索やスコア計算などが可能となります。

例 1: リンク状況の調査

ここで相関関係図における矢印を「リンク」と呼ぶことにして、あるメンバーから他のメンバーへどのようにリンクし、またリンクされているかを調べることができます。

関係の中からリンクの起点を抽出してソートしてみると

(sort-nodes (number-list (from-links)))

結果:

((kanna . 6) (saki . 5) (maimi . 4) (erika . 3) (mai . 3) (chisato . 3) (airi . 2))

栞菜ちゃんがメンバー全員にリンクを張っていることが分かり、℃-ute ラブっぷりが伺えます。なっきーにも同様の事が言えます。例の「女の子が好き」発言を数値的に裏付ける結果と言えるかもしれません。

ただ、データ不足でリンク件数がまだ少ないのと、リンクの性質(好意/反感など)までは分からない点を考慮する必要があるでしょう。

例 2: 被リンク状況の調査

同様に、リンクの終点の件数を調べてみます。

(sort-nodes (number-list (to-links)))
((chisato . 5) (erika . 5) (kanna . 4) (maimi . 4) (airi . 4) (mai . 3) (saki . 1))

えりかちゃんと千聖ちゃんが高ポイントです。メンバーからの人気や注目度の高さを示すデータですが、千聖ちゃんの場合敵対的なリンクが2件含まれている点に注意してください。

なっきーの被リンク数が極端に少ないですが、単純にデータ不足のためだと思われます。はぶら(ryとか言わないようにお願いします。

例 3: 愛情度の評価

リンクに付随するスコアを計算することで、愛情の度合いを測ることができるのではないか、という考えに基づく研究です。

まず、全ての関係性を対象として、スコアマイナス関係を抽出してみます。

(filter-nodes (lambda (n)
		(< (score-relation n) 0)))

結果:

(((kanna . chisato) (desc "愛理に手出すんじゃねぇよ") (score . -1))
 ((saki . chisato) (desc "愛理に手出すんじゃねぇよ") (score . -1)))

件数だけを得ると

(length (filter-nodes (lambda (n)
			(< (score-relation n) 0))))
2

僅か2件です。

良好・中立的な関係

(length (filter-nodes (lambda (n)
			(= (score-relation n) 0))))
8

愛に満ちた関係

(length (filter-nodes (lambda (n)
			(> (score-relation n) 0))))
16

非常に多いです。舞美ちゃんの「℃-ute同士でラブラブなんですよ」発言(例のラジオ)を数値的に裏付ける結果と言えるんじゃないでしょうか。

次に、メンバーごとのスコアを算出してみます。Lisp 的には以下のようにフィルタリングと畳み込み (fold) で計算することができます。例えば

(foldr (lambda (n acc)
	 (+ (get-score n) acc))
       0
       (filter-nodes (cut to? <> 'kanna)))

栞菜ちゃんに対するリンクスコアが得られます。結果:

3

上式を一般化して一挙にメンバー全員に適用してみると

(sort-nodes (map (lambda (x)
		   (cons x (score-loved x)))
		 (all-members)))

結果:

((airi . 4) (kanna . 3) (mai . 2) (erika . 2) (maimi . 2) (saki . 1) (chisato . 0))

愛理ちゃんが好意を寄せられやすい傾向が伺えます。

今度は逆方向のスコアを計算してみると

(sort-nodes (map (lambda (x)
		   (cons x (score-loving x)))
		 (all-members)))
((kanna . 3) (maimi . 3) (chisato . 2) (airi . 2) (saki . 2) (mai . 1) (erika . 1))

まいまいえりかちゃんが特に堅い・一途だという傾向を読み取ることができます。

例 4: 相性の調査

今度は組み合わせ(カップリング)の評価です。

2点間相互のリンクスコアを加算したものを「相性」と考えられるものとします。最大値 (互いに好意を寄せている場合の数値) は現在スコアリング方式では 2 です。例えば

(score-between 'kanna 'airi)

の値は

2

となります。1 であれば一方通行と考えます。

関係性が未定義の場合もあるので 0 のものを除外して算出すると

(sort-nodes (filter (lambda (n)
		      (not (= (cdr n) 0)))
		    (map (lambda (n)
			   (cons n (apply score-between n)))
			 (all-combinations))))
(((chisato mai) . 2)
 ((chisato airi) . 2)
 ((airi kanna) . 2)
 ((saki kanna) . 2)
 ((kanna maimi) . 2)
 ((erika maimi) . 2)
 ((saki airi) . 1)
 ((saki erika) . 1)
 ((kanna mai) . 1)
 ((maimi airi) . 1)
 ((saki chisato) . -1)
 ((kanna chisato) . -1))

となります。若干ピンとこない部分もあるかも知れませんが、計算上は矛盾無くデータの内容を表しています。

参考までに、スコア 1 の相互関係の中身を見てみると

(map (lambda (p)
       (find-relation (cons (caar p) (cadar p))
		      identity))
     (filter (lambda (n)
	       (= (cdr n) 1))
	     (map (lambda (n)
		    (cons n (apply score-between n)))
		  (all-combinations))))
(((kanna . mai) (desc "喰ってやるよ") (score . 1))
 ((saki . airi) (desc "好き") (score . 1))
 ((maimi . airi) (desc "良き妹") (score . 1))
 ((saki . erika) (desc "彼氏にしたい") (score . 1)))

のようになります。

まとめ

以上の調査を経て気になった問題点を列挙してみます。

特に最初の点に関して、「百合的」なるものの質的評価がなかなか難しいと感じました。例えば「大好き」も「良き妹」も同じ 1 と評価してしまっているのが妥当かどうか、といったことです。

また、スレにて与えられた情報を評価・分析する方法としては有効だとしても、逆方向のフィードバックの手段がなかなか見つからないというのが三つ目の問題です(技術力不足とも言います)。(注:画像化の方法が分かりました。追記参照)

最後に、プログラムソースを示します。実行には PLT Scheme が必要です。文字コードUTF-8 で保存した上で、(load "c-ute.ss") としてください。文字化けする場合はターミナルUTF-8 を表示できるよう設定する必要があります。がんばってください。

プログラム

c-ute.ss:

(require (lib "etc.ss")
         (lib "list.ss")
         (lib "26.ss" "srfi")
         (lib "delete.ss" "srfi" "1"))

;;; Utilities

(define true? (compose not not))

(define (ignore _) #f)

(define fif
  (case-lambda
    ((predicate consequent)
     (fif predicate consequent ignore))
    ((predicate consequent alternative)
     (lambda (x)
       (if (predicate x)
           (consequent x)
           (alternative x))))))

(define (concat! xs) (apply append! xs))

(define (mapconcat f lst sep)
  (let lp ((str (f (car lst)))
           (lst (cdr lst)))
    (if (null? lst)
        str
        (lp (string-append str sep (f (car lst)))
            (cdr lst)))))

(define (slice-string str len)
  (let lp ((res '())
           (str str))
    (if (<= (string-length str) len)
        (reverse! (cons str res))
        (lp (cons (substring str 0 len) res)
            (substring str len)))))

(define (break-string str len)
  (mapconcat identity (slice-string str len) "\\n"))

;; NOTE: input and output ports have to be either file-stream or #f
;; (i.e., cannot be a string port)
(define (run exe opt in out)
  (let-values (((p p-i p-o p-e)
                (subprocess out in #f exe opt)))
    (subprocess-wait p)
    (close-input-port p-e)))

;;; Database

;; http://ja.wikipedia.org/wiki/%E2%84%83-ute

(define names
  '((erika . "えりか") (maimi . "舞美") (saki . "早貴") (airi . "愛理")
    (chisato . "千聖") (mai . "舞") (kanna . "栞菜")))

(define (symbol->name sym)
  ((fif true?
        cdr)
   (assq sym names)))

(define nodes '())
(define edges '())

(define (relate from to desc score)
  (let ((n (cons from to)))
    (or (find-relation n
                       (lambda (r)
                         (let ((d (assq 'desc r))
                               (s (assq 'score r)))
                           (set-cdr! d (cons desc (cdr d)))
                           (set-cdr! s (+ score (cdr s))))))
        (begin
          (set! nodes (cons n nodes))
          (set! edges (cons (cons n `((desc ,desc)
                                      (score . ,score)))
                            edges))))))

(define (find-relation n k)
  ((fif true? k)
   (assoc n edges)))

(define (related? x y)
  (find-relation (cons x y) (lambda (_) #t)))

(define (from? n x)
  (eq? (car n) x))

(define (to? n x)
  (eq? (cdr n) x))

(define flip-relation
  (case-lambda
    ((n)
     (and (related? (cdr n) (car n))
          (cons (cdr n) (car n))))
    ((n k)
     ((fif true? k)
      (flip-relation n)))))

(define (get-score n)
  (cdr (assq 'score n)))

(define (get-description n)
  (cdr (assq 'desc n)))

(define (describe-relation n)
  (find-relation n get-description))

(define (score-relation n)
  (or (find-relation n get-score) 0))

(define (print-node . ns)
  (for-each (cute find-relation <>
                  (lambda (r)
                    (display
                     (format "| ~a => ~a  (~a)~%"
                             (caar r) (cdar r)
                             (mapconcat (lambda (s)
                                          (string-append "\"" s "\""))
                                        (cdr (assq 'desc r))
                                        ", ")))))
            ns))

(define (iter-nodes k)
  (let lp ((nodes nodes))
    (unless (null? nodes)
      (k (car nodes))
      (lp (cdr nodes)))))

(define (filter-nodes p)
  (let ((ns '()))
    (iter-nodes (fif p
                     (cut find-relation <> (lambda (n)
                                             (set! ns (cons n ns))))))
    ns))

(define (from-links)
  (map car nodes))

(define (to-links)
  (map cdr nodes))

(define (all-members)
  (delete-duplicates! (from-links)))

(define (all-pairs) nodes)

(define (ordered-pairs)
  (concat! (map (lambda (x)
                  (map car
                       (sort (filter-nodes (cute to? <> (car x)))
                             (lambda (x y)
                               (> (get-score x) (get-score y))))))
                (sort-nodes (map (lambda (x)
                                   (cons x (score-loved x)))
                                 (all-members))))))

(define (all-combinations)
  (let lp ((cs '()) (ns nodes))
    (if (null? ns)
        cs
        (let ((n (car ns)))
          (lp (if (member (list (cdr n) (car n))
                          cs)
                  cs
                  (cons (list (car n) (cdr n)) cs))
              (cdr ns))))))

;; number-list :: [a] -> [(a . Int)]
(define (number-list ls)
  (let lp ((ns '()) (ls ls))
    (if (null? ls)
        ns
        (let ((x (car ls)))
          (lp ((fif not
                    (lambda (_) (cons (cons x 1) ns))
                    (lambda (n)
                      (set-cdr! n (add1 (cdr n)))
                      ns))
               (assq x ns))
              (cdr ls))))))

;; sort-nodes :: [(a . Int)] -> [(a . Int)]
(define (sort-nodes ns)
  (sort ns (lambda (x y)
             (> (cdr x) (cdr y)))))

(define (diff-nodes ms ns)
  (let lp ((ds '()) (ns ns))
    (if (null? ns)
        (sort-nodes ds)
        (lp (let* ((n (car ns))
                   (m (assq (car n) ms)))
              (cons (cons (car n)
                          (- (cdr m) (cdr n)))
                    ds))
            (cdr ns)))))

(define (get-total-score x p)
  (foldr (lambda (n acc)
           (+ (get-score n) acc))
         0
         (filter-nodes (cut p <> x))))

(define (score-loved x)
  (get-total-score x to?))

(define (score-loving x)
  (get-total-score x from?))

(define (score-between x y)
  (+ (score-relation (cons x y))
     (score-relation (cons y x))))

(define (-> x)
  (display (format "~%Links from [~a]~%" x))
  (iter-nodes (fif (cut from? <> x)
                   print-node)))

(define (<- x)
  (display (format "~%Links towards [~a]~%" x))
  (iter-nodes (fif (cut to? <> x)
                   print-node)))

(define (<-> x)
  (display (format "~%Reciprocal links for [~a]~%" x))
  (iter-nodes (fif (cut to? <> x)
                   (lambda (n)
                     (flip-relation n
                                    (lambda (m)
                                      (print-node m n)))))))

(define (<=> x)
  (display (format "~%Reciprocal matches for [~a]~%" x))
  (iter-nodes
   (fif (cut to? <> x)
        (lambda (n)
          (flip-relation n
                         (lambda (m)
                           (if (ormap (lambda (x)
                                        (ormap (lambda (y)
                                                 (equal? x y))
                                               (describe-relation m)))
                                      (describe-relation n))
                               (print-node m n))))))))

(define (<?> x)
  (let ((to (assq x (number-list (from-links))))
        (from (assq x (number-list (to-links)))))
    (display (string-append
              (format "~%Link statistics for [~a]~%"
                      x)
              (format "| ~a => ~a (love ~a)~%"
                      x
                      (cdr to)
                      (score-loving x))
              (format "| ~a => ~a (love ~a)~%"
                      (cdr from)
                      x
                      (score-loved x))))))

(define (info x)
  (for-each (cut <> x)
            (list <- <-> <=> -> <?>)))

;;; GraphViz (http://www.graphviz.org/) support

(define graphviz "C:/Program Files/ATT/Graphviz/bin/dot.exe")

(define (nodes->dot ns)
  (string-append "digraph cute {\n"
                 ;;"\tordering=out;\n"
                 ;;"\trankdir=LR;\n"
                 "\toverlap=true;\n"
                 "\tnode[fontname=\"msgothic.ttc\"];\n"
                 "\tedge[fontname=\"msgothic.ttc\",fontsize=9];\n"
                 (let lp ((str "") (ns ns))
                   (if (null? ns)
                       str
                       (let* ((n (car ns))
                              (s (score-relation n)))
                         (lp (string-append
                              str
                              (format "\t\"~a\" -> \"~a\""
                                      (symbol->name (car n))
                                      (symbol->name (cdr n)))
                              (format "[label=\"~a\",color=\"~a\","
                                      (break-string
                                       (car (describe-relation n))
                                       7)
                                      (cond ((> s 0) "red")
                                            ((= s 0) "green")
                                            (else "blue")))
                              (format "style=\"bold~a\"];\n"
                                      (if (and (not (= s 0)) (< s 1) (> s -1))
                                          ",dashed"
                                          "")))
                             (cdr ns)))))
                 "}"))

(define (write-dotfile dot file)
  (and (file-exists? file) (delete-file file))
  (with-output-to-file file
    (lambda ()
      (display dot)))
  file)

(define (dot->png dot png)
  (call-with-input-file (write-dotfile dot "c-ute.dot")
    (lambda (in)
      (and (file-exists? png) (delete-file png))
      (call-with-output-file png
        (lambda (out)
          (run graphviz "-Tpng" in out)))))
  'done)

;;; Setup database

;; Based on:
;; http://ex23.2ch.net/test/read.cgi/morningcoffee/1188654905/116-142
(begin
  (relate 'maimi 'erika "大好き" 1)
  (relate 'maimi 'kanna "良き妹" 1)
  (relate 'maimi 'airi "良き妹" 1)
  (relate 'maimi 'mai "姉妹" 0)
  (relate 'erika 'maimi "一番可愛いよ" 1)
  (relate 'erika 'kanna "仲間" 0)
  (relate 'erika 'chisato "おソロパジャマ" 0)
  (relate 'kanna 'erika "仲間" 0)
  (relate 'kanna 'maimi "好き" 1)
  (relate 'kanna 'saki "喰ってやるよ" 1)
  (relate 'kanna 'mai "喰ってやるよ" 1)
  (relate 'kanna 'airi "大好き" 1)
  (relate 'kanna 'chisato "愛理に手出すんじゃねぇよ" -1)
  (relate 'saki 'maimi "荷物整理" 0)
  (relate 'saki 'erika "彼氏にしたい" 1)
  (relate 'saki 'kanna "興味がある" 0.5)
  (relate 'saki 'chisato "愛理に手出すんじゃねぇよ" -1)
  (relate 'saki 'airi "好き" 1)
  (relate 'airi 'kanna "受け入れる" 1)
  (relate 'airi 'chisato "最近親密" 1)
  (relate 'mai 'erika "保護者" 0)
  (relate 'mai 'maimi "姉妹" 0)
  (relate 'mai 'chisato "恋人" 1)
  (relate 'chisato 'erika "おソロパジャマ" 0)
  (relate 'chisato 'mai "恋人" 1)
  (relate 'chisato 'airi "最近親密" 1))

;; query relations / draw graphs

(if (file-exists? graphviz)
    (dot->png (nodes->dot (ordered-pairs))
              "c-ute.png")
    (for-each info (all-members)))

追記(グラフ描画について)

Graphviz というソフトによって関係図を可視化できる、ということを教えていただきました(既に上プログラムを実行すると自動的に関係画像を作成するようにしてあります)。ここでは技術的な観点から幾つか注意点を挙げておきます。

まず、Scheme プログラムから Graphviz を動かす方法について。コマンドラインからの起動のように、プログラムへのオプション文字列で入出力ファイルを指定する方法ではどうも上手く行きませんでした。調査の結果、入出力ファイルポートScheme 側で用意しておく必要があるようです。処理系によって異なりますが、PLT Scheme の場合 subprocess という関数を次のように呼び出します。

(subprocess output-port input-port #f "/path/to/dot.exe" "-Tpng")

ここで output-port は png画像ファイルへの出力ポート。input-port は dot ファイルグラフの定義ファイル)の入力ポートです。エラーポートは必要無いでしょう (#f)。

dot という名前の実行ファイルが、関係図のような有向グラフを描画するプログラムです。最後にオプション文字列として出力形式を指定します(png, jpeg, gif, etc.)。

次に dot ファイルScheme で書く方法ですが、以下の基本的な有向グラフの書式

digraph g {
  A -> B;
  B -> C;
  C -> A;
}

を理解すれば、後は実直に Schemeデータを当てはめて format 関数等で変換するだけです。

(string-append
 "digraph g {"
 (format "~a -> ~a;" (car node) (cdr node))
 "}")

問題は、ノードを配置する順番によって出来上がる画像が変わってくる、ということです。

より見た目に分かりやすくするための工夫としては、相互にリンクするノード同士が dot ファイル上でも近接して出力されるようにすると良いでしょう。関連の強いものが画像の上でも近くに表示されるようになります。

また上述(特に例3)のスコア概念を応用し、スコアの低いものが後に出力されるようにすることで、重力感覚に一致するような関係図を得ることができるでしょう。

2007-06-04

[]??Delphihacks??Delphi??Win32API??

Delphi - Wikipedia??Windows開発の決定版 - Delphi(Skype??なでしこ)

タグ「delphi」を含む注目エントリー - はてなブックマーク

Delphiアプリケーションのメモリリーク検出法

Delphiアプリケーションのメモリリーク検出法 (山本隆の開発日誌)

作ろう!コンポーネント Delphi C++Builder

http://www.componentsource.co.jp/features/delphi/

TMS Software | Productivity software building blocks

Components > Effects and Multimedia > Video. Torry's Delphi Pages

Components > Effects and Multimedia > Audio. Torry's Delphi Pages

Components > Effects and Multimedia > Voice. Torry's Delphi Pages

Components > Effects and Multimedia > Direct X. Torry's Delphi Pages

try finally end

CとDelphiの対比表

eXeScope(Windows95/98/Me / ユーティリティ)

Delphi - テクノラティブログ検索

2ch検索: [Delphi]

Delphi-ML〓〓〓〓〓〓〓〓〓〓〓??About Delphi

Delphi Q & A掲示板

Delphi Q & A 〓f〓〓〓〓 〓〓〓〓〓〓O〓〓(HTML〓o〓[〓W〓〓〓〓)

fdelphi.com

Delphi入門

旧 Delphi 入門??Seventh Delphi

Delphiメモ

超ローテクDelphi講座

俺のためのDelphi学習

Delphi はじめの一歩

VB〓〓VC〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓H

Delphi の格言

キーボードからの入力取得

マウスボタンのクリック、マウスの位置情報の取得

ジョイスティックからの入力取得

バッカーへの階段: 入門:キーロガー

テキストファイルを読み書きする

テキストファイルのロードとセーブ

DelphiによるWin32API

Delphi WAVEサウンド音を鳴らす/Tips & Tricks

MIDI、WAVEファイルを再生する

サウンドを読み込んで鳴らす

MIDIを演奏する MCI/midiStream

5分ではじめるDelphi - 第1回 簡単なメディアプレーヤの作成(前編)

MP3プレイヤーを作る>dllによる再生

Controling sound volume from code

Torry's Delphi Pages

lsMicrophone: mxl.dwComponentType :=MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE;

MIXERLINE_COMPONENTTYPE_DST_SPEAKERS

MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT

SwissDelphiCenter.ch : ...set the volume for the microphone/ mute it (enhanced)?

Components > Sound Effects > Mixer. Torry's Delphi Pages

uses MMSystems;

//

PlaySound('C:\WINNT\Media\start.wav', 0, SND_FILENAME or SND_ASYNC);


ビットマップを表示しよう

画像ファイルを指定した位置へ表示

俺Delゲーム応用

画面をキャプチャして表示する

めもニャンだむ

Delphi6でプログラミング ビットマップの半透明コピー AlphaDraw

画像処理プログラミング講座

Graphic Effect

カラー画像をモノクロ画像に変換

procedure TForm1.Button1Click(Sender: TObject);

var

bmp1,bmp2 :TBitmap;

begin

bmp1 :=Tbitmap.Create;

bmp2 :=Tbitmap.Create;

try

bmp1.LoadFromFile('C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color\FINANCE.BMP');

bmp2.LoadFromFile('C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color\FACTORY.BMP');

Form1.Canvas.Draw(10,10,bmp1);

Form1.Image1.Canvas.Draw(10,10,bmp2);

finally

bmp1.Free;

bmp2.Free;

end;

end;


無料版Delphi6でSTGをつくるためのプログラミング講座 Ver.2005 Jan.

Delphiでわずか59KBのオセロを作る方法

めもニャンだむ:BIOS 情報

コンストラクタとデストラクタ

SwissDelphiCenter.ch : ...get the MAC Address?

乱数

DelphiでMD5

もっと楽にGUIとの連携がしたい:Python + Delphi = P4D(Python for Delphi) - ふにゃるん

Delphi WindowsのOSのバージョンを取得する/Tips & Tricks

SourceForge.net: Gecko SDK for Delphi

DelphiでWinSock

SQLite-もげもげ〜

BDS(Delphi/BCB)用SQLiteライブラリ (山本隆の開発日誌)

Application.ProcessMessages

FrontPage - DelphiVIP

SwissDelphiCenter.ch : programming tips

Torry's Delphi Pages

Delphi Tips

Delphi Code Tips

Magic of Delphi4〓z〓[〓〓 〓y〓[〓W

Delphi Win32API/API関数一覧

Delphi〓〓〓Z

クジラ式 Delphi 資料

Delphi〓〓y〓[〓W

サイト移転のお知らせ(Mr.XRAY)

openDelphi.org

KOL and MCKPage

Gen's Delphi Labo.

サイト移転のお知らせ(Mr.XRAY)

ナッキーの「Turbo Delphiはじめて奮戦記」- 第1回 Turbo Delphi のインストール

フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro

フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro

http://torrent.borland.com/turbo_hotfix_rollup.zip

http://torrent.borland.com/prereqs_jp.zip

http://torrent.borland.com/turbodelphi_jp.exe

(1) \dotNETRedist\dotnetfx.exe

(2) \dotNETRedist\langpack.exe

(3) \dotNETRedist\NDP1.1sp1-KB867460-X86.exe

\dotNETSDK\setup.exe

\IE60SP1\ie6setup.exe

\dotNETJSharp\vjredist.exe

\dotNETJSharp\vjredist-このエントリーをはてなブックマークに追加ツイートシェア

2007-03-10

Desperado, why don't you come to your senses

ならず者さん いい加減気付けよ

You've been out ridin' fences,

ずいぶん長い事、塀の見回りだね

for so long - now.

Ohh you're a hard one.

手強い奴だよ

I know that you've got your reasons.

色々わけは、あるんだろうけど

These things that are pleasin'you

お前が、好きでやっていることが、

Can hurt you somehow.

自分の首しめることもあるんだよ

Don't you draw the queen of diamonds boy

ダイアのクイーンをひくのはやめな

She'll beat you if she's able.

お金は、結局お前をダメにする

You know the queen of hearts is always your best bet

頼れるのは、いつだってハートクイーン(愛情)だよ

Now it seems to me, some fine things

オレが見た限り、いいカード

Have been laid upon your table.

君のテーブルにだって、のっかってたんだよ

But you only want the ones

なのに、いつだって君は

That you can't get.

高望み

Desperado,

ならず者さん

Ohhhh you aint getting no younger.

人間、歳はとっていくしかないんだよ

Your pain and your hunger,

その痛みや、満たされない心を抱いて

They're driving you home.

たどり着くのが自分の居場所

And freedom, ohh freedom.

そして、自由、そう自由って奴

Well that's just some people talking.

良く人は口にするけれど

Your prison is walking through this world all alone.

独りこの世界を生きて行くってことが、君の牢屋なのさ

Don't your feet get cold in the winter time?

冬になれば足だって冷たいだろ

The sky won't snow and the sun won't shine.

空から雪も降らないが、太陽も輝かない

It's hard to tell the night time from the day.

夜だか昼だかもよくわからない

And you're losing all your highs and lows

良い思いも、悪い思いもわからなくなる

aint it funny how the feeling goes

変な気分だろ 感情が消えて行くって

away...

Desperado,

ならず者さん

Why don't you come to your senses?

いい加減気付けよ

Come down from your fences, open the gate.

塀から下りて、心のゲートを開けな。

It may be rainin', but there's a rainbow above you.

雨が降っているかもしれないけど。上には、ちゃんと虹が出てるぜ

You better let somebody love you.

誰かに愛されようとしな

(let sombody love you)

(愛されるように)

You better let somebody love you...ohhh..hooo

愛されるように,してみろよ

before it's too..oooo.. late.

手遅れになる前に

 
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん