Updated at 2025.02.05 04:23 PM



(not-categorized)
  1. djx.com.au - このウェブサイトは販売用です! - djx リソースおよび情報 | updated at 2025.02.05 04:27 PM
  2. od|force forums | updated at 2025.02.05 04:25 PM
  3. GIGAZINE | updated at 2025.02.05 04:00 PM
    モジュール式ノートPC「Framework Laptop 13」用のRISC-Vプロセッサ搭載マザーボードが販売開始、価格は199ドル(約3万円) 2025.02.05 04:00 PM
    モジュール式で部品を簡単に交換できるノートPC「Framework Laptop 13」用のRISC-Vプロセッサを搭載したマザーボード「Framework Laptop 13 RISC-V Edition Mainboard」が登場しました。<p><b><a href="https://gigazine.net/news/20250205-framework-laptop-13-risc-v-mainboard/">続きを読む...</a></b></p>
    Comment:
    もう何も信じられないレベルでリアルなディープフェイク動画が作れるByteDanceのAI「OmniHuman-1」が登場 2025.02.05 03:10 PM
    1枚の写真から人が自然に話したり、歌ったり、動いたりするリアルな動画を出力するAIシステム「OmniHuman-1」を中国のByteDanceが発表しました。<p><b><a href="https://gigazine.net/news/20250205-omnihuman-bytedances-ai/">続きを読む...</a></b></p>
    Comment:
    Appleがイベント名や画像を自由に設定して招待状を送信できるアプリ「Appleインビテーション」をリリース 2025.02.05 02:00 PM
    Appleが2025年2月4日に、イベントへの参加依頼を作成して別のユーザーに共有、参加可否の連絡などが可能なアプリ「Appleインビテーション」をリリースしました。<p><b><a href="https://gigazine.net/news/20250205-apple-invite/">続きを読む...</a></b></p>
    Comment:
    地球に衝突するかもしれない小惑星が発見される、衝突確率は77分の1 2025.02.05 01:00 PM
    2024年12月、小惑星地球衝突最終警報システム(ATLAS)の一部であるチリの探査望遠鏡を使用した天文学者たちが、地球に衝突する軌道にあるかもしれない小惑星「2024 YR4」を発見しました。2024 YR4についてわかっていることや地球に衝突する確率などについて、南クイーンズランド大学の天体物理学教授であるジョンティ・ホーナー氏が解説しています。<p><b><a href="https://gigazine.net/news/20250205-asteroid-yr4/">続きを読む...</a></b></p>
    Comment:
    Apple純正のLightning用変換アダプタでDOOMをプレイする猛者が登場 2025.02.05 00:30 PM
    1993年に発売されたFPSの草分け的タイトルである「DOOM」は1997年にLinux版のソースコードが公開されると、レゴブロックやプリンター、カーナビ、スマート芝刈り機、医療用超音波スキャナーなどさまざまな電子機器に移植されてきました。そんなDOOMをApple純正のLightning - Digital AVアダプタでプレイすることに成功した猛者が登場しています。<p><b><a href="https://gigazine.net/news/20250205-doom-running-apple-lightning-hdmi-adapter/">続きを読む...</a></b></p>
    Comment:
  4. 3D映像空間主義 | updated at 2025.02.05 03:28 PM
    Varun Shukla 2025.02.05 03:28 PM
    Varun Shukla Lighting Showreel 2024Varun ShuklaPrayagraj, IndiaVisual Effects / Lighting Artist
    Comment:
    Frank Hanna 2025.02.04 04:29 PM
    Frank Hanna showreel2_2024Frank HannaUnited KingdomVisual Effects / Editor
    Comment:
    Valerio Donati 2025.02.03 04:15 PM
    Valerio M. Donati Showreel 2024Valerio DonatiRome, ItalyVisual Effects / 3D Artist
    Comment:
    Jeffrey Kaplan 2025.02.02 03:38 PM
    Jeff Kaplan . Demo ReelJeffrey KaplanLos Angeles, CA, USAVisual Effects / Digital Artist
    Comment:
    mental dRive studio 2025.02.01 04:03 PM
    mental dRive studio VFX showreel 2024mental dRive studioKyiv, UkraineVisual Effects / 3D Animation / Motion Graphics
    Comment:
  5. The Keyword The Official Google Blog | updated at 2025.02.05 02:00 PM
    $15 million to support hands-on cybersecurity education 2025.02.05 02:00 PM
    <img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/cybersecurity_hero.max-600x600.format-webp.webp">Announcing the universities selected for support from the Google.org Cybersecurity Seminars program.
    Comment:
    Responsible AI: Our 2024 report and ongoing work 2025.02.05 02:15 AM
    We’re publishing our 2024 Responsible AI Progress Report and updating our Frontier Safety Framework and AI Principles.
    Comment:
    Calling all creators: .channel is now available for registration 2025.02.05 01:00 AM
    <img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Blog_1920x1080.max-600x600.format-webp.webp">Google Registry, the domain registry behind some of the internet’s most popular (.app) and fun (.meme) new top-level domains, is launching .channel today.Designed specif…
    Comment:
    Q4 earnings call: CEO’s remarks 2025.02.04 10:46 PM
    Read Google and Alphabet CEO Sundar Pichai's remarks from the Q4 2024 earnings call.
    Comment:
    A fellowship at the intersection of tech and education 2025.02.04 01:48 AM
    <img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/GSV-Fellowship.max-600x600.format-webp.webp">The Google GSV Education Innovation Fellowship’s Digital Lookbook showcases the first group of fellows and their work.
    Comment:
  6. はてなブックマーク - 人気エントリー - 総合 | updated at 2025.02.05 00:55 PM
    所属タレントの活動自粛について | お知らせ | 吉本興業株式会社 2025.02.05 00:55 PM
    弊社所属の一部タレントにつきまして、コンプライアンス違反の疑いがあることが判明したため、現在、外部弁護士等を交え、事実関係を調査中でございます。
    Comment:
    安住委員長、国民民主1回生を一喝 「制服組」出席巡り 衆院予算委 | 毎日新聞 2025.02.05 00:52 PM
    衆院予算委員会の5日の審議で、「制服組」と呼ばれる現役自衛官を国会答弁に呼ぶことを求めた国民民主党の橋本幹彦氏を、安住淳委員長(立憲民主党)が厳しく注意する一幕があった。 質問に立った橋本氏は、事前に複数の制服組幹部の予算委出席を求めたが、制服組は戦後一度も答弁に立った例はないとして、同委理事会で...
    Comment:
    僕の好きな弩すけべブロンズ像 2025.02.05 00:40 PM
    国会図書館のアプローチのとこのやつ裸に前を開けたジャケット1枚の女が座ってるやつ。 股間は手で隠れてて見えないんだけど、片乳だけジャケットの隙間から見えるようになってる。 横に座って左手を銅像の左肩に回し右手で銅像の左乳を揉むポーズはインスタ映えする。 東京家裁1回ロビーのやつちゃんと服も着てるし猥褻...
    Comment:
    米グーグルの倫理規範、「兵器にAIを使用せず」の文言を削除 2025.02.05 00:27 PM
    米グーグルの倫理規範が改定され「兵器にAIを使用せず」としていた文言が削除された/David Paul Morris/Bloomberg/Getty Images ニューヨーク(CNN) 米グーグルが人工知能(AI)の使用に関する倫理規範を改定し、「兵器や監視活動にAIを使用しない」としていた文言を削除した。 改定前の倫理規範には、兵器な...
    Comment:
    吉本興業、“所属タレントの活動自粛”を発表「コンプライアンス違反の疑い」 2025.02.05 00:25 PM
    吉本興業は5日、公式サイトで、所属タレントの活動自粛を発表した。 同サイトでは「弊社所属の一部タレントにつきまして、コンプライアンス違反の疑いがあることが判明したため、現在、外部弁護士等を交え、事実関係を調査中でございます」とし、「このため、事実関係等が確定するまでの間、一部タレントは活動を自粛す...
    Comment:
  7. たつをの ChangeLog | updated at 2025.02.05 11:30 AM
    節分なので鬼オンフライを食べました 2025.02.02 11:59 PM
    節分なので我が家ではモスの鬼オンフライを食べました。 「オニオン」と「鬼」をかけたダジャレメニューです。 予想通りに大満足! [鬼オンフライ] 【MOS】いつも脇役のオニ(鬼)オンフライが“節分の日”は主役に!「鬼盛りオニオンフライ」を節分に合わせて3日間限定販売 | 株式会社モスフードサービスのプレスリリース 一応恵方巻きも。 ローストビーフの恵方巻きというのを買ってきて、切って家族で食べました。 丸齧りはしません(そもそも食べにくいから)。 [ローストビーフの恵方巻き]
    Comment:
    京都府庁旧本館とレトロなカフェ(京都) 2025.02.02 11:59 PM
    京都府庁旧本館はその名のとおり京都府庁の本館として100年以上前に建てられた西洋建築様式の歴史的建築物です。一般公開されてて自由に見学できるとのことで、日帰り出張(1/31)の際に寄ってみました(出張での訪問先が近くだったので)。 [京都府庁旧本館] 空襲の被害がなかったので、そのまんま残っているんですよね。レンガの外観、アーチ型の窓、ガラスも当時のかな、映画に出てきそうな木製の階段。いくつかの部屋は実際に府庁の一部として使われています。実働してる建築遺産、みたいな感じ。写真映えするレトロな雰囲気です。 重要文化財 京都府庁旧本館/京都府ホームページ 1階の角に「前田珈琲」が運営するカフェ「salon de 1904」があります。そこでちょっと一休み。家具がアンティーク。実際に府庁で使われていたものもあるそうです。 [京都府庁旧本館] 来年も京都に来ることになりそうなので、また旧本館&カフェを訪れたいと思います。素敵すぎる! salon de 1904(前田珈琲公式サイト)旧本館カフェ「salon de 1904」(京都府公式サイト)
    Comment:
    【ヲハニュース 2025年2月1日号】「赤と青のガウン」が漫画化、NGワードの雑な判定による誤マッチ、説明をよく読まないとほんとに危険、など 2025.02.01 11:59 PM
    2025年2月1日のヲハニュースをお届けします。 赤と青のガウン - 原作:彬子女王/漫画:池辺葵 / 第1話 | くらげバンチ あら、マンガ化。 アニメ化、ドラマ化もくるか。 「パートナーの食への謎のこだわりが強くてご飯で苦戦しています」に対するリュウジさんの回答がとても大事だった話 「食へのこだわりが強い方が作る」 電子書籍の表現規制が厳しくなり、「カロリー」が引っかかって配信停止に→特定ワードが機械的に弾かれるから間違い探しみたいになってるらしい ああ、低レベル。 最低限の対策はこのへんが参考になるかも? 複数ワードを入力テキストにマッチさせる際に形態素解析を使い誤マッチ減少 逆に、すべてのローカルLLMは開発元をOpenAIだと思い込んでいる説 あは お前はVimとEmacsから逃げられない - Qiita 前世紀からEmacs派 まるでプラモデルが書いたようなAmazonレビューだとネタにしていたら...→「これは購入者がガチで間違えて使っているっぽいので笑い事じゃ済まない」 説明をよく読まないと危険、という話か 「これは有能」「会議に行きたくなる」 会社によくあるラベルライター「テプラ」を使ったアイデアが試してみたくなる セブンのコーヒーマシンを思い出す 《中居とBBQ報道のなか》鶴瓶 スシローのホームページから突如削除で波紋…広報が明かした「経緯」 | 女性自身 このご時世、放っておくと、義憤に駆られる人に「毒入れる!」などの犯行予告されて全店一時閉鎖とかなるかもだしねえ…… 仮想通貨で儲かったら税務調査された|ロンちゃん ふむ とほほの退職入門 - とほほのWWW入門 定年退職も近づいてきたことから、退職金、年金、雇用保険、健康保険等について整理してみました。
    Comment:
    【日記】平日ランチメモ(2025/1/27-31) 2025.01.31 11:59 PM
    今週の平日のランチの記録。 [平日ランチ] 1/27(月) みそ煮込みうどん寿がきやのみそ煮込みうどんを土鍋で作って食べる1/28(火) 中華広尾「麺飯食堂 ひら匠」[2016-09-07-2]ランチセット1/29(水) ジャークチキンなど武蔵小山「アマラブ (AM-A-LAB)」[2024-12-11-2]ジャークチキン&ポークコンボ1/30(木) サラダランチ武蔵小山「HAGARE」[2024-12-02-1]本日のサラダ(サラダセット)1/31(金) オムライスイノダコーヒー(京都)[2025-01-31-1]オムライス!
    Comment:
    狛犬ならぬ狛イノシシがいる護王神社(京都) 2025.01.31 11:59 PM
    日帰り京都出張で訪問先の近くにあった神社。狛犬ならぬ狛イノシシがいます。かいけつゾロリか!?イシシとノシシなのか!? [護王神社 京都 イノシシ] [護王神社 京都 イノシシ] なお、perplexity に「京都の護王神社には狛犬のかわりに狛イノシシがいますが、これはかいけつゾロリのキャラクター、イシシとノシシのモデルなのでしょうか?」と聞いてみたのですが、特に関係はない模様。どこかで誰かが考察してそうですが、ネットで検索してもすぐには見当たらず。こんなあからさまなのに、誰も言及してないはずはないんだけど謎です。 [護王神社 京都 イノシシ] 京都御所西 護王神社 | Goou Jinja Shinto Shrine | 京都御所の西側、蛤御門の向かいに鎮座する護王神社のホームページです。
    Comment:
  8. Motionographer® | updated at 2025.02.05 06:32 AM
    From Korea to the World: The Success of ‘PotenDogs’ 2025.02.05 06:31 AM
    <p>This highly acclaimed Korean animated series, ‘PotenDogs’, from Seoul’s RetroBot Animation Studios and San Antonio’s Man Smiling Moving Pictures, has been called a standout discovery of the year by Jeremy Dickson of Kidscreen. The series has captivated global audiences with its unique storytelling, vibrant animation, and heartfelt characters, showcasing the growing influence of Korean animation... <a class="excerpt-read-more" href="https://motionographer.com/news/from-korea-to-the-world-the-success-of-potendogs/" title="Read From Korea to the World: The Success of ‘PotenDogs’">Read more »</a></p> <p>The post <a href="https://motionographer.com/news/from-korea-to-the-world-the-success-of-potendogs/">From Korea to the World: The Success of ‘PotenDogs’</a> appeared first on <a href="https://motionographer.com">Motionographer®</a>.</p>
    Comment:
    Extraweg – Oliver Latta | Severance – Opening Title Sequence: Season 2 2025.02.05 00:43 AM
    <p>The post <a href="https://motionographer.com/quickie/extraweg-oliver-latta-severance-opening-title-sequence-season-2/">Extraweg – Oliver Latta | Severance – Opening Title Sequence: Season 2</a> appeared first on <a href="https://motionographer.com">Motionographer®</a>.</p>
    Comment:
    Qais Sarhan | Alwan 2025.02.04 08:58 PM
    <p>The post <a href="https://motionographer.com/quickie/qais-sarhan-alwan/">Qais Sarhan | Alwan</a> appeared first on <a href="https://motionographer.com">Motionographer®</a>.</p>
    Comment:
    Wild – Dan Symons | Shopify – Premium Fashion Trends 2025.02.04 08:29 PM
    <p>The post <a href="https://motionographer.com/quickie/wild-dan-symons-shopify-premium-fashion-trends/">Wild – Dan Symons | Shopify – Premium Fashion Trends</a> appeared first on <a href="https://motionographer.com">Motionographer®</a>.</p>
    Comment:
    Hiroshi Takagishi | Odd 2025.02.04 07:18 AM
    <p>The post <a href="https://motionographer.com/quickie/hiroshi-takagishi-odd/">Hiroshi Takagishi | Odd</a> appeared first on <a href="https://motionographer.com">Motionographer®</a>.</p>
    Comment:
  9. セキュリティホール memo | updated at 2025.02.05 00:00 AM
    Chrome Stable Channel Update for Desktop 2025.02.05 00:00 AM
    Comment:
    Firefox 135.0 / ESR 128.7.0 公開 2025.02.05 00:00 AM
    Comment:
    Chrome Stable Channel Update for Desktop 2025.01.30 00:00 AM
    Comment:
    いろいろ (2025.01.30) 2025.01.30 00:00 AM
    Comment:
  10. BlenderNation | updated at 2025.02.04 05:28 PM
    Quickly Model a Door in Blender 4.2 2025.02.04 09:45 PM
    Widhi Muttaqien shows how to quickly model a door complete with the frame, leaf and handle, using Blender 4.2. <p><a href="https://www.blendernation.com/2025/02/04/quickly-model-a-door-in-blender-4-2/" rel="nofollow">Source</a></p>
    Comment:
    Realistic Rural Agriculture Farm Ranch 3D Environment Assets [$] 2025.02.04 05:26 PM
    This is a quick start Realistic agricultural farmland 3d assets and props for realistic rural environment renders. It will radically speed up concept development, freelance art look-dev or environment building. Included: A standard file - where you have to append the models to bring them in, or link then dynamically. An asset browser file - [...] <p><a href="https://www.blendernation.com/2025/02/04/realistic-rural-agriculture-farm-ranch-3d-environment-assets/" rel="nofollow">Source</a></p>
    Comment:
    Blender Geometry Nodes – Boats: A Procedural Approach to Shipbuilding [$] 2025.02.03 04:34 PM
    Neil from 3D Tudor introduces his geometry node Jedi's new course - 'Blender Geometry Nodes – Boats', bringing node-powered shipbuilding straight to your screen. Why spend hours on repetitive modeling tasks when you can procedurally generate entire fleets in minutes? 'Blender Geometry Nodes – Boats' lets you fine-tune boat details—like seats and UV mapping—without redoing [...] <p><a href="https://www.blendernation.com/2025/02/03/blender-geometry-nodes-boats-a-procedural-approach-to-shipbuilding/" rel="nofollow">Source</a></p>
    Comment:
    Short Film: The Lost Tower 2025.02.02 09:15 PM
    Florent Rebrun created this fantastic short film in Blender. The music, a collaboration with Louis Lacoste, reinforces the Ghibli-like atmosphere. It's a fantastic production, and I'm left wanting to see more! <p><a href="https://www.blendernation.com/2025/02/02/short-film-the-lost-tower/" rel="nofollow">Source</a></p>
    Comment:
    Behind the Scenes: Pennywise 2025.02.01 01:55 AM
    Bennie, a self-taught 3D artist from South Africa, shares how he brought Pennywise to life using Blender, blending creativity and technical skill to craft this iconic character. INTRODUCTION Hello everyone, My name is Bennie, and I’m a self-taught 3D artist, born and raised on South African soil. I live in a country rich in history, [...] <p><a href="https://www.blendernation.com/2025/01/31/behind-the-scenes-pennywise/" rel="nofollow">Source</a></p>
    Comment:
  11. | updated at 2025.02.04 05:21 PM
  12. | updated at 2025.02.04 04:01 AM
  13. | updated at 2025.02.04 04:01 AM
  14. わたしが知らないスゴ本は、きっとあなたが読んでいる | updated at 2025.02.03 00:00 PM
    めちゃくちゃ笑った後で「美とは何か?」「ホンモノとは?」と悩まされる『モナ・リザのニスを剥ぐ』 2025.02.03 00:00 PM
    「チェーホフの銃」という小説技法があるが、これは大砲だった。 「序盤で銃を出し...
    Comment:
    あなたの推しを熱く語る読書会(テーマ:愛と憎しみ)2/8(土)にやります 2025.01.25 03:10 PM
    好きな本を持ち寄って、まったり熱く語り合う読書会、それがスゴ本オフ。本を介して人...
    Comment:
    傑作を名訳で『アメリカン・マスターピース 準古典篇(柴田元幸翻訳叢書)』 2025.01.20 00:00 PM
    名作オブ名作。 単に素晴らしい作品と称されるだけでなく、時代を超え場所を超え、...
    Comment:
    統計の「正しさ」とは何か『統計学を哲学する』 2025.01.12 00:00 PM
    確率・統計についてモヤモヤしているこの感覚、伝わるだろうか。 コイン投げで喩え...
    Comment:
    映画の意味を理解する『映画分析入門 Flim Analysis』 2025.01.05 00:00 PM
    『時計じかけのオレンジ』より 観た人なら思い出したくもないあの嫌なシーンだが、観...
    Comment:
  15. マジカントシグナル - FC2 BLOG パスワード認証 | updated at 2025.02.01 02:27 PM
  16. Chikirinの日記 | updated at 2025.01.31 03:47 PM
    アートとはリミッターを外すコト 2025.02.03 00:49 PM
    2025年の1月は、とってもユニークな(ふたつの)アート展に行ってきました。 そこで痛感したのは、「アートというのはリミッターを外すことなんだな」という、当たり前っちゃ当たり前なことの再認識でした。まずはこれらのアート展、どちらも「舞台」がとてもユニークなのです。ひとつめはこちら。代官山です。外から見るとふつーのビルですよね。もうすぐ取り壊される予定の、築年数のかなり長いマンションです。 普通の外見と異なり、中に入るとたとえばフロアの廊下がこんな感じ こちらは別のフロアの廊下。各フロア、イメージが違うので移動するたびワクワクします。 ひとつのフロアには向かい合わせに4つずつ、合計8個くらいの部…
    Comment:
    パラドール旅@スペイン 2025.01.15 01:03 AM
    今年の秋はヨーロッパの田舎を巡ってきました。 特にスペインでは、あちこちのパラドールに宿泊しながらの旅で、その美しさに感激しっぱなしでした。パラドールってどんな宿泊施設なのか、イメージの湧かない方もいらっしゃると思うので、今日は各地のパラドールの写真をまとめておきます。パラドール@メリダ入り口 入り口前の風景 入ってすぐのロビー カフェになってる中庭 中のデコレーションも素敵すぎる お部屋はこんな感じ パラドール@プラセンシア入るとすぐに中庭が見えます。 夜の中庭はさらに素敵! 食堂 ロビーや 階段も素敵 お部屋はジュニアスイートでした。 パラドール@サマランカこちらのパラドールはかなり近代的…
    Comment:
    ずっと国内を旅行してたコロナ時代の記録 2025.01.13 11:47 PM
    ようやくこのタイトルでブログを書こうと思えるようになりました。最近は「あの頃」のコトなどすっかり忘れ「以前と同じ旅三昧の生活」を謳歌している私ですが、ふと振り返るとあまりに異常だったあの時期について、きちんと記録しておかねばと考えました。コロナ騒ぎが始まったのは2020年の 3月。クルーズ船乗客のコロナ集団感染のあたりではまだ他人事だった多くの国民も、3月末に志村けんさん、4月下旬に岡江久美子さんが亡くなるといっきに危機感が高まり、ついには「緊急事態宣言」が発出されるに至ります。 2020年4月7日 首都圏+関西圏など 7都道府県に緊急事態宣言発出(安倍総理が会見) 2020年6月 北陸ドライ…
    Comment:
    ファミレス高額メニュー食べ歩き 2025.01.03 06:32 PM
    2024年の12月、各ファミレスが高級メニューを提供していたので、比較のため各社食べ歩いて見ました。それぞれについて(超個人的な)レビューをしておきます! ※あくまで個人の感想ですよー まずは「もっとも美味しかったコース」味だけでいえば、三國シェフプロデュースのデニーズのコースがもっとも美味しかったです。しかもどれもそこそこ手の込んだ一品です。 ファミレスというよりレストランっぽい料理がでてきて驚きました。たとえば下記、奥のタマゴの乗ったサラダは他では食べたことのない食感だったし、下記、メインの付け合わせの野菜も珍しい。「とりあえず人参とポテト」みたいなチョイスではありません。 ハンバーグソー…
    Comment:
    サラマンカ(スペイン)のミュージアム紹介 2024.11.15 08:22 AM
    どこに行っても「すきあらば美術館巡り!」をしている私。 今回、スペインのサラマンカでも、5つのミュージアムを訪ねてみました。今後、サラマンカに行かれる方の参考になるかもしれないので、まとめておきますね。 現代アートミュージアム この映像作品はかなりよかったです! ↓ 実はこの建物、以前は牢獄だったとのことで、一部が残されていました。 展示品、悪くないですが、現代アートはやっぱり東京やNYといった先進国大都市のほうが圧倒的にクオリティは高いです。 カテドラル付属のミュージアム サラマンカのカテドラルの入場券があれば無料で入場できます。 こじんまりしていますが、さすがザ・カトリック国のキリスト教関…
    Comment:
  17. 株式会社モックス | updated at 2025.01.28 04:11 PM
  18. | updated at 2025.01.27 05:48 AM
  19. | updated at 2025.01.26 06:18 PM
  20. | updated at 2025.01.26 06:18 PM
  21. J-Tokkyo.com J-Tokkyo.com | updated at 2025.01.21 03:51 PM
    Bisnis Berkelanjutan: Kunci Kesuksesan Jangka Panjang 2025.01.21 03:51 PM
    <p>Di tengah meningkatnya kesadaran akan pentingnya menjaga kelestarian lingkungan dan sosial, konsep bisnis berkelanjutan menjadi semakin relevan. Bisnis berkelanjutan tidak…</p> <p>The post <a href="https://www.j-tokkyo.com/bisnis-berkelanjutan-kunci-kesuksesan-jangka-panjang/">Bisnis Berkelanjutan: Kunci Kesuksesan Jangka Panjang</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
    Fitur dan Simbol Pengaruh Jackpot Slot Online 2025.01.06 06:40 AM
    <p>  Fitur dan simbol Slot online merupakan salah satu ciri khas permainan kasino yang paling digemari di seluruh dunia, baik…</p> <p>The post <a href="https://www.j-tokkyo.com/fitur-dan-simbol-pengaruh-jackpot-slot-online/">Fitur dan Simbol Pengaruh Jackpot Slot Online</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
    Mengenal Sistem Deposit Canggih Dari Layanan Slot Online 2024.12.19 10:45 AM
    <p>Kemajuan teknologi tidak hanya mengubah cara kita berkomunikasi, tetapi juga menciptakan inovasi dalam industri perjudian online, khususnya layanan slot online.…</p> <p>The post <a href="https://www.j-tokkyo.com/mengenal-sistem-deposit-canggih-dari-layanan-slot-online/">Mengenal Sistem Deposit Canggih Dari Layanan Slot Online</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
    Strategi Gacor dalam Bermain Crash Game Online 2024.12.06 09:24 PM
    <p>Strategi gacor Crash game adalah salah satu jenis permainan kasino online yang semakin populer di kalangan pemain. Permainan ini menawarkan…</p> <p>The post <a href="https://www.j-tokkyo.com/strategi-gacor-dalam-bermain-crash-game-online/">Strategi Gacor dalam Bermain Crash Game Online</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
    Game Mobile yang Bisa Membantu Kamu Dapat Uang: Mulai Bermain Sekarang! 2024.11.20 11:45 AM
    <p>Bermain game di ponsel tidak hanya menyenangkan, tetapi juga bisa menjadi cara yang menguntungkan untuk menghasilkan uang. Dunia game mobile…</p> <p>The post <a href="https://www.j-tokkyo.com/game-mobile-yang-bisa-membantu-kamu-dapat-uang-mulai-bermain-sekarang/">Game Mobile yang Bisa Membantu Kamu Dapat Uang: Mulai Bermain Sekarang!</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
  22. | updated at 2025.01.21 04:23 AM
  23. Physics-Based Animation | updated at 2025.01.13 09:59 AM
    A Hybrid Lagrangian–Eulerian Formulation of Thin-Shell Fracture 2025.01.13 09:59 AM
    L. Fan, Floyd M. Chitalu, Taku Komura The hybrid Lagrangian/Eulerian formulation of continuum shells is highly effective for producing challenging simulations of thin materials like cloth with bending resistance and frictional contact. However, existing formulations are restricted to materials that do not undergo tearing nor fracture due to the difficulties associated with incorporating strong discontinuities […]
    Comment:
    Neural Garment Dynamic Super-Resolution 2024.12.04 03:59 AM
    Meng Zhang, Jun Li Achieving efficient, high-fidelity, high-resolution garment simulation is challenging due to its computational demands. Conversely, low-resolution garment simulation is more accessible and ideal for low-budget devices like smartphones. In this paper, we introduce a lightweight, learning-based method for garment dynamic super-resolution, designed to efficiently enhance high-resolution, high-frequency details in low-resolution garment simulations. […]
    Comment:
    Analytic rotation-invariant modelling of anisotropic finite elements 2024.12.04 03:54 AM
    Huancheng Lin, Floyd M. Chitalu, Taku Komura Anisotropic hyperelastic distortion energies are used to solve many problems in fields like computer graphics and engineering with applications in shape analysis, deformation, design, mesh parameterization, biomechanics and more. However, formulating a robust anisotropic energy that is low-order and yet sufficiently non-linear remains a challenging problem for achieving […]
    Comment:
    Neural Implicit Reduced Fluid Simulation 2024.12.03 03:07 AM
    Yuanyuan Tao, Ivan Puhachov, Derek Nowrouzezahrai, Paul Kry High-fidelity simulation of fluid dynamics is challenging because of the high dimensional state data needed to capture fine details and the large computational cost associated with advancing the system in time. We present neural implicit reduced fluid simulation (NIRFS), a reduced fluid simulation technique that combines an […]
    Comment:
    MiNNIE: a Mixed Multigrid Method for Real-time Simulation of Nonlinear Near-Incompressible Elastics 2024.12.03 03:04 AM
    Liangwang Ruan , Bin Wang, Tiantian Liu, Baoquan Chen We propose MiNNIE, a simple yet comprehensive framework for real-time simulation of nonlinear near-incompressible elastics. To avoid the common volumetric locking issues at high Poisson’s ratios of linear finite element methods (FEM), we build MiNNIE upon a mixed FEM framework and further incorporate a pressure stabilization […]
    Comment:
  24. hiroyukikojima’s blog | updated at 2025.01.10 08:09 PM
    『せいすうたん1』は数の宝石箱 2025.01.12 09:25 PM
    今回は、関真一朗・小林銅蟲『せいすうたん1』日本評論社を紹介しよう。これはまるで、数の宝石箱のようなすばらしい本だ。 その前に、前回にも行った、ぼくが講義する市民講座の紹介を今回もやっておきたい。 早稲田エクステンションセンター 中野校 世界は数でできている~無理数から理解する株からカオス理論まで 全3回 2015年 02/07, 02/14, 02/21 (すべて金曜日) 15:05~16:35 (講義概要) 皆さんは、ルート2(2の平方根)やπ(円周率)やe(ネピア定数)などの無理数をご存じでしょう。しかし同時に、これらの無理数は私たちの生活とは無縁なものと思っておられるでしょう。この講義…
    Comment:
    再び、東大駒場の講義から稀代の名著が誕生 2024.12.22 09:47 PM
    今回は、三枝洋一『数論幾何入門』森北出版を紹介したい。この本は一言で言えば、保型形式と楕円曲線についての入門書なのだが、とんでもなくわかりやすく書かれている。まえがきによれば、「東京大学教養学部前期課程の全学自由研究ゼミナールで大学1・2年生を対象に行った講義をもとにしたもの」ということだ。このような講義から生まれた奇跡の名著に、久賀道郎『ガロアの夢~群論と微分方程式』ちくま学芸文庫がある。この本に匹敵する本はもう出てこないだろうと思っていたが、なんと、再来したのだね。 その前に、例によって、ぼくが市民講座で行う講義の宣伝をしておきたい。 早稲田エクステンションセンター 中野校 世界は数ででき…
    Comment:
    突然、束論に目覚めた 2024.11.02 07:09 PM
    前回のエントリーからずいぶん時間が空いてしまった。大学では特任教授になって、講義コマ数と出勤日数が減ったから大きな余裕ができるはずだったのだが、新しい仕事が入ったり、共同研究が増えたりして、逆に忙しくなってしまったのだ。それでブログの更新がなかなかできないでいる。 忙しいと言っても、数学の勉強だけは継続的に続けている。やっぱり、数学が心底好きなんだよね。以前には知らなかった数学を、新たに理解することはとても大きな効用をもたらしてくれる。今ではもう、数学で一旗揚げるなんていう野心はみじんもなくなったけど、生きているうちにできるだけ、興味を持った数学を勉強したい。 というわけで今回は、今勉強してい…
    Comment:
    現在は、バブルや否や 2024.08.29 09:14 PM
    先週の月曜日、8月5日に株価の4451円の暴落が起きた。その前に8月2日にも2216円の下落となっているので、合計するとすさまじい値下がりだ。これを日銀の利上げや植田総裁の発言のせいだと非難する人たちもいるし、単なる短期的な調整と見る投資関係者もいる。現在の株価がいわゆる「バブル」でこれからも暴落を続けるのだろうか。それとも、そんなことはなく、再び安定したり上昇軌道に戻るのだろうか。もちろん、ぼくにはどっちだか判断がつかない。つくはずがない。(確実な判断がつくぐらいなら、こんなブログを書く暇に、株を買うか空売りするかしてるがな。笑)。判断はつかないが、もしも現在が「バブル」であるなら、それはと…
    Comment:
    とにかく、三度の飯よりフェルマーが好きだった 2024.08.03 04:40 PM
    今回は、昔話を書こうと思う。 少年の頃は、とにかく数学者フェルマーが好きだった、という話だ。 その話の前に前回に続いて、市民講座の宣伝をば。 生涯学習の市民講座である早稲田エクステンションセンターでぼくがレクチャーする一般人向けの夏期講習。それは、「素数の話」というタイトルで、8/31(土曜), 9/7(土曜)の2回講座となっている。講義概要は、以下。 素数は、1と自分自身以外では割り切れない整数です。2、3、5、7、11、13、17、19・・・というようにとても不規則に並んでいます。素数の研究は紀元前のギリシャから始まり、2千年以上もの長い間、数学者たちを虜にしてきました。今でも新しい発見が…
    Comment:
  25. 英語ニュースを読んでみよう | updated at 2024.12.13 09:41 AM
    sakura Internetの「英語ニュースを読んでみよう」ホームページについて 2024.12.13 09:41 AM
    遅くなりましたが、Sakura InternetのHPのURLが変わっていますので、お知らせします。​英語ニュースを読んでみよう​毎日更新していますので、見に来てください!!
    Comment:
    新「英語ニュースを読んでみよう」HPも順次更新していきます 2020.11.03 06:13 PM
    先日の​「英語ニュースを読んでみよう」(フリーのHP)​のftp障害をきっかけに立ち上げた​有料レンタルサーバー(sakura internet)のHP​ですが、今後はこちらも順次更新していくこととします。これら2つのHPは作...
    Comment:
    sakura internetの「英語ニュースを読んでみよう」HP移設について 2020.11.03 06:08 PM
    久々の投稿です。すでに過去記事のリンクは更新しましたが、sakura internetに設置、運営しているHPは、サーバーのグレードアップに伴い、urlを変更いたしました。新URLは  https://readenglishnews.skr.jpです...
    Comment:
    sakura internetの「英語ニュースを読んでみよう」HPの更新自動化! 2020.11.03 05:48 PM
    10月半ばにsakura internetに移設した​「英語ニュースを読んでみよう」​HPですが、11月半ばより更新の自動化を行っています。一日1回かそれ以上の更新頻度で更新していますので、最新のニュースをいつでも読むこ...
    Comment:
    外部サイト「英語ニュースを読んでみよう」は携帯端末対応しました 2020.11.03 05:44 PM
    前回お知らせの通り、sakura internetに設置している​​「英語ニュースを読んでみよう」HP​​は、旧来のHTMLテンプレートから、携帯端末とPCの両方に対応できるテンプレートに変更し、構成も一新しました。これから...
    Comment:
  26. LOU ROMANO | updated at 2024.11.19 01:46 PM
  27. 床井研究室 | updated at 2024.09.03 01:27 PM
    第5回 座標変換 2024.09.03 01:27 PM
    Comment:
    視線と三角形の交差判定 2023.12.05 08:31 AM
    Comment:
  28. カメヲラボ | updated at 2024.07.17 10:34 PM
    大規模データセットのためのアルゴリズムとデータ構造 2024.07.17 10:34 PM
    とても良い本が出ます 概要 構成 第1部:確率的で簡潔なデータ構造 第2部:ストリーミングデータ構造とアルゴリズム 第3部:外部記憶データ構造とアルゴリズム 具体的なコードは少な目 参考文献がしっかり書いてある 数式は最低限 図がモリモリ 翻訳版特有の情報 内容的な修正 カタカナ表記 検索のしやすさ 読む際のリズム 表現について 訳注について 音引きについて いきなりでごめんなさい(誤植情報) とても良い本が出ます 大規模データセットのためのアルゴリズムとデータ構造作者:Dzejla Medjedovic,Emin Tahirovic,Ines Dedovicマイナビ出版Amazon 『大規模…
    Comment:
    線形計画法のテスト問題(netlib)を読み込んで解いてみる 2023.07.04 00:25 AM
    背景と概要 去年くらいからLPソルバを自分で書いてみたりしているのだけど、性能を評価するためのテストケースをどうしようかと思ってWeb検索したりAIに相談したりを何度も繰り返して結局どうしてよいかわからないという状況が続いている。どこかで公開されていたらそれを使うのがベストなのだと思うけど…😖— Ozy (@ozy4dm) 2023年7月3日 線形計画法のテスト問題が欲しいー!とつぶやいたところ、 まずは古くから使われていて小規模な問題が多い netlib がおすすめです.(ダウンロードは面倒)https://t.co/nPH32zGEHAMittelmann 先生が公開しているのは,netl…
    Comment:
    競プロ日記013: 日立北大コンの表彰式&意見交換会 2023.03.05 10:22 PM
    Hokkaido University Contest 2022(日立北大コン)のB問題の成績で(ギリギリ)お呼ばれして、参加することができました。 経緯 意見交換会で発表しませんか? オンラインで視聴できるかなーという程度で考えていたのですが、2月27日になって「意見交換会ご講演依頼」というメールが届きました。表彰式と意見交換会の3月3日まで結構日が迫っている中でのメールということで、「もしかして人がいなくて人数合わせ的な!?」と思ったりもしましたが、せっかくなので発表の機会をいただくことにしました。 最後とか…
    Comment:
    ショートコーディング完結編 2023.02.11 07:52 PM
    はじめに Fractal X 問題概要 基本的な考え方 main再帰と基本短縮 マクロの出番が来た! Big Fibonacci Number 問題概要 Cにはきつい問題 基本的なアイデア 変数について 計算方法について 周期性を利用できるか 最短コードに向けて まず計算量を落とす 消費メモリを少なくする 偶奇の分岐を無くす マクロを活用する 至高の129B ショートコーディング完結編 ここから感想文です。 無知が原動力 記事も本も書かないのか 本当に完結なのか というわけで おまけ はじめに ショートコーディングという本を書いてから、16年近く経ちました。当時のスキルを思えば120%の力で書…
    Comment:
    競プロ日記012: AHC017の解法解説 2023.02.07 07:15 AM
    AHC017 最終50位(暫定49位: 40.3G / 50.0G)の解法 THIRDプログラミングコンテスト2022(AHC017)の解法と,約一週間のコンテスト期間のアプローチについて解説(というか記録)しておきます.ヒューリスティック系コンテストの初心者・中級者や未来の自分の役に少しでも役立てばと思います. 問題の概要 N地点と,各地点を結ぶM個の道があります.この道のいくつかを補修工事するのに通行止めする必要がありますが,そうなると移動が不便になり,不満度が上がります.不満度はある地点から他の地点を移動する際の移動距離が増えるほど大きくなります.工事を行う日数Dと,一日に工事できる(通…
    Comment:
  29. Life is beautiful | updated at 2024.04.13 10:09 PM
    メルマガへの移動のお知らせ 2024.04.13 10:09 PM
    最近、このブログへのアクセスが急に増えているので、書いておきますが、このブログの更新は2018年で止まっており、その後の情報発信は、すべて、メルマガ「週刊 Life is beautiful(月額880円)」で行っているので、新しい情報は、...
    Comment:
    NTTの株価総額が世界一だった時に、Microsoftに転職した理由 2018.11.27 00:02 PM
    「6年勤めたNTTを退職しました」という記事が、注目を浴びているようですが、この筆者が NTT を辞めた理由が、私が32年前(1986年)に NTT を辞めた理由とあまり変わらないのに、少々驚きました。 私が NTT を辞めた件に関しては、...
    Comment:
    ファンがいれば、炎上なんてこわくない 2018.09.26 05:43 PM
    9月22日発売の「結局、人生はアウトプットで決まる 自分の価値を最大化する武器としての勉強術」からの引用です。 ◉ファンとの交流が継続の最高のモチベーション(285ページ) インターネットの特徴の一つに双方向性があります。従来のマスメディア...
    Comment:
    アウトプットにおいて「プロデューサー魂」を持つことの大切さ 2018.09.26 07:10 AM
    9月22日発売の「結局、人生はアウトプットで決まる 自分の価値を最大化する武器としての勉強術」からの引用です。 ◉アウトプットが続く人、続かない人の違い(278ページ) ここまで読んでみて「実際にアウトプットをしてみたくなった」という人は多...
    Comment:
    プレゼンが人間力を高めるのに最適な理由 2018.09.25 05:39 PM
    9月22日発売の「結局、人生はアウトプットで決まる 自分の価値を最大化する武器としての勉強術」からの引用です。 ◉プレゼンの主役はスライドではない。あなた自身だ(239ページ) さて、ここまでの話を踏まえて、冒頭にお伝えした悪いプレゼン例を...
    Comment:
  30. 小野和俊のブログ | updated at 2024.03.27 07:49 PM
    noteの方に移行します 2024.03.27 07:49 PM
    livedoor blogはずっと使わせていただいて愛着もあるのですが、https対応の予定が今後もない、という状態が続くようでもあるので、noteの方に引っ越します! (そしてクレディセゾンでの5年間の活動の振り返りを投稿しました) クレディセゾンでDXを進めてきた5年間を振り返...
    Comment:
    CIOとしての挑戦:事業会社のITの理不尽さを最小化する試み&社員募集 2022.04.27 00:19 PM
    2019年にクレディセゾンに入社して、3年の月日が経った。 これまで基本的にシステムに関するすべてを外部に委託してきたこの事業会社で、ゼロから内製チームを組成し、70名規模に拡大し(※1)、データ駆動経営の推進チームも組成した。また、日本の大手金融会社として初め...
    Comment:
    塾に行かずに中学受験 2022.02.03 05:35 PM
    我が家は小学生の子供が3人おり、みな近所の公立の小学校に通っている。 一番上の長男が生まれたばかりの頃はうちの子供はみんな中学校までは公立がいいんだろうなぁ、と思っていたのだが、長男については友人の親からも「私立の方が向いているのかも」と言われることがあり...
    Comment:
    「学習」について頭の中を往復ビンタされながら自らの無知を思い知らされる新しいタイプの本 2020.10.21 01:42 PM
    ふろむださん、いや私にとっては一世を風靡したブログ「分裂勘違い君劇場」の著者 fromdusktildawn さんと言う方がしっくりくるのだが、氏の新著「最新研究からわかる 学習効率の高め方」を1巻から5巻まですべて読んだ。fromdusktildawn さんはやまもといちろうさん、shi3z ...
    Comment:
    事業をエンジニアリングするチームを作ります。エンジニア募集! 2020.09.07 05:57 PM
    2019年3月にクレディセゾンに来て、ゼロからチームを立ち上げて1年半が経った。「セゾンのお月玉」を始めとして戦略的企画を自分たちで企画し、実装し、改善し、運用していくチームはとても良い感じで動けていて、現在もいくつかの大型プロジェクトに仕掛中だ。2ピザチーム(8...
    Comment:
  31. Joel on Software Joel on Software | updated at 2024.03.13 01:23 AM
    Progress on the Block Protocol 2022.12.19 10:01 PM
    Since the 1990s, the web has been a publishing place for human-readable documents. Documents published on the web are in HTML. HTML has a little bit of… <span class="read-more"><a class="more-link" href="https://www.joelonsoftware.com/2022/12/19/progress-on-the-block-protocol/" rel="bookmark">Read more <span class="screen-reader-text">"Progress on the Block Protocol"</span></a></span>
    Comment:
    Making the web better. With blocks! 2022.01.28 02:14 AM
    You’ve probably seen web editors based on the idea of blocks. I’m typing this in WordPress, which has a little + button that brings up a long… <span class="read-more"><a class="more-link" href="https://www.joelonsoftware.com/2022/01/27/making-the-web-better-with-blocks/" rel="bookmark">Read more <span class="screen-reader-text">"Making the web better. With blocks!"</span></a></span>
    Comment:
    Kinda a big announcement 2021.06.03 01:36 AM
    The other day I was talking to a young developer working on a code base with tons of COM code, and I told him that even before… <span class="read-more"><a class="more-link" href="https://www.joelonsoftware.com/2021/06/02/kinda-a-big-announcement/" rel="bookmark">Read more <span class="screen-reader-text">"Kinda a big announcement"</span></a></span>
    Comment:
    HASH: a free, online platform for modeling the world 2020.06.18 11:12 PM
    Sometimes simulating complex systems is the best way to understand them. <span class="read-more"><a class="more-link" href="https://www.joelonsoftware.com/2020/06/18/hash-a-free-online-platform-for-modeling-the-world/" rel="bookmark">Read more <span class="screen-reader-text">"HASH: a free, online platform for modeling the world"</span></a></span>
    Comment:
    So, how’s that retirement thing going, anyway? 2019.12.06 07:51 AM
    For the last couple of months, Prashanth Chandrasekar has been getting settled in as the new CEO of Stack Overflow. I’m still going on some customer calls… <span class="read-more"><a class="more-link" href="https://www.joelonsoftware.com/2019/12/05/so-hows-that-retirement-thing-going-anyway/" rel="bookmark">Read more <span class="screen-reader-text">"So, how’s that retirement thing going, anyway?"</span></a></span>
    Comment:
  32. Archived MSDN and TechNet Blogs | Microsoft Learn | updated at 2024.02.08 06:41 PM
  33. 秋元 | updated at 2023.12.09 06:02 PM
    Windows Terminal + PowerShell 7 で起動時スクリプトを読ませる 2022.12.30 10:29 AM
    Windows Terminal の設定で、デフォルトで呼ばれるシェルを今回追加した PowerShell 7 に変更し、新規タブを開くときに PowerShell 7 + 自分のカスタマイズスクリプトが呼ばれるタブが開 … <a href="https://akimoto.jp/blog/2022/12/30/windows-terminal-powershell-7-%e3%81%a7%e8%b5%b7%e5%8b%95%e6%99%82%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88%e3%82%92%e8%aa%ad%e3%81%be%e3%81%9b%e3%82%8b/" class="more-link">続きを読む <span class="screen-reader-text">Windows Terminal + PowerShell 7 で起動時スクリプトを読ませる</span></a>
    Comment:
    上に政策あり、下に対策あり 2019.07.31 03:35 PM
    Comment:
    ジェット旅客機の墜落実験は昔も行われている。「テレビ史上初」という言い方 2018.01.13 02:56 PM
    ドキュメンタリーチャンネル「ディスカバリーチャンネル」は、テレビ史上初となるジェット旅客機墜落実験を行なった新番組『好奇心の扉:航空機事故は解明できるのか?』を11月6日(22:00~)に放送する。 はてなブックマーク … <a href="https://akimoto.jp/blog/2018/01/13/passenger-jet-plane-crash-tests/" class="more-link">続きを読む <span class="screen-reader-text">ジェット旅客機の墜落実験は昔も行われている。「テレビ史上初」という言い方</span></a>
    Comment:
    [障害報告] 読んだ4で書名検索が止まっていました 2017.11.07 02:36 PM
    ツイッター読書記録サービス「読んだ4」ですが、 10月中旬より、書名検索機能が動かず、何を検索しても結果が無いというページが表示されていました。 Amazon APIから書籍情報を取得していたのですが、Amazon から … <a href="https://akimoto.jp/blog/2017/11/07/yonda4-search-did-not-work/" class="more-link">続きを読む <span class="screen-reader-text">[障害報告] 読んだ4で書名検索が止まっていました</span></a>
    Comment:
    WordPress Jetpack pluginを強制的に止める 2016.10.17 09:00 PM
    非常に限定的な状況での話なのですが、とあるWordPressサーバで Jetpack プラグインが動作しなくなるということがあり相談を受けました。 動かないなら止めればいい、と思うのですが、Jetpackの管理画面も、プ … <a href="https://akimoto.jp/blog/2016/10/17/how-to-forcibly-stop-wordpress-jetpack-plugin/" class="more-link">続きを読む <span class="screen-reader-text">WordPress Jetpack pluginを強制的に止める</span></a>
    Comment:
  34. ニテンイチリュウ | updated at 2023.09.12 02:48 PM
    Starfield 廃墟観光案内 2023.09.12 02:48 PM
    SkyrimやFall Outシリーズで知られるBethesdaが実に25年ぶりに新規シリーズとして満を持してリリースした超大作ゲームStarfield。ローンチから数々の記録を塗り替えるなど快進撃を続けています。 このStarfieldは地球が滅びたあとの宇宙を舞台にしたゲームですが、滅びた地球にゲーム内で行ってみると、様々なランドマークが残されています。 例えば大阪では、 starfield、地球が滅びた未来の宇宙の話なんだけど滅びた地球の大阪に来たらなんか廃墟が建ってたのだなあこれ実際に大阪にある建物なのかな~ pic.twitter.com/vZ9PVVa6Hq — るくち (@nek…
    Comment:
    ハイネケン、ゲーミングPC兼冷蔵庫をリリース 2023.09.05 07:38 PM
    8月29日はInternational Gamer Dayでしたが、それを記念してブラジルのハイネケンがプロモーションとして面白いデバイスをリリースしました。 ひとまず御覧ください。 ゲーミングPCは言うに及ばず、ゲーミング冷蔵庫というカテゴリーのプロダクトはいくつか存在していますが、ハイネケンはそれらを合体させ、ゲーミングPC兼冷蔵庫を生み出しました。ゲームをしながら、キンキンに冷えたハイネケンを飲むにはピッタリ?です。 この冷蔵庫?は抽選でプレゼントされるようです。 少し欲しいかも。
    Comment:
    ニール・ブロムカンプ監督による「グランツーリスモ」メイキングが公開 2023.08.30 10:09 AM
    9月15日公開がせまるエリジウムやチャッピー、第9地区で知られるニール・ブロムカンプ監督の映画「グランツーリスモ」 www.gt-movie.jp この映画はTVゲーム「グランツーリスモ」のトッププレイヤーをプロレーサーに育成するというプロジェクト「GTアカデミー」を題材にしたものです。 そのメイキング映像が公開されています。 レーシングカーと同じスピードで走行しながら撮影する車載カメラやFPVドローン、TV中継などに利用されっるシネマティック・ドローンなど最新技術を取り入れて撮影された映像の臨場感は圧倒的です。 GTアカデミーから生まれたプロドライバー「ヤン・マーデンボロー」の物語を迫力ある…
    Comment:
    DRYAD、山火事をテクノロジーで防ぐ 2023.08.28 06:13 PM
    先日もハワイで大規模な山火事があり、多くの犠牲者が出ていますが、地球温暖化の進行に伴い、山火事は年々のその進行速度も、延焼時間ものびています。例えばヨーロッパでは26万ヘクタールが、日本では約7万ヘクタールが1年間で消失しています。 このような山火事を早い段階で検知するのは、現状は人力による目視での確認ということもあって、非常に難しいものとなっていました。しかし、センサーとディープラーニングを組み合わせることで早期に検知しようとする"ファイアーテック"スタートアップが注目されています。それがドイツで創業した www.dryad.net 木の精霊ドライアドを名前に冠したこのスタートアップは、山火…
    Comment:
    3D Pets : iPhone + 3D プリンタによるペット向け義足 2023.08.25 08:10 PM
    iPhone 12からLiDAR(Light Detection and Ranging:ライダー)スキャナーが背面カメラに搭載されています。これは、以前あったMicrosoft Kinectのような仕組みで、カメラからレーザーを照射して、物体までの距離を測ることができるものです。それにより、被写体を立体的に描写することが可能になります。(ポートレートモードはこの機能を利用しています)このLiDARを使ったアプリとしてScaniverseという3Dスキャナーアプリが有名かと思います。最近も赤ちゃんをScaniverseで3D化したTweetが話題になっていました。 Scaniverseのアプリ…
    Comment:
  35. 秋元@サイボウズラボ・プログラマー・ブログ 秋元@サイボウズラボ・プログラマー・ブログ | updated at 2023.02.13 03:45 PM
    このレイオフは存在しない – 架空のCEOのレイオフメッセージをAI生成 2023.02.13 03:45 PM
    This Layoff does not exist (このレイオフは実在しない)は、機械学習で存在しない情報を作る一連のwebサイトの流行”does not exist”シリーズの新顔で、ページ […]
    Comment:
    Screenstab – スクリーンショットを斜め視点に変換してくれるサービス 2023.02.10 00:00 PM
    Screenstabは、スクリーンショット画面をいい感じに斜めに変換してくれるという単機能のwebサービスです。 当ブログのスクリーンショットを変換してみた様子がこちら 無料プランでできることは 斜めの角度の変更(ページ […]
    Comment:
    GPTravel Advisor – OpenAIのAPIを使った旅行日程提案サービス 2023.02.06 06:32 PM
    GPTravel Advisorは、OpenAI の GPT3 API を使った旅行計画生成サービスです。 入力は「行きたい都市の名前」と「旅行する日数」の2つだけ。20-30秒ほど待つと、何日目にどこに観光に行けばよい […]
    Comment:
    キャラクターがログインフォームをチラチラ見てる 2023.01.25 04:58 PM
    画面上の目がマウスカーソルを追いかけるというと、X Window System の Xeyes の昔(Wikipedia によれば 1988 年!)からあるアイデアですが、ウェブサイトのログイン画面を見ているキャラクター […]
    Comment:
    ChatGPT で文面を書き換えることで Gmail のスパム(誤)判定を突破する 2023.01.23 11:01 AM
    Tor ノードの運営者が Tor の濫用に関する苦情メールに返答する際に使うテンプレート文面でメールを送ろうとしたとき、Gmail のスパムフィルタにスパム認定されてしまったそうです。 この運営者は ChatGPT を使 […]
    Comment:
  36. jkondoの日記 | updated at 2023.01.12 00:42 PM
    京都にクリプトバーをオープンします 2023.01.12 00:42 PM
    2023年あけましておめでとうございます。このたび、京都市内の某所地下に、クリプトのバーをオープンすることになりました。クリプトというのは「crypto」で、暗号資産、ブロックチェーン、web3系のことに興味がある人が集まるバー、ということです。prtimes.jp 2017年にOND社を作ってからやってきたことの1つに、「UNKNOWN KYOTO」という施設の運営があります。ゲストハウスと、コワーキングと、レストランが同じ建物の中に入っている複合施設で、遠くから来てもらうと、「泊まれて、仕事ができて、食事もできる」という三拍子揃った、「とりあえずここに来れば外に出なくても一通りのことができ…
    Comment:
    生きている実感を増やすために その2 2021.03.10 10:29 AM
    「家」って、生活の中でかなり長い時間を過ごしています。寝ている時間が7時間だとして、その前後、僕だったら19時くらいには家に帰ってきて、ごはんを食べて、23時くらいに寝ると4時間くらい。朝は7時くらいに起きて、9時くらいに出勤するとして2時間くらい。そうすると、平日で合計13時間。これが休日だともう少し長くなるし、最近はコロナで在宅も増えているので、一日中家にいる、という人も多いかも知れません。そうすると、短くても生活の半分以上、長い時はもっと「家」にいるわけです。この「家」は、もっと面白くできるんじゃないのかな、と思い始めたのが、「物件ファン」を始めたきっかけです。 インターネットは人生を豊…
    Comment:
    生きている実感を増やすために 2021.03.05 03:44 PM
    久しぶりです。いつの間にか結構間が開いてしまいましたが、この3年半近くONDで事業をやっているうちに、少しずつ形ができてきました。同時に3つくらい事業をやっていて、それぞれが結構ばらばらのことをやっているようにも見える。でも自分の中では、テーマがあると思っている。今日はそのことを書こうと思います。 ONDの事業 もともと「物件ファン」という不動産メディアをはてなから引き継ぐところからOND社は始まりました。その後トレイルランナー(要するに山を走る人です)向けのサービス「IBUKI」を始め、さらに京都市内で「UNKNOWN KYOTO」という宿とコワーキングとレストランの複合施設の運営をしていま…
    Comment:
    OND、始動します。 2017.11.01 08:58 AM
    こんにちは。このたび、株式会社OND(おんど)という新しい会社を立ち上げることになりました。はてなを起業してから16年。立ち上げから13年間は社長として、その後3年間は会長として、はてなに関わってきました。この3年間は、社長の栗栖さんをはじめとするメンバーに、なるべく経営をお任せして、新規事業の創出に取り組んできました。この間、はてなの業績も組織も、安定して成長しています。今のはてなの事業や組織を、これからも成長させつつ、新しいものづくりの可能性を最大化するには、別の会社で取り組むのが良いと思い、また会社を作ることにしました。はてなは、引き続き非常勤取締役として関わりつつ、ONDの事業立ち上げ…
    Comment:
    「物件ファン」はじまりました! 2016.02.27 10:38 AM
    個性的な物件を日々紹介する「物件ファン」をリリースしました。 https://bukkenfan.jp/ いきなり不動産?どうして?と思われるかもしれませんが、最近はこうした実際の生活に、自分の興味も広がっています。これまではずっと、ブログのような、インターネット内で完結するサービスを作ってきました。そうしたサービスができたおかげで、ブログを作って自分の考えを書けば、見ず知らずの人から共感してもらえたり、新しい出会いが生まれたり、時には文章を書く仕事が来たり、といったことが現実に起こるようになりました。インターネットが無かった時代には、考えられなかったことです。ブログ以外にも、普段あまり会えな…
    Comment:
  37. higepon blog | updated at 2022.12.31 08:27 AM
    2022年振り返り 2022.12.31 08:27 AM
    プライベートなことは Notion に書いた。 Kaggle コンペ参加は1回のみ。 バレエを始めた。 週2-3回の筋トレはよく続いた。 8月にコロナに罹った。熱を出して寝込んだ。家族はほぼ無症状。後遺症はなし。 息子は中学生になり、子育ての負荷がぐっと下がった。 仕事は新しいプロジェクト。比較的忙しい1年だった。 ロシアがウクライナと戦争を始めた。 肋骨を骨折した。 帯状疱疹になった。 Mosh の M1 対応。Rust で書き直す実験など。 ダッシュして膝を痛めた。老後に膝が痛いというのはこのような感じなんだろうか。確かに出不精になりそう。 ELSA Speak 始めた。 新しい習い事を始…
    Comment:
    How GC in unsafe loxido works 2022.12.03 04:08 PM
    .to_owned())); LoxString::from_string and GcObject implementation. They are staraightforward. pub struct LoxString { pub header: GcObject, pub s: String, pub ha…
    Comment:
    Finalize, Sweep and Rooting - Understanding Rust GC 2022.12.02 04:54 AM
    s look at finalize implementation for array and Opti…
    Comment:
    Trace - Understanding Rust GC 2022.12.01 09:08 AM
    Goal I want to understand how Rust GC work to see if I can use it in my Scheme VM interpreter to be written in Rust. How to use GC-ed objects should implement Trace and Finalize. You should use Gc::new instead of Box::new to allocate objects in heap. Here is an example from the official document. le…
    Comment:
    Mosh compiler/VM のデバッグを1週間続けた話 2022.10.30 03:08 PM
    Mosh は R7RS に対応しつつあるので ecraven/r7rs-benchmarks というベンチマークを走らせてみた。今回は速度は気にせずにR7RS Scheme 処理系としてコードを間違いなく正しく実行できるかに注力。結局57個中で3つのベンチマークで実行に失敗することが分かった。うち2つは比較的簡単に修正できた。最後の1つが手強かったので記録を残す。 スタート 失敗するのは conform というベンチマーク。期待される結果とは違うものを Mosh が返してしまう。そして実行時間がやけに短い。conform ベンチマークのスクリプト( r7rs-benchmarks/confor…
    Comment:
  38. Engadget | Technology News & Reviews | updated at 2022.11.17 03:52 PM
  39. | updated at 2022.11.02 03:26 PM
  40. atso-net.jp | updated at 2022.10.19 00:40 PM
  41. スギログ(sugilog) | updated at 2022.03.19 00:05 PM
    Twinmotion初の解説書「Twinmotion デザインテクニック」が発売されます。 2022.03.19 00:05 PM
    wanimationさんが執筆したTwinmotion初の解説書「Twinmotion デザインテクニック」が4/6に発売されます。Twinmotion の基本的な操作から、見映えのいい静止画や動画の作り方、プレゼン用のテクニック、設定に関するQ&Aなどを89個のテクニックとして解説されているとのことです。Twinmotionを紹介している動画も載せておきます。
    Comment:
    映画のHUD、スクリーン・グラフィック映像を集めてみた。【2022/3/19更新】 2022.03.19 00:00 AM
    映画のHUD、スクリーン・グラフィック映像を集めてみました。新しいものを見つけたら、追加していきます。※Perception社による『スパイダーマン:ノー・ウェイ・ホーム』で使われたグラフィックスを追加しました。(2022/3/19追加)『スパイダーマン:ノー・ウェイ・ホーム』その他の動画がまとまっているPlaylist『アド・アストラ』『スパイダーマン:ファー・フロム・ホーム』『メン・イン・ブラック:インターナショナル』『アベンジャーズ/インフィニティ・ウォー』『アベンジャ..
    Comment:
    VFXスタジオのShowreelを集めてみた。【2021/11/19更新】 2021.11.19 00:53 PM
    ※Weta DigitalのShowreelを更新(2021/4/23)
    Comment:
    【UE4】Unreal EngineでCGアニメーションを制作したい方向け 役に立つかもしれない情報まとめ【2021/9/28更新】 2021.09.28 06:45 PM
    主にアニメーションに関する情報をご紹介したいと思います。(サンプルデータ 2点の情報を追加しました[2021/09/28])シーン制作の参考になるサンプルデータSlay アニメーション サンプル(対応バージョン: UE4.27)サンプルデータの解説(公式ドキュメント)Meerkat デモ(対応バージョン: UE4.26、4.27)Meerkat のデモ映像について(公式ドキュメント)Unreal オンラインラーニングウェビナーUnreal Fest Online 2020In..
    Comment:
    【UE4】nDisplayに関する情報を集めてみた【2020/7/30更新】 2020.07.30 05:54 PM
    UE4に搭載されているnDisplayに関する情報を集めてみました。※nDisplayのホワイトペーパーのリンクを日本語版PDFに変更しました (2020/7/30)nDisplayを使うと非常に大きい解像度の映像を複数のPCを同期させ複数のディスプレイに分割表示させることができます。nDisplayの事例ドーム型スクリーンへの投影(関連記事)チャイルディッシュ・ガンビーノがリアルタイム アニメーションでファンを魅了CAVEでの立体視システムなど
    Comment:
  42. | updated at 2021.10.04 06:17 PM
  43. notfound | updated at 2021.08.03 02:23 AM
  44. (善)力疾走 | updated at 2021.02.13 03:18 PM
    Tecobuyを初めて使ってみた~果たして本当にとどくのか!? 2021.02.11 08:00 AM
     親類へのプレゼント用に日本未発売の「Galaxy Tab S6 Lite」を購入することになり、Googleで検索してみると、TecoBuyを推してくる。 当該製品はAmazon...
    Comment:
    YOASOBIとザインソフト 2021.01.05 03:12 PM
    1月6日発売のYOASOBIの初CD「THE BOOK」は、ザインソフトのX68000用「神戸恋愛物語」と共通要素が1つだけある。それはいきなり「エピローグ」から始ま...
    Comment:
    藤子Fワールドの根幹に切り込んだ最高傑作「ドラえもん のび太の新恐竜」はすごいぞ 2020.08.17 04:50 AM
    「ドラえもんてなんでのび太のところに来たの?」「ドラえもんってときどき『過去の歴史を変えちゃいけない』というけど、のび太の未来を変え...
    Comment:
    電子書籍版も同時発売。12月20日、「ゲーム制作者になるための3Dグラフィックス技術 改訂3版」が発売されます 2019.12.17 11:58 AM
     拙著「ゲーム制作者になるための3Dグラフィックス技術」の改訂3版が12月20日に新発売となります。 2009年に初版が刊行されて、増補改訂版が2013...
    Comment:
    「プロゲーマーになるための…」ではなく「ゲーム制作者になるための…」というタイトルの書籍…でます 2019.11.14 11:24 AM
    インプレスから新書籍でます。エイプリルフールみたいな表紙ですけど本当です。「プロゲーマーになるための…」ではなく「ゲーム制作者にな...
    Comment:
  45. まったり日記 まったり日記 | updated at 2020.07.22 07:42 PM
    [REDSHIFT][Maya]Layered EXR 2016.07.28 01:24 AM
    ヘルプにはマルチチャンネルEXR簡単に出せるよ!と書いてあるのにレンダーセッティング見回してもどこにも設定項目が無い。<br /> <br /> https://www.redshift3d.com/forums/viewthread/6058/<br /> <br /> フォーラムを見たらRedshiftAOVノードのFile name prefixのデフォルトで入っている.<renderpass>を消せばまとまるようだ。<br /> なぜ簡単にできるようになっていないのか・・・。<br /> <br /> from pymel.core import *<br /> def mergeAOVs():<br /> rsAOVs = ls(et='RedshiftAOV')<br /> for node in rsAOVs:<br /> node.filePrefix.set('/') <br /> mergeAOVs() <br /> <br /> フォーラムにまとめて設定するスクリプトが書かれていたのでメモ。
    Comment:
    [nuke]Writeノードにファイルネームの尻についてるバージョン持ってくる 2016.05.27 09:22 PM
    [lrange [split [file rootname [file tail [value root.name]]] "_"] end end]
    Comment:
    [Maya] soupでConvex Hullっぽいの 2015.09.18 11:17 PM
    https://gist.github.com/anonymous/097aa380c641988a4054<br /> <br /> soupでConvex Hullっぽいの作るMELです。<br /> メッシュは予めTransformをFleezeしておいて下さい。<br /> <br /> mesh2arraysのcountでどのぐらい分割するか指定。<br /> boudingObjectのDisplay Bouding Volumesはオフになってますが表示してジオメトリ全体囲うようにmesh2arraysのMin Random FloatとMax Random Floatでサイズを便宜調整。<br /> <br /> <center><img src="https://pds.exblog.jp/pds/1/201509/18/30/b0005330_23141630.jpg" alt="_b0005330_23141630.jpg" class="IMAGE_MID" height="169" width="500" /></center><br /> 元ジオメトリ<br /> <center><img src="https://pds.exblog.jp/pds/1/201509/18/30/b0005330_23134684.jpg" alt="_b0005330_23134684.jpg" class="IMAGE_MID" height="407" width="500" /></center><br /> 実行結果<br /> <center><img src="https://pds.exblog.jp/pds/1/201509/18/30/b0005330_23135760.jpg" alt="_b0005330_23135760.jpg" class="IMAGE_MID" height="407" width="500" /></center><br /> ポリゴン数調整<br /> <center><img src="https://pds.exblog.jp/pds/1/201509/18/30/b0005330_231458.jpg" alt="_b0005330_231458.jpg" class="IMAGE_MID" height="407" width="500" /></center>
    Comment:
    [Nuke]glowノード 2015.03.12 04:58 AM
    <center><img src="https://pds.exblog.jp/pds/1/201503/12/30/b0005330_574745.jpg" alt="_b0005330_574745.jpg" class="IMAGE_MID" height="675" width="500" /></center><br /> <br /> 昔から機能ちびちび追加してきたグローノードなんとなく公開。<br /> RGBごとにフォールオフとサイズ調整できるようにしてます。<br /> 以下コピペで。<br /> <br /> https://gist.github.com/anonymous/9862abbc10d73b4efd29<br /> <br /> GitHubに貼りなおしました。
    Comment:
  46. HIROSHI MIYAMOTO BLOG | updated at 2020.05.30 02:42 PM
    東映アニメーションを退職しました 2020.05.30 02:42 PM
    今月5月末を持って、約10年お世話になった東映アニメーションを退職する事になりました。仕事関係だけでなく、作品を好きでいて下さった方々に向けてもご報告をしておくべきと思い、ブログを執筆させてもらいます。- 理由退職の理由は一つではありませんが、好きなことを突き詰めるため、先に進もうと思ったのが主な理由です。東映アニメーションでは様々なタイトルを任せて頂き、映画からテーマパークのアトラクションなど色々
    Comment:
    『映画 HUGっと!プリキュア♡ふたりはプリキュア オールスターズメモリーズ』について 2018.10.27 00:00 AM
    とても長かった映画が、ようやく完成し公開までこぎつけました。今日は、ネタバレにならない程度に今の気持ちを綴りたいと思います。■はじめに前作映画プリキュアドリームスターズ!では、初めての長編という事であの当時できる限界まで全力で取り組みました。しかし、アニメの制作現場というのは想像以上に色々な事情で思うように行かない事がたくさんあります。初長編を終えると同時に、作品のクオリティについては高い評価を頂
    Comment:
    [miRA]bipedBuilderについて 2017.05.15 03:35 AM
    (クリックで拡大↓)先日ポストしたmiRAについて、個別の機能をご紹介していきます。今回は「bipedBuilder」というツールの紹介です。miRAは独自の「miRAコマンド」というパイソンモジュールを多数備え、その組み合わせでモジュラーリギングを行います。基本的にGUI上からのビルドが可能ですが、よく使うものについはテンプレート化を行っているというお話も以前紹介しました。その中でもbiped(二足歩行)やfacial(表情)のコント
    Comment:
    [miRA]モジュラーリギングシステム「miRA(ミラ)」 2017.05.08 06:32 AM
    久しぶりのCGトピックスです。■miRAについて開発のきっかけですが、CG業界でスタンダードになりつつあるプログラミング言語「パイソン」を勉強するため、数年前から題材として「リグシステム」を趣味で書き始めました。結果面白くなってしまいC++にも手を出してしまいましたが・・・(元々別の名前で開発していたのですが、コアの設計に問題があったため一度全て捨てて書き直したという経緯があったりします。)もう一つの開発
    Comment:
    プリキュアに叶えてもらった夢 2015.10.25 09:55 PM
    (※「ながいよ!」という方は、スクロールして「子供たちの笑顔が~」から下だけでも読んでいただければと)ついに10月31日公開になります「映画Go!プリンセスプリキュア Go!Go!!豪華3本立て!!!」あちこちでセミナーや取材・告知をさせていただき、感謝しております。イラスト描いてみまいた(クリックで拡大)この中で、フル3DCGによる中編映画「プリキュアとレフィのワンダーナイト!」で、映画としては初の監督をやらせていただ
    Comment:
  47. スタッフBLOG | updated at 2020.05.19 10:30 AM
    アクセスゲームズスタッフブログに関するお知らせ 2020.05.19 10:30 AM
    こんにちは。アクセスゲームズの角和です。 2020年4月1日より新年度がスタート...
    Comment:
    勉強なんです、本当なんです 2020.05.19 10:30 AM
    おはようございます!モーションデザイナーのY.Aです。   外出自粛という事で、...
    Comment:
    懐かしいゲームと再開・再会 2020.04.24 10:30 AM
    おはようございます。 人生という荒波に挑む冒険者であり、今週のブログ当番、プラン...
    Comment:
    スパイスカレー 2020.04.17 10:30 AM
    おはようございます。本日のブログ当番、デザイナーのY,Iです。   最近は、日中...
    Comment:
    求めるは回線速度 2020.04.09 10:30 AM
    おはようございます。 本日のブログ当番、プログラマーのH.Nです。   以前、夜...
    Comment:
  48. | updated at 2020.02.13 00:37 AM
  49. Zeb's Blog | updated at 2020.01.16 02:02 AM
  50. PC事 by ちょなそ | updated at 2019.10.09 10:11 PM
    eBoostr 2019.10.09 10:11 PM
    Comment:
    オンボードマザーマニア 2019.10.09 10:11 PM
    Comment:
    CPUクーラー再取付 2019.10.09 10:11 PM
    Comment:
    デジ録 2019.10.09 10:11 PM
    Comment:
    SSDベンチマーク集 2019.10.09 10:11 PM
    Comment:
  51. Jo Plaete Jo Plaete | updated at 2019.05.20 02:01 AM
    MESHBOARD: the easiest way to save, search and share content. 2015.01.29 09:15 AM
    Together with David Duckworth and Moritz Daan I’ve been building a prototype for a new content management service lately: MESHBOARD MESHBOARD will be the one place where you store, share and search links and content that you come across on the web or mobile. You want to keep track of content and perhaps share it with friends and colleagues but you don’t […]
    Comment:
    buur (noun) ♦ neighbour 2014.11.27 04:31 AM
    A once strongly social concept that has become virtually extinct in todays cities and digital world. Although for centuries neighbours have been like families to each other. Do you know who else lives in your building, street or hood? Most likely there’s likeminded people around you could connect and share experiences with. After all you […]
    Comment:
    Presenting at SIGGRAPH Vancouver 2014.08.06 06:55 AM
    I’m very excited to announce that I will be presenting at SIGGRAPH 2014 in Vancouver: s2014.siggraph.org/attendees/talks/sessions/creature-feature   My talk: Comanches vs. Cavalry: Artistically Directable In-Crowd Ragdoll Simulation For the comanches vs. cavalry sequence in Disney′s “The Lone Ranger”, MPC was tasked with complex horse and rider simulations. To achieve this, MPC had to extend its proprietary […]
    Comment:
    Guardians Of The Galaxy’s Space Battle! 2014.08.05 09:16 AM
    It’s out in theatres and you should definitely go and see it because it is pretty awesome!!! 🙂 I worked on this project for about a year at MPC mainly on the final space battle leading our amazing London crowd simulation team. There will be an MPC talk at SIGGRAPH this year covering some of our work, if […]
    Comment:
    300: Rise Of An Empire 2014.03.19 08:39 AM
    For the ones that have been waiting for this since 2006… it’s finally in theatres! I was leading MPC‘s Crowd Simulation Team on this project which completed a fair amount of battling persians and greeks 😉 Cheers Jo
    Comment:
  52. 結城浩のはてなブログ | updated at 2019.01.06 11:42 PM
    「はてなダイアリー」から「はてなブログ」に移行しました。 2019.01.06 11:42 PM
    「はてなダイアリー」から「はてなブログ」へ移行しました。 はてなダイアリーが終わるとのことなので、はてなブログへの移行を試している。公式サイトの情報に従って(試しに)実行中。移行先のはてなブログはプライベートモード(限定公開)にした状態で移行。「完了するまでに数日以上かかる場合があります」とのこと。https://t.co/5ezxwyoilo pic.twitter.com/pik4wCOASw— 結城浩 (@hyuki) January 6, 2019 はてなダイアリーをはてなブログにインポートできた。次にブックマークの移行。それからリダイレクトの設定をするらしい。— 結城浩 (@hyuk…
    Comment:
    HTTPS化対応してみました 2018.05.07 05:39 PM
    はてなが提供しているドメインを使用しているすべてのブログがHTTPS対応になったようなので、この「結城浩のブログ」もHTTPS化対応してみました。 といっても、設定のところで「HTTPS化する」というボタンをクリックしただけですけれど。 こちらのブログではあまり記事を書いていなかったので、Mixed Contentsのことなどはさっぱり気にせずクリック。 さて、どうでしょうか。
    Comment:
    新しい記事を書くと広告が消えるのかな? 2017.10.12 11:58 PM
    新しい記事を書くと広告が消えるかどうかを調べるテスト。
    Comment:
    MacBook Airで使っている主なソフトウェア一覧 2015.04.21 00:00 AM
    結城がMacBook Airで使っている主なソフトウェア一覧です(名前順)。 ATOK: 日本語入力 BetterSnapTool: ウインドウの便利な小技(たまに使う) ClamXav: アンチウイルス Dash: リファレンスビューア Dropbox: クラウドストレージ Evernote: クラウドにメモを保存 FreeMind: マインドマップ(たまに使う) OmniGraffle Professional: ドローソフト Growl: 通知 HyperSwitch: Command+Tabをアプリ切り換えではなくウインドウ切り換えに Inventor Fusion: 3D Karab…
    Comment:
    書籍『数学ガールの秘密ノート/微分を追いかけて』刊行記念《サイン本無料プレゼント》(応募終了) 2015.04.06 00:00 AM
    応募は終了しています こんにちは、結城浩です。いつも応援ありがとうございます。 恒例の《サイン本無料プレゼント》です。 以下をごらんください! 『数学ガールの秘密ノート/微分を追いかけて』《サイン本無料プレゼント》
    Comment:
  53. 情報考学 Passion For The Future | updated at 2019.01.04 09:40 AM
    「ツイてる!ポッドキャスト新春2019」 4日目 平成の記憶に残る3大イベント 2019.01.04 09:40 AM
    最終日は、4人のブロガーの記憶に残る平成の3重大イベントを紹介しました。 " f...
    Comment:
    「ツイてる!ポッドキャスト新春2019」 3日目 平成のベスト3 ガジェット 2019.01.03 09:30 AM
    「ツイてる!ポッドキャスト新春2019」 3日目 平成のベスト3 ブログエントリ...
    Comment:
    「ツイてる!ポッドキャスト新春2019」 2日目 平成のベスト3 ブログエントリー 2019.01.02 00:00 PM
    新春ポッドキャスト2日目は、平成のベスト3ブログ記事を4人のアルファブロガーが、...
    Comment:
    「ツイてる!ポッドキャスト新春2019」 1日目 平成のベスト3 書籍 2019.01.01 11:10 AM
    明けましておめでとうございます。 今年も4人の認定「アルファブロガー」が合同で、...
    Comment:
    「ツイてる!ポッドキャスト新春2017」 2日目 2017.01.02 08:02 PM
    11年目のお正月企画 ブロガー鼎談「ついてるポッドキャスト!新春2017」2日目...
    Comment:
  54. NyaRuRuが地球にいたころ | updated at 2018.11.12 01:43 AM
    Google Chrome をデバッグする (1) 2025.01.23 04:37 PM
    Google Chrome のデイリーリリースバージョンは,炭鉱にて危険をいち早く察知するカナリアにたとえられ Canary 版と呼ばれている. (炭鉱で戦うものたちの熱い物語については『炭鉱の庭師』を参照されたい) Google Chrome Canary 版は以下のページからインストールできる. https://tools.google.com/dlpage/chromesxs Canary 版と安定版は,インストール先フォルダから使用するプロファイルまで異なる別アプリケーションである (Side-by-side インストールと呼ばれている).両者を同時に起動することももちろん可能だ.また…
    Comment:
    Android 9.0 に追加した API 2018.11.12 01:43 AM
    github.com github.com InputMethodService#BACK_DISPOSITION_ADJUST_NOTHING InputMethodService#requestShowSelf(int)
    Comment:
    Android 8.1 に追加した API 2017.12.10 05:34 PM
    github.com HapticFeedbackConstants#KEYBOARD_PRESS HapticFeedbackConstants#KEYBOARD_RELEASE HapticFeedbackConstants#TEXT_HANDLE_MOVE HapticFeedbackConstants#VIRTUAL_KEY_RELEASE
    Comment:
    Android 8.0 Oreo に追加した API 2017.08.25 01:16 PM
    github.com EditorInfo#IME_FLAG_NO_PERSONALIZED_LEARNING
    Comment:
    2015 年やったこと - Mozc 編 2017.01.03 03:38 PM
    1 年遅れぐらいになりますが,OSS Mozc 関係で 2015 年にやったことのまとめです. 空き時間を利用したプロダクトチーム外からのコミットということで,新規機能に関しては引き続き何も行っていません.前年と同じく OSS プロジェクトとしての環境整備と技術的負債の解消に注力した年でした. 以下が主な活動内容です. Google Code (Subversion) から GitHub (git) への移行を完了 過去のコミット履歴を可能な限り維持 ドキュメントを Markdown で書き直す Travis CI および AppVeyor を利用し,サポートしている全プラットフォームについて…
    Comment:
  55. | updated at 2018.05.09 02:44 PM
  56. 勝間和代公式ブログ: 私的なことがらを記録しよう!! | updated at 2017.12.25 06:29 PM
    はてなブログに引っ越しました 2017.12.25 06:29 PM
    はてなブログにひっこしました。過去ログはここのままです。 新ブログはこちらです。 勝間和代が徹底的にマニアックな話をアップするブログ...
    Comment:
    はてなブログにお引っ越しの予定 2017.12.12 06:29 PM
    こんにちは、勝間和代です。 長年使っていたココログですが、最近ちょっと使い勝手が悪く感じてきたので、しかも内容的にはどうココログが合っていないので、はてなブログにお引っ越しします。 過去ログはこのままここに置いて行く予定です。次のブログはこちらになりますので、よかったらブックマークしてください。 勝間和代が徹底的にマニアックな話をアップするブログ...
    Comment:
    無事、照明もHueをいれて、AIスピーカーで操作できるようになりました 2017.12.12 11:32 AM
    こんにちは、勝間和代です。 ずいぶん前に買ってあったものの、放置していたフィリップスのHue一式をやっと今日設定しました。 Hueのブリッジは日本で買いましたが、電球のほうは日本で買うと高いので、amazon.comから輸入しました。 そしてダイニングの電球8個を取り替えて、ブリッジをLANにつないで、設定開始です。ブリッジの箱開けた時に、なんでLANケーブルが入ってるんだろうと思ったら、いまどき久しぶりに、ブリッジが有線LAN接続でした。 接続が終わったので、それぞれ、アップルホーム、Googleホーム、アレクサに登録しました。アップルホームの登録は簡単でしたが、Google Homeではどこで設定で追加するのか見つけるのがちょっと大変だったのと、アレクサはスキルを入れるのがちょっと面倒でした。 まぁとりあえず入ったのですが、家のライトはたいした性能がないので、とりあえず...
    Comment:
    私がウェブ活動を積極的に復活させる理由になった、とある「一言」とは何でしょうか 2017.12.12 01:39 AM
    こんにちは、勝間和代です。 もともと私は2008年とか2009年までは、テレビにも全く出演せず、もともとサラリーマンだったこともあり、インターネットのブログ活動しか行っていませんでした。 それが2009年ごろから、だんだんインターネットとテレビや雑誌新聞などのマスコミでの活動が逆転し、今では割合で言うと2対8から一体9位まで、ウェブの活動が落ち込んでいました。 そんなことを10年近く繰り返していましたら、衝撃なことが起こりました。それは何かと言うと、 「20代の人が私が書いたものを読んだことがない」 のです。 先日、私の友人の出版パーティーにお伺いした時に、20代後半から30代前半の男性女性に結構話しかけれました。 そしてそのうち8割型の人が言ったセリフがとてもショックだったのですか。それは何かと言うと 「ファン何です、『母が』」 「勝間さんの著作、だいたいうちにあります、...
    Comment:
    音声入力が私のキーボードの入力スピードや正確性を超えるまで、試してから、10年以上かかっていたのか 2017.12.12 01:32 AM
    こんにちは、勝間和代です。 ブログを再開したのはリモートマウスによる音声入力があまりにも正確で、ストレスが減ったからと言うことがありますが、過去のブログでこんなものを見つけました。 口述筆記による原稿書き- 勝間和代公式ブログ: 私的なことがらを記録しよう!! これは2008年のブログですが、2006年から音声入力を試していると書いてあります。言われてみるとドラゴンスピーチだけではなく、IBMのViaVoiceや、ATOKのボイスATOKなど、いろいろ持っていった記憶があります。 そしてどれもまだ、まぁ音声入力はできない事は無いけれども、誤入力が多くてその訂正の手間ひまを考えると、結局キーボードのが早いので、何ヶ月か試してはキーボードに戻ると言うことが続いていました。 そしてここ最近はドラゴンスピーチを高性能パソコンで使って、優秀なマイクで何とか入力すると言う方法楽しんでいました...
    Comment:
  57. SIMPLE*SIMPLE | updated at 2017.11.23 05:03 AM
    メインの記事以外が最初は薄暗くなっているインターフェース 2009.06.15 01:30 PM
    これ、ちょっといいかもですね。FormFiftyFiveではメインの記事以外がデフォルトでは薄暗くなっています。マウスオーバーするとはっきり見える、という仕組みですね。 ↑ 普通はこう。 ↑ 右側のサブのコンテンツにマウスオーバーするとちゃんと見えます。 メインのコンテンツに集中してもらいたいときに良いかもですね。 » FormFiftyFive – Design inspiration from around the world » Blog Archive » Campbell Hay
    Comment:
    いまどきのWebサービスのフッター・・・ 2009.06.09 01:08 PM
    いまどきのWebサービスのフッターにはこの2つの要素が必要かもですね、と思ったり。 ↑ まぁ、他にも必要なものがあるだろうけど。 » zinepal.com | Now you are the editor.
    Comment:
    コミック風のわかりやすいチュートリアル 2009.04.02 10:10 AM
    チュートリアルでユーザー体験を表現するにはコミック調がいいかもですね、とAkohaを見て思いました。 ↑ こんな感じ。 実際のチュートリアルはこんな感じ。 » » Learn more about Akoha ~ Akoha – Come Play it Forward そういえばこういうのを作る秀逸なソフトではComicLifeがあるのですが、Mac版だけじゃなくてWindows版も出たようですね。ちょっと試してみようかな。 » plasq.com – Downloads
    Comment:
    前のバージョンから何が変わったら一目でわかる機能比較表 2009.04.01 03:03 PM
    YAMAHAのルーターを見ていたのですが、機能比較表がわかりやすいです。 ↑ こんな感じで変わった部分がハイライトされています。 ものによるでしょうが、昔の機種と比較したい場合(中古を買うか、新品を買うかとかなど)、買い換えを検討している場合に便利なインターフェースですよね。 » ギガアクセス時代のインターネットVPN、携帯電話網対応機能を強化 ヤマハ ギガアクセスVPNルーター『RTX1200』
    Comment:
    「現在セキュアな通信をしています」と明示的に表示するインターフェース 2009.03.27 10:02 AM
    【追記】 たくさんのブクマコメントありがとうございました。たしかに悪用される可能性の方が高いかもしれませんね・・・。こちらもあわせてご覧ください。 » はてなブックマーク – 「現在セキュアな通信をしています」と明示的に表示するインターフェース SSL通信をしているかどうかはわかりにくいですよね。お買い物をしているときにURL(https)やブラウザの鍵マークを確認する人も多いのでは。 しかし、詳しくない人にはよくわからないかもしれないので次のようなインターフェースも悪くないかもです。 ↑ 画面上部に「セキュアなページです」と表示。 悪意のある使い方は論外ですが、こうしたちょっとした工夫でお買い物がすすむ、ということもあるかもしれないですね。 Akohaのショッピングサイトで実装されていましたよ。 » Welcome ~ Akoha Store
    Comment:
  58. memlog | updated at 2017.10.23 08:45 PM
    BD様主催でFLIPのセミナー開催します。 2017.10.23 08:44 PM
    忙殺されているうちにもう開催じゃん、というぐらいに告知が遅くなってしまったのですが、10/26(木)にボーンデジタル様主催のFLIPセミナーを開催いたします。 Houdini DOP入門 FLIP編/小松 泰 氏(株式会 … <a href="http://blog.taikomatsu.com/2017/10/23/bd_flip_seminar/" class="more-link">続きを読む <span class="screen-reader-text">BD様主催でFLIPのセミナー開催します。</span></a>
    Comment:
    Redshiftやっぱり良い 2017.10.02 08:33 PM
    ここ最近でRSを使った案件をいくつかやってみて、やっぱり良いなぁと感じています。 と同時に回避出来ない問題もあったりしました。 つい先日、Houdiniをメインに進めていた案件でMantraを使ってレンダリングすると1時 … <a href="http://blog.taikomatsu.com/2017/10/02/redshift_is_great/" class="more-link">続きを読む <span class="screen-reader-text">Redshiftやっぱり良い</span></a>
    Comment:
    [Houdini] velの方向がおかしい。いやおかしいはずがない。(おかしかった) 2017.08.28 05:17 PM
    ある日、ふと思い立ってえいっ!とおもむろにpyroで計算をしたんです。 そしてそれを使ってパーティクルをadvectionしたんです。 そしたら思った方向に行かない。 あれ?とおもってシンプルなシーンでテスト。それだと大 … <a href="http://blog.taikomatsu.com/2017/08/28/vel_dir/" class="more-link">続きを読む <span class="screen-reader-text">[Houdini] velの方向がおかしい。いやおかしいはずがない。(おかしかった)</span></a>
    Comment:
    [Houdini] smooth関数便利 2017.08.24 11:36 PM
    VEXのsmooth関数、前に使い方を画像でメモったものの、毎回なんとなく使い方を忘れるので画像ごとUPしておきます。 第1引数(この画像の場合0)、第2引数(同様に1)で値(v@P.x)をfitさせてrolloffで滑 … <a href="http://blog.taikomatsu.com/2017/08/24/smooth/" class="more-link">続きを読む <span class="screen-reader-text">[Houdini] smooth関数便利</span></a>
    Comment:
    [Houdini] バラバラなptnumをなんとかする 2017.08.24 11:24 PM
    例えばなんですが、↓こんな感じの状態のポイントを、ちゃんときれいに丸に繋ぎたいと思ったらどうしましょうか。 こんな感じでただの円であれば別にcircle使って置き直せばいいんですけどね。 そうじゃない場合もあるじゃないで … <a href="http://blog.taikomatsu.com/2017/08/24/sort_pt/" class="more-link">続きを読む <span class="screen-reader-text">[Houdini] バラバラなptnumをなんとかする</span></a>
    Comment:
  59. OpenSpace更新情報 | updated at 2017.10.15 02:10 PM
    映像:MotionElementsに黒部ダムの素材を追加しました。 2017.10.15 02:10 PM
    Jcode::Unicode...
    Comment:
    映像:4K映像素材(RED)に「黒部ダム」の素材を追加 2017.10.14 01:29 PM
    Jcode::Unicode...
    Comment:
  60. fladdict | updated at 2017.09.13 00:55 PM
    iPhone X対応におけるデザイン上の注意ポイント 2017.09.13 11:00 AM
    iPhone Xが発表されたわけですが、なにこのデザイナー泣かせの変態端末。 iPhoneのUI設計者グレッグ・クリスティが追い出されて、ジョナサン・アイヴがソフトウェア統括となったのが2014年。 iOS7のフラット化あたりから、どんどんとUI設計が置いてけぼりになった感がありましたが・・・ここにきてまたデザイナー泣かせの豪速球が。 ざっくりデザインガイドラインを読んでの、気になったところメモ。 画面サイズ サイズは従来のベースであった4.7インチの375pt x 667ptから、375 x 812ptに。縦方向に145pt追加された。 想定されるインパクト 表示可能な情報量が増える 縦スクロール系コンテンツのコンバージョンが増加 スクロールで隠れるナビゲーションの必要性が低下 画面上部のボタンのコンバージョンが低下 ゲームなどの全画面イラストに、黒枠が出たり、見切れたりする グラフィック的なコンテンツでは、全体の構図が崩れる。 画像素材 iPhone Xは基本的に3倍解像度。@3x系の素材準備が必須となる。ただしこの辺はiPhone Plus以降のトレンドなのでトドメ感 想定されるインパクト 画像素材のPDF / ベクター化が進む。 ビットマップでの生産コスト、配信コストの増加。 フォトショやイラレでの作成が、より現実的でなくなる(オートストレッチも参照)。 レイアウト これが一番大きいかな。 画面端はコーナーがあり、画面上部にはセンサーエリアがある。このため、コーナー等の各種セーフエリアを回避したレイアウトが必要。基本的にはAutolayout対応が必須と考えた方が良い。 ラウンドコーナー周辺は、システム側の情報要素が自動で配置されるため、フル画面のゲーム以外では影響は少ないと考えて良い。 グラフィックとしてみた場合、だいぶレイアウトが悲惨な感じになる。 またStatusBarを隠すのが「非推奨」となった。これはコンテンツエリアの増加により、隠す必要が減ったためと思う。機能的には問題ないが、一部のアプリのビジュアルに影響が出ると考えられる。 想定されるインパクト 工数増。互換性確認コスト増 グラフィックとしてのレイアウトの品質低下。 Autolayoutやってこなかったモノは本格的にツケを払う。 フルスクリーン系画像の用意 iPhoneとiPhone Xではフルスクリーン時のアスペクト比が違うため、 重要なフルスクリーンのグラフィックなどでは、2種類のアスペクト比で素材を用意する必要がある。 想定されるインパクト ゲーム系などフルスクリーン画像で上下に黒い帯が入る ゲーム系などフルスクリーン系で、画像をストレッチで埋めるため構図が崩れる 画像を2種類の工数、コスト増加。 画面の隅におけるセーフエリアの拡大 四隅や画面下部など、コントロールを置くべきだないセーフエリアが増大した。 ・ホームボタンなどが下エッジスワイプになったため。 ・四隅にラウンドコーナーがあるため などに起因する。 想定されるインパクト グラフィックとしてのレイアウトの品質低下。 横スワイプ系のジェスチャーにおける既存マナーとの衝突 四隅のシステム部分に混乱をもたらすビジュアル要素の禁止 [...]
    Comment:
    iOS11で最も注目すべきは、QRコード対応かもしれない 2017.06.06 11:49 PM
    今年のWWDCとiOS11の注目ポイントは、「カメラのQRコード対応」ではないか? いや冗談でなく、マジで。 いまさら対応QRコード まさに「いまさら」。QRコードは枯れきったテクノロジーである。テック的には新しさもヤバさもない。 ところがこのQRコード、実はようやくiPhoneに搭載された、万人が使えるO2Oの入り口だったりする。 QRコードの搭載、ユーザーの週間学習で何が変わるか? というと、だいたい全部変わる。 この辺りは中国でのQRコード(Alipay)の成功を、Appleが無視できなくなったということだろう。 これはQRが新しいのではない。「公式カメラにQRが搭載されること」が、「全てのアプリがQR対応すること」を意味する。そちらがインパクトなのだ(そして、iOS/Android両方で使えることに意味が出る) QRコードの中に、アプリを起動させるURLを仕込めば、アプリ側で特に何もしなくてもQRからアプリを起動できる。 アプリ側で対応すれば、商品を表示したり、認証をしたり、お金を支払ったり、音楽をかけたり、だいたいなんでもできる。 ・レストランでQR読み込んでApple Payで支払い。 ・広告のQR読み込んで、アプリのダウンロード。 ・ノベルティにはQRがつく ・名刺はQRで読み込める ・IoTのペアリング。 O2O、IoTやマーケティングの諸々が変化をする可能性があるのではないかと。 テクノロジー的には新しくなくても、iOSとAndroid両方の標準OSで使えることで、死滅しかけていたQRが再度進化し始める可能性がある。 ただし、定着すればの話。iOS11に搭載されたとして、ユーザー行動として定着するには半年〜1年はかかると見ておいた方が良い(まずは中国のみQR解放という噂もある)。
    Comment:
    出前から家政婦、タクシー送迎まで!Amazon Dashを万能化して、サイバー貴族になる方法 2016.12.23 08:59 PM
    日本人の生産性の低さが嘆かれる今日この頃、fladdictさんとしてはAmazon Dashを万能化して、現代のサイバー貴族となる方法を模索しております。 Google Home Assistantや、ザッカーバーグのAIホーム計画など、面白そうだなぁと思いまして、自分も色々と実験。 結論からいうと、AIやハイテクなど使わなくても、ほんのわずかの工夫があれば、誰でも自宅にスーパーアシスタントを構築して、サイバー貴族となれる。 ITの本質は、貴族に占有された封建システムを、テクノロジーによって庶民に解放することだと思うんですよね。なんで実際にやってみました。Amazon Dashボタンを改造して、出前、家政婦、タクシー送迎から、リアルアシスタントさんの御用聞き呼び出しまで、あらゆるものをワンプッシュ化!生産性バカ上がりです。 これで日本の生産性も回復するはず。 人機一体の、スーパー・アシスタントの仕組み Amazon Dashボタンを押す node.jsで、ボタンのPushを乗っ取る node.jsがslack経由で、秘書サービスにメッセージ 秘書さんが作業してくれる 秘書さんが業務ステータスを、Googleスプレッドシートに入力 Geckoboardがスプレッドシートを読み込み、ダッシュボードに業務進行をビジュアライズ 秘書さんがFacebook / Lineで結果報告 1. Amazon Dashボタンを押す まずは、普通にAmazonから、Dashボタンを大量に購入しましょう。Amazon Dashはワンプッシュで、Amazonのいろんなものを注文できる魔法のボタン。そのままだと、普通に商品が買えるだけなので、様々なツールを使って処理を乗っ取っります。 2. node.jsで、Dashボタンを乗っ取る node.jsを使って、ボタンの処理を乗っ取ります。これで「ボタンが押された」を検知できます。こちらのページを参考に、node.jsサーバーを立てましょう。そんなに難しくはありません。 3. slack経由で秘書サービスにメッセージを投稿する APIのない様々なサービスに対して、どう柔軟に命令を下すか? この究極のソリューションは「人間にやってもらう」だと考えました。秘書サービスCasterと契約して、slackに常駐してもらいます。(月額30時間10万円ぐらい)。ここに様々なオペレーションが投稿されることで、APIの有無をガン無視した究極のオペレーションが達成できるわけです。 4. 秘書さんが作業してくれる 例えば「投資」と書かれたAmazon Dashボタンを押すと、以下のようなメッセージがslackに投稿されるわけですね。 証券会社のhogehogeさんに電話をして、世界平均のETFを100万円分、買い注文してください。 hogehogeさんには、「購入後に、電話で報告してください」とお伝えください。 注文約定の前に、このメッセージが何度も重複投稿されていた場合は、ミスの可能性があるので、電話で僕に確認をしてください。 よろしくお願いいたします! ポイントは、確認作業や漏れ抜け、例外処理が無いような、メッセージ設計をすることです。ボタン連打に対する、例外処理などはちゃんと設計しないと悲惨なことになるので注意しましょう。また、知らないところでオペレーションが止まっても問題なので、業務が滞った時には電話やLINEで確認が来るように設計します。自分にも秘書さんにもなるべく負担がかからないように、ここは丁寧な設計が大事です。 5. 秘書さんが業務ステータスを、Googleスプレッドシートに入力 ワンボタンUIは、発注事故が怖いのでステータスの見える化が非常に大事です。 各ステータスの記入欄が設けられたスプレッドシートを用意し、「進行中」「次回、発注はいつ」といった内容を入力してもらいます。 6. スプレッドシートを読み込み、ダッシュボードに業務進行をビジュアライズ KPIビジュアライズサービスのGeckoboardを使い、スプレッドシートを読み込み、常設の専用ディスプレイにビジュアライズします。 これにより、発注中なのか?何が起きているのか?などが一目でわかるようになります。 7. 秘書さんがFacebook / Lineで結果報告 ステータスのPush通知も重要な作業です。Facebook / [...]
    Comment:
    プロジェクト炎上を防ぐ魔法のアイテム、100徳ナイフを買ったお話2 2016.09.28 08:24 PM
    こんにちは、日本で唯一の100徳ナイフコレクター(推定)兼、UIデザインとかしてる fladdictです。 先日、会社の機材として新しい100徳ナイフを購入しました。 via mantiquesmodern ゾーリンゲンのナイフマイスター、P.LANGが自ら研ぎあげた、最高級の一品です。重量950g、お値段なんと120万円。今年のお小遣いが全部すっ飛びました。 馬鹿と思われるこのナイフ、実はサービスの炎上やデスマーチを防ぐ神ツールだったりします。 このナイフをクライアントの偉い人に見せると、あら不思議! 「弊社のアプリをこうしては絶対にならない!」「この状況を脱しなければならない!」という号令が、ほぼ100%トップダウンで発動します。 一目瞭然なほど馬鹿で、巨大で、非実用的で、そして無駄に高価であればあるほどに意味がある。これを見せた時、「多機能もすぎれば毒となる」という言質に説得力が生まれるのです。 残念ながら「機能を減らしましょう」というのは、口で言っても伝わらない。クライアントのためにUI/UX担当者が、自腹で大枚叩いて、こんな訳わからんもん購入して「多機能は危険」といって体張って止めている。そこまでやってはじめて、デザインに興味のない人でも「ここまでするほど大事なことなか!」と話をきいてくれるわけです。120万などデスマーチを1回回避すれば、お釣りがくる。 この記事をお読みになった皆様へ この記事を見て「そんなんに大金を使うとか、馬鹿じゃねーの?」と思った方、どうかその気持ちを大事にしてください。 そして、もしも自社サービスがこのような状態になりかけたら「そんなんに大金を使うとか、馬鹿じゃねーの?」と声をあげてください。 このナイフの力で、1つでもプロジェクトを悲劇から救えれば…経費で落ちない可能性を指摘され、顔面100徳ナイフな僕も報われます。 <追記 魅惑の100徳ナイフの世界> 数年前に入手した、Wengerの100徳ナイフ。141機能でギネスブック証明書つき。ブランドが消滅したため現在は入手不可。 via uncrate スミソニアン博物館に奉納される1800年代の100徳ナイフ。Holler社製。リボルバーが内蔵されてるため、日本では銃刀法にひっかかります。 via pinterest
    Comment:
    俺が自腹でiPad Proプレゼントキャンペーンの結果・当選者発表 2016.06.02 10:21 PM
    先月に開催した「熊本に寄付した人から抽選で1名に、俺が自腹でiPad Proプレゼントキャンペーン」の結果のご報告。 ドキドキの第3回寄付ハックですが、なんと260万8528円プラスαが集まりました!!!!!ちなみにプラスαは、金額非公開や、プライベートアカウント内など確認不能分です。ソーシャル応募313名。Google Form経由の応募が107名の、合計420名エントリーとなっております。祭りにご参加いただいたみなさま、本当にありがとうございます。あと「iPad pro1台分、俺が出しちゃる!」的な寄付額10万オーバーの方が7人もいたのも驚きです。 当選者 そして肝心の当選者について。processingを用いた厳選なる抽選の末、iPad Proに当選されたのはyama_zさんとなりました! おめでとうございます。追ってDMなどで送付方法などを調整できればと思います。残念ながらハズれた皆様も、今度は「べ、別にiPadが欲しかったんじゃなくて、熊本を助けたかっただけなんだからね!」と、おおらかな気分でいてくださると助かります。 コスト 総コストとしては、iPad 雑感 正しすぎるチャリティーは広まらない…という持論のもと、寄付にゲーミフィケーションや射幸性、口だしたいビリティなどを追加したこの実験も、いよいよ3回目。そろそろ「再現性がある」施策と考えてもいいんじゃないかなと。善意を誘発するスキームとしてはだいぶ完成度があがってきました。 一方で課題としては、真の効果測定をどうするか? タイムラインをみている定性評価では、「これをきっかけに寄付をした」という声は一定すうあったり、寄付のタイムスタンプと投稿のタイムスタンプの時差から、寄付したあとにキャンペーンに気づいて応募してきた人は少ないように観測されます。厳密な意味で比較対象テストができるわけではないので、「この施策のせいで寄付をした人」と「この施策がなくても結局寄付した人」の切り分けができないのをどうするかは今後の課題の一つでしょう。(この企画がどうこうというよりは、広告キャンペーン全体にかかわる未解決の課題ですが) とりあえず1年に1度くらいのペースで、ボチボチと実験していければと思います。参加者の皆様としましては、また何かのきかいにうっかり欲望にまけて寄付をお願いいたします。
    Comment:
  61. 404 Blog Not Found | updated at 2017.07.20 09:00 AM
    If you can't beat them, join them. 2017.07.20 09:00 AM
    君子は豹変す ⇔ 豹変しなけりゃ君子じゃない。
    Comment:
    evalpark - Swift入園しました 2017.03.19 04:30 PM
    .park { border:outset 1px; padding:1em; margin:1em; } textarea#src { font-family:monospace; width:100%; } ul.parkico { list-style-image:url('https://eval.dan.co.jp/favicon-16x16.png') } というわけでおしらせです。
    Comment:
    ようこそevalparkへ 2017.03.17 10:30 AM
    え?もう本番ですか…? .park { border:outset 1px; padding:1em; margin:1em; } textarea#src { font-family:monospace; width:100%; } ul.parkico { list-style-image:url('https://eval.dan.co.jp/favicon-16x16.png') } Welcome to Evalpark!
    Comment:
    「「0÷0=」を実行すると「エラー」になる理由」を見て割り切れない気持ちを抑えられない理由 2015.12.03 07:30 PM
    異端の数ゼロ Charles Seife / 林大訳 [原著:Zero:The Biography of a Dangerous Idea] やはりblogにも書いておこう。SNSだけでは割り切れない気持ちが抑えられないので。 iPhoneアプリ「計算機」で「0÷0=」を実行すると「エラー」になる理由 - ねとらぼ 「計算機」ア...
    Comment:
    Disowned by a Dysfunctional Family 2015.07.11 01:30 PM
    Open Source の定義とはなんだろうか? 私にとっての定義は、以下だった。 Perl, the first postmodern computer languageImagine, open source is merely a byproduct of our need for family. So, look at all of you out there. You're just a big, dysfunctional family...
    Comment:
  62. Fine Software Writings | updated at 2017.06.23 08:30 AM
    目標でなく恐怖を明確にすべき理由 2017.06.23 08:30 AM
    “私たちが行い、聞き、言うことを最も怖れる難しい選択が、まさにする必要のあることであるというのはよくあることです。 どうやってすくんだ状態を克服し、行動を取ることができるのでしょう? ティム・フェリスは、シンプルながら強力な「恐怖の明確化」という作業を通じて、自分の恐怖をはっきり心に描き詳細に書き出すことをすすめています。ストレスの強い環境を生き抜きし、自分にコントロールできることとできないことを区別する上でこの方法がいかに役立つか学びましょう。” (TED Talks)
    Comment:
    我々が築き、掘っている未来 2017.05.24 01:00 AM
    “イーロン・マスクが、ロサンゼルスの地下にトンネルを掘るという新しいプロジェクトや、テスラとSpaceXの最新状況、火星で未来を築く動機などについて、TEDのキュレーターであるクリス・アンダーソンとの対談を通して語ります。” (TED Talks)
    Comment:
    Linuxの背後にある精神 2016.05.06 09:00 AM
    “リーナス・トーバルズはテクノロジーを2度変革しました。インターネットを支えるLinuxカーネルで1度、そして世界中の開発者が使うソースコード管理システムのGitによってもう1度。TEDのキュレーターであるクリス・アンダーソンとのこの珍しいインタビューで、トーバルズは仕事や技術や人生に対する彼独特の考えの元になっている性格的特徴について驚くほどオープンに話しています。トーバルズは言います。「私はビジョナリーではなく、エンジニアです。歩き回って雲ばかり眺めている人々と一緒にいるのはまったく問題ありません。でも私の方は地面を見ていて、目の前にある穴を落っこちる前にどうにかしたいと思っています」” (TED Talks)
    Comment:
    先延ばし魔の頭の中はどうなっているか 2016.05.05 02:00 AM
    “ティム・アーバンは先延ばしが理にかなっていないのは分かっていても、間際になるまで始めない癖をどうすることもできませんでした。この可笑しくも洞察に満ちた講演でアーバンはYouTubeへの耽溺から、Wikipediaの迷路、窓の外を眺めたくなる発作を巡りつつ、自分が本当に先延ばししているものが何なのか真剣に考えるように勧めています—時間切れになってしまう前に。” (TED Talks)
    Comment:
    好きになる仕事はどうしたら見つかるのか 2015.12.25 00:00 AM
    “スコット・ディンズモアは惨めになるだけの仕事を辞め、楽しく意義ある仕事を人はいかに見つけられるかというテーマに4年間取り組みました。この一見単純な話の中で、彼の学んだ大事なことを教えてくれます。自分にとって大切なものを見つけ、それをやり始めるということです。” (TED Talks)
    Comment:
  63. YappoLogs | updated at 2016.12.31 10:43 PM
    2016年まとめ 2016.12.31 10:43 PM
    会社のブログ書きました...
    Comment:
    ISUCON #6 参加してきた 2016.10.24 01:33 PM
    やったことに関しては以下の動画を御覧ください。...
    Comment:
    LINE Notify で line command 作ると便利 2016.10.01 01:05 AM
    Comment:
    ikachan with Yappocall for LINE BOT API Trial Account 2016.04.08 04:21 PM
    LINE さんから Bot が作れる API がリリースされたということなのでikachanと昔なつかしYappocallの LINE 版を作ってみました。 実物はこちらhttp://yappocall.yappo.jp/ 初代 Yappocall は APNs で実装してましたが、今度は LINE を使ってるので僕からのお知らせが表示されてて双方向インタラクションな未来が来てる! LINE の開発者画面で Bot の作成を行い必要な設定を済ませた後、 Bot 連携するために必要な情報をソースコードに書いて実行するだけで簡単に ikachan のような単純な Web API が設置出来ます。 ソースコードの設定以外にも必要な作業があって、作成した LINE Bot を友だちに追加してから API で利用する appname の登録を行い api_token を生成する必要があります。 ln.yappo を利用した bot...
    Comment:
    2015年振り返り #yapcasia 2015.12.31 11:18 PM
    最後の YAPC::ASIA Tokyo 2015 にて 大規模でも小中規模サービスでも捗る microservices な Web サービスのつくりかた という内容で発表してきました。 また LT にて 廃止予定になった $^ENCODING に関する発表もしましたが、諸事情により資料は非公開です。 Have a Happy new year!...
    Comment:
  64. 不当解雇(?)と戦うブログ | updated at 2016.01.22 07:52 PM
    ごめんなさい 2016.01.22 07:52 PM
    まだ読んでくださっている方は殆ど居ないかと思いますが、 裁判も無事終わり数年が経ちました。 ブログの方はというと、色々な事情で暫くというかずっと放置していました。 また改めての進展というかコトの結末を書いていこうかと思います。 勝訴の定義 これは裁判をして...
    Comment:
    あけました 2010.01.18 07:21 PM
    明けましておめでとうございます。 かなり間が空いてしまいましたが、 基本的に何も進展が無いときの放置っぷりはデフォだと思ってくださいです。
    Comment:
    三歩進んで二歩下がる。 2009.08.24 08:11 PM
    皆さん元気にしていますでしょうか。 このブログも約1カ月後には開設1年になるのです。 その割にはそこまで進展はしておらず、書き記した内容も薄かったりしますが。
    Comment:
    おはようございます 2009.07.08 09:39 AM
    皆さんお久しぶりです。 ブログも定期的に更新すればベストなんでしょうが、 緩やかにしか物事が進まないために中々書く事が見つかりません。 書きたいネタはあるんだけどなあ・・。
    Comment:
    横道に逸れて裁判以外の近況 2009.04.18 07:59 AM
    皆さんおはようございます。 取り敢えずですね、更新する為のネタはあるんだけど書けない物もあったりで 何をどう突付いて行けばいいのか迷う所です。 なので裁判ネタ以外の近況を簡単に綴ってみるテスト。
    Comment:
  65. G Mania - グーグルの便利な使い方 | updated at 2015.11.11 01:29 PM
    25MB以上のデータ添付はDropbox for Gmail が便利です! 2015.11.11 01:47 AM
    Chrome、Gmail、Dropboxを使用されている方には、とても便利な機能です。 今年の始めに、Drop […]
    Comment:
    ネットが接続できない場所でも『オフラインGmail』を使って作業をしよう! 2015.11.10 03:21 AM
    オフラインGmailとは オフラインGmailは、オフライン(インターネットに接続できない)状態で、事前にメー […]
    Comment:
    google url shortener 長いURLを短くする機能 2015.11.06 06:04 PM
    初めまして、私はこのページの編集を新しく担当することになりました佐藤と申します。 これからgoogleの新しい […]
    Comment:
    地図の共有 Googleマップの地図をメールやチャットで送る 2013.05.30 00:18 PM
    地図の共有 Googleマップをメールやチャットで送る. またしてもいまさらかもしれませんが再確認のため。 G […]
    Comment:
    Gmail 送信取り消し機能, いまさらですが、再確認。 2013.05.28 06:19 PM
    ずいぶん前にLabsでの新機能としてお知らせしましたが、今では当たり前の機能として使え、時間も30秒後(微妙で […]
    Comment:
  66. CGトラッキング(CG Tracking) 世界のCGニュースを集めてみる | updated at 2015.03.18 09:30 AM
    CGトラッキングは『 http://cgtracking.net 』へ完全移行致しました 2015.03.18 09:30 AM
    いつもCGトラッキングをご覧頂きありがとうございます。 以前よりアナウンスしておりましたが、CGトラッキングは 2015年3月18日を以って『 http://cgtracking.net 』へ完全移行致しました。 リニューアルしたので、多少は見やすくなっているかと思います。(多分…...
    Comment:
    ディズニー映画『ベイマックス』のブルーレイ予約開始! 2015.03.03 11:11 AM
    ディズニー映画『ベイマックス』のブルーレイの予約が開始されました! 続きは移行先のCGトラッキングでご覧下さい ディズニー映画『ベイマックス』のブルーレイ予約開始! [CGトラッキング] また、恐れ入りますが、新アドレス:http://cgtracking.netへのブックマ...
    Comment:
    まじでか!!高クオリティーのゲームエンジン『Unreal Engine4』無料化を発表! 2015.03.03 10:49 AM
    Unreal Engine4が無料化されるようです。 Unreal Engineの公式ブログでその内容を発表しました。 続きは移行先のCGトラッキングでご覧下さい まじでか!!高クオリティーのゲームエンジン『Unreal Engine4』無料化を発表! [CGトラッキング] また、恐れ入ります...
    Comment:
    日本語字幕付き。海外のドラゴンボールファンが作った動画が結構ガチ。 2015.03.03 10:48 AM
    ドラゴンボールのファンムービーでしょうか。 かなり頑張った作品がアップされていました。 続きは移行先のCGトラッキングでご覧下さい 日本語字幕付き。海外のドラゴンボールファンが作った動画が結構ガチ。 [CGトラッキング] また、恐れ入りますが、新アドレ...
    Comment:
    いい声での日本語解説。ZBrush公認インストラクター『BLESTAR』氏による、ZBrush4 R7新機能解説動画 2015.03.03 10:48 AM
    ZBrushというスカルプト3DCGソフトに関する記事です。 先日、ZBrush4 R7がリリースされた訳ですが、 ZBrush公認インストラクター『BLESTAR』氏による、 日本語での新機能解説動画がアップされました。 続きは移行先のCGトラッキングでご覧下さい いい声での日...
    Comment:
  67. sky-high-nest-blog | updated at 2014.02.14 00:40 PM
    2014エフェクトセミナー サンプルシーン解説 レベルD 2014.02.14 00:40 PM
    今回はエフェクトセミナーをするに当たって基本的な破壊エフェクトの予習を基本から見ていこうと思います。レベルDのサンプルシーンでは最もベーシックで重要な、SCオペレーターを使ったセッティングを説明していきます。以前のエントリーでもSCについては少し触れているのでこちらも参考にしてください。 http://sky-high-nest.sblo.jp/article/53117385.htmlサンプルファイルはこちらからダウンロードしてください。https://dl.dropbox..
    Comment:
    複数選択したオブジェクトのマテリアルのパラメーターを一括変換(メモ) 2013.09.03 02:06 AM
    複数選択したオブジェクトのマテリアルのパラメーターを一括変換したい時のスクリプトです。とりあえずメモ代わりということで。今回はディスプレイスメントを一括でオフしたい場合です。sel = selection as array --選択したオブジェクトを配列に格納ObjNum=sel.count --配列の数をObjNumの変数に代入for i = 1 to ObjNum do -- for文で1からObjNumに入っている数の分だけ実行(meditMaterials[i] = ..
    Comment:
    FumeFXのscriptでのシェーダーへのアクセスについて 2013.07.08 02:30 PM
    FumeFXを使っていてMaxScriptからパラメーターにアクセスしたいという局面は少なからずあると思いますが、今回はその場合の注意点についてちょっと書いておきたいと思います。 FumeFXのグリッドを選択してスクリプトリスナーで Show$を実行すると、スクリプトで変更可能なパラメーター群が羅列されます。しかしいざシェーダー周りをいじろうとするとその記述が殆どありません。今回はこのシェーダー周りにアクセスする際の方法をメモしておきたいと思います。
    Comment:
    TP&FumeImageBasedColorSmokeR&D v001解説 2013.06.18 05:13 PM
    TP&FumeImageBasedColorSmokeR&D v001 from Kei Yoneoka on Vimeo.久々のブログ更新です。今回はTPとFume3.xの機能を組み合わせてエミッターの発生源のテクスチャーの色を基に煙の色をつける方法を解説してみたいと思います。内容的には中級ぐらいのものだと思います。現実世界の煙は場合によっては単色ではない場合が結構あるのでそういう場合は発生源のコンディションに応じて煙にも色のバリエーションが着くべきだと思います。それがよ..
    Comment:
    Scanline VFX Vancouverに移籍しました。 2013.01.10 05:14 PM
     明けましておめでとうございます。ここしばらく更新が滞ってましたが、最近ぼちぼち落ち着いてきたのでブログの更新を久々にしておきたいと思います。 今年一発目の記事はタイトルにあるようにScanline VFXへの移籍です。ツイッターとかフェイスブックやってる人だったらもうとっくに知ってることなんですが、とりあえずブログでもご報告です。http://www.scanlinevfx.com/index.html
    Comment:
  68. Double Slash | updated at 2013.10.09 01:58 AM
    数年ぶりにログインしたw 2013.10.09 01:58 AM
    <p>数年ぶりにblogを書いた。</p> <p>ここ数年demosceneまわりでいろいろ活動してたし、<br /> Twitterで書きたいこと書いてたので<br /> なんだか個人的なブログの存在意義を感じなくなってきてた。</p> <p>しかしここ最近HTML5やらJavaScriptやらを勉強してきて<br /> 再度自分のHPやらblogやらをやり直そうかなと思ってきた。<br /> あとやっぱりTwitterでは字足らずなこともあるしね。</p> <p>まだMTとWordpressの違いがようやく認識できたレベルですが、<br /> いろいろ勉強しつつ新環境に移行できたらなと思います。</p> <p>とりあえずはさくらVPSとか調べてみるかね。<br /> 同じXREA系列では今のXREA+よりもコアサーバーの方がよさげな感じ。</p> <p>そんじゃまた。<br /> </p>
    Comment:
    Evoke 4k あとがき 2011.08.23 01:06 AM
    <p>ドイツのデモパーティ<a href="http://www.evoke.eu/2011/">Evoke 2011</a>に参加してきた。</p> <p>パーティのレポートは<a href="http://www.demoscene.jp/?page_id=430">こちら</a>。</p> <p>Green Cube by System K (4096bytes)<br /> <iframe width="390" height="240" src="http://www.youtube.com/embed/ig8UZMZoc1U" frameborder="0" allowfullscreen></iframe></p> <p>個人的な今回の4kIntro作品の制作後記を述べる。<br /> 今回の製作期間は約まるまる1週間である。<br /> 曲データは3週間ほど前から制作していたが、<br /> 直前で結構直したし、グラフィックスに関してはほとんどできてなかった。<br /> 今回はシンセエンジンは自作ではなく<a href="http://4klang.untergrund.net/">4klang</a>である。<br /> 4klangが何か知らない人のために少し解説すると、VSTiプラグインとして動作する<br /> 4kIntro制作用の超軽量ソフトシンセである。通常のVSTiプラグインとして動作するため<br /> 通常のDTM制作などで利用されるVSTホスト作曲ソフトを利用することが可能である。<br /> 4klangは特にヨーロッパなどで利用者の多いデモ版は無料の<a href="http://www.renoise.com/">Renoise</a>で利用されることが<br /> 最も想定されている。(4klangについてくるサンプルとかRenoise形式)<br /> 4klangを使って作った曲をエクスポートするとVisualStudioやgccなどで<br /> リンク可能なobj形式で出力される。あとはこれをグラフィックスのコンパイルした<br /> プログラムとともにリンクしてやれば4kIntroの出来上がりである。<br /> やはり4klangはすごい。シンセのインストゥルメントデータはほとんど16バイトに<br /> おさまるし。プリセットでついているサンプルも豊富なので、<br /> 自分でシンセがいじれなくとも、迫力のある音を出すことが可能である。<br /> 悪い点をあげれば、コンプレッサなどがない(俺がみつけきれてないだけだったらすいません)ので、<br /> 音の調整などは各インストルゥメントごとに行う必要がある。音が大きすぎると音が割れる。<br /> (もしかしたらやり方があるのか?)<br /> また、シーケンスデータは直接保存しているようなので、<br /> 圧縮率が良くない。この辺りは他のTracker系統に近いデータ保持形式を<br /> 採用している4k用シンセのほうがシーケンスの繰り返しパターンが多い場合は<br /> 有利ではないだろうか。<br /> グラフィックス周りは、シェーダでシーンの構築、シーン遷移を行えるようにした。<br /> 今まで<a href="http://kioku.sys-k.net/4kgfxmon/">4kGfxMonitor</a>をツールとしてつくったが、shaderだけで4kのデモを作るのは<br /> 今回が初めてである。<br /> 案外サイズは余裕かと思っていたがそうでもない。<br /> 開発初期のころはよいが、4kにサイズが収まりにくくなってくると、<br /> shaderコードをいかに短くするかというCodeGolfのようになってくる。<br /> 実際には単純に短くしても圧縮率が悪くなるだけということもあり得るが、<br /> とりあえず文字数を短くすれば順調にサイズは減っていった。<br /> (といっても30文字減らして10バイトくらいしか減らない)</p> <p>実際のshaderコードの圧縮率は1351/2937 (圧縮後/圧縮前)なので46%の圧縮率である。<br /> バイナリコードだと50%程度なので多少はよいよいだが、<br /> shaderコードが複雑化してくると、最終的には同じ圧縮率にむかうのだろうか・・?<br /> このあたりは、同じ変数が出現するようにとか、いろいろ工夫すれば<br /> さらに圧縮率は上げられそうである点ではバイナリコードより有利か。<br /> あとは組み込み関数が多くサポートされているのでそのあたりも有利である。<br /> 当初float4などを置き換えない状態では40%程度の圧縮率だったので、<br /> defineしたせいで、圧縮率が悪くなっているのかもしれないが、<br /> 置き換える方がよいのか、そうでない方が良いのかまでは調査しきれていない。<br /> 開発当初見込んだshaderテキストサイズは3300文字で圧縮率40%なら1300バイト<br /> に収まっていたのだが、圧縮率が下がったせいで2900文字程度のshaderとなった。</p> <p>全体としては、もっとシーン構成のネタを練るべきだったかと思ったが、<br /> タイムリミットもあったりで、結局あまりまとめられないまま突っ込んでしまった。<br /> 今回の結果をみても、4kIntroあまりシーン変化をつけなくとも一発ネタに終始したほうが<br /> ウケる可能性が高いように見受けられる。しかし、単に一発ネタをやるだけだと、<br /> ネタがすべると、だだ滑りになってしまうのでこれがまた難しい。<br /> (というか最初に一発ネタをやろうとして、微妙感がかなりあったので、今回のような<br />  複数シーン展開にしたのである・・・)<br /> 相当に練ったネタじゃないと4kIntro上映中に会場から拍手をもらうのは難しいだろう・・・<br /> まぁ最新のパーティコンペで4kIntroで参加して、何か難しくて何がすごいかは十分に理解できた。<br /> 今回の上位の作品も技術レベルとしては不可能な位置にいるようには見えないが、<br /> 作品としてあれだけうまく1つの方向にどうやったらまとめられるかはわからない。<br /> やはり、事前に十分な時間をかけてネタを練る必要があるかと思った。<br /> 今回のデモは本当に1週間くらいでつくったが、今回のようなある程度ベースがあれば<br /> 次作は1週間もかからないだろう。<br /> そうすれば、1週間まるまるはネタをまとめる方向にさけるのだろうか・・・?<br /> せっかく4kIntroベースのシステムができたので、しばらく4kを模索していきたい。<br /> もちろん容量制限なしデモシステムは別途あるのでデモはデモでつくるぜ!!</p> <p>というわけでまた次回。</p>
    Comment:
    Revision 2011 2011.05.05 07:02 AM
    <p>またかなりしばらく更新してませんでした。すいません。</p> <p>最近はtwitterを使うようになってから、<br /> 片手間の時間でさくさくと更新できてしまうtwitterのほうが楽チンで<br /> blogはまぁいいかぁ・・・みたいになりますね。</p> <p>さてデモシーン関連ですが、ドイツのBreakpoint後継のパーティである、<br /> Revision2011が4月後半のイースターに開催されました。<br /> Revisionの作品は<a href="http://www.pouet.net/party.php?which=1550&when=2011">こちら</a><br /> TomohiroさんによるRevision参加レポートは<a href="http://www.demoscene.jp/?page_id=288">こちら</a></p> <p>日本からもtomohiroさんが参加されています。<br /> もちろんリアルタイムでストリーミングを鑑賞していたのですが、<br /> ストリーミングは切れ切れだったので、改めてウチでRevisionの作品を上映する<br /> プチデモパーティを開催しました(^_^<br /> 参加されたのは301さん, qさん,Zavieさんです。</p> <p>GWの最初の休みに開催したのですが、オールナイトで次の日の昼過ぎまで<br /> やってましたw<br /> やっぱり一人でみるより、大勢でみたほうが盛り上がりますね。</p> <p>最近のデモシーンの傾向だと、はやりはツブツブが旬ですね。<br /> 昨年のFairlightが確立したツブツブレンダリング&シミュレーションが4KBなどでも<br /> 実装されてきました。<br /> もともとデモシーンではkewlersやmfxなどがポリゴンを使わずに<br /> ポイントスプライトだけでデモをつくる 0 polygonデモはあったのですが、<br /> それはポリゴンでは不可能な表現をするための手段でした。<br /> それに対しFairlightが実装してきたのは、既存のポリゴン表現をツブツブレンダリングで<br /> おきかえるというものでした。<br /> これにより、通常の3Dシーンをみているようでも、今までみたことの無い動きをする<br /> という部分がウケたようです。</p> <p>実際に作品を見る方が理解が早いでしょう。<br /> 以下はScene.org Award 2010でBest Demo/Best Graphics/BEST TECHNICAL ACHIEVEMENT<br /> を受賞した作品<br /> <iframe width="450" height="300" src="http://www.youtube.com/embed/ON4N0yGz4n8" frameborder="0" allowfullscreen></iframe></p> <p>そして今年のThe Gatheringでは以下の作品を発表<br /> ツブツブの特性をいかして水のシミュレーションをしているようです<br /> <iframe width="450" height="300" src="http://www.youtube.com/embed/wPdYfn9_dIM" frameborder="0" allowfullscreen></iframe></p> <p>数値をしゃべってるだけなのになぜかカッコイイ・・・なぜ・・</p> <p><br /> 次に大きな大会があるのはevokeですかね。8月12-14でドイツのケルンであります。<br /> 渡航費をしらべたらサーチャージ込みで20万円ちょっとかかります。<br /> やっぱり8月の夏休みごろは高いですね。4月なら10万円切れる。</p> <p>次のパーティには是非参加したいところですね。<br /> ドイツはソーセージとビールがうまいぃぃぃ。</p>
    Comment:
    Tokyo Demo fest Inivitation Demo 2010.12.15 01:40 AM
    <p>というわけで、おまたせしました。<br /> Invitationデモを公開です。</p> <p><a href="http://www.sys-k.net/works/sysk_tdfinv.zip"><br /> <img src="http://www.sys-k.net/ss/tdfiscr_mini.jpg" /><br /> ダウンロード</a></p> <p>さて、これからは運営のほうの仕事にまわります。<br /> もう1ヶ月きってる(汗</p>
    Comment:
    Tokyo Demo fest Inivitation Demo製作中 2010.11.19 02:03 AM
    <p>えー<br /> Invitation Demoを鋭意製作中です。<br /> おそらく公開は月末くらいになりそうです。</p> <p>すみませんが、もうしばらくお待ちくださいです。</p> <p>なおパーティ関係者の方々には来週くらいに<br /> 先行公開&レビューをもらうかもなのでよろしくです。</p> <p>ちなみにですが、<br /> 今のネット回線はWiMAXなんですが、<br /> WiMAXだと2chからアク禁されてて2chのメガデモスレ書き込めないw</p> <p>これまた<a href="http://www.demoscene.jp">demoscene.jp</a>のフォーラムも早急にやれということですねw</p>
    Comment:
  69. モーション研究所 | updated at 2013.08.14 10:35 AM
    PCが熱で壊れたよー 2013.08.14 10:35 AM
    しばらく更新していなかったのはPCが不調でしたので・・orzどうやら熱でおかしくなったらしいパソコンは常に高温で動いているけど、追い打ちをかけるように夏の暑さにやられたようですおかしくなってからじゃ、取り返しの付かない事になるので、皆さんも対策しましょう
    Comment:
    パフォーマンスキャプチャーの魅力と苦労【BEYOND: Two Souls】 2013.04.21 05:18 PM
    2013年予定発売予定のPlayStation3ソフトBEYOND: Two Souls (ビヨンド ツー ソウル) ゲーム開発で行っているパフォーマンスキャプチャーについて公式にメイキング映像が出されていますパフォーマンスキャプチャーとは、従来から行っているモーションキャプチャーよりさらに精細に収録するスタイルで、今までのボディ収録に加え、フェイシャル、フィンガー、装飾した付属物(髪の毛や尻尾とか)、大道具、小道具など、すべて取り込
    Comment:
    オートデスク2014 Maya 3dsMAX Softimage MotionBuilder 販売開始 【Autodesk2014】 2013.04.14 04:05 AM
    オートデスクの3DCGアプリケーションの2014日本語最新版が、4月12日に出荷されました!Autodesk Maya 2014Autodesk 3ds Max 2014Autodesk Softimage 2014Autodesk MotionBuilder 2014業務上、Softimage MotionBuilder を良く使わせていただいていますのでオートデスクさんには、大変お世話になっておりますさてさて、CGソフトのバージョンアップはとても期待をしているのですがやっぱり価格が気になりますよね。正直、個人で購入す
    Comment:
    モーションキャプチャーにおけるバーチャルカメラとは 【virtual camera】 2013.04.11 00:44 AM
    バーチャルカメラあなたはバーチャルカメラ(virtual camera)って知っていますか?バーチャルカメラとは、あらかじめ3DCGでモデリングやモーションなど空間を作り出来上がった全体をモーションキャプチャーのスタジオなどに配置するといった感じがわかりやすいかもその空間をバーチャルカメラを使って3DCG空間に実際に入り込み撮影をするといった技法ですつまりは巨大な AR(拡張現実)システムを採用しながら録画出来ちゃうシロ
    Comment:
    モンスターズインク最新作【モンスターズ・ユニバーシティ】7月6日 2013.04.04 10:36 AM
    いよいよ公開間近の【モンスターズ・ユニバーシティ】の詳細が明らかになって来ましたね日本オリジナル予告も公開されました自分は公開日から直ぐに見に行くのでとても混むのですが、映画ってタイミングを逃すとDVD/Blu-rayでいいや、又そのことも気が付かないとレンタルでいいやと結局見ずに終わったり・・なので、速攻で見に行く様にする癖がつちゃいましたw特にCG映画などは作品としても、勉強としても価値がありますね。前売
    Comment:
  70. プロジェクトの「補助線」 | updated at 2013.05.09 07:02 PM
    【重要】「プロジェクトの補助線」ブログ 引っ越しのお知らせ 2013.05.09 07:02 PM
    「プロジェクトの補助線」ブログをご利用いただき、ありがとうございます。 「プロジ...
    Comment:
    ≪サプリ352≫行き過ぎた行動はリーダーシップを失う 2013.03.01 00:35 PM
    本ブログは移転しました。こちらをご覧ください。 行動するリーダーは、行き過ぎた行...
    Comment:
    ≪サプリ351≫リーダーシップがその人の持つ能力を発揮する上限を決める 2013.02.28 09:00 AM
    本ブログは移転しました。こちらをご覧ください。 リーダーシップの能力が、その人が...
    Comment:
    ≪サプリ350≫決断できるものが上に立つ 2013.02.27 09:00 AM
    本ブログは移転しました。こちらをご覧ください。 必要な情報が足りない中でも決断で...
    Comment:
    【イノベーションを生み出すマネジメント】第11話 イノベーション実行の体制・リソース・プロセス 2013.02.27 00:11 AM
    本ブログは移転しました。こちらをご覧ください。 ◆体制・リソース・プロセス 前回...
    Comment:
  71. | updated at 2013.04.26 09:40 AM
  72. metaseq.net blog | updated at 2012.05.06 03:02 PM
    ブログを移転しました 2012.05.06 03:02 PM
    新しいブログはこちらです。http://blog.metaseq.net/このブログは今後更新しませんが、コンテンツは新しいブログに引き継いでいないので、当面はこのまま残しておきます。
    Comment:
    Norton社のセキュリティ製品をご利用の際の注意 2012.05.01 04:47 PM
    Norton社のセキュリティ製品をお使いの場合、Metasequoiaの起動直後、または「ファイル - ヘルプ - アップデートのチェック」メニューで手動でアップデートの確認を行った際に、Metasequoiaの実行ファイルがいきなり削除されてしまうことがあります。削除された後もNorton上でファイルを元に戻すようにすれば大丈夫ですが、これはNorton社の製品が、利用者の少ない、またはリリースされたばかりの新しいソフトがネットワークへのアクセス(この場合単に最新版があるか..
    Comment:
    日曜CGソフト屋を終了します 2012.04.30 10:55 AM
    本ブログの副題にもしていた日曜CGソフト屋。その名の通り10数年に渡って休日を中心にソフト開発を行ってきましたが、メール対応にほとんどの時間を割かれて肝心のプログラミングが全然できない状況が続き、ここ数年はバージョンアップも思うようにならない現状を鑑み、この4月末を持って日曜CGソフト屋を終了をさせていただきます。
    Comment:
    Metasequoia Ver3.0.0正式公開 2012.04.29 10:54 PM
    12年ぶりのメジャーバージョンアップ、6年ぶりのマイナーアップとなるMetasequoia Ver3.0.0を正式公開しました。Ver2.4からの主な変更点としては、●表示の高速化(Ver2.4比で約5倍)●シェーダ対応による表示の高品質化●複数光源による表示●メモリ管理の改良による安定性の向上●選択やUV編集などのコマンドの改良●(精度はまだまだですが)彫刻コマンドによるペイント的モデリング●COLLADA 1.4(DAE)ファイルの出力●PSDファイルの画像読み込み●Ma..
    Comment:
    この週末のリリースはありません 2012.04.08 09:20 PM
    不具合がなければRC1から1週間程度で正式公開と書きましたが、BBSにも不具合が若干数報告されていてその対処が必要だったり、さらなる品質チェックも必要そうなので、もう少しだけ正式リリースを先にします。正式公開は早くても来週末になります。ただし、来月までずれこむことだけはありません。
    Comment:
  73. | updated at 2012.02.17 06:54 PM
  74. B.C.LOG | updated at 2010.12.15 01:46 PM
    告知とか 2012.12.23 00:00 AM
    2010/12/15 <br> 画像一枚しか貼れないのでblogspotに移転します。 <br> <a href="http://d-yagi.blogspot.com/">http://d-yagi.blogspot.com/</a> <br> 動画などは今まで通りTumblrに! <br> <a href="http://d-yagi.tumblr.com/">http://d-yagi.tumblr.com/</a> <br> 内容につっこみあればTwitterか↑のMailまでよろしくです。<br>
    Comment:
    【XSI & Plugin】 XSI Metaball / Kristinka ICE hair 2010.02.09 11:59 AM
    超久しぶりな更新、と言いつつTwitterの自発言memo。 <br> <br> ICEのHair最新のVer1.1がでています。 <br> Kristinka hair ver1.1 Released <a href="http://bit.ly/cIgbjT">http://bit.ly/cIgbjT</a> #softimage #ice <br> 2/16追記 <br> Kristinka Hair (kH) toolkit node reference <br> <a href="http://bit.ly/bUQ5F6">http://bit.ly/bUQ5F6</a> (SI-Community) <br> <br> MetaballプラグインのVer3、こちら有償(100ユーロ)ですが <br> 8192triangleまでの制限で試用可能です。 <br> XSI Metaballs v3 <a href="http://bit.ly/b5twYf">http://bit.ly/b5twYf</a> #softimage<br>
    Comment:
    【XSI & Plugin】 V-ray for XSI 情報 2009.10.05 02:48 PM
    <a href="http://3dcenter.ru/forum/index.php?showtopic=90927">http://3dcenter.ru/forum/index.php?showtopic=90927</a> <br> <br> 途中にChaosGroupのロードマップが貼られてますね。 <br> MAYA版 V-rayがRC1、XSI版がPublic Betaとなっています。 <br> あれ・・2009年にV-ray for XSIがない\(^o^)/ <br> これはStandAlone版に期待か。 <br> <br> ちなみにRCとBetaの違いについても。 <br> <a href="http://www.atmarkit.co.jp/icd/root/33/20949533.html">http://www.atmarkit.co.jp/icd/root/33/20949533.html</a> <br> <br> 09/08/26 <br> ChaosのDLページにV-ray for XSI βの項目がついた。 <br> このTopicでFollowしておこう。 <br> 気づいたらちょうどこのTopic1年前なんだなー早いなー。 <br> <br> 09/10/05 <br> xsiforum.deにあるSoftimage|ÜberTage 2009のTOPICに <br> V-ray for SIの動画がUPされていました。 <br> <a href="http://www.xsiforum.de/thread.php?postid=89939#post89939">http://www.xsiforum.de/thread.php?postid=89939#post89939</a> <br> PDPlayer上のバージョンみるとV-ray ADV1.5SP2となっていますね。 <br> すんごい昔に一度だけ見たことあったけれどβテストも進んでいるようでちょっと安心です、問題はリリース時期ですが・・。 <br> <br> さらにさらに <br> V-Ray for SOFTIMAGE BETA <br> <a href="http://www.si-community.com/community/viewtopic.php?f=13&amp;t=294">http://www.si-community.com/community/viewtopic.php?f=13&amp;t=294</a> <br> 時間とライセンスをお持ちの方はぜひ。<br>
    Comment:
    【MAX】 Krakatoa まとめ 2009.08.10 00:58 PM
    <A HREF="http://www.franticfilms.com/software/products/krakatoa/">Frantic Films社</A> 製のMAX用パーティクル生成Plugin<br> Frantic Filmsといえばレンダリング管理の「Dead Line」も有名。<br><br> <A HREF="http://forums.cgsociety.org/showthread.php?f=206&t=445722">CG TalkのKrakatoaスレッド</A>では同社のTD:Boboさんが精力的に活動中、<br> 1年半以上書いててほぼサポートForum状態、恐るべし。<br> <br> -以下Krakatoa関係の動画やらScene-<br><br> ・<A HREF="http://features.cgsociety.org/story_custom.php?story_id=4496">「Snickers - Rugby」 </A>これは色々なサイトで紹介されてますね。<br> ・この二つはSIGGRAPHで公開されていた動画、FumeFXと<br> 連携した奴だったと記憶、まじパネェっす。<br>  http://partiallyfrozen.com/Movies/SigPlane34.mov<br>  http://partiallyfrozen.com/Movies/SigPlaneSide.mov<br> ・CG TALKスレッドから<A HREF="http://laurent.renaud.free.fr/divers/cgtalk/desintegrate001.max">.MAX形式のScene</A><br><br> ・<A HREF="http://www.realflowforum.com/view_topic.php?id=2221&p=1">RealFlowのForum</A>から<A HREF="http://bouchakour.de/video/NotHinted16578.mov">RealFlowとの連携Tutorial</A><br>ここにもBoboさんが・・<br><br> ・Youtubeより<br><A HREF="http://jp.youtube.com/watch?v=nzAlzy0ELFQ&fmt=18">Krakatoa+RealFlow</A><br> <A HREF="http://jp.youtube.com/watch?v=Jmn11zOgxp0&fmt=18">TEST Rendering</A><br><br> ・Dailymotionより<br> <A HREF="http://www.dailymotion.com/video/k6s0cgo6N6Cn07nObt">Particle</A><br><br> ・vimeoより<br><A HREF="http://www.vimeo.com/1317343">krakatoa in FumeFX</A>と<A HREF="http://www.vimeo.com/1317640">krakatoa+Pflow</A><br> <br> 2009年8月追記<br> <A HREF="http://franticfilms.com/software/support/krakatoa/what%27s_new_in_krakatoa_v1.5.0.php">Krakatoa1.5 What's New</A> <br> <A HREF="http://www.youtube.com/watch?v=7c4WYzr30B0">Particle tests Collection(1-5) HD!</A><br>
    Comment:

    Link
    【MAX & Plugin】 BerconMetaball 1.0 2009.05.27 10:43 AM
    βテスト終了し正式リリースとなったので紹介。<br> <br> Jerry Ylilammi氏 の作成したV-ray専用のBlobツールです。<br> <A HREF="http://www.chaosgroup.com/forums/vbulletin/showthread.php?t=45704">Chaos Groupスレッド</A><br> <br> 環境要件: MAX9以降、V-ray SP3a以降<br> MAX標準のBlobよりも軽くて処理が圧倒的に早いです。<br> Jerryさんの説明では1千万程のParticleも低メモリで処理できるそうな。<br> 最新のV-ray専用ですがフリープラグインでこれは凄い。<br> ちなみにJerryさんはこのMetaball以外にも色々便利なPluginを<br> 公開しております、若いのにエライ。<br> <A HREF="http://www.ylilammi.com/">Jerry氏のHP</A>
    Comment:
  75. 3D自習室 | updated at 2010.10.01 04:36 AM
    3D-Coat AppLink パイプラインの使い方 2010.10.01 04:36 AM
    一昨日Twitterで、Andrewが「AppLinksの定義と、3DCに実装しているすべてを更新しました」とつぶやいて、3D-Coat AppLink パイプラインの使い方を更新したので、そのためのとっかかりとして4月に公開された旧版ドキュメントを自分用に翻訳したのでひっそりと置いておくことに。グロッサリ確認して、XMLとして組み込まれている正規表現との照らし合わせをしていないのであくまでメモとして。3D-Coat AppLink パイプラインの使い方.odt暇を見て、一昨..
    Comment:
    各種3DCGアプリケーションのチュートリアル日本語化計画 2010.01.09 01:11 PM
    Acombee Communicationsさんで、・Gnomon Workshop / Gnomonology・Digital Tutors・fxGuide / fxPHDを日本語にする計画があり、実現に向けての署名を募集中です。署名受付の締め切りが1月15日までですので、3DCGを始めてみたいけど、アプリケーションの使い方がよく分からないので躊躇しているという方は是非署名にご参加下さい。Twitterもやってるみたいです。<日本語化署名サイト>
    Comment:
    Voodoo Camera Trackerミラー 2009.05.02 05:36 PM
    Voodoo Camera Trackerが重くて落とせないという問い合わせがあったので、国内ミラーを設置しました。Linux版Win版インストーラ付きDL頁にも、ミラー案内が追加されています。
    Comment:
    T-Splines 2.0 Wip 13 2009.04.26 06:23 AM
    現在、T-Splineは、サービスリリースが1.41。最新のベータは、2.0β4です。翻訳が追いついていないので、今回はWIP13の訳を掲載しています。----T-Splines 2.0 Wip 13T-Splines 2.0 WIP 13 for Rhinoをお送りします。これはT-spline ver1の最新アップデートではありません。(それが必要な人は、ここにアクセスして下さい)生産現場で、このバージョン(WIP)を使用してはいけません。しかし、次期バージョンに助力をし..
    Comment:
    Intro to Pyro FX 2009.04.23 00:00 AM
    Houdini10の紹介は終わり、と言っておきながら、目玉であるPyroのチュートリアルを紹介。----Intro to Pyro FXPublished: April 17, 2009 for Houdini 10.0Houdini10の、最も興味深い新機能のひとつを見てみることにしましょう!このビデオチュートリアルでは、高品質なFireとSmokeを作成するPyro FXのワークフローを見ていきます。Pyroツールは、アーティストが考えた通りのエフェクトを作り出すことが、..
    Comment:
  76. 山本隆の開発日誌 | updated at 2009.09.26 11:11 PM
    ブログソフトを変更しました。RSSの変更をお願いします。 2009.09.26 11:11 PM
    ブログソフトをMovableTypeからWordpressに変更しました。 RSSのURLが変更になります。 RSSリーダーなどに登録されている方は、変更をお願いします。 あたらしいRSSは次のURLになります。 [http://www.gesource.jp/weblog/?feed=rss2](http://www.gesource.jp/weblog/?feed=rss2) よろしくお願いします。
    Comment:
    UnicodeStringの波ダッシュ問題の回避策のまとめ 2009.09.25 11:18 AM
    UnicodeStringをJISやEUC-JPに変換すると「~」が文字化けします。 UnicodeString uni = L"10~20"; AnsiStringT<50220> jis = uni; //=> 「~」が文字化けする 反対に、JISやEUC-JPをUnicodeStringに変換しても「~」が文字化けします。 \# <del>ちなみにShift-JISでは文字化けしません。</del> (修正)Shift-JISでも問題が発生するようです。 この問題を回避する関数が[MECSUtils][1]に用意されています。 [MecsMappingFix\_UnicodeToJISX0208 関数][4]と[MecsMappingFix\_JISX0208ToUnicode 関数][5]です。 \# MECSUtils ver1.33から関数名が変わりました。 UnicodeStringをJISやEUC-JPに変換するときは、[MecsMappingFix\_UnicodeToJISX0208 関数][4]を使用してから、変換します。 #include "MECSUtils.hpp" UnicodeString uni = L"10~20"; uni = Mecsutils::MecsMappingFix_UnicodeToJISX0208(uni); AnsiStringT<50220> jis = uni; //=>「10~20」 UnicodeStringをShift-JISに変換するときは、[MecsMappingFix\_UnicodeToCP932 関数][3]を使います。 #include "MECSUtils.hpp" UnicodeString uni = … uni = Mecsutils::MecsMappingFix_UnicodeToCP932(uni); AnsiStringT<932> sjis = uni; 反対に、JISやEUC-JPをUnicodeStringに変換するときは、UnicodeStringに変換してから、[MecsMappingFix\_JISX0208ToUnicode関数][5]を使用します。 #include "MECSUtils.hpp" UnicodeString uni = Mecsutils::AnsiToUTF16(raw, CodePage); uni = Mecsutils::MecsMappingFix_JISX0208ToUnicode(uni); Shift-JISをUnicodeStringに変換するときは、[MecsMappingFix_CP932ToUnicode 関数][6]を使います。 #include "MECSUtils.hpp" UnicodeString uni = Mecsutils::AnsiToUTF16(raw, CodePage); uni = Mecsutils::MecsMappingFix_CP932ToUnicode(uni); 各関数についての詳細は、[MECSUtils リファレンス][7]に丁寧な説明がありますので、そちらをご覧下さい。 * [MecsMappingFix_CP932ToUnicode][6] * [MecsMappingFix_JISX0208ToUnicode][5] * [MecsMappingFix_UnicodeToCP932][3] * [MecsMappingFix_UnicodeToJISX0208][4] 追記 [MECSUtils 1.35][1]でCP932(Shift-JIS)用の関数も用意されました。 Shift-JISに関する記述を修正しました。 「[DEKOのざつだん。][2]」によると、私が思っていたよりも複雑な問題だったようです。 DEKOさんの丁寧な対応に感謝します。 [1]: http://cc.embarcadero.com/item/26061 [2]: http://homepage1.nifty.com/ht_deko/ft0909.html#090925 [3]: http://homepage1.nifty.com/ht_deko/tech021.html#MecsMappingFix_UnicodeToCP932 [4]: http://homepage1.nifty.com/ht_deko/tech021.html#MecsMappingFix_UnicodeToJISX0208 [5]: http://homepage1.nifty.com/ht_deko/tech021.html#MecsMappingFix_JISX0208ToUnicode [6]: http://homepage1.nifty.com/ht_deko/tech021.html#MecsMappingFix_CP932ToUnicode [7]: http://homepage1.nifty.com/ht_deko/tech021.html
    Comment:
    RAD Studio 2010 Update 1 2009.09.25 09:20 AM
    RAD Studio 2010 Update 1がリリースされました。 [RAD Studio 2010 Update 1 リリースノート][1]によると、今回の修正は * 製品が All-Access がインストールされている環境で正しく動作するように修正されました。 * ネットワークライセンスを含むライセンスに関係する重要な修正が含まれました。 * 将来のアップデートが正しく適用できるようにするための重要な修正が含まれました。 慌ててアップデートする必要はなさそうです。 [1]: http://edn.embarcadero.com/article/39990
    Comment:
    CSV Mailer バージョン0.5.8を公開しました。 2009.09.25 09:17 AM
    CSV Mailer バージョン0.5.8を公開しました。 * [CSV Mailer メール一斉送信ソフト][1] 今回のバージョンアップでは次の変更を行いました。 * 送信するメールのヘッダを修正しました。 CSV Mailerは、CSVのデータをメールに差し込んで送信することができるメール一斉送信ソフトです。 データの差し込みの自由度が高く、半角カナを全角に変換する機能など差し込み時のデータ変換の機能もあります。 「POP before SMTP」や「SMTP認証(SMTP Authentication)」にも対応しています。Gmailにも対応しています。 ご意見、ご感想、ご要望をお待ちしています。 [1]: http://www.yamamototakashi.com/soft/csvmailer/ "CSV Mailer メール一斉送信ソフト"
    Comment:
    文字コードがJISやEUC-JPの文字列をUnicodeStringに変換したときの波ダッシュ問題 2009.09.24 08:46 PM
    UnicodeStringをJISやEUC-JPに変換するときの波ダッシュ問題は、 [MECSUtils][1]の[MecsMappingFixJA関数][2]を使うことで解決します。 逆にJISやEUC-JPの文字列をUnicodeStringに変換したときの波ダッシュ問題を解決するための関数として、 [MecsMappingFixJA][2]の逆の処理をする関数があると便利だと思います。 処理は単純に[MecsMappingFixJA][2]の反対の変換を行えば良さそうでした。 JISやEUC-JPの文字列をUnicodeStringに変換した後、この関数を使用します。 UnicodeString uni = Mecsutils::AnsiToUTF16(raw, CodePage); uni = Mecsutils::MecsMappingFixJA2(uni); [MECSUtils][1]に次の関数を追加します。 //JISやEUC-JPをUnicodeStringに変換したときの波ダッシュ問題を解決する関数 function MecsMappingFixJA2(const S: UnicodeString): UnicodeString; overload; var i: Integer; begin result := S; for i:=1 to Length(result) do case result[i] of #$2016: result[i] := #$2225; #$2212: result[i] := #$FF0D; #$301C: result[i] := #$FF5E; #$00A2: result[i] := #$FFE0; #$00A3: result[i] := #$FFE1; #$00AC: result[i] := #$FFE2; end; end; 関数名はもう少し工夫した方がいいでしょう。 追記: [MECSUtils][1] 1.33で導入していただきました。 [UnicodeStringの波ダッシュ問題の回避策のまとめ][3]をご覧下さい。 [1]: http://cc.embarcadero.com/item/26061 [3]: http://www.gesource.jp/weblog/archives/2009/09/unicodestring.html [2]: http://homepage1.nifty.com/ht_deko/tech021.html#MecsMappingFixJA
    Comment:
  77. mitsunari@cybozu labs | updated at 2009.04.01 04:06 PM
    VCでUTF32文字列に対してboost::regexを使う 2009.04.01 04:06 PM
    Visual StudioのC++開発環境ではsizeof(wchar_t) == 2なのでstd::wstringではサロゲートペアを考慮する必要があります. それを避けるためにUTF32文字列で文字列処理を行いたい場合があると思います.その場合, <pre> typedef unsigned int uint32_t; typedef std::basic_string<uint32_t> u32stirng; </pre> などの定義をして文字列を使うことになるでしょう.これらの型はC++0xでは標準になる予定です. 実際には利便性のためにchar*との自然な変換メソッドなどを追加すると思いますが,ここでは省略します. boost::regexでもstd::stringと同様にテンプレートパラメータに文字の型を与えることができ, <pre> typedef boost::basic_regex<uint32_t> u32regex; typedef boost::match_results<u32string::const_iterator> u32match; </pre> などと定義するとu32stringに対しても正規表現が使えるようになります. が,\w, \s, \dや[:digit:]などを使うとややこしい問題が発生します. これらを使うと現在の実装(boost 1.38)では内部的にuint32_tからcharにキャストしてから判別するようで,全然関係のない文字がマッチしてしまうことがあります(これはboostが悪いというわけではありません). たとえば /* これはUTF-8 */ const uint32_t str_[] = { 0x3053, 0x308c, 0x306f, 'U', 'T', 'F', '-', '8', 0 }; にたいして"\w+"をマッチさせると,先頭の一文字がマッチしてしまいます.これは0x3053はcharにキャストされ,0x53になり'S'と看做されてしまうからです. ここではこれを回避する最低限の修正について説明します. boost::regexでは上記の文字の型の判定にstd::ctype<charT>を利用します. したがって,その特殊化を用意すればひとまず問題を回避できます. std::ctypeが持つべきメソッドは<a href="http://www.cplusplus.com/reference/std/locale/ctype/">ctype - C++ Reference</a>などを参考にして用意します. ざっと調べたところではis, tolower, widenの三つを用意すればよいようでした(本当は全て用意すべきですが). それぞれの特殊化を用意しましょう. <pre> namespace std { template<> bool ctype<uint32_t>::is(std::ctype_base::mask m, uint32_t c) const { if (c & ~0xFFU) return false; return use_facet<ctype<char> >(std::locale()).is(m, static_cast<char>(c)); } template<> uint32_t ctype<uint32_t>::tolower(uint32_t c) const { if ('A' <= c && c <= 'Z') return c - 'A' + 'a'; return c; } template<> uint32_t ctype<uint32_t>::widen(char c) const { return c; } } </pre> 勝手にstd空間に関数を定義しているのは一見奇妙に思えますが,std空間にテンプレートの特殊化を追加することは規格上認められているので問題ありません. 本来はstd::ctype_base::maskにはspace, upperなど文字の特性を判別するフラグが入ってくるのでUnicodeの規格に応じて正しく分岐したほうがよいかもしれません. しかし純粋にasciiだけをチェックしたい場合もあるでしょうから,ここでは1byte文字でなければfalseにして,1byteのときは既存のcharに対するctypeを呼ぶことにしました. スペースをasciiの0x20だけでなく全角スペース(0x3000)や,他のUnicodeのスペースを判別したい場合はisを適宜修正してください. この特殊化を追加することで,上記のマッチングは正しく"UTF"を返すようになります. <a href="http://labs.cybozu.co.jp/blog/mitsunari/r.cpp">サンプルコード</a> (注意)Linux上のgccではこれらの修正だけでは正しく動作しませんが,今回は触れません. なお,isの中のuse_facetをする部分 <pre> return use_facet<ctype<char> >(std::locale()).is(m, static_cast<char>(c)); </pre> は極めて重たい処理ですので,static変数にキャッシュしておきそれを使うのがよいです. <pre> static const std::ctype<char>& cache = use_facet<ctype<char> >(std::locale()); return cache.is(m, static_cast<char>(c)); </pre> あるいは,std::ctype<char>がもつtable()メソッドを引き出して, <pre> static struct Custom : public std::ctype<char> { const mask * table() const { return std::ctype<char>::table(); } } custom; static const mask* maskTbl = custom.table(); return (maskTbl[(unsigned char)c] & m) != 0; </pre> などとするのがよいでしょう.
    Comment:
    google ChromeでSHA-1のベンチマーク 2008.09.09 02:58 PM
    1年ほど前に作った<a href="http://labs.cybozu.co.jp/blog/mitsunari/2007/07/sha1_1.html">sha1.js</a>をgoogle Chrome上でベンチマークをとってみました(Win Xp@Core2Dup 2.6GHz). 結果はpajhomeさんの実装では20倍以上もの凄まじい速度向上がありましたが,もともと最適化していた私ものものはあまり速くなっていません. これはループアンロールなどの(つまらない)努力は不要になるということで,すばらしいことです. ただ数値計算に限っては,もともと十分に最適化されていればIE6と大きく変わるものでもないとも言えます. ちなみにC++でのSHA-1では0.0056msecでした.まだ100倍ほどの開きはあるようです. ところでchromeのJIT部分で使ってる<a href="http://v8.googlecode.com/svn/trunk/src/assembler-ia32.cc">assembler-ia32.cc</a>なんかみると<a href="http://homepage1.nifty.com/herumi/soft/xbyak.html">xbyak</a>使ってほしいなとか思ったり.x86-64への対応が簡単になると思いますがいかがでしょう. <table border="1" cellspacing="1" cellpadding="5" bgcolor="#D2ffff"> <tr><th></th><th>my SHA-1</th><th>pajhome</th><th>JavaScriptでハッシュアルゴリズム</th></tr> <tr><th>IE6</th><th>0.94msec</th><th>10.47msec</th><th>6.25msec</th></tr> <tr><th>Firefox 3.0.1</th><th>0.63msec</th><th>2msec</th><th>1.39msec</th></tr> <tr><th>Chrome</th><th>0.55msec</ht><th>0.44msec</ht><th>0.65msec</th></tr> </table>
    Comment:
    fast strlen and memchr by SSE2 2008.06.07 00:43 PM
    strlen()とmemchr()のSIMD版を作ってみました. 今回は最速よりもお手軽さを重視したのでアセンブリ言語ではなくintrinsic関数を使っています.そのためVisual Studio 2008, gcc 4.xの両方でコンパイルでき32-bit, 64-bit OS上で動作します. WindowsとLinuxでのみ確認していますが恐らくIntel Mac OS X上でも動作するでしょう(<a href="http://labs.cybozu.co.jp/blog/mitsunari/search.cpp">sample source</a>). ベンチマークはランダムな長さの文字列の平均長(average length)を変化させつつ取りました.数値は1byteあたりにかかった処理時間比で小さいほど速いことを表します. strlenが3種類(ANSI, BLOG, SSE2)とmemchrが2種類(ANSI, SSE2)あります.BLOGというのは今回試してみようというきっかけになった<a href="http://canonical.org/~kragen/strlen-utf8.html">Counting Characters in UTF-8 Strings Is Fast</a>の中のCバージョンです. 結果は極端に短いところではSIMDが使えず,かつそのチェックのためのオーバーヘッドがありそれほど速くなりませんが,32文字以上ではは2~5倍高速であることが分かります. なお,gccのstrlen()は今となっては遅い命令を使っているためよくありません(なぜこうなっているのかちょっと理解に苦しみます). 一つ細かい注意点としては,高速化のために与えられた範囲外の空間を少しアクセスします(readはするがその値は捨てます).<s>16byteアライメントされたところを超えることはないので</s>バグで16byte超えることがあったのですが修正しましたのでページングエラーにはなりませんが,purifyなどのツールを使うと警告がでるかもしれません. intrinsic関数はVCとgccとで共通化され,しかも32bit, 64bit両対応なため汎用性も高いです.strlenSSE2のように30行未満の関数でも十分は効果はでます.利用しない手はないと思われます. <pre> size_t strlenSSE2(const char *p) { const char *const top = p; __m128i c16 = _mm_set1_epi8(0); /* 16 byte alignment */ size_t ip = reinterpret_cast<size_t>(p); size_t n = ip & 15; if (n > 0) { ip &= ~15; __m128i x = *(const __m128i*)ip; __m128i a = _mm_cmpeq_epi8(x, c16); unsigned long mask = _mm_movemask_epi8(a); mask &= 0xffffffffUL << n; if (mask) { return bsf(mask) - n; } p += 16 - n; } /* thanks to egtra-san */ assert((reinterpret_cast<size_t>(p) & 15) == 0); if (reinterpret_cast<size_t>(p) & 31) { __m128i x = *(const __m128i*)&p[0]; __m128i a = _mm_cmpeq_epi8(x, c16); unsigned long mask = _mm_movemask_epi8(a); if (mask) { return p + bsf(mask) - top; } p += 16; } assert((reinterpret_cast<size_t>(p) & 31) == 0); for (;;) { __m128i x = *(const __m128i*)&p[0]; __m128i y = *(const __m128i*)&p[16]; __m128i a = _mm_cmpeq_epi8(x, c16); __m128i b = _mm_cmpeq_epi8(y, c16); unsigned long mask = (_mm_movemask_epi8(b) << 16) | _mm_movemask_epi8(a); if (mask) { return p + bsf(mask) - top; } p += 32; } } </pre> <table border="1" cellspacing="1" cellpadding="5" bgcolor="#D2ffff"> <caption>Core2Duo 1.8GHz Xp SP3 + Visual Studio 2008(32bit)</caption> <tr><th>average length</th><th>2</th><th>5</th><th>7</th><th> 10</th><th> 12</th><th> 16</th><th> 20</th><th> 32</th><th> 64</th><th>128</th><th>256</th><th>512</th><th> 1024</tr> <tr><th>strlenANSI</th><th>683.8</th><th>406.3</th><th>308.8</th><th>234.5</th><th>203.3</th><th>168.0</th><th>148.3</th><th>113.3</th><th> 86.0</th><th> 70.5</th><th> 62.5</th><th> 58.5</th><th> 54.5</tr> <tr><th>strlenBLOG</th><th>835.8</th><th>449.3</th><th>347.5</th><th>269.5</th><th>234.3</th><th>195.3</th><th>175.8</th><th>140.5</th><th>109.3</th><th>89.8</th><th>82.0</th><th>78.3</th><th>82.3</tr> <tr><th>strlenSSE2</th><th>765.8</th><th>355.5</th><th>269.5</th><th>199.3</th><th>172.0</th><th>133.0</th><th>109.5</th><th> 78.3</th><th> 47.0</th><th> 27.3</th><th> 19.8</th><th> 15.5</th><th>7.8</tr> <tr><th>memchrANSI</th><th>1046.8</th><th>648.5</th><th>515.8</th><th>390.5</th><th>347.8</th><th>273.3</th><th>226.5</th><th>164.0</th><th>105.5</th><th> 74.3</th><th> 62.5</th><th> 50.8</th><th> 50.8</tr> <tr><th>memchrSSE2</th><th>773.5</th><th>375.0</th><th>285.0</th><th>214.8</th><th>179.5</th><th>144.8</th><th>121.3</th><th> 82.0</th><th> 54.5</th><th> 31.3</th><th> 19.5</th><th> 15.8</th><th> 11.8</tr> </table> <table border="1" cellspacing="1" cellpadding="5" bgcolor="#D2ffff"> <caption>Core2Duo 1.8GHz Linux 2.4 on VMware + gcc 4.3.0(32bit)</caption> <tr><th>average length</th><th>2</th><th>5</th><th>7</th><th>10</th><th>12</th><th>16</th><th>20</th><th>32</th><th>64</th><th>128</th><th>256</th><th>512</th><th>1024 <tr><th>strlenANSI</th><th>2019.6</th><th>933.9</th><th>728.7</th><th>576.8</th><th>512.3</th><th>430.5</th><th>386.6</th><th>316.5</th><th>261.2</th><th>235.6</th><th>219.4</th><th>214.0</th><th>212.9 <tr><th>strlenBLOG</th><th>692.6</th><th>397.4</th><th>331.0</th><th>242.5</th><th>216.7</th><th>194.3</th><th>152.2</th><th>124.7</th><th>110.3</th><th>81.5</th><th>76.3</th><th>82.2</th><th>70.0</tr> <tr><th>strlenSSE2</th><th>560.0</th><th>275.6</th><th>214.3</th><th>159.2</th><th>135.7</th><th>104.4</th><th>87.5</th><th>65.1</th><th>41.5</th><th>25.3</th><th>16.6</th><th>14.0</th><th>9.3 <tr><th>memchrANSI</th><th>1152.4</th><th>609.5</th><th>487.4</th><th>375.0</th><th>325.6</th><th>260.5</th><th>229.9</th><th>152.4</th><th>95.5</th><th>72.8</th><th>56.8</th><th>49.3</th><th>48.0 <tr><th>memchrSSE2</th><th>574.6</th><th>282.1</th><th>224.3</th><th>161.0</th><th>139.1</th><th>108.5</th><th>90.0</th><th>63.3</th><th>45.1</th><th>23.9</th><th>15.8</th><th>10.0</th><th>11.3 </table> <table border="1" cellspacing="1" cellpadding="5" bgcolor="#D2ffff"> <caption>Core2Duo 1.8GHz Linux 2.6.18-53 on VMware + gcc 4.1.2(64bit)</caption> <tr><th>average length</th><th>2</th><th>5</th><th>7</th><th> 10</th><th> 12</th><th> 16</th><th> 20</th><th> 32</th><th> 64</th><th>128</th><th>256</th><th>512</th><th> 1024 <tr><th>strlenANSI</th><th>1039.4</th><th>568.0</th><th>460.9</th><th>353.7</th><th>306.9</th><th>254.9</th><th>212.2</th><th>145.2</th><th> 82.0</th><th> 50.3</th><th> 35.3</th><th> 26.4</th><th> 24.5 <tr><th>strlenBLOG</th><th>795.4</th><th>474.9</th><th>366.4</th><th>291.0</th><th>263.9</th><th>227.6</th><th>201.7</th><th>178.3</th><th>144.5</th><th>125.9</th><th>117.2</th><th>112.0</th><th>110.5</tr> <tr><th>strlenSSE2</th><th>703.0</th><th>340.0</th><th>267.6</th><th>196.3</th><th>167.2</th><th>131.6</th><th>108.9</th><th> 78.7</th><th> 47.4</th><th> 30.2</th><th> 20.4</th><th> 15.0</th><th> 14.5 <tr><th>memchrANSI</th><th>1280.7</th><th>736.4</th><th>594.2</th><th>472.2</th><th>423.8</th><th>338.0</th><th>294.3</th><th>211.0</th><th>127.2</th><th> 90.4</th><th> 67.3</th><th> 55.4</th><th> 55.1 <tr><th>memchrSSE2</th><th>1001.4</th><th>456.3</th><th>336.4</th><th>241.3</th><th>206.4</th><th>159.5</th><th>138.5</th><th> 93.0</th><th> 57.5</th><th> 35.6</th><th> 23.3</th><th> 17.0</th><th> 15.7 </table> 追記(2008/6/13) 64bit Windowsで_BitScanForwardの引数の型を勘違いしていたので修正. ソースにライセンスを修正BSDライセンスと明記. 追記(2008/7/16) strlenSSE2でループアンロールのため32byte単位で読み込んでいたため,ページングの境界を超えてしまうことがあったバグを修正(thanks to egtraさん).
    Comment:
    x64(64bit)対応JITアセンブラXbyakリリース 2008.04.30 10:53 AM
    最近,<a href="http://cydn.cybozu.co.jp/office/2008/04/2008-04-24.html">Visual C++ のことを高機能なマクロアセンブラだと思っている</a>光成です. その考えを64bit Windows/Linuxにも押し進めるため,64bitに対応したJITアセンブラ<a href="http://homepage1.nifty.com/herumi/soft/xbyak.html">Xbyak</a>を公開しました. 64bit Visual Studioではインラインアセンブラが廃止されたため,何かと便利になるのではないかと思います. ところでWikipediaの<a href="http://ja.wikipedia.org/wiki/AMD64">AMD64</a>などには64bit Windowsに関して <blockquote> 64ビットアプリケーションではx87命令・MMX命令及び3DNow!命令をサポートしない(x87レジスタをコンテキストスイッチの際にセーブしない) </blockquote> という記述があるのですが,試したところちゃんとセーブされているようです. テスト方法 <a href="http://homepage1.nifty.com/herumi/soft/xbyak/test_mmx.cpp">test_mmx.cpp</a>をコンパイルして(<a href="http://labs.cybozu.co.jp/blog/mitsunari/test_mmx.exe">binary</a>) コマンドプロンプトを二つ開いて <pre> test_mmx 1 test_mmx 3 </pre> と実行します.それぞれスレッドを起動して,1, 2, 3, 4という数値が表示され続けました. もしMMXレジスタがコンテクストスイッチで保存されていなければ全て同じものになるはずなので,保存されていると推測されます. <a href="http://msdn2.microsoft.com/en-us/library/a32tsf7t%28VS.80%29.aspx">Legacy Floating-Point Support</a>にも <blockquote> The MMX and floating-point stack registers (MM0-MM7/ST0-ST7) are preserved across context switches </blockquote> とあるので保存されているように思われます. 一つ気になるのは私がテストしたのは32bit WindowsのVMware上の64bit Xpだったという点です.素の64bit環境でテストした場合どうなるかどなたか試していただけますでしょうか. 追記 <a href="http://labs.cybozu.co.jp/blog/kazuho/">奥</a>さんから英語版Wikipediaには<a href="http://en.wikipedia.org/wiki/X86-64#Windows">使えると書いてます</a>よという情報をいただきました. #見るの忘れてました.迂闊だった….
    Comment:
    toyVMで遊ぶ 2008.04.17 11:44 AM
    SEA & FSIJ 合同フォーラムで<a href="http://www.fsij.org/homepage/wiki/MonthlyMeeting2008Apr">ビット演算による最適化の妙味とJITアセンブラ</a>の中でデモに使ったVMを紹介します. JITの紹介のために前日に2時間ででっちあげたVMなので本当に小さい(200行程度)ですが,エッセンスは楽しめるかなと思います. ソースは<a href="http://homepage1.nifty.com/herumi/soft/xbyak/xbyak.20080417.zip">Xbyak.zip</a>です.この中のxbyak/sample/<a href="http://labs.cybozu.co.jp/blog/mitsunari/toyvm.cpp">toyvm.cpp</a>が今回作ったVMです(Win, Linuxと多分Intel Macでも動きます). このサンプルはフィボナッチ数列を計算して表示するだけのものです. ここではどのように作ったかの説明をします.<a href="http://labs.cybozu.co.jp/blog/mitsunari/2008/04/sea_fsij.html">一つ前のエントリ</a>の資料も参考にしてください. 話の流れ <ol> <li><a href="#1">toyVMのスペック,命令セットと命令フォーマットを決める</a> <li><a href="#2">toyVMのアセンブラを作る</a> <li><a href="#3">toyVMの実行部分を作る</a> <li><a href="#4">toyVM用のフィボナッチ数列プログラムを作って実行する</a> <li><a href="#5">toyVMのマシン語をx86に変換するリコンパイラを作る</a> <li><a href="#6">パフォーマンスを見る</a> <li><a href="#7">リコンパイラを改良する</a> </ol> <a name="1"></a> <h3>1. toyVMのスペックを決める</h3> 高性能なVMを作りたいかもしれませんが,そこは本質ではないのでざくっと簡単なものを考えます. スタックベースかレジスタベースかなどの議論もあるのでしょうが,なんとなくレジスタベースにしました. <ul> <li>32bitレジスタA, Bの二つ.あとPC(program counter) <li>メモリは4byte単位のみでのアクセス.4byte x 65536 <li>すべての命令は4byte固定 <li>即値は全て16bit </ul> スタックはばっさり捨てました.また命令長を4byte固定にすることで実行部が簡単になります. またその結果必然的に即値は32bit未満となり,四つ目の条件をつけました. 命令群は次のものを用意しました. <table border="1" cellspacing="1" cellpadding="5" bgcolor="#D2ffff"> <tr><th>命令(R = A or B)</th><th>意味</th></tr> <tr><th>vldiR, imm</th><th>R = imm</tr> <tr><th>vldR, idx / vstR, idx</th><th>R = mem[idx] / mem[idx] = R</tr> <tr><th>vaddiR, imm / vsubiR imm</th><th>R += imm / R -= imm</tr> <tr><th>vaddR, idx / vsubR, idx</th><th>R += mem[idx] / R -= mem[idx] </tr> <tr><th>vputR</th><th>print R</tr> <tr><th>vjnzR, offset</th><th>if (R != 0) then jmp(PC += offset(signed))</tr> </table> メモリとレジスタの間の転送命令と加算,減算命令にレジスタの内容を出力する命令と,分岐命令だけです. スタックが無いのでcall/retもありません.興味があれば自分で作ってみるのもよいかもしれません. 命令は4byteのうち先頭1byteに命令種別(code),次の1byteにレジスタ種別(r),最後の2byteに即値(imm)を入れることにします. 使われない場合は全て0にします.(code, r, imm)のペアと4byteデータの変換方法は次のようにします.簡単ですね. <pre> void decode(uint32& code, uint32& r, uint32& imm, uint32 x) { code = x >> 24; r = (x >> 16) & 0xff; imm = x & 0xffff; } void encode(Code code, Reg r, uint16 imm = 0) { uint32 x = (code << 24) | (r << 16) | imm; code_.push_back(x); } </pre> <a name="2"></a> <h3>2. toyVMのアセンブラを作る</h3> アセンブラを作るといっても,外部ファイルに書いたものを読み込んでパースして,というのはまた大変なのでCの関数として作って関数を呼び出すことがアセンブルすること,としました. そうすると,パーサをざっくりCコンパイラに任せられるので極めて簡単になります.上で定義したencode()を呼び出す関数を作れば終わりです. <pre> void vldi(Reg r, uint16 imm) { encode(LDI, r, imm); } void vld(Reg r, uint16 idx) { encode(LD, r, idx); } void vst(Reg r, uint16 idx) { encode(ST, r, idx); } void vadd(Reg r, uint16 idx) { encode(ADD, r, idx); } void vaddi(Reg r, uint16 imm) { encode(ADDI, r, imm); } void vsub(Reg r, uint16 idx) { encode(SUB, r, idx); } void vsubi(Reg r, uint16 imm) { encode(SUBI, r, imm); } void vjnz(Reg r, int offset) { encode(JNZ, r, static_cast<uint16>(offset)); } void vput(Reg r) { encode(PUT, r); } </pre> <a name="3"></a> <h3>3. toyVMの実行部分を作る</h3> 上で書き忘れましたが,アセンブルした結果はstd::vector<uint32> code_;に格納させる実装にしました. 実行部というのはこのcode_内に入っている命令セットを順次呼び出して実行するだけのものになります. <pre> void run() { uint32 reg[2] = { 0, 0 }; // A, B const uint32 end = code_.size(); uint32 pc = 0; for (;;) { uint32 code, r, imm; decode(code, r, imm, code_[pc]); switch (code) { ... } pc++; if (pc >= end) break; } // for (;;) } </pre> 基本構造は上記のようになります. pc(プログラムカウンタ)を0から順に増やしつつ,4byteずつcode_からデータを読みます. 読んだデータをdecode()でパラメータに分解し,codeに従って各命令を実行させるswitch文に突入します. そのあとpcを一つ増やして繰り返します. switch文の中身は各命令に対して実際行う処理を書きます. <pre> switch (code) { case LDI: reg[r] = imm; break; case LD: reg[r] = mem_[imm]; break; case ST: mem_[imm] = reg[r]; break; case ADD: reg[r] += mem_[imm]; break; case ADDI: reg[r] += imm; break; case SUB: reg[r] -= mem_[imm]; break; case SUBI: reg[r] -= imm; break; case PUT: printf("%c %8d(0x%08x)\n", 'A' + r, reg[r], reg[r]); break; case JNZ: if (reg[r] != 0) pc += static_cast<signed short>(imm); break; default: assert(0); break; } </pre> とくに難しいところは無いでしょう.これでVM自体は完成です.なんと簡単. <a name="4"></a> <h3>4. toyVM用のフィボナッチ数列プログラムを作って実行する</h3> VMを作ったのでその上で動かすプログラムを作ります. フィボナッチと言えばちまたではやる再帰ですが,このVMにはスタックが無いのでそんなことはやってられません(苦笑). #一応メモリはあるので,このスタックを実装することは可能かもしれませんが…. 素直にループで書きます.for()を使うと分かりにくくなるのでgotoを使います. まずCで書いてみましょう. <pre> void fibC(uint32 n) { uint32 p, c, t; p = 1; c = 1; lp: t = c; c += p; p = t; n--; if (n != 0) goto lp; printf("c=%d(0x%08x)\n", c, c); } </pre> このコードが正しく動作することを確認したら,これをtoyVMのアセンブリ言語で書きます. その前に変数をどう扱うかを決めておく必要があります. toyVMにレジスタは二つありますが,両方をフィボナッチで使う変数に割り当てると困るのでとりあえずcをAレジスタに割り当てることにします. Bはテンポラリに残しておきましょう. あと,fibCにはp, t, nという変数があるのでこれらはtoyVMのメモリ上に置くことにします. ここではmem[0] : p, mem[1] : t, mem[2] : nとしました. ではfibCのアセンブリ言語版を書きます. <pre> Fib(int n) { vldi(A, 1); // c = 1 vst(A, 0); // p = 1 vldi(B, n); vst(B, 2); // n // lp vst(A, 1); // t = c vadd(A, 0); // c += p vld(B, 1); // mem[1]の値をBを経由してmem[2]に移動する vst(B, 0); // p = t vld(B, 2); vsubi(B, 1); vst(B, 2); // n-- vjnz(B, -8); // PCを8減らせばlpのところにもどる. vput(A); } </pre> ちょっと分かりにくいかもしれませんが,1行ずつfibCと比べれば同じ処理をしようとしていることがわかるでしょう. 実行してみます. <pre> Fib fib(10); fib.run(); >A 144(0x00000090) </pre> 正しく動作しているようです. <a name="5"></a> <h3>5. toyVMのマシン語をx86に変換するリコンパイラを作る</h3> ここからが昨日の本題です.上記のFib(1000)を実行するとcode_上にVM用のマシン語が展開されて,run()で実行しているわけですが,そのマシン語をx86ネイティブなものに変換しましょう. そうすればきっと高速に動作するようになるはずです. recompile()のために<a href="http://homepage1.nifty.com/herumi/soft/xbyak.html">Xbyak</a>を使います. まずtoyVMをx86上でどのように実装するかを考えます.レジスタはA, Bの二つなので適当なレジスタに割り当てましょう. ここではA = esi, B = ediとしました.またmem_へのアクセスに使うレジスタをebxにします. リコンパイルはcode_を読み込んでdeocde()し,switch()して順次実行するというrun()とほぼ同じ形をとります. <pre> void recompile() { push(ebx); push(esi); push(edi); const Reg32 reg[2] = { esi, edi }; const Reg32 mem(ebx); xor(reg[0], reg[0]); xor(reg[1], reg[1]); mov(mem, (int)mem_); const uint32 end = code_.size(); uint32 pc = 0; uint32 labelNum = 0; for (;;) { uint32 code, r, imm; decode(code, r, imm, code_[pc]); L(toStr(labelNum++)); switch (code) { ... pc++; if (pc >= end) break; } // for (;;) pop(edi); pop(esi); pop(ebx); ret(); </pre> 違うのはx86用のコードを生成させるところです.と言っても見た目はそれほど変わりません. <pre> switch (code) { case LDI: mov(reg[r], imm); break; case LD: mov(reg[r], ptr[mem + imm * 4]); break; case ST: mov(ptr [mem + imm * 4], reg[r]); break; case ADD: add(reg[r], ptr [mem + imm * 4]); break; case ADDI: add(reg[r], imm); break; case SUB: sub(reg[r], ptr [mem + imm * 4]); break; case SUBI: sub(reg[r], imm); break; </pre> 概ねrun()と一対一に対応していることがわかるでしょう.分岐のみちょっと変わったことをする必要があります. toyVMでは命令長が4byte固定だったので命令数だけポインタを減らせば分岐ができたのですが,x86ではそうではありません. ここでは簡単にすませるために,一命令毎に数値のラベルを生成させて,そのラベルへ分岐するようにしました. <pre> L(toStr(labelNum++)); switch (code) { ... case JNZ: test(reg[r], reg[r]); jnz(toStr(labelNum + static_cast<signed short>(imm))); break; </pre> 以下は実行時にrecompile()して得たx86のコードです. <pre> .lp: mov dword ptr [ebx+4],esi add esi,dword ptr [ebx] mov edi,dword ptr [ebx+4] mov dword ptr [ebx],edi mov edi,dword ptr [ebx+8] sub edi,1 mov dword ptr [ebx+8],edi test edi,edi jne .lp </pre> 問題なさそうです. <a name="6"></a> <h3>6. パフォーマンスを見る</h3> ではどの程度改善されたのか見てみましょう. n = 10000のときにかかった時間を測定しました.マシンはCore2Duo 2.6GHz + Visual Studio 2005です. <table border="1" cellspacing="1" cellpadding="5" bgcolor="#D2ffff"> <tr><th>通常VM</th><th>JIT</th><th>native C(fibC)</th></tr> <tr><th>1216K</th><th>136K</ht><th>84K</th></tr> </table> 通常のVMではnative Cに比べて10倍以上遅かったのが一気に肩を並べる速度にまで向上しました. これは通常のVMでの本質である,switch + jmpがパイプラインを乱すため最近のCPUではコストが大きいためです. ネイティブなコードへの変換が如何に重要であるかがわかります. 注意:gcc 4.3.0でfibCをコンパイルするともっとよいコードが生成されていました.その場合は上記よりもnative Cが何割か性能がよくなります. <a name="7"></a> <h3>7. リコンパイラを改良する</h3> せっかくですので少しだけrecompileを改良してみましょう. 上記のx86のコードでは不要なメモリアクセスが目立ちます. 不要な命令を減らすことはJITの重要な課題ですが,それは難しいので,メモリアクセスではなくレジスタアクセスをさせるようにしましょう. 幸いフィボナッチでは三つしかmemを使わないのでそれらをレジスタに割り当てることにします. VMに対して,memの先頭12byteだけが特別に速いメモリになったかのように思わせるということです. そのためのレジスタをeax, ecx, edxとしました.それらを初期化するコードを追加します. <pre> const Reg32 memTbl[] = { eax, ecx, edx }; const size_t memTblNum = NUM_OF_ARRAY(memTbl); for (size_t i = 0; i < memTblNum; i++) xor(memTbl[i], memTbl[i]); </pre> そしてrecompileでメモリにアクセスする部分を変更します. <pre> case ADD: if (imm < memTblNum) { // add(reg[r], memTbl[imm]); // 追加部分 } else { // add(reg[r], ptr [mem + imm * 4]); } break; </pre> mem[]の先頭にアクセスするときのみレジスタへのアクセスに変更しました. これによりリコンパイルで生成されるコードは以下のようになりました. <pre> .lp: mov ecx,esi add esi,eax mov edi,ecx mov eax,edi mov edi,edx sub edi,1 mov edx,edi test edi,edi jne .lp </pre> すっきりしました. ベンチマークをとってみます. <table border="1" cellspacing="1" cellpadding="5" bgcolor="#D2ffff"> <tr><th>通常VM</th><th>JIT</th><th>改良版JIT</th><th>native C(fibC)</th></tr> <tr><th>1216K</th><th>136K</ht><th>101K</ht><th>84K</th></tr> </table> 3割ほど速度が向上しました. このサンプルを基にいろいろVMをいじってみるのも面白いかと思います.
    Comment:

    Link
  78. 英語うんちく | updated at 2007.08.15 09:20 AM
    今日の英単語: deplete 2007.08.15 09:20 AM
     今日の単語はdeplete。「減らす」「使ってしまう」などの意味である。 Th...
    Comment:
    今日の英単語: sentiment 2007.08.11 02:59 PM
     今日の英単語は、sentiment。前回と同じく、心理テストに出てきた、 Ar...
    Comment:
    今日の英単語: ingenious 2007.08.11 06:50 AM
     今日の英単語はingenious。独創的な、クリエイティビティにあふれた、とい...
    Comment:
    今日の英単語: peruse 2007.08.07 08:14 AM
     今日の単語は、peruse。「注意深く読む」、「じっくりと読む」という意味だ。...
    Comment:
    今日の英単語: nomemclator 2007.08.04 09:50 PM
     今日の英単語は、nomenclator。「命名者」という意味だ。引用先の例文、...
    Comment:
  79. おレー腹かみの暴論展開座礁予定 おレー腹かみの暴論展開座礁予定 | updated at 2006.12.18 02:36 AM
    是非ッ。一度ッ。お越し下さいッ。 2006.09.01 05:34 PM
    <br /> 早速ですが、やっちまいましたね。<br /> 8月は月1更新になってしまいました。<br /> 毎日見に来て下さってる方もやはりいらっしゃるようで、全く申し訳ないです。書かなきゃなあとは思ってるんです。<br /> <br /> ういーす。<br /> <br /> 写真を載せようと思ったんですが、もうちょっとお待ち下さい。ピンボケ写真ばかりですが。<br /> <br /> そんなわけで、9月中旬に福岡と広島で、ライブやります。<br /> お近くの方は是非。<br /> <br /> 詳しくは、ココをどうぞ。<br /> <br /> 広島では、ハラカミもファンである、二階堂和美さんも一緒に出てくれます。<br /> 実は、同じ広島県出身であります。でもほとんど、広島弁で会話した事はありません。<br /> でも、子供の頃、広島のテレビで、やっていた『日専連の歌』や『本通りの歌』は覚えてくれていて、大変に嬉しいわけです。今20代の広島の若者はあまり知らないらしいので、大変に残念です。『TSS味なプレゼント』のCMはまだやってますか?フラワーフェスティバルはまだやってるんですか?むすびのむさしも健在みたいですね。<br /> <br /> 話が飛びましたが、彼女は8月にニューアルバムをリリースしたばかりです。<br /> イルリメプロデュースで、ハラカミもヒョンな事から1曲参加させてもらってます。<br /> 何か一緒に出来たら良いなあと思いつつ。<br /> そりは当日になってみなければ、どうともこうとも言えません。<br /> <br /> -------------------<br /> もしお金に余裕がある方は、ポールマッカートニーの『McCartney II』を聴け。<br /> ボーナストラックで入ってる『secret friend』という曲は、マジでハラカミは影響受けとります。<br /> 聴けばわかるさ。10分以上の曲です。ポールっぽいかどうかと言えば、違うかも知れないが、イエスタデーのファンにとっては、まったくもってさっぱり評価の低いアルバムです。<br /> <br /> そりでは。
    Comment:
    もう過去なんざますよ。 2006.08.31 08:39 PM
    <br /> そんなわけで、時間が経っちゃいましたが、逗子でのクラムボンとの対バン時の写真と石狩でのライジングサンの写真です。どうも最近は焦って撮影しているのか、ピンボケが多いです。<br /> <br /> ブログの時間軸では、下に行けば行くほど過去なので、ライジングサンロックフェスから。<br /> <br /> 矢野顕子さんと一緒に出ました。<br /> <center><img src="https://pds.exblog.jp/pds/1/200608/31/34/d0047634_20311856.jpg" alt="_d0047634_20311856.jpg" class="IMAGE_MID" height="375" width="500" /></center><br /> 急いで撮影したので、見事にボケボケです。すいません。<br /> <center><img src="https://pds.exblog.jp/pds/1/200608/31/34/d0047634_2031554.jpg" alt="_d0047634_2031554.jpg" class="IMAGE_MID" height="375" width="500" /></center><br /> <br /> 矢野さんとの共演はいつも大緊張しますが、出た後は、やってよかったなあと思ってます。<br /> 今回は、本当にやってる最中、楽しいなと感じておりました。<br /> 来てくれた皆さんありがとー。<br /> ---------------------------------------------------<br /> そんで逗子海岸にて。<br /> <center><img src="https://pds.exblog.jp/pds/1/200608/31/34/d0047634_20301633.jpg" alt="_d0047634_20301633.jpg" class="IMAGE_MID" height="375" width="500" /></center><center><img src="https://pds.exblog.jp/pds/1/200608/31/34/d0047634_20303021.jpg" alt="_d0047634_20303021.jpg" class="IMAGE_MID" height="375" width="500" /></center><center><img src="https://pds.exblog.jp/pds/1/200608/31/34/d0047634_20304016.jpg" alt="_d0047634_20304016.jpg" class="IMAGE_MID" height="375" width="500" /></center><br /> 身も心もビショビショになりました。クラムボンのメンバーとも写真撮ったんですが、手元にありませんでした。ずんばぜん。<br /> -----------------------<br /> <br /> そんでまあ、それは置いといて。<br /> 9月中旬の福岡〜広島が終わると、しばらくあまり人前に出ない日々が続く事になります。<br /> <br /> そこんとこよろしくー。<br /> <br />
    Comment:
    おひさです。 2006.08.22 03:31 PM
    <br /> どーもです。<br /> カピバラです。<br /> <br /> うそです。ハラカミです。<br /> 似てるとか言わないでね。<br /> <br /> やってしまいました。約一ヶ月ほどこのブログをサボりまくりました。<br /> サボタージュしまくりました。失礼致しました。会う人にいちいち「ブログはー?」と訊かれておりました。<br /> <br /> 実は、ここ数週間、沢尻エリカさんと堀北真紀さんの顔の見分けがつかず、ケイオスに陥っておりました。というのは冗談ですが、顔の見分けが付かなかったのは本当です。今はかなりわかるようになりました。<br /> <br /> 20代の中頃から、甲子園球児達の姿が子供に見えてしまったあたりから、自分がおっさん化している事に気が付くわけです。<br /> <br /> それは置いといて、ほぼ毎週、あちこちでライブをやっていたので、のんびり派のハラカミとしては、どうにもペースがつかめない日々が続いておりました。<br /> <br /> 取り急ぎですが、残暑お見舞い申し上げます。<br /> とにかく、ようやく少しだけ落ち着きました。<br /> <br /> ------------------------------<br /> ロックインジャパンとライジングサンに一緒に出てくれた、矢野顕子さん。<br /> 本当にお世話になりました!ハラカミじゃなくて、矢野さんがすごいんですよ。<br /> あれはやろうと思ってもなかなか出来るもんじゃないです。やっぱり。<br /> と、ハラカミは思ってます。矢野さんすげー!!<br /> <br /> それから、逗子で潮風に負けず一緒に対バンしてくれたクラムボンの御三方。<br /> ライブ、すげーかっこよかったです!<br /> でも、海に行くならば、出来れば仕事せずに泳ぎたいものですねえ。<br /> <br /> そしてあれこれとハラカミを支えてくれたスタッフの皆さん。<br /> 本当に本当にありがとうございました!!<br /> <br /> 次回以降、写真もアップして行きます。<br /> ではではまたー。
    Comment:
    名古屋→心斎橋 2006.07.27 03:56 PM
    <br /> こんにちは。<br /> <br /> 今回のツアーに同行してくれたアルゼンチンの天才音楽家→Juana Morina氏が、帰った途端に梅雨が明けました。ちなみにアルゼンチンは、南半球(時差はピッタリ12時間)なので、今はバリバリの冬だと思われます。<br /> <br /> というわけで、名古屋クアトロに来てくれた皆さん。<br /> そして、心斎橋クアトロに来てくれた皆さん。<br /> <br /> 大阪で恐れ多くも一緒に出ていただいた、向井秀徳さん。<br /> <br /> そして、名古屋と大阪ツアーに同行して下さったJuana Morinaさん。<br /> それから、VJで参加してくれたNick Smithさん。<br /> <br /> 本当にありがとうございました!<br /> <br /> 色々と、本当に色々といたらない部分も相変わらずたくさんあったと思いますが、それは結局全てハラカミの次への課題です。自分が冠のイベントって重いものです。<br /> 聴きに来てくれるお客さんが増えるほど、「なんかつまらんかったなあ」と思いつつ帰って行く人も比例して増えて行くんだろうなと、どうしても思うわけですが、やはり、来てくれた人を1人残さず喜ばせる事なんて事も出来ないものです。とにかく頑張ります。<br /> <br /> そんなわけで、以下、写真です。<br /> <br /> まず名古屋クアトロ ↓。<center><img src="https://pds.exblog.jp/pds/1/200607/27/34/d0047634_16123653.jpg" alt="_d0047634_16123653.jpg" class="IMAGE_MID" height="375" width="500" /></center><center><img src="https://pds.exblog.jp/pds/1/200607/27/34/d0047634_16124734.jpg" alt="_d0047634_16124734.jpg" class="IMAGE_MID" height="375" width="500" /></center><center><img src="https://pds.exblog.jp/pds/1/200607/27/34/d0047634_16125767.jpg" alt="_d0047634_16125767.jpg" class="IMAGE_MID" height="375" width="500" /></center>Juanaさんのライブは3年振りに観たんですが、本当に凄まじい完成度でした。なかなか観れませんよ。歌上手い。ギター上手い(演奏中にフレットノイズを全く出さないアコースティックギタリストなんて世界中見回してもなかなか居ませんよ)。エレクトロニクスの使い方も視覚的にわかって面白い。お客さんからすれば、何をやってるかさっぱりわからないであろうハラカミの使い方に比べれば…。<br /> ーーーーーーーーーーーーーーーーーーーーー<br /> そんで、心斎橋クアトロ↓ 。<br /> <center><img src="https://pds.exblog.jp/pds/1/200607/27/34/d0047634_1613354.jpg" alt="_d0047634_1613354.jpg" class="IMAGE_MID" height="375" width="500" /></center><center><img src="https://pds.exblog.jp/pds/1/200607/27/34/d0047634_16134617.jpg" alt="_d0047634_16134617.jpg" class="IMAGE_MID" height="375" width="500" /></center><center><img src="https://pds.exblog.jp/pds/1/200607/27/34/d0047634_16135612.jpg" alt="_d0047634_16135612.jpg" class="IMAGE_MID" height="375" width="500" /></center>大阪で、最初に出ていただいた、向井秀徳氏には本当に感謝しております。<br /> ナンバーガールが活動中に、唯一リミックスする事を許されたのは今の所ハラカミだけです。自慢の一つです。まじで。すげーかっこいいライブをやってくれました。スケジュールの都合で、すぐに帰られてしまいましたが、今度会った時は呑みたいものです。<br /> <br /> ていうか、気が付けば、今回一緒に出てくれたのは、みんな『1人上手の完璧主義者』でしたね。これは良い意味ですよ。くれぐれも。<br /> <br /> 写ってる人達は楽しんでくれてる様に見えますが、楽しんでいただけたんでしょうか?いやーそれなりに楽しんでいただけていれば大変に嬉しいです。<br /> 過ぎ去った途端に、記憶は薄れて行くばかりです。<br /> <br /> 最後に、名古屋の前日に、東京のリキッドルームで前座で呼んで下さった高橋幸宏さん。御挨拶しか出来ませんでしたが、ありがとうございました!<br /> <br /> とりあえず、それではまた。
    Comment:
    7/14_恵比寿リキッドルーム 2006.07.18 07:23 PM
    <br /> そんなわけで、<br /> 7/14にわざわざ<br /> 恵比寿のリキッドルームに<br /> 来てくれちゃってしまった皆様!<br /> <br /> 本当にありがとうございました!!<br /> <br /> 本当にありがとうございました!!<br /> <br /> 本当にありがとうございました!!<br /> <br /> <br /> 本当にありがとござました!!<br /> <br /> <br /> <br /> いやー<br /> <br /> ふんとーに<br /> <br /> ありがとう<br /> <br /> ございますた!!!<br /> <br /> ↓ ↓ ↓ ↓ ↓ ↓<br /> <br /> <center><img src="https://pds.exblog.jp/pds/1/200607/18/34/d0047634_18505311.jpg" alt="_d0047634_18505311.jpg" class="IMAGE_MID" height="375" width="500" /></center><center><img src="https://pds.exblog.jp/pds/1/200607/18/34/d0047634_1851181.jpg" alt="_d0047634_1851181.jpg" class="IMAGE_MID" height="375" width="500" /></center><center><img src="https://pds.exblog.jp/pds/1/200607/18/34/d0047634_18513158.jpg" alt="_d0047634_18513158.jpg" class="IMAGE_MID" height="375" width="500" /></center><br /> <br /> <img src="https://pds.exblog.jp/pds/1/200607/18/34/d0047634_1851451.jpg" alt="_d0047634_1851451.jpg" align="right" class="IMAGE_RIGHT" height="192" width="256" /><br /> そんなわけで、そんなわけで、左側がえーっと、映像をやってくれたダムダムダンス教室の高谷史郎さんでありまして、左側が、ハラカミがやる前に会場を温めてくれた、御大DJ.WADAさんであります!で、真ん中のメガネはハラカミです。<br /> <br /> なんともかんとも楽しんでいただけていてくれたら、大変に嬉しいものです。<br /> 高谷さんは、終わった直後、「あ〜おもろかったわー。」と言って下さいました。<br /> そう言ってくれたら、ハラカミも大変嬉しく感じるです。<br /> <br /> 引き続き、叱咤激励ご意見ご感想をお待ちしております。<br /> ていうか、まだ名古屋(7/21)と大阪(7/22)が残っております。<br /> 名古屋と大阪では、東京とはまた違った趣向になる予定であります。多分。<br /> <br /> ていうか、名古屋の前日に、突然、東京の恵比寿リキッドにて、高橋幸宏大先生とアルゼンチンから来たJuana Morina大先生の邪魔をしないように前座をパラッとやって参ります。<br /> 興味のある方は是非。<br /> <br /> そんなわけで、実は今週木曜日から3連チャンでライブです。<br /> 酒は程々に。おれが。<br /> <br /> ----------------<br /> ----------------<br /> <br /> <br /> <br /> そんで!<br /> <br /> 突然ですが7/22には、あのスズキスキーのニューアルバムの発売日です。<br /> <br /> ここで、お間違えのないように書いておくと、スズキスキーはスキスキスーではありません。<br /> <br /> ハラカミがおすすめするスズキスキーと言えば、ハラカミの『lust』というアルバムで、ジャケット写真を担当していただき、翌年の『わすれもの』というアルバムで、『きえたこい』という曲を一緒に作った、あのスズキスキーです。盟友です。でもその前に、ハラカミはファンです。誰がなんと言おうとハラカミがファンなんです。レーベルが違ってても、誰にも文句は言わせねえぜ。もし良かったら、是非聴いてみていただきたいものですぜ。<br /> <br /> くれぐれもスキスキスーではありませんよ。そこの認識だけはよろしくです。<br /> -------------<br /> <br /> ではー。<br />
    Comment:
  80. | updated at 0000.00.00 00:00 AM
  81. | updated at 0000.00.00 00:00 AM
  82. やねうらおブログ(移転しました) | updated at 0000.00.00 00:00 AM
    絶版書籍が電子書籍になるに至るまでの話 2015.02.18 00:00 AM
    紙媒体のほうの拙著『解析魔法少女美咲ちゃん マジカル・オープン!』は一度絶版になったんだ。自分で言うのも何だが、リバースアセンブルの名著であり、教科書的な存在であるから、アマゾンのマーケットプレイスでは長らく定価の数倍というプレミア価格となっていた。 プレミア価格になってからも「再販しないんですか?」とブログの読者の方などから問い合わせを数多くいただき、これは再販すべきだよなぁと思って出版社のほうに増刷するか、無料でPDFか何かを公開させてもらえないかと何度か出版社の編集担当に交渉したのだが、これがどうもうまくいかなかった。 まず、本文の著作権自体は著者(私)にある。だから絶版になったあと本文…
    Comment:
    ブログちょっとだけ移転のお知らせ 2015.01.11 00:00 AM
    完全に移転するわけではないんですけど、専門性のある話題は以下のブログでやります。 ・コンピューター将棋関連やねうら王公式サイト http://yaneuraou.yaneu.com/たぶん4月ごろまで日々更新。 ・音楽関係やねうらお音楽理論ブログ http://music.yaneu.com/あちこちで紹介された結果、1日のPVが1000を超えてて震えている。ちなみに「音楽理論 ブログ」でGoogle検索すると4位。「音楽理論」では19位付近。もうちょっと上位に来るように頑張るぞー。週一ぐらいで更新予定。 ・やねうらおが、面白い出来事を書くブログやねうらお.com — やねうらおオモロードキュ…
    Comment:
    時代はまだゲームセンターあらしに追いつかないのか 2014.12.13 00:00 AM
    私が小学生のころに『ゲームセンターあらし』という漫画が流行った。(1979〜1983年)「炎のコマ」と言う「スティックを高速で操作することでプレイヤーの操作するキャラクターが敵からの攻撃を潜り抜ける」というインチキまがいの技が出てくる。 私は小学生にして、その漫画に出てくる平安京エイリアンぐらいのゲームならオールアセンブラで余裕で作れる程度には天才児(?)だったので、「いくらスティックを高速に動かそうと、1回の描画ごとに1回の入力受付しかしないのだから、単に入力が取りこぼされるだけだろ。所詮、漫画だな。」と小馬鹿にしたものだった。 ところが、その考え方は間違いなんじゃないかと最近思うわけだ。 …
    Comment:
    やねうら王、電王戦バージョン提出しました 2014.12.08 00:00 AM
    電王戦出場バージョンのやねうら王、提出期限が今日までだ。定跡は16手目までしか出来なかった。32手目までの定跡は1/4ほど出来たが、全部作るにはあと1ヶ月ほどかかりそう…。(要するに今回は間に合わない) 部屋のPCはフル稼働で、冬だというのに暖房を入れなくても暖かい。それどころか日中は冷房を入れないと暑くて部屋に居られないぐらいだ。 肝心のおもてなし定跡だが、後手番ということもあって、あまり芳しくない。後手番だと評価値が-100ぐらいからスタートする。AWAKEの巨瀬さんに「序盤で評価値-100の局面から指し継がせたとき、-100側は勝率3%ぐらい落ちますよね?」と尋ねたら「もっとじゃないかな…
    Comment:
    将棋の神様のレーティングはいくつなのか? 2014.11.25 00:00 AM
    羽生さんは以前、雑誌の取材で将棋の神と対局したらどれくらいの手合であるかと問われ角落ちならいい勝負だろうと答えた。 では、この将棋の神様のレーティングはいくらなのか? 一見、神様には無限のレーティングがつくかのように思えるが、それは間違っている。話を単純化するために、枝刈りなしに深さ固定でmin-max探索を行なうときのことを考える。 評価関数はBonanza以下の精度しかないものとする。この場合、読みの深さが1手深くなるごとにR100〜150程度しか上がらない。少し多めに見積もって、R300上がるとしよう。実際はある程度以上探索深さが深くなると読みが1手深くなったときのレーティングの伸びも小…
    Comment:
  83. | updated at 0000.00.00 00:00 AM
  84. My Life Between Silicon Valley and Japan | updated at 0000.00.00 00:00 AM
    真夜中のジャック 2011.03.07 00:00 AM
    時差ぼけで真夜中に起きてしまい本を読んでいると、ジャックがゆっくり廊下を歩いて部屋に入ってきて、僕のそばで横になった。あんまりかわいくて、なんだか泣きそうになってしまったよ。
    Comment:
    ジャック、15歳の誕生日、おめでとう!!! 2011.02.18 00:00 AM
    ジャックが元気に15歳の誕生日を迎えることができました。 心からおめでとう!!! 嬉しいなあ、本当に。 ここ数日の間に撮影した最近のジャックです。 去年の夏頃は少し衰えを感じて心配したのですが、夏の終わり頃からは私たちの期待を大きく上回るほどの健康体に戻り、それからはずっと順調に規則正しい生活を送ることができています。 たくさん食べるし、よく眠るし、水もたっぷり飲むし(ペチョペチョペチョと水を飲む「ぺチョ」を1回と数えて、このあいだは402「ぺチョ」一気飲みをした)、排泄も自分で庭に出てちゃんとできます。安心しきっていて、甘ったれで、やりたいときにやりたいことをする、悠々自適で幸福な暮らしを送…
    Comment:
    中日新聞、東京新聞1月18日夕刊掲載「自著を語る」、ウェブ上でも読めるようになっています。 2011.01.23 00:00 AM
    中日新聞、東京新聞1月18日夕刊掲載「自著を語る」 「潔く時に無頼な語りの粋」
    Comment:
    庭を闊歩するジャック 2010.12.04 00:00 AM
    最近、ジャックが歩いているところの写真をあんまり撮っていなかったなぁと思い、今日は庭を闊歩するジャックの写真を(今朝撮影)。あと2ヶ月ちょっとで15歳のジャック、頑張ろうな。
    Comment:
  85. memologue | updated at 0000.00.00 00:00 AM
    google-perftoolsを別のCPUに移植してみた 2007.12.02 00:00 AM
    google-perftoolsというx86,x86_64,ppcなUNIX向けのプロファイラの(cpu-profiler部分)を、armなLinuxに対応させてみました。何かの役に立つかもしれないので、patchおよびpatch作成作業のメモを載せます。arm-v5tアーキテクチャ(ARM9系)向けの移植です。 Linux/ARM向けのソフトウェアのパフォーマンスを解析したいなぁと思うことがあったのですが、OProfileはカーネル入れ替えがめんどくさい、gprofはプロファイル専用のバイナリを作成するのがめんどくさい、プロプラな奴は興味ないということで移植しました。移植の方がめんどくさいだ…
    Comment:
    PIE randomization 2007.11.15 00:00 AM
    前の記事にコメントをいただいて、PIE randomizationのことを思い出したので、ちょい実験。PIEな実行ファイルは、どのアドレスにロードしても動くので、どこにロードするかはカーネルのfs/binfmt_elf.cあたりが適当に決めることが可能なわけですが、私の使ってるカーネルさんはPIEを毎回異なるランダムなアドレスにロードする(PIE randomization, aka ASLR)のか、それともどこか固定なアドレスにロードするのかを確かめたということです。 というのも、私は主にFedoraを使っているのですが、2.6.18-1.2798.fc6 では効いていたPIEのrandom…
    Comment:
    50行straceもどき 2007.11.05 00:00 AM
    int main() {…
    Comment:
    構造体のサイズ違いで悩んだのでリンク時に検出 2007.11.05 00:00 AM
    先日、次のようなC++のクラスが原因で少々悩みました。 struct A { #ifdef V2 int bar_; /* バージョン2以降でしか使わないメンバ変数(らしい) */ #endif int foo_; /* 以下略 */ }; このAを使っている.cppの一部は、g++ -DV2でコンパイルされており、残りは-DV2なしでコンパイルされていたのです。sizeof(A)が異なるオブジェクト同士がリンクされてしまい、まずいことになっていました。たとえば、次のようなa.hと、 // a.h struct A { #ifdef V2 int bar_; #endif int foo_; …
    Comment:
    ついカッとなって実行バイナリにパッチ 2007.11.05 00:00 AM
    とある都合で、ソフトウェア開発の際にソースコードの提供されていないツールを使うことになりました。x86なLinux上で動く、ちょっとしたtoolchainです。が、そのツールの処理速度が遅く、入力サイズに対して、結果が出てくるまでの時間がどうもO(N^2)かそれよりひどい。遅くてイライラするので、昨晩ついカッとなってパッチを当てました。そのメモです。また、ありがちな事態(?)な気もするので、みなさんどうしてるのかなー的なお伺いも兼ねて。 ボトルネックの特定 そのツール(以下A)の実行バイナリはstripされておらず.symtabが残っていました。のでまず、どこが遅いのかgoogle-perft…
    Comment:
  86. | updated at 0000.00.00 00:00 AM
  87. スズメレンダラー・クマ将棋の開発日記 | updated at 0000.00.00 00:00 AM
    結果 2013.12.19 00:00 AM
    こんな感じで床に投影しています。2重に見えていますが、3Dメガネを通すと立体視できます。
    Comment:
    step2 2013.12.19 00:00 AM
    以下のプログラムをVS2010等でビルドして実行します。 やっていることは描画毎に左右の視点を指定しているだけです。 glut32.libとglew32.libをリンクしてください。 //************************************************************** // OpenGLでアクティブ方式の3D立体視 by g.koutaki // ただ、wglSwapIntervalEXT(1) で垂直同期オン にして // 偶数奇数フレームで視点位置を変えて描画しているだけです。 // // ・モニターの設定で120Hzにして(アクティブ形式の3D…
    Comment:
    step1 2013.12.19 00:00 AM
    まず、モニターを120Hzに設定します。ちなみに、この設定にすれば、3D映画(要再生ソフト)も見れました。 メーカーからは3DVisionがないとできない、と言われたけど。
    Comment:
    お手軽3D立体視 2013.12.19 00:00 AM
    アクティブ形式の3Dプロジェクタで3D立体視のCGを出力しようとしたら DirectXや特殊なGPU(quadro)を使う必要があるようで敷居が高いと困っていたけど、 OpenGLの垂直同期とれば簡単にできると話を聞いたのでやってみたら、 すんなりできました。 さすがにこれだけだと、同期が甘いし、左右フレームの区別がつかないというものだけど とりあえずちょっと試す分にはいいと思います。こちらの環境は以下です。 ・DLPの3Dプロジェクタ(Panasonic PT-CW230) ・DLP Link対応の3Dメガネ(Sain SONIC)
    Comment:
    電王トーナメント 2013.11.02 00:00 AM
    残念ならがら3勝5敗で予選落ちでした。 1敗はルートでの詰みのハッシュを見つけるとPVを更新していなかったというバグでした。 なぜfloodgateで長く流して気付かなかったというと、floodgateの場合、 相手のソフトの多くが自分が詰んでいると認識すると早めに投了していたからです。 あと、こちらでPGOビルドしたバージョンが本番マシンではなぜか動かなかったり、 並列スレッドが立ち上がらなかったりしたので通常ビルド・並列化(といってもルートだけ)を切りました。 こういう詰めの甘さも実力のうちなので、来年度頑張ります。上位ソフトと試合していて思ったのが、とにかく読みが深いことです。 序盤で2…
    Comment:
  88. | updated at 0000.00.00 00:00 AM
  89. | updated at 0000.00.00 00:00 AM
  90. | updated at 0000.00.00 00:00 AM
  91. | updated at 0000.00.00 00:00 AM
  92. | updated at 0000.00.00 00:00 AM
  93. | updated at 0000.00.00 00:00 AM
  94. はてなブログ | 無料ブログを作成しよう | updated at 0000.00.00 00:00 AM
  95. | updated at 0000.00.00 00:00 AM
  96. elm200 の日記(旧はてなダイアリー) | updated at 0000.00.00 00:00 AM
    はてなブログへ移転しました 2017.03.17 08:41 AM
    今後は、はてなブログで書いていくつもりです。 どうかよろしくお願いいたします。http://elm200.hatenablog.com/
    Comment:
    今後の仕事の方向性 2017.02.03 08:14 AM
    いままで私は Ruby on Rails でウェブ関係の仕事をしてきました。これからは方向性をやや変えて、機械学習・データ分析・データフォーマット変換の仕事をしていきたいと考えています。ビックデータや機械学習が大きな意味を持ってきている、この時代。 データはかならずあるフォーマットに従って表現されています。 さまざまな種類のデータが異なるフォーマットで表現されている場合が多いです。 この場合、データ間の変換作業が必要になります。私は、このデータフォーマットの変換が得意にしています。今後は、こちらの方面の仕事をしていければ、と考えています。 お気軽にお問い合わせください。【追記】 いま、いろいろ…
    Comment:
    久しぶりの日記 2016.10.31 00:26 PM
    この2年間は、自分の中の軸がうまく定まらなくて、ほとんどインターネットに向かって発信することができなくなっていた。いまも完全に復活しているわけではないのだが…。このブログを書き始めて、もう10年ほどが経過する。10年前といまではインターネットも様変わりした。やはり、変化の主動力はスマートフォンであっただろう。それがきっかけで、コンピュータに関する知識がほとんどない人たちが日常的にSNSを通じて発信するようになった。梅田望夫さんがウェブ進化論を書いていたころ、インターネットはまだITリテラシーの高い人たちのものだった。だから、インターネットで情報発信してもどのような人達に届くのかある程度予測する…
    Comment:
    この1年を振り返って 2016.03.31 09:05 PM
    私は、ちょうど1年前の2015年3月31日、行政書士をやめた。その後、私はプログラマーに復帰した。Ruby on Rails を使って、いくつかのウェブサイトを作るお手伝いをした。プログラマーに復帰したおかげで、経済的にはずっと安定するようになった。私は、たぶんいままでいちばん落ち着いて真面目に仕事に取り組んでいる。ありがたいことによいプロジェクトとチームメンバーに恵まれ、楽しく仕事をしている。かつてはコンピュータの仕事に不平不満ばかりだったのが嘘のようである。もちろん、ITの仕事にはいろいろ厳しい面があるが、この歳になって、チームで働く楽しさや仕事というものが持つ意味がわかってきた。この1年…
    Comment:
    自意識というこの化物 2015.08.07 09:38 AM
    このエントリーの言うとおりだと思った。【自己責任系はてな村怪談】あるブロガーの末路 - さよならドルバッキー振り返ると、私は、この2年間で1回しかブログエントリを書けていない。正確に言えば、なんどもここに書こうと思ったのだけど、どうしても書けなかった。私にとって、はてなダイアリーは「第ニの青春」とでもいえるような、甘くてほろ苦い思い出だった。いつの間にか、思い入れが強くなりすぎて、一字も書き込めないようになっていた。私は、いろんな夢を見た。多くの夢は果たされることなく、露と消えていったけれども、そんなことはありふれた話だ。フィクションの世界では、ヒーローやヒロインは必ず自分の目標を遂げていくけ…
    Comment:
  97. | updated at 0000.00.00 00:00 AM
  98. はてなブログ | 無料ブログを作成しよう | updated at 0000.00.00 00:00 AM
  99. ktkrayの日記 | updated at 0000.00.00 00:00 AM
    Ascending and Descending 2007.08.01 00:00 AM
    昨日の錯視つづきで、 エッシャーらしきシーンをレンダリングした。 This picture is rendered using the model which comes from here: http://sketchup.google.com/3dwarehouse/details?mid=3e6df6c24a95f583cefabc2ae69d584c
    Comment:
    Dragon Gardner 2007.07.31 00:00 AM
    s archive, which might be popular recently;http://sketchup.google.com/3dwarehouse/search?tags=Optical+Illusions…
    Comment:
    Vista compatibility issue 2007.07.03 00:00 AM
    t work. Walking though in the sponza is stressful...
    Comment:
    Depth of field effect test 2007.06.30 00:00 AM
    s eye in the scene. The blurry effect was done by a simple way like taking a light field of a scene. I think that chess sets are good to see this effect. http://sketchup.google.com/3dwarehouse/details?mid=afff39b9eaa19e046fad3c29049204ac
    Comment:
    Pictorial look of Arnold renderer !? 2007.06.27 00:00 AM
    s just a fun rendering. 要するに、アーノルドレンダラー風の絵を作ってみたかったわけで・・・The model of this tank used is here: http://www.meshfactory.co…
    Comment:
  100. | updated at 0000.00.00 00:00 AM
  101. | updated at 0000.00.00 00:00 AM
  102. はてなブログ | 無料ブログを作成しよう | updated at 0000.00.00 00:00 AM
  103. | updated at 0000.00.00 00:00 AM
  104. | updated at 0000.00.00 00:00 AM
  105. inucaraの日記 | updated at 0000.00.00 00:00 AM
    スタート!! 2019.05.17 01:20 PM
    こんにちは! 初めまして! inucara って言います! 言いません! 今日から1ヶ月くらい日記を書こうと思うのでみなさんよろしくお願いします!!
    Comment:
    あせる!! 2019.05.17 01:20 PM
    壁紙サーチのブクマ数がすごい増えててあせる!! でもすごい嬉しい!!!
    Comment:
    壁紙サーチ 2019.05.17 01:20 PM
    壁紙サーチっていう、壁紙専門の検索エンジンを作りました! 良かったら使ってみてください! 壁紙サーチ
    Comment:
    SmoothTube 公開しました。 2019.05.17 01:20 PM
    SmoothTube 公開しました。SmoothTube はとっても快適に YouTube のビデオを観ることができる YouTube ビューワです。これに慣れてしまうともう普通の YouTube には戻れません。みなさん、ニコニコ動画ばかり観てないでたまには YouTube も観ましょう! SmoothTube - The best and most useful YouTube viewer
    Comment:
    SmoothTube 直した 2019.05.17 01:20 PM
    SmoothTube SmoothTube ですけど、history やkeep がブラウザを再起動すると消えちゃう問題を修正しました。 CORESERVER だとセッションに保存した内容が期限関係なくすぐ消えちゃうようなので、セッション ID だけもらってデータは SQLite で管理するようにしたら直りました。もうこれで完璧です。
    Comment:
  106. | updated at 0000.00.00 00:00 AM
  107. twin.ne.jp | updated at 0000.00.00 00:00 AM
  108. GitHub - IBM/japan-technology: IBM Related Japanese technical documents - Code Patterns, Learning Path, Tutorials, etc. | updated at 0000.00.00 00:00 AM
  109. nyaxtのPC作業ログ | updated at 0000.00.00 00:00 AM
    Linux カーネル自炊 2013.06.30 02:43 PM
    git clone git://github.com/RobertCNelson/linux-dev.git; cd linux-dev ./build_kernel.sh vi system.sh # MMC=/dev/sdd ←microSDのブロックデバイス。環境によって適宜かえる dd if=/dev/sdd of=bkup bs=1M # 一応バックアップ ./tools/install_kernel.shあっさり
    Comment:
    BeagleBone Blackで遊ぶ 2013.06.30 10:27 AM
    FPGAミキサーのコンパネをどうしようか悩んだ末、このボードを見つけたので試してみることに。またLinuxかよと思ったけど、起動10秒らしいので耐えられるかなっていうのと、おそらく以前書いたソフトウェアのGUI部分がそのまま流用できるんじゃないかなというもくろみ。Raspberry Piを使おうと思ったのだけど、映像出力がコンポーネントかHDMIなので、LCDつなげようとすると変換ボードが必要になってしまうので断念。BeagleBone Blackでは、ピンヘッダ経由でLCDコントローラの信号が出力されているので、これをそのまま使う予定。 入手 Digikeyにて\4653 + 送料。 htt…
    Comment:
    デジタルミキサーをFPGAでつくる試み 2013.06.23 04:40 PM
    DACというのはあほらしい 変更: 入力はUDP経由だったが、今回は光同軸をつかってみる イーサネット経由で音声入力を受け取れる現行のものも便利なんだけど、変な独自プロトコルを使ってしまったので仮想ループバックオーディオドライバをいれたりいろいろめんどかった。 光同軸なら手持ちのデバイスにだいたいついてるし楽なはず Air…
    Comment:
    コミッタになった 2013.06.23 04:40 PM
    お仕事の都合。kouhei@くろみーむおるぐ
    Comment:
    portaudioをMountain Lionでビルドする 2012.12.08 09:56 PM
    make installあとはここら辺参考: http://portaudio.com/docs/v19-doxydocs/compile_mac_coreaudio.htmlなんかテストプログラムのコンパイルコケるけど、.dylibはできてるっぽい。
    Comment:
  110. naoyaのはてなダイアリー | updated at 0000.00.00 00:00 AM
    ソーシャルメディアにおける他人との関係性がコンテンツ価値に影響を与える 2016.02.04 00:20 PM
    ときどき、たまたま自分がそのとき考えていたことについてそれを補強するような材料が偶然たくさん集まってくる、なんてことがあります。そんな出来事があったので、ちょっとブログを書いてみようかなと。以前に HBFav を作ったときこんなことを書きました。 Mark Zuckerberg は、いずれみんな、ニュースは友人知人経由で知ることになるだろうと言っていました。自分もそうなるだろうと思います。 4年ぐらいが経ちましたが、その思いは以前よりも増して確信めいたものになってきています。ところで先日、Twitter の iOS アプリに「ニュース」という機能が追加されました。人によっては出てないそうなので…
    Comment:
    プロダクトマネージャーについて 2015.10.26 11:40 AM
    Twitter でプロダクトマネージャーについてぶつぶつ呟いていたら、まとめられていました。ありがとうございます。 プロダクトマネージャー制度を導入するにはどうすれば良いのか プロダクトマネージャーについてあれこれ考えていることを、ここらで一旦整理する良い機会かなとも思いましたので、ちょっと文章をこさえてみることにしました。一年ぶりにブログでも書いてみようと思います。プロダクトマネージャーはユニコーンなのか。なぜそれが必要なのか。プロダクトマネージャーを見つける / 組織で制度化するとはどういうことなのか。それについて自分の考えを述べていこうと思います。 プロダクトマネージャーは新しいユニコー…
    Comment:
    HBFav 2.8.1 をリリース : iPhone 6 解像度対応と認証再要求問題の修正 / はてなブックマークへの要望 2014.11.22 11:36 AM
    昨日のことになりますが HBFav 2.8.1 をリリースしました。主な変更は iPhone 6 解像度対応 はてなブックマーク追加時に認証を再度要求されてしまう問題の修正 の 2 点です。これまでは折角画面サイズが大きくなった iPhone 6 や 6 Plus で HBFav を使っても解像度は iPhone 5s のころのサイズのままで、引き延ばされて表示されていました。結果的に文字がぼやけるなどの状態でしたが、今回改めて iPhone 6 と 6 Plus 解像度に対応したことで見た目もくっきり、一画面に収まる情報量も増えました。不具合の修正は、長らく続いていた、一度認証したのにしばら…
    Comment:
    エンジニアにとって良い組織とは何かを知りたい? 2014.10.18 00:52 PM
    「エンジニアにとって良い組織体制ってどんなものですか? お話を伺いたいのですが・・・」と依頼をいただくことがあるが、都合上全部を受けてはいられない。ので、そういう疑問を持たれた方は以下の本を読むと良いかと思います。How Google Works (ハウ・グーグル・ワークス) ―私たちの働き方とマネジメントposted with amazlet at 14.10.18エリック・シュミット ジョナサン・ローゼンバーグ アラン・イーグル 日本経済新聞出版社 売り上げランキング: 19Amazon.co.jpで詳細を見る小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則posted wi…
    Comment:
  111. | updated at 0000.00.00 00:00 AM
  112. | updated at 0000.00.00 00:00 AM
  113. モーションのはて | updated at 0000.00.00 00:00 AM
    モーションの値段 2008.05.07 00:00 AM
    フリーランスの同業者との飲みで、よく出てくる話題。モーションの単価はいくらなのだろう。最後は人件費と制作量のバランスから算出するという結論になる。しかし、これだと会社や個人のスキルに大きく左右されることになる。一概に「1モーション○○万円!」と言える結論には至っていない。でもまあ、ひとつの指針として、簡単にではあるが計算してみようと思う。*1今、私の所属するプロジェクトでは,1秒1体のキャラモーションをクオリティーチェックを通して、データフィックスまで制作するのに平均2日かかる。といってもアニメーターの個人差が大きく、出来る人で3秒を1日。まだまだこれからな人は5日で1秒ってところだ。もちろん…
    Comment:
    「絵が描けなければ・・」という圧力 2008.02.28 00:00 AM
    「絵が描けなければいいCGは作れない。」というのは、CG界隈では有名な話。んなわけないが描けるにこしたことはない。これは、CGを志すものにとっては常識。しかし、もやは常識となってしまったこの事実をあいもかわらず得意げに語っている人達ってのは後を絶たない。あまりにも、使い古されたこの言葉に、正直うんざりしている人もいるのではないだろうか。もう、その言い分は十分わかったから。そろそろ別な視点でCGの可能性を探ってみないか?CGアニメーションというのは、2Dアニメと違って、絵はコンピュータが出力してくれる。絵のうまさやデッサン力ってのは、モデリングのうまさだとか、人にイメージを伝えるものだとか空間を…
    Comment:
    高機能リグの罠とシンプルリグのすすめ 2008.02.22 00:00 AM
    モーションを作るうえで欠かせないのがリグの存在だ。細部まで分業化された会社によっては、このリグをセットアップするのを専門とする「リガー」と呼ばれる人達がいるらしい。だがほとんどの場合、そのモデルを制作したモデラーか、モーションデザイナーがリギングする。リギングの技術はモデラーとモーションデザイナーをつなぐ技術といえる。モデラーとモーションデザイナーがコンセサンスをとるほどより良いリグが出来るということだ。よく出来たリグは、モーション制作に大きな恩恵をもたらす。それはフェイシャルや、指先の動き、制御のしやすさ等、細かなところまで行き届いた制御だけではなく、生産スピード、クオリティー、動きの発想に…
    Comment:
    引っ越して来ました。 2008.02.11 00:00 AM
    Yahoo!ブログから引越して来ました。 id:mocebといいます。 当ブログは、3DCGアニメーションにおけるキャラクターの動き「モーション」に関しての、技術、質、精神論などについて、好き勝手批評をするブログです。 「CGでキャラクターを動かす」、という仕事は非常に楽しく魅力的ではありますが、歴史が浅く、2Dアニメのように絶対的な理論が確立していません。 *1また、非常にマイナーな職種のため、世間にも知られていませんし、ネット上にも有意義といえる情報は皆無に近いのが現状です。 数人のCGアニメーターが、ブログを開設し情報を提供しているようですが、まだまだ数がたりません。 数が少ないというこ…
    Comment:
  114. | updated at 0000.00.00 00:00 AM
  115. | updated at 0000.00.00 00:00 AM
  116. FC2Blog - 現在アクセスが集中しています | updated at 0000.00.00 00:00 AM
  117. | updated at 0000.00.00 00:00 AM
  118. Radium Software | updated at 0000.00.00 00:00 AM
    結局、Tumblrに移行しました。 2011.03.29 00:00 AM
    以前からブログを他のサービスに移したいなと考えており、種々のサービスを色々と試していたのですが、結局のところTumblrが最も良さそうだ、という結論に至り、本格的に移行することにしました。新しいブログはこちら。今後ともよろしくです。
    Comment:
    UnityのAsset Storeを使ってみる 2011.01.18 00:00 AM
    UnityにはAsset Storeというユーザーが開発用のアセットを販売するための仕組みが用意されている。ユーザーに個人開発者の多いUnityにとって、これは理想的なサポートシステムだ。アートデザインを担当するパートナーがいない個人開発者でも、出来合いのアセットをAsset Storeから入手することにより、見た目の体裁を繕うことができるようになる。デザイン担当者がいる場合でも、プロトタイピング用の素材の入手先として、Asset Storeは有用な存在になりうるだろう。ローンチ当初は先行きの不明な雰囲気の感じられたAsset Storeも、最近になってぼちぼち中身が充実してきている。一度試し…
    Comment:
    執筆参加しました - iOS4プログラミングブック 2010.12.29 00:00 AM
    Amazon.co.jp - iOS4プログラミングブックインプレスダイレクト - 書籍情報インプレスジャパンより1/27に発売予定の「iOS4プログラミングブック」の執筆に参加しました。僕の担当箇所ではAV Foundationフレームワークを使った動画の編集や出力の方法について解説しています。完成した原稿を改めて俯瞰してみると、iOS4におけるSDKの進化の具合の大きさがよく分かります。単にライブラリとしての拡充だけでなく、Grand Central DispatchやBlocks構文などのように、コンパイラの改修まで含めた変化があったというのが、そのインパクトを大きくしている要因かもしれ…
    Comment:
    - 2010.12.29 00:00 AM
    ブロック 75ab 「nagimiso.sys」「twinkledisc」会場頒布価格:1500yenデジパック仕様 ポストカード&クリアファイル付詳しくは、なぎみそさんのところの告知を御覧ください。みんな自由に作っている感じがして面白いコンピです。参加者に知っている方々の名前が多くあったので、比較的安心してのびのびと作らせていただいたのですが、いきなり1曲目に配置されてビビっております。ともかく、この界隈の音楽が好きな方には…
    Comment:
    GEEK x PLAY #1 終了 2010.12.29 00:00 AM
    少し前の話になりますが、12/23日にDOMMUNEにて開催されたGEEK x PLAY #1に出演してきました。イベントの内容についてはITmediaのレポートを参照していただくのがよいかと思います。ITmedia News - ライバル楽器メーカーのiPadアプリ呉越同舟ライブを見てきた@DOMMUNEUstreamの中継の方にはかなりの数が集まっていたようで、それを見て緊張するかと思っていたのですが、意外とリラックスして楽しむことができたというのが率直な感想です。クリスマスイブイブの渋谷のクラブというシチュエーションにも関わらず、圧倒的な忘年会オーラが会場を支配していたのは、まさに佐野マ…
    Comment:
  119. | updated at 0000.00.00 00:00 AM
  120. 次世代3Dコンテントパイプライン開発室 | updated at 0000.00.00 00:00 AM
    PRML(パターン認識と機械学習) 4.1 Discriminant Function 2010.11.05 00:00 AM
    明日の勉強会で使うスライドです。PRML 4.1 Discriminant FunctionView more presentations from stakemura.
    Comment:
    Qt4 + DirectX 9/10.1/11デモを公開しました 2010.07.20 00:00 AM
    Qt、使ってますか?あれってGPLと商用ライセンスしかないんじゃという方は、とりあえずNokiaのページで目を覚ましてください。LGPL化の波に押されて、Google EarthやMaya 2011など、今やQtを使った実用3Dアプリは増殖の一途を辿っています。またSafariやGoogle ChromeのHTMLレンダリングに使われるWebkitを手軽に試せることでも有名なQt。SVGの読み書きも楽勝です。が、Qtでグラフィックスアプリをばりばり作っているという方はまだ少数派ではないかと思います。そこで用意しました。DirectX 9/10.1/11に対応した、完全Public Domain…
    Comment:
    第参回天下一カウボーイ大会来場者の皆さんお疲れさまでした 2009.09.06 00:00 AM
    短いプレゼンでしたが、twitterや懇親会を含め様々な感想を頂きました。どうもありがとうございました!中でも「あの発想はなかった」という意見が聞けた時が一番嬉しかったですね。特にレコメンデーションやテキストマイニングみたいな、どこにでもあるありふれた技術を使って、今までにない新しいコンセプトのサービスを作るというのはなかなか大変です。そんな中、 App Concierge : Recommendation over marketplace というテーマも、実は数10あったアイデアの中から、 世界レベルで、似たようなことをやっている人が他にいないか 時流に合ったテーマ・問題設定を選んでいるか …
    Comment:
    第参回天下一カウボーイ大会オリエンテーションに参加してきました 2009.07.31 00:00 AM
    7月31日、新宿某オフィスにて、第参回天下一カウボーイ大会の主催者・講演者メンバーらによる、オリエンテーション&飲み会に参加してきました!講演者メンバーといっても半分くらいは面識のある方だったりするのですが、今回1番驚きだったのは人気ブログ「キャズムを超えろ!」知られるCerevo社長の岩佐さん。なんとこの方、学部時代の大学の方の同期で、同じコンピュータビジョンの研究室の方でした。まさに奇遇な出会い。物凄い低い確率だと思うのですが、こんなこともあるんですね。当日は他の人には真似できない家電系のネタで攻めるそうなので期待大です。また飲み会では、トロ父さんことビサイド南治社長とPlaystatio…
    Comment:
    第参回天下一カウボーイ大会の出場が決まりました 2009.07.13 00:00 AM
    をやります。 第参回天下一カウボーイ大会 タイトルは「Marketplaceを越える商品推薦」。Amazonに代表される購買履歴や操作履歴に基づく商品推薦技術(いわゆる協調フィルタリング)は、同一ドメインでは有用でもその外に向けては非力です。しかし今やApp StoreにAndroid MarketにOvi StoreにWindows Marketplaceと、Marketplace乱戦時代。断絶されたマーケ…
    Comment:
  121. | updated at 0000.00.00 00:00 AM
  122. CODELIGHT株式会社 | updated at 0000.00.00 00:00 AM
  123. | updated at 0000.00.00 00:00 AM
  124. はてなブログ | 無料ブログを作成しよう | updated at 0000.00.00 00:00 AM
  125. パソコン版サイトマップページ終了のお知らせ - Yahoo!ファイナンス | updated at 0000.00.00 00:00 AM
  126. | updated at 0000.00.00 00:00 AM
  127. | updated at 0000.00.00 00:00 AM
  128. サービス終了のお知らせ | updated at 0000.00.00 00:00 AM
  129. | updated at 0000.00.00 00:00 AM
  130. | updated at 0000.00.00 00:00 AM
  131. GPUPPUR(ぐぷっぱー)の日記 | updated at 0000.00.00 00:00 AM
    前回のデモのソースコード 2008.08.13 00:00 AM
    前回公開したデモのソースコードを公開。 デバッグ用コードや見た目が地味で没にしたコードもコメント化されて残ってます。nasm -f bin -o ファイル名.bin ファイル名.asm でブートセクタ用バイナリを生成 nasm -dMSDOS -f bin -o ファイル名.com ファイル名.asm でcomファイルを生成 %ifdef MSDOS origin equ 0x100 %else origin equ 0x7c00 %endif %if 0 %ifdef MSDOS %define DISABLE_VIDEO %endif %endif %ifdef DISABLE_VIDEO…
    Comment:
    OSが無くても動くデモ 2008.08.09 00:00 AM
    前回作ったプログラムのブートセクタ版を公開します。 使用するときは自己責任でお願いします。 B8 20 7C 8E D0 BC 00 16 B8 13 00 CD 10 31 D2 B9 3F 00 51 89 CB 88 DE 88 DD B8 10 10 CD 10 59 E2 F1 B0 B6 E6 43 FC B8 20 7C 8E D8 BF 00 16 B9 00 10 60 8E C0 B9 00 C0 31 C0 F3 AA 68 20 8C 07 E8 70 00 30 E4 CD 1A 8E E2 61 60 8C E0 C1 E0 03 25 FF 0F 29 C1 31…
    Comment:
    510bytesで何ができるか 2008.08.07 00:00 AM
    PCの電源を入れてからOSが起動するまでをおおまかに説明すると 1, CPUが初期化されてBIOSにあるプログラムが実行される 2, BIOSは設定されたメディア(ハードディスクとかフロッピーディスク等)のブートセクタと呼ばれる最初の512bytesを読み込んでメモリに書き込む 3, メモリに書き込んだ先にジャンプしてそのプログラムを実行するここで、ほとんどのOSは512bytesに収まらないのでブートセクタにはさらにメディアからOSを読み込むようなプログラムが置かれている。 そこでブートセクタの512bytesに収まるプログラムの作成に挑戦してみた。 ちなにブートセクタの最後の2bytesに…
    Comment:
    ループカウンタのi,j,k 2008.06.17 00:00 AM
    , i); for(…
    Comment:
    cygwinにboostインストールメモ 2008.05.11 00:00 AM
    ・前準備 boost 1.35.0ではmpiが使えるようなのでcygwinにmpich2をインストールしてみた。 Pythonが入ってないとconfigureで失敗するので入れておく。 普通にソースコードをゲットして ./configure make make install でインストールできた。 自宅に一台しかPCが無いので複数マシンでmpich2が使えるかは不明。 Boost Iostreamsのbzip2で圧縮/解凍するfilterを使うにはlibbz2-develが必要っぽいのでインストールしておく。 ・boostをconfigureする。 以下のファイルの改行がCR+LFになってい…
    Comment:
  132. | updated at 0000.00.00 00:00 AM
  133. | updated at 0000.00.00 00:00 AM
  134. | updated at 0000.00.00 00:00 AM
  135. | updated at 0000.00.00 00:00 AM
  136. | updated at 0000.00.00 00:00 AM
  137. | updated at 0000.00.00 00:00 AM
  138. | updated at 0000.00.00 00:00 AM
  139. | updated at 0000.00.00 00:00 AM
  140. | updated at 0000.00.00 00:00 AM
  141. | updated at 0000.00.00 00:00 AM
  142. | updated at 0000.00.00 00:00 AM
diary
  1. 電波とどいた? | updated at 2012.09.19 05:17 PM
    Android のノベルゲーム 2012.09.19 05:17 PM
    いくつか入れていろいろ確認してみた。動作確認環境は SC-05D(ICS)。金かけてそうな著名2タイトルと、最近なんかはやってるぽい Artemis Engine 採用タイトルを一つ とりあえず全体雑感。いずれのタイトルも横画面固定起動...
    Comment:
    CLANNAD (Visual Arts) 2012.09.19 05:17 PM
    開発:プロトタイプ タイトル操作 タッチで操作(NEW GAME/LOAD/CONFIG/NAME) 戻るキー ゲーム終了 メニューキー システムメニュー:ロード/コンフィグ/操作説明/データチェック/終了/データのインポートエクスポート...
    Comment:
    CHAOS;HEAD NOAH (5pb) 2012.09.19 05:17 PM
    開発:M-trix タイトル操作 最初の Touch Here To Start 画面はそれ以外の操作ができない タッチで操作(Start/Config/qload/load/Help/Extra/BlueSky/Info) 戻るキー ゲ...
    Comment:
    ヒメヒメぶっきんぐ! (まじかるたいむ) 2012.09.19 05:17 PM
    Artemis Engine を採用したタイトル タイトル操作 タッチで操作(スタート/ロード/コンフィグ/操作方法/スタッフ/終了) バック/メニューキーは反応無し 終了操作に確認が無いのが気になる ゲーム操作 タップ 進行 長押しタ...
    Comment:
misc
  1. Going on Rails | updated at 2024.10.05 08:16 AM
    AI and the Future: Humanity's New Coexistence in 20 Years 2024.10.05 08:12 AM
    Looking at the progress of AI in recent years, I can't help but feel that the world will be very different in 20 years. The seeds of world-changing technology are visible here and there. However, it always takes longer than expected for it to become mature and ordinary people can use it. <br /><br /> It was like the Internet in 1995. It was clear that the world was going to change, but it took the widespread use of smartphones after 2010 for ordinary people, not just early adopters, to use it in their daily lives. <br /><br /> However, once AI is integrated as an essential part of society, the history of mankind will change irreversibly. Just as the emergence of the steam engine once rewrote the history of mankind forever. Perhaps the lifestyles that we take for granted now will also change. <br /><br /> By that time, I will be an old man, so I don't know if I will be able to fully adapt to the new society. However, children born in the future will accept this kind of AI as something very natural, alongside old traditional technologies, and live with it as a given. That's how society changes. It has always been that way in the history of humanity over the past few hundred years. That's fine. <br /><br /> We will all become the "bosses" of AI. Our economic power will be determined by our ability to use AI. This coexistence of humanity and AI will continue for at least the next few decades. However, to be honest, I'm not sure if humanity will continue to be the "boss" and AI the "subordinate" forever. In the not-too-distant future, serious discussions may begin to take place on who will inherit this civilization that humanity started. However, by that time, I will have passed away and will not be able to see the conclusion.
    Comment:
    It has been a while since I posted last 2022.05.02 02:36 PM
    I don't remember how many years have passed since my last post. I will post entries sometimes. I have just started learning English again. I signed up for an online English school, where I can talk to teachers worldwide, that is, Asia, Europe, Africa, and the Americas. I have had teachers from the Philippines, South Africa, and Papua New Giniua. I used to worry about grammatical mistakes in my English. But does it matter? Everybody knows that I am not a native English speaker. My mother tongue is Japanese. So who cares about my English grammar? A far more important thing is what I express. How could it be helpful if I had nothing to convey but had perfect grammar instead? I believe my English is good enough for readers to understand. If there is anything unclear to you, please ask me. I will write what I feel inside from now on.
    Comment:
    Watching television is a waste of time 2017.09.14 00:28 AM
    <div dir="ltr" style="text-align: left;" trbidi="on"> <p> Many people enjoy watching television. They can get useful information as well as good entertainment from it. At the same time, some people claim that watching television is harmful. They also point out that watching it is no longer necessary, because recent advances in technology are bringing about more efficient ways to get information. I agree. Personally, I believe that watching television is just a waste of time. </p> <p> First of all, watching television is a passive activity. When you read books, you need to concentrate on whatever book you are reading. Otherwise, you will not be able to understand what the books attempt to convey. In contrast, you have to make no active effort when you watch television. Broadcasting stations decide what you can view. Once you have chosen a channel on the television set, you will never have a choice about what you will see. As a result, you might stop thinking for yourself. This is how television makes you passive. </p> <p> In addition to the previous point, television is no longer the best information source. Nowadays, the Internet offers better information in both quality and quantity than television. For example, you have to sit and wait for a long time before your favorite dramas appear on television. By contrast, on the Internet, you can watch them anytime you like. Weather information is available on television, but you can get more detailed information on websites. Furthermore, the Internet provides a virtually unlimited amount of information, while a television channel has only twenty four hours a day to broadcast programs. In many ways, television is inferior to the Internet as a source of information. </p> <p> In conclusion, watching television wastes your precious time. People tend to become passive when they watch television. Moreover, television is not as good as other information sources. Television used to be the main source information and entertainment at home, but it is no longer the case. Your time is always limited. You should think twice about spending a lot of time watching television. </p> <p> (Thanks for the correction at <a href="http://www.cz-training.com/">CZ-Training</a>) </p> <br /></div>
    Comment:
    What are the best jobs? 2017.09.08 03:02 PM
    <p> Personally I don not agree with the argument that the best jobs pay the most. Money is just one aspect of a job. How much you can learn from the job is a more important aspect. </p> <p> First of all, many people who have high paying jobs are miserable at work. Let's assume that people have a well-paid job, but they are not interested in it. Although they can make a lot of money at it, they will not be satisfied with it and will feel a great stress at work. As a result, they will have to spend a great amount of money buying things to compensate for their regular dissatisfaction and distress. They will not be able to save money at all even though their income is very high. </p> <p> Another pitfall of high income work is that you might be trapped in such a job and might not be able to move to another job that would potentially give you more satisfaction. This deprives you of not only the possibility to get a more suitable job but also the chance to grow professionally. People never perform best in jobs they do just to make a living. They need to really like what they do. If they don't make a serious effort at the workplace, they will never develop professional skills either. </p> <p> In conclusion, the best jobs are the ones that offer workers the greatest growth opportunity both professionally and mentally. Many people are still unhappy even though their jobs pay a lot. High income jobs might also prevent you from getting a more fulfilling job or even a calling. Of course, sometimes people can get lucky and both growth and high income. However, even in such a case, we should consider the high income something extra on top of what is really important: personal growth and professional development. </p> <p> (Thanks for the correction at <a href="http://www.cz-training.com/">CZ-Training</a>)
    Comment:
    A brief life story of mine 2012.02.19 08:49 PM
    In 1970, I was born in Koga, Ibaraki, Japan, which is 60 km north of Tokyo. After I graduated from an elementary school in Ibaraki, I entered a prestigious private junior high school, Kaisei Junior High School in Tokyo. I didn't adapt to the school life there so I quit after 2 years. After I graduated from a public junior high school in Kawasaki, I went back to Ibaraki to enter a public high school. <br /> <br /> In 1989, I was accepted into Japan's most prestigious university, the University of Tokyo. I studied economics.<br /> <br /> My dream then was to become an academic economist. Although I passed the entrance exam for the graduate school of economics in the University of Tokyo, I declined the acceptance. I thought that just studying the economic theories seemed boring and I would rather look at the real economy. That's why I got a job at the Bank of Tokyo (currently, the Bank of Mitsubishi Tokyo UFJ). However, I didn't like its conservative atmosphere and quit 6 months later.<br /> <br /> I was a part-time worker for a year and experienced different kinds of jobs as such an office clerk at a community center, an assembly worker at a bus manufacturing factory, a salesperson for photocopiers and a security guard at a roadwork site. It was fun and each experience broadened my views.<br /> <br /> In 1996, I found a job at a small software company in Kichijoji, Tokyo. This was the time when I became a professional software engineer. It was easy for me to master the technologies because I did a lot of programming when I was a junior high school student. I worked for cutting-edge companies including Rimnet and Tenartni.<br /> <br /> In 1999, I moved to Canada. After I attended ESL schools in Toronto for 4 months, I became a regular student at the University of Victoria in British Columbia, Canada. I took computer science courses, which turned out to be uninteresting. Although I got straight As, I felt bored so quit the college. I went back to Toronto.<br /> <br /> Once I got permanent residency in Canada, I started working in a small software company run by Canadians. It was most thrilling when I worked with the media company Sound Source.<br /> <br /> In 2003 , I went to Korea and studied Korean, and in 2004, Mandarin in China. I got the level 5 certificate(National Korean Proficiency Exam) for Korean and level 7(HSK) for Chinese. These grades are good enough to enable the holder to be accepted to universities in the respective countries.<br /> <br /> In 2004, I worked as a bridge engineer for an Indian software company, Patni Computer. I was based in Tokyo to help Indian engineers working in Japan.<br /> <br /> In 2005, I became a full-time stock trader. I didn't work for a company; I stayed home and traded online. Although I made one million yen at the beginning, I lost it all when the stock market crashed at the beginning of 2006.<br /> <br /> In 2006, I started my own software company, Softculture. I worked for a lot of projects including <a href="http://go-jimbou.info/">http://go-jimbou.info/</a> and <a href="http://commonsmarker.com/">http://commonsmarker.com/</a>.<br /> <br /> In 2008, I moved to Vietnam. I studied Vietnamese in college language schools. Although I tried to set up a software company for offshore development, I could not make it due to some problems.<br /> <br /> In 2010, I braved US CPA exam. After studying 6 months, I passed all the 4 sections of the exam. Although I tried hard to find a job at big 4 accounting firms in Vietnam, I was unsuccessful.<br /> <br /> In 2011, I had a job interview with Twitter at its San Francisco headquarters. Unfortunately, I was not accepted. I started <a href="http://shohyoj.in">http://shohyoj.in</a>. Its tag line is "A book review site that lets you know how attractive the reviewers are".<br /> <br /> I was married for 2 years between 2006 and 2008. I have no children.<br /> <br /> My IT skills include programming, web development and server administration. When it comes to programming skills, I am the best at Ruby. I am also good at PHP / C / C++ / Java. Currently, I am also studying web design.<br /> <br /> Language skills include English, Korean, Vietnamese and Chinese. My TOEIC(an English proficiency test) score is 965.<br /> <br /> I am very active in social media. My Japanese blog(<a href="http://d.hatena.ne.jp/elm200">http://d.hatena.ne.jp/elm200</a>) has attracted about 4 million page views in the past 5 years. I have more than 11500 followers at Twitter(<a href="http://twitter.com/elm200">@elm200</a>) as of Feb 2012.
    Comment:
python
  1. Koichi Tamura's blog | updated at 2024.12.12 08:09 AM
    Hang in there! 2020.03.22 05:09 PM
    加油!<br /> <div> Forza!<br /> ¡Ánimo!<br /> Bon courage!<br /> Hang in there!<br /> Zlom vaz!<br /> בהצלחה!<br /> geluk!<br /> Viel Erfolg!<br /> بالتوفيق<br /> İyi şanslar!<br /> <br /> from Tokyo</div>
    Comment:
    Happy Canada Day! 2019.07.02 07:12 AM
    <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdiBGUcLU-gjNFkZJ1H3M6beWNnOc7GqwKjKUZTpXEPIFAXQkOikPabhUuvYKFSA_sAB5nSMnn-ysCQXGTuH0O5myClF6rC_4Cn5Ga0DL807o_AUdaHrvb2DsWFP_D-3uo1mYuWJYNAk4/s1600/20190701_104131.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdiBGUcLU-gjNFkZJ1H3M6beWNnOc7GqwKjKUZTpXEPIFAXQkOikPabhUuvYKFSA_sAB5nSMnn-ysCQXGTuH0O5myClF6rC_4Cn5Ga0DL807o_AUdaHrvb2DsWFP_D-3uo1mYuWJYNAk4/s320/20190701_104131.jpg" width="240" /></a></div> <br />
    Comment:
    Hello Vancouver 2019.01.06 07:25 AM
    Good bye Montreal<br /> Hello Vancouver
    Comment:
    New tab homepage and firefox 59 2018.03.17 10:15 PM
    It looks firefox 59 has a nice feature to kindly disable newtab homepage add-on in favor of their cool bookmark page.<br /> If it's not working check the add-on manager.<br /> <br />
    Comment:
    VILKU VILKA Crafts 2017.08.29 00:00 PM
    A friend of mine has opened an online shop.<br /> <br /> <i>Vancouver based Latvian Lifestyle Shop<br />Latvian Zakka* + Original Handcrafts</i><br /> <br /> Check out their crafts here!<br /> <a href="http://vilkuvilka.ca/onlineshop/">http://vilkuvilka.ca/onlineshop/</a>
    Comment:
  2. A-s-C-e-n-S-i-o-N | updated at 2024.11.24 07:39 AM
    Perforce: 複数のワークスペースを更新するバッチ 2020.08.29 10:58 PM
    <div>batを叩けば全部更新。</div><div><br /></div><div><div>@echo off</div><div><br /></div><div>set P4PORT=x.x.x.x:xxxx</div><div>set P4USER=user</div><div>set P4PASSWD=password</div><div><br /></div><div>echo %P4PORT%</div><div>echo %P4USER%</div><div>echo %P4PASSWD%</div><div><br /></div><div>echo %P4PASSWD%|p4 login</div><div><br /></div><div>p4 info</div><div><br /></div><div>set P4CLIENT=workspaceA</div><div>echo %P4CLIENT%</div><div>p4 sync //dirA/...#head</div><div><br /></div><div>set P4CLIENT=workspaceB</div><div>echo %P4CLIENT%</div><div>p4 sync //dirB/...#head</div><div><br /></div><div>set P4CLIENT=workspaceC</div><div>echo %P4CLIENT%</div><div>p4 sync //dirC/...#head</div><div><br /></div><div>pause</div></div>
    Comment:
    UE4 : SequencerのFBXインポートオプション 2020.04.22 03:14 PM
    SequencerのFBXインポートオプションのデフォルトを変更したい場合は以下を設定。<br /> <br /> iniファイル設定<br /> Engine/Saved/Config/Windows/EditorSettings.ini<br /> 一番下に以下を追記<br /> <br /> [/Script/MovieSceneTools.MovieSceneUserImportFBXSettings]<br /> bMatchByNameOnly=False<br /> bForceFrontXAxis=False<br /> bCreateCameras=False<br /> bReduceKeys=False<br /> ReduceKeysTolerance=0.0001<br /> <br /> <br />
    Comment:
    UE4 : Python 忘備録 2020.04.21 04:47 PM
    Unreal Pythonで良く使うやつ列挙<br /> ------------------------------------------------------------------------------------------<br /> <br /> import unreal<br /> <br /> # コンテンツブラウザの選択取得<br /> assets = unreal.EditorUtilityLibrary.get_selected_assets()<br /> <br /> ------------------------------------------------------------------------------------------<br /> <div> # フォルダに入っているアセット取得</div> assets = unreal.EditorAssetLibrary.list_assets(<i>path</i>)<br /> <br /> ------------------------------------------------------------------------------------------<br /> <div> # アセットが存在するか</div> unreal.EditorAssetLibrary.does_asset_exist(<i>path</i>)<br /> <br /> ------------------------------------------------------------------------------------------<br /> # world取得<br /> world = unreal.EditorLevelLibrary.get_editor_world()<br /> <br /> ------------------------------------------------------------------------------------------<br /> # 開いているSequencerを閉じる<br /> unreal.LevelSequenceEditorBlueprintLibrary.close_level_sequence()<br /> <br /> ------------------------------------------------------------------------------------------<br /> # Animation Sequenceをインポート<br /> lTask = []<br /> task = unreal.AssetImportTask()<br /> task.automated = True<br /> task.destination_path = <i>destination_path</i><br /> task.filename = <i>filename</i><br /> task.replace_existing = True<br /> task.save = True<br /> task.options = unreal.FbxImportUI()<br /> task.options.import_animations = True<br /> task.options.skeleton = <i>skeleton</i><br /> task.options.mesh_type_to_import = unreal.FBXImportType.FBXIT_ANIMATION<br /> lTask.append(task)<br /> unreal.AssetToolsHelpers.get_asset_tools().import_asset_tasks(lTask)<br /> <br /> ------------------------------------------------------------------------------------------<br /> # Level Sequence作成<br /> sq = unreal.AssetToolsHelpers.get_asset_tools().create_asset(<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <i>asset_name</i>,<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <i>package_path</i>,<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unreal.LevelSequence,<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unreal.LevelSequenceFactoryNew())<br /> <br /> # フレームレート設定<br /> sq.set_display_rate(unreal.FrameRate(<i>integer</i>))<br /> <br /> # インアウト設定(フレーム)<br /> sq.set_playback_start(<i>integer</i>)<br /> sq.set_playback_end(<i>integer</i>)<br /> <br /> # ビューレンジ(秒)<br /> sq.set_view_range_start(<i>float</i>)<br /> sq.set_view_range_end(<i>float</i>)<br /> <br /> # ワークレンジ設定(秒)<br /> sq.set_work_range_start(<i>float</i>)<br /> sq.set_work_range_end(<i>float</i>)<br /> <br /> # Level Sequenceを開く<br /> unreal.LevelSequenceEditorBlueprintLibrary.open_level_sequence(sq)<br /> <br /> # カレントフレーム設定<br /> unreal.LevelSequenceEditorBlueprintLibrary.set_current_time(<i>integer</i>)<br /> <br /> ------------------------------------------------------------------------------------------<br /> <br /> <br /> <br />
    Comment:
    MotionBuilder : カメラショットクリップを選択して実行するとインアウトを合わせる 2018.04.04 00:55 PM
    <div> ストーリーのカメラショットクリップを選択して実行です。</div> <div> ついでに、Mergeで増えーる増えーる空トラックを全消し</div> <div> <br /></div> <div> <br /></div> <div> <div> # -*- coding: utf-8 -*-</div> <div> from pyfbsdk import *</div> <div> <br /></div> <div> # クリップのフレームインとフレームアウト用のリスト</div> <div> lIn = []</div> <div> lOt = []</div> <div> # 空のトラックをあとで消す用のリスト</div> <div> lDel = []</div> <div> <br /></div> <div> # ショットトラック処理</div> <div> for track in FBStory().RootEditFolder.Tracks:</div> <div> &nbsp; &nbsp; # 空のトラックなら、消す用リストに追加</div> <div> &nbsp; &nbsp; if not len(track.Clips):</div> <div> &nbsp; &nbsp; &nbsp; &nbsp; lDel.append(track)</div> <div> <br /></div> <div> &nbsp; &nbsp; print track.Name</div> <div> &nbsp; &nbsp; # トラックにあるクリップ処理</div> <div> &nbsp; &nbsp; for clip in track.Clips:</div> <div> &nbsp; &nbsp; &nbsp; &nbsp; # クリップが選択されていたら</div> <div> &nbsp; &nbsp; &nbsp; &nbsp; if clip.Selected:</div> <div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # インとアウトの値をリストにそれぞれ追加 クリップ選択複数対応</div> <div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lIn.append(clip.ShotActionStart.GetFrame())</div> <div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lOt.append(clip.ShotActionStop.GetFrame())</div> <div> <br /></div> <div> # インとアウトのリストから、Transport ControlsのZoomWindowの値をセットする</div> <div> if lIn and lOt:</div> <div> &nbsp; &nbsp; mn = min(lIn)</div> <div> &nbsp; &nbsp; mx = max(lOt)-1</div> <div> &nbsp; &nbsp; print "in %s - out %s" % (mn,mx)</div> <div> &nbsp; &nbsp;&nbsp;</div> <div> &nbsp; &nbsp; if FBPlayerControl().LoopStart.GetFrame() &gt; mn:</div> <div> &nbsp; &nbsp; &nbsp; &nbsp; FBPlayerControl().LoopStart = FBTime(0,0,0,mn)</div> <div> &nbsp; &nbsp; if FBPlayerControl().LoopStop.GetFrame() &lt; mx:</div> <div> &nbsp; &nbsp; &nbsp; &nbsp; FBPlayerControl().LoopStop = FBTime(0,0,0,mx)</div> <div> &nbsp; &nbsp;&nbsp;</div> <div> &nbsp; &nbsp; FBPlayerControl().ZoomWindowStart = FBTime(0,0,0,mn)</div> <div> &nbsp; &nbsp; FBPlayerControl().ZoomWindowStop = FBTime(0,0,0,mx)</div> <div> &nbsp; &nbsp;&nbsp;</div> <div> # 取得した空のリストを消去</div> <div> map(FBComponent.FBDelete,lDel)</div> </div> <div> <br /></div>
    Comment:
    maya : 選択しているチャンネルボックスで、グラフエディタのFCurve表示 2017.12.12 00:55 PM
    こっちのほうが、使いやすいかも。<br /> UIいらんな…。<br /> <br /> <br /> # -*- coding: shift-jis -*-<br /> # FCurveSelectorChannelBox.py<br /> <br /> import pymel.core as pm<br /> <br /> # グラフエディタを取得。カスタムグラフエディタ対応で複数のエディタを見に行く<br /> for ge in pm.getPanel(scriptType="graphEditor"):<br /> &nbsp; &nbsp; # グラフエディタ内アウトライナの選択を一度解除<br /> &nbsp; &nbsp; pm.selectionConnection(ge.name()+"FromOutliner",e=1,clr=1)<br /> &nbsp; &nbsp; for obj in pm.selected():<br /> &nbsp; &nbsp; &nbsp; &nbsp; for a in pm.channelBox("mainChannelBox",q=1,sma=1):<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # 各アトリビュートのFCurveを表示<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pm.selectionConnection(ge.name()+"FromOutliner",e=1,s=obj.attr(a))<br /> <div> <br /></div> <br />
    Comment:
science
  1. TED Talks Daily (SD video) TED Talks Daily (SD video) | updated at 2025.02.05 03:55 PM
    Can AI match the human brain? | Surya Ganguli 2025.02.05 00:56 AM
    AI is evolving into a mysterious new form of intelligence — powerful yet flawed, capable of remarkable feats but still far from human-like reasoning and efficiency. To truly understand it and unlock its potential, we need a new science of intelligence that combines neuroscience, AI and physics, says neuroscientist and Stanford professor Surya Ganguli. He shares a vision for a future where this interdisciplinary approach helps us create AI that mimics human cognition, while at the same time offering new ways to understand and augment our own brains.
    Comment:
    Do you talk to yourself? Here’s how to harness your inner voice | Ethan Kross 2025.02.05 00:48 AM
    Your inner voice is a powerful tool for self-reflection and planning, but it can also trap you in negative thought loops — “chatter,” as psychologist and neuroscientist Ethan Kross calls it. He shares tips for quieting the less helpful aspects of the voice inside your head as well as how to harness chatter to overcome doubt, enhance your focus and transform your well-being.
    Comment:
    The high-wire act of unlocking clean energy | Jason Huang 2025.02.01 00:48 AM
    Why are we using tech from 100 years ago to deliver the world's electricity? Materials scientist Jason Huang shows how we could massively upgrade the global power grid by replacing the wires in existing transmission lines with new, advanced conductors, helping us affordably meet rising energy demands while unlocking a cleaner, more climate-resilient future.
    Comment:
    The secret to telling a great story — in less than 60 seconds | Jenny Hoyos 2025.01.31 00:41 AM
    For social media creator and viral video hitmaker Jenny Hoyos, the key to telling a great story is to keep it brief. She breaks down her framework for telling stories in 60 seconds or less that can gain millions of views online — or simply elevate your everyday conversations.
    Comment:
    Why daylight is the secret to great sleep | Christine Blume 2025.01.30 00:33 AM
    Does the type and amount of light you’re exposed to during the day change how well you sleep at night? Diving into the effects of daylight on your internal biological clock, sleep scientist Christine Blume shares practical tips for making natural light part of your daily routine — and shows why stepping outside might be the simplest, most impactful change you can make to get better rest.
    Comment:
swift
  1. FlexMonkey | updated at 2025.01.25 07:55 PM
    Primordial Particle System in SideFX Houdini 2017.09.21 04:15 AM
    <div dir="ltr" style="text-align: left;" trbidi="on"> <div class="separator" style="clear: both; text-align: center;"> <iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/yzM5eKwZzN4/0.jpg" frameborder="0" height="320" src="https://www.youtube.com/embed/yzM5eKwZzN4?feature=player_embedded" width="480"></iframe></div> <br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">It's been a fairly busy few months at my "proper" job, so my recreational <a href="http://www.sidefx.com/">Houdini</a> tinkering has taken a bit of a back seat. However, when I saw my <a href="http://flexmonkey.blogspot.co.uk/search/label/Swarm%20Chemistry">Swarm&nbsp;Chemistry</a> hero, <a href="https://twitter.com/HirokiSayama">Hiroki Sayama</a> tweeting a link to <i><a href="https://www.nature.com/articles/srep37969">How a life-like system&nbsp;emerges from a simple particle motion law</a></i>, I thought I'd dust off Houdini to see if I could implement this model in VEX.</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The paper discusses a simple particle system, named&nbsp;<i>Primordial Particle Systems</i> (PPS), that leads to life-like structures through&nbsp;morphogenesis. Each particle in the system is defined by its position and heading and, with each&nbsp;step in the simulation, alters its heading based on the PPS rule and moves forward at a defined speed. The heading is updated based on the number of&nbsp;neighbors to the particle's left and right.&nbsp;</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The project set up is super simple:&nbsp;</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_alEMyLeo56N_y3pEpY8fv8QEgbEIZoxCCLT_M9nNQJuk-FrebSdKkkGXwXk1FBULafgxnp0PfEunUnIUiysyNI7i0IDrduX8IBH1_Mrkvo0ZT4aNnI4mo82lSDxeiqwgSjh2/s1600/Screen+Shot+2017-09-20+at+19.48.09.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="226" data-original-width="1600" height="90" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_alEMyLeo56N_y3pEpY8fv8QEgbEIZoxCCLT_M9nNQJuk-FrebSdKkkGXwXk1FBULafgxnp0PfEunUnIUiysyNI7i0IDrduX8IBH1_Mrkvo0ZT4aNnI4mo82lSDxeiqwgSjh2/s640/Screen+Shot+2017-09-20+at+19.48.09.png" width="640" /></a></div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">Inside a geometry node, I create a grid, and randomly scatter 19,000 points across it. An attribute wrangle node assigns a random value to&nbsp;</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">@angle</span><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">@angle = $PI * 2 * rand(@ptnum);&nbsp;</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The real magic happens inside another&nbsp;attribute&nbsp;wrangle inside the solver.</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">In a nutshell, my VEX code iterates over each point's&nbsp;neighbors and sums the&nbsp;neighbor count to its left and right. To figure out the chirality, I use some simple trigonometry to rotate the vector defined by the current particle and the&nbsp;neighbor by the current particle's angle, then&nbsp;calculate the angle of the rotated vector.&nbsp;</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">while(pciterate(pointCloud)) {</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; vector otherPosition;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; pcimport(pointCloud, "P", otherPosition);</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; vector2 offsetPosition = set(otherPosition.x - @P.x, otherPosition.z - @P.z);</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; float xx = offsetPosition.x * cos(-@angle) - offsetPosition.y * sin(-@angle);</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; float yy = offsetPosition.x * sin(-@angle) + offsetPosition.y * cos(-@angle);</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp;&nbsp;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; float otherAngle = atan2(yy, xx);&nbsp;</span><br /> <br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; if (otherAngle &gt;= 0) {</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; &nbsp; &nbsp; L++;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; }&nbsp;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; else {</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; &nbsp; &nbsp; R++;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">&nbsp; &nbsp; } &nbsp;&nbsp;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">}</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">After iterating&nbsp;over the nearby particles, I update the angle based on the PPS rule:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">float N = float(L + R);</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">@angle += alpha + beta * N * sign(R - L);</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">...and, finally, I can update the particle's position based on its angle and speed:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">vector velocity = set(cos(@angle) * @speed, 0.0, sin(@angle) * @speed);&nbsp;</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">@P += velocity ;</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">Not quite finally, because to make things pretty, I update the color using the&nbsp;number of&nbsp;neighbors to control hue:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">@Cd = hsvtorgb(N / maxParticles, 1.0, 1.0);&nbsp;</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">Easy!</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><b>Solitons Emerging from Tweaked Model</b></span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <br /> <div class="separator" style="clear: both; text-align: center;"> <iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/A5FixW0wlj0/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/A5FixW0wlj0?feature=player_embedded" width="320"></iframe></div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">I couldn't help tinkering with the published PPS math by making the speed a function of the number of local neighbors:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">@speed = 1.5 * (N / maxParticles);</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">In the video above, alpha is 182° and beta is -13°.</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><b>References</b></span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="background-color: white; color: #222222; font-family: &quot;lora&quot; , &quot;palatino&quot; , &quot;times&quot; , &quot;times new roman&quot; , serif; font-size: 17px; letter-spacing: 0.17000000178813934px;">Schmickl, T.&nbsp;</span><i style="color: #222222; font-family: Lora, Palatino, Times, &quot;Times New Roman&quot;, serif; font-size: 17px; letter-spacing: 0.17000000178813934px;">et al</i><span style="background-color: white; color: #222222; font-family: &quot;lora&quot; , &quot;palatino&quot; , &quot;times&quot; , &quot;times new roman&quot; , serif; font-size: 17px; letter-spacing: 0.17000000178813934px;">. How a life-like system emerges from a simple particle motion law.&nbsp;</span><i style="color: #222222; font-family: Lora, Palatino, Times, &quot;Times New Roman&quot;, serif; font-size: 17px; letter-spacing: 0.17000000178813934px;">Sci. Rep.</i><span style="background-color: white; color: #222222; font-family: &quot;lora&quot; , &quot;palatino&quot; , &quot;times&quot; , &quot;times new roman&quot; , serif; font-size: 17px; letter-spacing: 0.17000000178813934px;">&nbsp;</span><span style="color: #222222; font-family: &quot;lora&quot; , &quot;palatino&quot; , &quot;times&quot; , &quot;times new roman&quot; , serif; font-size: 17px; letter-spacing: 0.17000000178813934px;">6</span><span style="background-color: white; color: #222222; font-family: &quot;lora&quot; , &quot;palatino&quot; , &quot;times&quot; , &quot;times new roman&quot; , serif; font-size: 17px; letter-spacing: 0.17000000178813934px;">, 37969; doi: 10.1038/srep37969 (2016).</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span></div>
    Comment:

    Link
    "Sparse Vermiform" Rendering of Fluids with Pressure Based Color 2017.06.21 00:09 AM
    <div dir="ltr" style="text-align: left;" trbidi="on"> <div class="separator" style="clear: both; text-align: center;"> <iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/JLbtCnOrPIg/0.jpg" frameborder="0" height="400" src="https://www.youtube.com/embed/JLbtCnOrPIg?feature=player_embedded" width="480"></iframe></div> <br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This blog post discusses a technique for rendering <a href="https://www.sidefx.com/">SideFX</a> Houdini FLIP fluids as sparse&nbsp;fields of&nbsp;wormlike particles (hence my slightly over-the-top <i>Sparse Vermiform</i> moniker) with their color based on the fluid system's gas pressure field.</span><br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The project begins with an oblate spheroid that is converted to a FLIP Fluid using the <i>FLIP Fluid from Object</i>&nbsp;shelf tool. The fluid object sits within a box that's&nbsp;converted to a static body with its volume inverted to act as a container.</span><br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">To&nbsp;introduce a wave-like motion to the fluid, I decided to animate gravity by adding an expression to the </span><span style="font-family: Courier New, Courier, monospace;">z</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> channel of the default&nbsp;gravity node:&nbsp;</span><span style="font-family: Courier New, Courier, monospace;">sin($F * 2) * 3.333</span><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">.</span><br /> <span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now for the magic (that probably everybody knew apart from me!):&nbsp;delving into FLIP fluid&nbsp;object's <i>FLIP&nbsp;Configure Object</i>, you can find a series of vector and scalar field nodes for&nbsp;different fields&nbsp;such as velocity, mass&nbsp;density, divergence and&nbsp;pressure. P</span><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">assing the gas pressure field to each particle is easy as adding a </span><i style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Gas Field to&nbsp;Particle</i><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"> node to the DOP network and plugging it into the FLIP Solver:</span><br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM_JX2dgM9PNDmNv_seQhwYb1Xk2I9-u9zdBYWfpA75LP4Va_4-BKiEgAOg_EqsoulQdkMAaRIAFZEtj8cTaVTwNVwh4TQgwZ-tlCHMiVFp2dCVQvQOhR2GZsICNhI3U2aHUKv/s1600/Screen+Shot+2017-06-20+at+11.15.48.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="434" data-original-width="726" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM_JX2dgM9PNDmNv_seQhwYb1Xk2I9-u9zdBYWfpA75LP4Va_4-BKiEgAOg_EqsoulQdkMAaRIAFZEtj8cTaVTwNVwh4TQgwZ-tlCHMiVFp2dCVQvQOhR2GZsICNhI3U2aHUKv/s400/Screen+Shot+2017-06-20+at+11.15.48.png" width="400" /></a></div> <br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">I set both the <i>attribute</i> and <i>source field</i> to&nbsp;</span><span style="font-family: Courier New, Courier, monospace;">pressure</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> - now, each particle now has an&nbsp;</span><span style="font-family: Courier New, Courier, monospace;">@pressure</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> attribute that&nbsp;corresponds to the local gas pressure in the FLIP&nbsp;fluid. Although I'm using this attribute to set the particle color, it could be used for many other effects, such as&nbsp;making viscosity or temperature a function of pressure.</span><br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Moving onto rendering, I trashed the automatically created nodes for&nbsp;creating a fluid surface and created my own geometry node containing:</span><br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_nPfyFhiEvKvtWISTdzI_8TRz_mbmkbZF2R6YAT9ax85AhDXw5WeJGx6SBzuVXztDEsBqoZtkTLQukvojII_Cgx4esEqofmxmr1a37atlVTsV335KsEg7QO2epQmnXQXQUdyo/s1600/Screen+Shot+2017-06-20+at+11.19.11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="131" data-original-width="1600" height="52" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_nPfyFhiEvKvtWISTdzI_8TRz_mbmkbZF2R6YAT9ax85AhDXw5WeJGx6SBzuVXztDEsBqoZtkTLQukvojII_Cgx4esEqofmxmr1a37atlVTsV335KsEg7QO2epQmnXQXQUdyo/s640/Screen+Shot+2017-06-20+at+11.19.11.png" width="640" /></a></div> <br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The sparsity is&nbsp;introduced with a <i>Delete</i> node that culls points based on their&nbsp;</span><span style="font-family: Courier New, Courier, monospace;">@ptnum</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> attribute using "delete by expression":&nbsp;</span><span style="font-family: Courier New, Courier, monospace;">(@ptnum % 75) != 0</span><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">.</span><br /> <span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now that each point has a&nbsp;</span><span style="font-family: Courier New, Courier, monospace;">@pressure</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">, the </span><i style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Attribute&nbsp;Wrangle</i><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> node uses that to generate an RGB color from a hue based on&nbsp;pressure and populate the&nbsp;</span><span style="font-family: Courier New, Courier, monospace;">@Cd</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> attribute:</span><br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Courier New, Courier, monospace;">&nbsp; &nbsp; float hue = smooth(0, 1, abs(sin(@pressure * 0.1)));</span><br /> <span style="font-family: Courier New, Courier, monospace;">&nbsp; &nbsp; @Cd = hsvtorgb(hue, 1, 1);</span><br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The <i>Trail</i> node with a "connect as polygons" result type plugged into a <i>Wireframe</i> node&nbsp;yields the little worms.&nbsp;</span><br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Voila!&nbsp;</span><br /> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span></div>
    Comment:

    Link
    Particle Advection by Gray Scott Reaction Diffusion Revisited 2017.05.27 03:31 PM
    <div dir="ltr" style="text-align: left;" trbidi="on"> <div class="separator" style="clear: both; text-align: center;"> <iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/H8wGPRbTFFs/0.jpg" frameborder="0" height="400" src="https://www.youtube.com/embed/H8wGPRbTFFs?feature=player_embedded" width="480"></iframe></div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">This post continues from my recent blog entry, <i><a href="http://flexmonkey.blogspot.co.uk/2017/04/particle-advection-by-reaction.html">Particle Advection by Reaction Diffusion in SideFX Houdini</a></i>. In this project, I've done away with the VEX in the DOP&nbsp;network, and replaced it with a <i>VDB Analysis</i> node to create a vector field&nbsp;that represents the gradient in the reaction diffusion volume. This allows me to use a <i>POP Advect by Volumes</i> node in the DOP network rather than hand coding by own force&nbsp;wrangle.</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The network that creates the advecting force is:</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggknMiF3mOAvb18xbZHshGHRDbGccNeagtO8mWQf_Yfs2-hsjbn0_k0zFQCMR_3ZUuohpKNQZwWo1txPwSedAUAOtKcEw-fKVdxVo21JaCUaFu5BMO8r-tIFPr-fAkER3_6UiR/s1600/Screen+Shot+2017-05-27+at+07.14.45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="925" data-original-width="1600" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggknMiF3mOAvb18xbZHshGHRDbGccNeagtO8mWQf_Yfs2-hsjbn0_k0zFQCMR_3ZUuohpKNQZwWo1txPwSedAUAOtKcEw-fKVdxVo21JaCUaFu5BMO8r-tIFPr-fAkER3_6UiR/s640/Screen+Shot+2017-05-27+at+07.14.45.png" width="640" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The middle network box, </span><i style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Reaction Diffusion Field</i><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">, is pretty much identical to the Gray Scott reaction diffusion solver from my previous&nbsp;article. However, this time the <i>v</i> chemical species is used to define the&nbsp;density of another VDB in the <i>Reaction Diffusion Geometry</i> network box, on the right. After converting that VDB to polygons, I get a nice geometry&nbsp;representation of my reaction diffusion system:</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhssAujLrkG5_Ejp9riRgizFnuuoluoshnhTBXxa3uX4BMQge5iIxir9ijaU9to9yVfLF2KtNQDoKVbM7YNtKIlxRvqAHLTlu8DJHue_20MmpssYrwYtNcEt_VuZeoEmWA2l6Tr/s1600/Screen+Shot+2017-05-27+at+07.18.58.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="922" data-original-width="1600" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhssAujLrkG5_Ejp9riRgizFnuuoluoshnhTBXxa3uX4BMQge5iIxir9ijaU9to9yVfLF2KtNQDoKVbM7YNtKIlxRvqAHLTlu8DJHue_20MmpssYrwYtNcEt_VuZeoEmWA2l6Tr/s640/Screen+Shot+2017-05-27+at+07.18.58.png" width="640" /></a></div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">This solver isn't super fast, so rather than recalculating it every time I run the simulation, it's saved to a file using a <i>File Cache</i>&nbsp;node.&nbsp;</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The <i>Gradient Field</i> network box creates a vector field from the&nbsp;cached geometry. Here, the geometry is converted to a fog VDB and that, in turn, is converted to a vector field using a <i>VDB Analysis </i>gradient operator. I played around by adding intermediate nodes to resample and convert the VDB topology to SDF to get an effective field.&nbsp;</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">I used the POP shelf tool to create a particle system and simply added a <i>POP Advect by Volumes</i> to advect the particles.&nbsp;</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">Easy&nbsp;🙂&nbsp;</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span></div>
    Comment:

    Link
    Particle Advection by Reaction Diffusion in SideFX Houdini 2017.04.30 05:09 PM
    <div dir="ltr" style="text-align: left;" trbidi="on"> <div class="separator" style="clear: both; text-align: center;"> <iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/NDdIVj9bhcI/0.jpg" frameborder="0" height="400" src="https://www.youtube.com/embed/NDdIVj9bhcI?feature=player_embedded" width="480"></iframe></div> <br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">After watching <a href="https://vimeo.com/213569167">this excellent tutorial</a> that discusses advecting particles by magnetic fields to create an animation of the sun, I was inspired to use the same technique to advect particles by fields that are a&nbsp;function of <a href="http://flexmonkey.blogspot.co.uk/search/label/Reaction%E2%80%93diffusion">reaction diffusion systems</a>.&nbsp;</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The source for my reaction diffusion vector field is a geometry node. This field this geometry node outputs defines the&nbsp;concentrations of the component chemical-species that will later be used to advect the particles:</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip8735v7zE6xtObAIRsg-R702pYALMyEf0TvBePINAxYYuK5aQLN1q3elDFt_3S7-GWmcnNIAfEXOBKYqh3QhrnbymcfpS0aNWNlKceL3IsTl5CiDGye-2KtuPWxkNJEZRXSbc/s1600/Screen+Shot+2017-04-30+at+08.02.57.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip8735v7zE6xtObAIRsg-R702pYALMyEf0TvBePINAxYYuK5aQLN1q3elDFt_3S7-GWmcnNIAfEXOBKYqh3QhrnbymcfpS0aNWNlKceL3IsTl5CiDGye-2KtuPWxkNJEZRXSbc/s400/Screen+Shot+2017-04-30+at+08.02.57.png" width="400" /></a></div> <br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The VDB node in this network defines the name of the field, I've used <i>rdField</i>, and the type: a Vector Float.&nbsp;</span><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The <i>Volume&nbsp;Wrangle</i>&nbsp;defines the initial&nbsp;state: I want a central cube where the &nbsp;field's <i>z</i> is high surrounded by an area where the <i>x</i> is high:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">if (@P.x &gt; -0.1 &amp;&amp; @P.x &lt; 0.1 &amp;&amp;<br />&nbsp; &nbsp; @P.y &gt; -0.1 &amp;&amp; @P.y &lt; 0.1 &amp;&amp;<br />&nbsp; &nbsp; @P.z &gt; -0.1 &amp;&amp; @P.z &lt; 0.1) {<br />&nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; v@foo.x *= 0.1;<br />&nbsp; &nbsp; &nbsp; &nbsp; v@foo.z += rand(@P * 11) * 5;<br />}<br />else {<br />&nbsp; &nbsp; &nbsp; &nbsp; v@foo.z *= 0;<br />&nbsp; &nbsp; &nbsp; &nbsp; v@foo.x += rand(@P * 11) * 5;<br />}</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">Inside the solver, I iterate over the volume, applying the VEX to create the reaction diffusion simulation. I've done this many times in&nbsp;two dimensions and adding a third dimension is easy for VDBs in Houdini:</span><br /> <blockquote class="tr_bq"> <span style="font-size: x-small;"><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">float delta = volumevoxeldiameter(0, "rdField") / sqrt(3);&nbsp;</span>&nbsp;</span></blockquote> <blockquote class="tr_bq"> <span style="font-size: x-small;"><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">vector laplacian = set(0, 0, 0);<br />laplacian += volumesamplev(0, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">", v@P + set( delta, &nbsp;0, &nbsp;0));<br />laplacian += volumesamplev(0, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">", v@P + set( -delta, 0, &nbsp;0));<br />laplacian += volumesamplev(0, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">", v@P + set( 0, &nbsp;delta, &nbsp;0));<br />laplacian += volumesamplev(0, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">", v@P + set( 0, -delta, &nbsp;0));<br />laplacian += volumesamplev(0, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">", v@P + set( 0, &nbsp;0, &nbsp;delta));<br />laplacian += volumesamplev(0, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">", v@P + set( 0, &nbsp;0, -delta));<br />laplacian -= (@</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">&nbsp;* 6.0);&nbsp;</span>&nbsp;</span></blockquote> <blockquote class="tr_bq"> <span style="font-size: x-small;"><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">float dU = 0.189;<br />float dV = 0.03; <br />float k = 0.082; <br />float f = 0.0425;<br />float timeStep = 0.75;&nbsp;</span>&nbsp;</span></blockquote> <blockquote class="tr_bq"> <span style="font-size: x-small;"><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">float u = v@foo.x;<br />float v = v@foo.z;</span>&nbsp;</span></blockquote> <blockquote class="tr_bq"> <span style="font-size: x-small;"><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">float reactionRate = u * v * v;<br />float deltaU = (dU * laplacian.x) - reactionRate + f * (1 - u);<br />float deltaV = (dV * laplacian.z) + reactionRate - (f + k) * v;</span>&nbsp;</span></blockquote> <blockquote class="tr_bq"> <span style="font-size: x-small;"><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">float newU = clamp(u + deltaU * timeStep, 0, 1);<br />float newV = clamp(v + deltaV * timeStep, 0, 1);</span>&nbsp;</span></blockquote> <blockquote class="tr_bq"> <span style="font-size: x-small;"><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">v@</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">&nbsp;= set(newU, newU, newV);&nbsp;</span></span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The Laplacian is generated by sampling the&nbsp;neighboring voxels at each side of the current voxel. The VEX functions&nbsp;</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">volumevoxeldiameter</span><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">&nbsp;and&nbsp;</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">volumesamplev</span><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">&nbsp;make this pretty simple. Dividing the former by the square root of 3 gives the voxel side length.</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">To assist during development, I added a volume slice. Sure enough, after a handful of iterations, my little box in the centre of the volume has now "evolved" based on&nbsp;the Gray-Scott model:</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjPsOsUyaAdKHv7bSTD_nLoKC3WiB83TcqodaflB6qg89VmPmUXPfx6dtc9l-4YfNaaZZ67Vjqrj0oJDUDF21SSBxXWTWipWY9EPm6qP0GFY_-U6y41pgs5jdKeedtsMZK9XVz/s1600/Screen+Shot+2017-04-30+at+08.17.50.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjPsOsUyaAdKHv7bSTD_nLoKC3WiB83TcqodaflB6qg89VmPmUXPfx6dtc9l-4YfNaaZZ67Vjqrj0oJDUDF21SSBxXWTWipWY9EPm6qP0GFY_-U6y41pgs5jdKeedtsMZK9XVz/s400/Screen+Shot+2017-04-30+at+08.17.50.png" width="400" /></a></div> <br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The next step is to use the shelf tools to create a particle system and a <i>DOP Network</i>:</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><i><br /></i></span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjus5QjyVzgF81IcCC1bCSyjeuGgJH2PJyir9VC4g30NeQS513vjGDqWPJmefYK7Bvq3WI1OKh8EY8JAvYrup4FJp0CHCNyScgpeKpKocNyyzWWI_fVHScjdiJH5o6DYNtp9lwQ/s1600/Screen+Shot+2017-04-30+at+08.20.13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjus5QjyVzgF81IcCC1bCSyjeuGgJH2PJyir9VC4g30NeQS513vjGDqWPJmefYK7Bvq3WI1OKh8EY8JAvYrup4FJp0CHCNyScgpeKpKocNyyzWWI_fVHScjdiJH5o6DYNtp9lwQ/s400/Screen+Shot+2017-04-30+at+08.20.13.png" width="400" /></a></div> <br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">Houdini does have a <i>POP Advect by Volumes</i> node, but that&nbsp;expects volumes where the&nbsp;vector fields define velocity. My vector field defines values to which I want particles advected towards. So, the advecting happens inside a POP&nbsp;Wrangle node&nbsp;with the <i>Input 2</i> set to the output of the geometry node discussed&nbsp;above. The VEX in this node looks at the&nbsp;surrounding voxels and sets the force based on the difference of opposite&nbsp;neighboring voxels:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">float mult = 10;&nbsp;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">float delta = volumevoxeldiameter(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">") / sqrt(3);&nbsp;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">v@force.x += volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( delta, &nbsp;0, &nbsp;0)).b * mult;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">v@force.x -= volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( -delta, 0, &nbsp;0)).b * mult;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">v@force.y += volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( 0, &nbsp;delta, &nbsp;0)).b * mult;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">v@force.y -= volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( 0, -delta, &nbsp;0)).b * mult;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">v@force.z += volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( 0, &nbsp;0, &nbsp;delta)).b * mult;</span><br /> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">v@force.z -= volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( 0, &nbsp;0, -delta)).b * mult;</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">A few&nbsp;additional nodes keep the&nbsp;particles&nbsp;within the bounding box and add a speed limit and some drag.</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The second clip takes things a little further. First of all, the Gray-Scott parameters are slightly tweaked to&nbsp;yield a solitons rather than a coral&nbsp;effect:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">float dU = 0.2097;<br />float dV = 0.080; <br />float k = 0.062; <br />float f = 0.025;<br />float timeStep = 0.5;&nbsp;</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">I then extended the <i>POP&nbsp;Wrangle</i> in the <i>DOP Network</i> to add an&nbsp;additional force: not only are the particles advected by the relative nearby chemical&nbsp;strengths in the&nbsp;volume, they are also advected&nbsp;towards other nearby particles. The&nbsp;<i>Attributes from Volume</i> node copies the <i>rdField</i> into the particle's <i>Cd</i> and the VEX uses that:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">float mult = 10;<br />float delta = volumevoxeldiameter(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">") / sqrt(3);<br />v@force.x += volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( delta, &nbsp;0, &nbsp;0)).b * mult;<br />v@force.x -= volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( -delta, 0, &nbsp;0)).b * mult;<br />v@force.y += volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( 0, &nbsp;delta, &nbsp;0)).b * mult;<br />v@force.y -= volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( 0, -delta, &nbsp;0)).b * mult;<br />v@force.z += volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( 0, &nbsp;0, &nbsp;delta)).b * mult;<br />v@force.z -= volumesamplev(1, "</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">rdField</span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">", v@P + set( 0, &nbsp;0, -delta)).b * mult;</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">int point;<br />int count = 48; <br />int neighbours[] = nearpoints(0, v@P, 2, count);&nbsp;</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">foreach(point; neighbours) {<br />&nbsp; &nbsp; vector otherColor = point(0, "Cd", point);<br />&nbsp; &nbsp; vector otherPosition = point(0, "P", point);<br />&nbsp; &nbsp; float dist = distance(@P, otherPosition); &nbsp; <br />&nbsp; &nbsp; vector direction = normalize(otherPosition - @P);<br />&nbsp; <br />&nbsp; &nbsp; if (dist &lt; 0.1) {<br />&nbsp; &nbsp; &nbsp; &nbsp; dist = 0.5;<br />&nbsp; &nbsp; &nbsp; &nbsp; direction = -direction;<br />&nbsp; &nbsp; }<br />&nbsp; <br />&nbsp; &nbsp; v@force += 0.04 * direction * (1 / pow(dist,2)) * otherColor.b; <br />}&nbsp;</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The particles are rendered as little strands by giving them trails that feed into a <i>Wireframe</i> node:</span><br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaHSpZSnVIHmBTbDHAG830z2EsH2s8gi0dA5mWIHR7VaFzk_PzbpE0mB3-ZSmlqlLaiEPK_nmbx0cfIYF1Wn6F2YUp0v4t4IuFxzq5VxZaS4-VzCUkci62NG-9KgZgr-nhoBnM/s1600/Screen+Shot+2017-04-30+at+08.42.31.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="76" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaHSpZSnVIHmBTbDHAG830z2EsH2s8gi0dA5mWIHR7VaFzk_PzbpE0mB3-ZSmlqlLaiEPK_nmbx0cfIYF1Wn6F2YUp0v4t4IuFxzq5VxZaS4-VzCUkci62NG-9KgZgr-nhoBnM/s400/Screen+Shot+2017-04-30+at+08.42.31.png" width="400" /></a></div> <br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The final clip in the video&nbsp;above is based on the Belousov-Zhabotinsky Reaction, so the solve VEX is rather different:</span><br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">float alpha = 1.3;<br />float beta = 1.55; //1.55; <br />float gamma = 1.65; <br />float delta = volumevoxeldiameter(0, "rdField") / sqrt(3);<br />vector accumulator = set(0, 0, 0);&nbsp;</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">// sides...<br />accumulator += volumesamplev(0, "rdField", v@P + set( delta, &nbsp;0, &nbsp;0));<br />accumulator += volumesamplev(0, "rdField", v@P + set( -delta, 0, &nbsp;0));<br />accumulator += volumesamplev(0, "rdField", v@P + set( 0, &nbsp;delta, &nbsp;0));<br />accumulator += volumesamplev(0, "rdField", v@P + set( 0, -delta, &nbsp;0));<br />accumulator += volumesamplev(0, "rdField", v@P + set( 0, &nbsp;0, &nbsp;delta));<br />accumulator += volumesamplev(0, "rdField", v@P + set( 0, &nbsp;0, -delta));<br />// top corners...<br />accumulator += volumesamplev(0, "rdField", v@P + set( &nbsp;delta, -delta, &nbsp;delta));<br />accumulator += volumesamplev(0, "rdField", v@P + set( -delta, -delta, &nbsp;delta));<br />accumulator += volumesamplev(0, "rdField", v@P + set( &nbsp;delta, -delta, -delta));<br />accumulator += volumesamplev(0, "rdField", v@P + set( -delta, -delta, -delta));<br />// bottom corners...<br />accumulator += volumesamplev(0, "rdField", v@P + set( &nbsp;delta, delta, &nbsp;delta));<br />accumulator += volumesamplev(0, "rdField", v@P + set( -delta, delta, &nbsp;delta));<br />accumulator += volumesamplev(0, "rdField", v@P + set( &nbsp;delta, delta, -delta));<br />accumulator += volumesamplev(0, "rdField", v@P + set( -delta, delta, -delta));<br />accumulator += @rdField;<br />vector average = ((@rdField * 2) + (accumulator / 15)) / 3;</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">float a = average.x + average.x * (alpha * gamma * average.y) - average.z;<br />float b = average.y + average.y * ((beta * average.z) - (alpha * average.x));<br />float c = average.z + average.z * ((gamma * average.x) - (beta * average.y));&nbsp;</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">a = clamp(a, 0, 1);<br />b = clamp(b, 0, 1);<br />c = clamp(c, 0, 1);</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">v@rdField = set(a, b, c);<br />v@rdField.r += (rand(@P * @Time) * 0.05) - 0.025;<br />v@rdField.g += (rand(13 * @P * @Time) * 0.05) - 0.025;<br />v@rdField.b += (rand(17 * @P * @Time) * 0.05) - 0.025;&nbsp;</span></blockquote> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">In this example, the positions of the trails are smoothed out to get rid of any sharp angles:</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTCdXmDKhKpjaDxkwxiJWmDlL01Pfe-gcdl1wb5lFmVHm1arzLrkwjvGuu7F-ML7tthwh4nK7QwNmjYAY54OJX2bHAVVcqTzB8Q6suGnQCiXpBUIF7PFTHvoVbzbHkJPXPtWmt/s1600/Screen+Shot+2017-04-30+at+08.48.59.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="55" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTCdXmDKhKpjaDxkwxiJWmDlL01Pfe-gcdl1wb5lFmVHm1arzLrkwjvGuu7F-ML7tthwh4nK7QwNmjYAY54OJX2bHAVVcqTzB8Q6suGnQCiXpBUIF7PFTHvoVbzbHkJPXPtWmt/s400/Screen+Shot+2017-04-30+at+08.48.59.png" width="400" /></a></div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span></div>
    Comment:

    Link
    Revisiting Mitosis in SideFX Houdini 2017.04.14 03:42 PM
    <div dir="ltr" style="text-align: left;" trbidi="on"> <div class="separator" style="clear: both; text-align: center;"> <iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/IlUPBc8mWiM/0.jpg" frameborder="0" height="400" src="https://www.youtube.com/embed/IlUPBc8mWiM?feature=player_embedded" width="480"></iframe></div> <br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">I played with animating mitosis in Houdini last year (see <i><a href="http://flexmonkey.blogspot.co.uk/2016/09/simulating-mitosis-in-houdini.html">Simulating Mitosis in Houdini</a></i>), but the math wasn't quite right, so I&nbsp;thought I'd revisit my VEX to see if it could be&nbsp;improved. After some tinkering, the video above shows my latest (hopefully improved) results.</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The basic project remains the same:&nbsp;</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgddAln2YZ78SmHRv1VMqkbhpurN57eb8663_73NjFYsbh-1BAJ5VPsBnHBKPDvC5JHZGj0KFyIVoX8NSoXAaNBNeEEEOSXvYYI-RGibkQgV26BkYSwUCJ-oQ31u3PFvJ-g0kLE/s1600/Screen+Shot+2017-04-14+at+07.23.29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="88" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgddAln2YZ78SmHRv1VMqkbhpurN57eb8663_73NjFYsbh-1BAJ5VPsBnHBKPDvC5JHZGj0KFyIVoX8NSoXAaNBNeEEEOSXvYYI-RGibkQgV26BkYSwUCJ-oQ31u3PFvJ-g0kLE/s640/Screen+Shot+2017-04-14+at+07.23.29.png" width="640" /></a></div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <br /> <ul style="text-align: left;"> <li><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">A point generate geometry node creates a single source point</span></li> <li><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">An&nbsp;</span><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">attribute wrangle creates three new attributes for the point used for the mitosis animation:</span></li> <ul> <li><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">float @age</span></li> <li><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">float @numChildren</span></li> <li><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">vector @velocity</span></li> </ul> <li><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">A jitter node which is useful if the generate node is used to create more than one point</span></li> <li><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">A solver node to iterate over the geometry and is where&nbsp;the magic happens</span></li> </ul> <div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The VEX inside the solver is where the point&nbsp;separation and generation happens:</span></div> <div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span></div> <br /> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">int pointCloud = pcopen(0, "P", @P, 3 , 50);<br />vector localCentre = pcfilter(pointCloud, "P");</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">vector direction = normalize(v@P - localCentre);</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">float r = distance(v@P, localCentre);<br />if(r &lt; 1) {<br />&nbsp; &nbsp; r = 2 - (r * 2);<br />}</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">v@velocity += (direction / (r * r)) * 0.1;</span>&nbsp;</blockquote> <blockquote class="tr_bq"> <span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace; font-size: x-small;">if (@age &gt; 1 &amp;&amp; @numChildren &lt; 3) {<br />&nbsp; &nbsp; vector randOffset;<br /><br />&nbsp; &nbsp; randOffset.x = -0.01 + (noise(localCentre.x + @Time + @age) * 0.02);<br />&nbsp; &nbsp; randOffset.y = -0.01 + (noise(localCentre.y + @Time + @age) * 0.02);<br />&nbsp; &nbsp; randOffset.z = -0.01 + (noise(localCentre.z + @Time + @age) * 0.02);<br /><br />&nbsp; &nbsp; @age = 0;<br />&nbsp; &nbsp; @numChildren += 1;<br />&nbsp; <br />&nbsp; &nbsp; int newPoint = addpoint(geoself(), @P + randOffset); <br />}<br />else {<br />&nbsp; &nbsp; @age += abs((random($FF * @ptnum)) * 0.05);<br />}<br /><br />@P += @velocity;<br />v@velocity *= 0.5;</span></blockquote> <br /> <div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">As in my previous version, I find the average position of each point's&nbsp;neighbors. However, this time, I create a </span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">direction</span><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"> vector that is&nbsp;normalized (i.e. always has a length of 1) and a separate float, </span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">r</span><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">, which is the distance of each point to the local average position. This approach allows me to fake the distance for points close to the local center (so they don't fly off into infinity) and get a bit Newtonian with the math used to calculate the velocity (i.e. by dividing by </span><span style="font-family: &quot;courier new&quot; , &quot;courier&quot; , monospace;">r<span style="background-color: #f8f9fa; font-size: 14px;">²</span></span><span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">).</span></div> <div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span></div> <div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">The&nbsp;mitosing point cloud is used to generate two VDB based&nbsp;polygon surfaces, the larger of which is smoothed to give the nice metaball&nbsp;effect as the points move apart:</span></div> <div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span></div> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Sw7vp_fwu8xC5aeLArFXLHz7CzsmPZvs_22RmV3vzEwVcjeUOEfml4DkpOy1YVDJ2nZ2aEqEPtwPc9m12Argb5NSZG97XKLQcm0jPPhKWZTYXD39UKCoOrsxFiHg7bl_IAt0/s1600/Screen+Shot+2017-04-14+at+07.36.43.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Sw7vp_fwu8xC5aeLArFXLHz7CzsmPZvs_22RmV3vzEwVcjeUOEfml4DkpOy1YVDJ2nZ2aEqEPtwPc9m12Argb5NSZG97XKLQcm0jPPhKWZTYXD39UKCoOrsxFiHg7bl_IAt0/s640/Screen+Shot+2017-04-14+at+07.36.43.png" width="640" /></a></div> <div> <br /></div> <div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;">Finally, I gave the&nbsp;outer surface a thin film&nbsp;refracting material, added some depth-of-field, and, voilà, little&nbsp;mitosing blobs!&nbsp;</span><br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <div class="separator" style="clear: both; text-align: center;"> <iframe width="480" height="400" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/1BxTB9DdLqk/0.jpg" src="https://www.youtube.com/embed/1BxTB9DdLqk?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span></div> <br /> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span> <span style="font-family: &quot;helvetica neue&quot; , &quot;arial&quot; , &quot;helvetica&quot; , sans-serif;"><br /></span></div>
    Comment:

    Link
師走、みかん
  1. Animaroid マロン・トーーーク | updated at 2024.10.05 11:00 AM
    blenderに挑む 2020.03.24 03:07 PM
    こんにちは!<br /> パーシー豊です。<br /> なんとこのマロン・トーーーク昨年の11月を最後に<br /> 更新がストップしておりました。。。すみません<br /> もう3月後半になりますが、今年も頑張っていこうと思います!<br /> <br /> さて、頑張る繋がりでパーシーは最近<br /> 「blender」<a href="https://blender.jp/">https://blender.jp/</a><br /> を触り始めました。CGプロダクションに努めるデスクとして<br /> 少しずつでも知識がつけば良いなとインストールしてみましたが<br /> 完全無料でここまでの機能が搭載されているとは…!<br /> とりあえず今は色々なボタンをクリックしては<br /> どんなメニューが開かれるかなどを確認したり<br /> 「スカルプトモード」で粘土玉のような球体をこねて<br /> 人間の頭を作ってblenderと仲良くなろうと奮闘しております。<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOUEvsazpdQYn2INqciDDDM5wKKNAcI3voQpFwIemGF77jALRpz8pVC-R2G2VMK1uFTY5bxpJYswS62f0ZFE_ayc1fNI7uNJs0et6SfDdKoa-YmkphnNWdMKK3ilRoP1Unj8H_NC8Uwm0/s1600/atama1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="807" data-original-width="1600" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOUEvsazpdQYn2INqciDDDM5wKKNAcI3voQpFwIemGF77jALRpz8pVC-R2G2VMK1uFTY5bxpJYswS62f0ZFE_ayc1fNI7uNJs0et6SfDdKoa-YmkphnNWdMKK3ilRoP1Unj8H_NC8Uwm0/s320/atama1.jpg" width="320" /></a></div> 正面を整えたと思って回転させると顎が飛び出していたり<br /> 上から見ると頭が四角形になっていたりと確認の度に心が折れそうになります。<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP_GYuZTwvpCOOmoeFRfe8JYnWGSp65LAFHBXEsIv28IIy6LkLq9Xa3FQPy-beVjQ6vC6jRaYIXofVpnfTbnNTcjA0cHMT_fI616dAJ0IBODx7uR7xQF1iA9alvmM_DNkvtQhl1GWFLJg/s1600/atama2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="508" data-original-width="653" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP_GYuZTwvpCOOmoeFRfe8JYnWGSp65LAFHBXEsIv28IIy6LkLq9Xa3FQPy-beVjQ6vC6jRaYIXofVpnfTbnNTcjA0cHMT_fI616dAJ0IBODx7uR7xQF1iA9alvmM_DNkvtQhl1GWFLJg/s320/atama2.jpg" width="320" /></a></div> &nbsp;また、新しく継ぎ足したパーツ(耳や眼球)もやたらポリゴン感が出てしまい<br /> どうやったら粘土のようになめらかな表示になるのかも<br /> 分からないまま…<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSFJ6L5bxD6wQLK8D0zWXhaEUwbawTFdStgzoBhxL_t0KrM8DwepRFaHU-o75eRDLWX0Bfm1jAX0KPfvolPy93UsINTO8r68NjEn08d5lqmi_9LX50Cn6lGSkUDEGmCtHfC0gxq_SIisk/s1600/karada.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="937" data-original-width="1218" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSFJ6L5bxD6wQLK8D0zWXhaEUwbawTFdStgzoBhxL_t0KrM8DwepRFaHU-o75eRDLWX0Bfm1jAX0KPfvolPy93UsINTO8r68NjEn08d5lqmi_9LX50Cn6lGSkUDEGmCtHfC0gxq_SIisk/s320/karada.jpg" width="320" /></a></div> まだまだ初歩中の初歩段階ですが、いつかは全身が作れたら良いなと思います!<br /> 将来の体の素となるであろう丸い球もくっつけてみました!<br /> 少しづつ隙間時間で頑張りたい!!パーシー豊でした。
    Comment:

    Link
    2019.11.29 10:40 PM
    こんにちは、アースカントリー131号です。<br /> <br /> ここ数日でめっきり寒くなりすっかり冬を感じる気温になりましたね。<br /> <br /> この季節になると、スーパーなどでは手軽にできる鍋用のものが出始めて重宝しています。<br /> 何気に仕事が忙しい時期などは、帰宅後の自炊は、疲れてなかなかやる気が出なくて<br /> コンビニ等にたよりがちになるのですが、<br /> <br /> 鍋物はかなり手軽で、ある程度適当にやってもおいしくなるので、スーパーなどで鍋の元が出始めているのを見るとちょっとテンション上がります。<br /> <br /> 鍋の元に野菜と肉入れて5~6分 煮込むだけですからね。<br /> <br /> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkdy8QeCpI-M3x13fWFvmoCEiPIpFHkMSQBYBU-3p3ZY3xg1cDmJToVhZB4Ax8lX8rYjx3dNdBIHw3KJwZVucBNWJfj8UPvDn7h9HRko4OHZLiTuNtDFMEJD_Y3uxkCprBaF29lDE6yhY/s1600/01.jpg" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkdy8QeCpI-M3x13fWFvmoCEiPIpFHkMSQBYBU-3p3ZY3xg1cDmJToVhZB4Ax8lX8rYjx3dNdBIHw3KJwZVucBNWJfj8UPvDn7h9HRko4OHZLiTuNtDFMEJD_Y3uxkCprBaF29lDE6yhY/s320/01.jpg" width="320" /></a><br /> <br /> ちなみに個人的にはプチッと鍋のちゃんこ塩は大好物です。<br /> <br /> 最近は肉のかわりに、水餃子やホウトウなどで食べてますが<br /> 手軽でおいしいですね。<br /> <br /> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDHgA-hUiic1SXqm6C2x-rF5roaBos_2Rx52BlufpzmKxmoPA5xOHJBXQsPOK-Mm2Nvzc-2j8_Ou-FHXOXXvJtgIbDJACSc3vFC8iqB1BWiQ9mHhN3PAHJsMrpy6y3foVvLJnwltlRnWA/s1600/02.jpg" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDHgA-hUiic1SXqm6C2x-rF5roaBos_2Rx52BlufpzmKxmoPA5xOHJBXQsPOK-Mm2Nvzc-2j8_Ou-FHXOXXvJtgIbDJACSc3vFC8iqB1BWiQ9mHhN3PAHJsMrpy6y3foVvLJnwltlRnWA/s320/02.jpg" width="320" /></a><br />
    Comment:

    Link
    TDL 2019.11.12 09:41 AM
    こんにちは、アースカントリー130号です。<br /> 11月頭にTDLに行ってきました。<br /> 三連休でしたので人は多めでした。<br /> シンデレラ城は工事中だったんですね。<br /> 子供を連れては初めてで、TDLのほうはいつぶりだろうか・・・<br /> もしかしたら、できたときに行ったきり36年ぶりだったかも。<br /> 乗り物ではイッツ・ア・スモールワールドの人形の多さにびっくりしました。<br /> ところどころ映画のキャラが紛れてましたね。<br /> スティッチ・プレゼンツ“アロハ・エ・コモ・マイ!”鳥たちが歌ってくれるのですが<br /> 危うく寝てしまうところでした。<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGjk5MYuwDjSsNfRLTSFQ8OxjlgB_dBH6WRwm5yX-ZpjSbm85MlDNTQLwEGwVyLzZhrW8Z14d8N3e4RHf4DteC8CATbWrucscjIxIdaCb0VBVSosMj4zc0P6vveYRQ8wDZ_gKGzMkPwGk/s1600/DSC03879.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGjk5MYuwDjSsNfRLTSFQ8OxjlgB_dBH6WRwm5yX-ZpjSbm85MlDNTQLwEGwVyLzZhrW8Z14d8N3e4RHf4DteC8CATbWrucscjIxIdaCb0VBVSosMj4zc0P6vveYRQ8wDZ_gKGzMkPwGk/s400/DSC03879.jpg" width="400" /></a></div> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrFjC8DLKtM_rfuvP44DwjVBTWr9xJ0TAT247GuQHZZfMLIM2GPNdR2xq5tVim7KB-6bM90VQENhn-GeM6C2Iv5Herti6tKxovCBo6spF5PXd67DUJLmxG7TAcJ9pdWzt_htPBISrwXjM/s1600/DSC03914.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrFjC8DLKtM_rfuvP44DwjVBTWr9xJ0TAT247GuQHZZfMLIM2GPNdR2xq5tVim7KB-6bM90VQENhn-GeM6C2Iv5Herti6tKxovCBo6spF5PXd67DUJLmxG7TAcJ9pdWzt_htPBISrwXjM/s400/DSC03914.jpg" width="400" /></a></div> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikrrHnWgSvHgNsOL21M4p9tWfG5qx_Wr4TVqq5rqdJO_KPB28ziCMT7nPbpQLYBuJkDzElcKiFykGBxsbfRA7RT3HzEYokocKe1Y1MyeJS101vG9AYZcxkrNoAwPuXf3UWAfWVNZiS-ic/s1600/DSC04158.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikrrHnWgSvHgNsOL21M4p9tWfG5qx_Wr4TVqq5rqdJO_KPB28ziCMT7nPbpQLYBuJkDzElcKiFykGBxsbfRA7RT3HzEYokocKe1Y1MyeJS101vG9AYZcxkrNoAwPuXf3UWAfWVNZiS-ic/s400/DSC04158.jpg" width="400" /></a></div> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ-9g7WGdYJVWdDrvondK3v2Ou8EM1rA7uXx4zGESNMt3kLeiWaNFvp0Ubr_V8qwuYzaS_2_wFOmGZG7xNy9C0kDURZNobEFdvNzSas_PpuOKNzP0qvLpCCAQWA_mY83qe7Fm1muqGExM/s1600/DSC04084.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ-9g7WGdYJVWdDrvondK3v2Ou8EM1rA7uXx4zGESNMt3kLeiWaNFvp0Ubr_V8qwuYzaS_2_wFOmGZG7xNy9C0kDURZNobEFdvNzSas_PpuOKNzP0qvLpCCAQWA_mY83qe7Fm1muqGExM/s400/DSC04084.jpg" width="400" /></a></div> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7b-MwACc5rOTBs_14g02zTcgJVykGCM4OFFP9N9j87ISsLmw5GhB-QT8dCCF-ggK-ngpcuDS3Eg4iNHy0bg_9tomMBt2b1W0bZNMN-e5TPJGOnfOtYnGGGgUfkO9aA6DLy6yRHFgc2VE/s1600/DSC04163.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7b-MwACc5rOTBs_14g02zTcgJVykGCM4OFFP9N9j87ISsLmw5GhB-QT8dCCF-ggK-ngpcuDS3Eg4iNHy0bg_9tomMBt2b1W0bZNMN-e5TPJGOnfOtYnGGGgUfkO9aA6DLy6yRHFgc2VE/s400/DSC04163.jpg" width="400" /></a></div> <br />
    Comment:

    Link
    2019.10.12 00:16 AM
    こんにちは、アースカントリー129号です。<br /> <br /> 夜中の散歩中に電車の運搬に遭遇しました。<br /> 本とかではよく見るのですが、出くわすとすこしビックリ、わくわくします。<br /> なんとかスマホで急いで撮るとブレブレですね・・・。<br /> ちなみに、車両を軽々しく運ぶトラックの前後には先導車がついています。<br /> 相当長いので追い突されるのを防いでいるのでしょうね。<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Z2R2aw18YnA7lSUJC3FiGsgh-Yx6hGlfyuPWwyBIsr3hoZVi96eMHuuPzbY7TEMpTH-ANyb8VgUzNHb3fab14jeB1lJvbB2vxO9nfh3QAdDDQ-RaZ9Y3y_fdosDqo118QhBH3Z4cTqw/s1600/IMG_3089.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Z2R2aw18YnA7lSUJC3FiGsgh-Yx6hGlfyuPWwyBIsr3hoZVi96eMHuuPzbY7TEMpTH-ANyb8VgUzNHb3fab14jeB1lJvbB2vxO9nfh3QAdDDQ-RaZ9Y3y_fdosDqo118QhBH3Z4cTqw/s400/IMG_3089.jpg" width="400" /></a></div> <br />
    Comment:
    2019.10.11 02:02 PM
    <span style="background-color: #141414; color: white; font-family: &quot;arial&quot; , &quot;tahoma&quot; , &quot;helvetica&quot; , &quot;freesans&quot; , sans-serif; font-size: 13px;">みなさんこんにちは、アースカントリー128号です。</span><br /> <div> <span style="background-color: #141414; color: white; font-family: &quot;arial&quot; , &quot;tahoma&quot; , &quot;helvetica&quot; , &quot;freesans&quot; , sans-serif; font-size: 13px;">塩田千春展に行きました。</span></div> <div> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: &quot;arial&quot; , &quot;tahoma&quot; , &quot;helvetica&quot; , &quot;freesans&quot; , sans-serif;">面白いというよりも自分はすごく感動を受けました。自分が好きな色は黒なので、黒い糸はとても気になりました</span></span><span style="background-color: #141414; color: white; font-family: &quot;arial&quot; , &quot;tahoma&quot; , &quot;helvetica&quot; , &quot;freesans&quot; , sans-serif; font-size: 13px;">。</span></div> <div> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: &quot;arial&quot; , &quot;tahoma&quot; , &quot;helvetica&quot; , &quot;freesans&quot; , sans-serif;">単純な糸だけでも、火事の現場iにいるみた</span></span><span style="background-color: #141414; color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13px;">いに心が震えます。</span><br /> <span style="background-color: #141414; color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13px;"><br /></span> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcuWJCS0CXbncoYNELx6I7uHifn49Ul-R8VFu5Oohdrjd4G9BeoduM0EnlNTiHS0cCXgK-xa5yW-3kWCtSlma1wB6UAkeykckhI9lT6JJtkuEmaUBdHcduZzWcYich06s3IpuG9rfzZB8/s1600/IMG_20190714_172526.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcuWJCS0CXbncoYNELx6I7uHifn49Ul-R8VFu5Oohdrjd4G9BeoduM0EnlNTiHS0cCXgK-xa5yW-3kWCtSlma1wB6UAkeykckhI9lT6JJtkuEmaUBdHcduZzWcYich06s3IpuG9rfzZB8/s320/IMG_20190714_172526.jpg" width="320" /></a></div> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif;"><br /></span></span> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif;">二つのワンピースが見えますが、実はひとつしか存在していません。</span></span><br /> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif;">真中にミラーがあって、目の前でもなかなか気づかないです。</span></span><br /> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif;"><br /></span></span> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7cwqSx0NxSu2dMMfgUf3cyIKbkyDsvGgUsofsIbpwd10HzyUwM4DOpebVFvIbNS-20Mk_nNa0L8HO1uAd_Kw7mid6Xo2esj83IcYs-WFQrDxCIsuBdN39TESMvmrJBS0BSfYg_kygvBw/s1600/IMG_20190714_173016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7cwqSx0NxSu2dMMfgUf3cyIKbkyDsvGgUsofsIbpwd10HzyUwM4DOpebVFvIbNS-20Mk_nNa0L8HO1uAd_Kw7mid6Xo2esj83IcYs-WFQrDxCIsuBdN39TESMvmrJBS0BSfYg_kygvBw/s320/IMG_20190714_173016.jpg" width="240" /></a></div> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif;"><br /></span></span> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif;">「人は目的地を求めて故郷を離れる。」というのは自分と重ねて共鳴しました。</span></span><br /> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6QSFGKFvQ7LgGuZZ9ZqJ98SCiQeBgDnN6f4mwOIYNmbOLDFik4hEjhEEq6ybtb5WdEVTEzlsCmMd7skkMySimCGaTeAarBvMEnVenqGtB2IWPSBMG2XYDH2XtESgq5ERGFgKT2pk2tpY/s1600/IMG_20190714_174325.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6QSFGKFvQ7LgGuZZ9ZqJ98SCiQeBgDnN6f4mwOIYNmbOLDFik4hEjhEEq6ybtb5WdEVTEzlsCmMd7skkMySimCGaTeAarBvMEnVenqGtB2IWPSBMG2XYDH2XtESgq5ERGFgKT2pk2tpY/s320/IMG_20190714_174325.jpg" width="320" /></a></div> <br /> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif;">素晴らしい芸術品と出会って普段考えていないことも考え始めましたので、この展覧会に行って楽しくてよかったです。</span></span><br /> <span style="background-color: #141414; font-size: 13px;"><span style="color: white; font-family: arial, tahoma, helvetica, freesans, sans-serif;"><br /></span></span> </div>
    Comment:

    Link
粒子法
  1. kamonama@Blogger | updated at 2024.08.30 02:52 AM
    SBCL での defclass slot の :type オプションの挙動 2015.06.21 07:28 PM
    <br/> <p>defclass の slot には、:type オプションを指定することができる。</p> <p>期待としては、:type オプションを指定した場合、指定した型を満たさない値を代入しようとすると、エラーとなって欲しい。ところが、SBCL ではそのようにならない。</p> <pre>(defclass foo () ((x :accessor foo-x :initarg :x :type integer))) (let ((x (make-instance 'foo :x 1))) (setf (foo-x x) :foo) (foo-x x)) ; =&gt; :foo </pre> <p>defclass と slot へのアクセスを optimize safety で評価すると、期待する挙動となる。</p> <pre>(locally (declare (optimize safety)) (defclass foo () ((x :accessor foo-x :initarg :x :type integer))) (let ((x (make-instance 'foo :x 1))) (setf (foo-x x) :foo) ; error (foo-x x))) </pre> <p><a href="http://clhs.lisp.se/Body/m_defcla.htm">CLHS</a>には、以下のようにあるものの、</p> <blockquote>The consequences of attempting to store in a slot a value that does not satisfy the type of the slot are undefined. </blockquote><br/> <p>その前の部分には以下のようにある。</p> <blockquote>The :type slot option specifies that the contents of the slot will always be of the specified data type. </blockquote><br/> <p><a href="http://www.sbcl.org/manual/#Declarations-as-Assertions">SBCL User Manual</a>には以下のようにあり、その理由は示されていない。悲しい。</p> <blockquote>Types declared using the :type slot option in defclass are asserted if and only if the class was defined in safe code and the slot access location is in safe code as well.</blockquote> <br/> <br/>
    Comment:
    A native compiler for 8-bit PIC microcontroller in Common Lisp 2015.04.28 08:42 PM
    <br/> <p>I presented a native compiler for 8-bit PIC microcontroller written in Common Lisp at Lisp Meet Up #27.</p> <p>You can see its source code <a href="http://github.com/takagi/pic">here</a>. </p> <iframe src="//www.slideshare.net/slideshow/embed_code/key/iXzDHi2Nrdt2xB" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/masayukitakagi/2015-0422" title="Lisp Meet Up #27, 8-bit PIC マイコン用ネイティブコンパイラの作成(後編)" target="_blank">Lisp Meet Up #27, 8-bit PIC マイコン用ネイティブコンパイラの作成(後編)</a> </strong> from <strong><a href="//www.slideshare.net/masayukitakagi" target="_blank">masayukitakagi</a></strong> </div> </br>
    Comment:
    A list of Physics-Based Animations 2015.03.04 02:17 PM
    Here shows a list of physics-based animations I computed and rendered, including fluid, rigid body and their coupling simulation. Movies are to be added.<br /> <br /> <div style="border-bottom: dashed 1px #808080;"></div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2011/09/falling-rigid-bunnies.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3MZrzdC3BbMUia3AFQ3Oy__2YY0QzaSUaUXZFHW-T8Xudo8NCbD_iNWV_gkAMqSTsUm9kiCkZKYqxz0G_BW0epDH-o14hJ-wh9T16Gl_jus33RjsLTzkuiUopXJXn9wGdM-ph/s200/result00001213.png" /></a><a href="http://kamonama.blogspot.com/2011/09/falling-rigid-bunnies.html">Falling Rigid Bunnies</a><br /> I simulated a lot of falling Stanford bunnies and rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2011/09/falling-rigid-bunnies.html">watch movie</a><br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2011/04/bunny-shaped-fuluid-simulation.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN5tet-U-CycZBpvuo6bsatlRHUKpvCBjbhFMkrtzKNRrIEDhqA7BhiP7Se1vgvf8woQOfCQCcanzgGBRVTWoN3SdTaBzQEc6yEFkWtDdY83ttluWK_tu_1QACOC8mhcjIav_Z/s200/result00000023.png" /></a><a href="http://kamonama.blogspot.com/2011/04/bunny-shaped-fuluid-simulation.html">Bunny-shaped fluid simulation </a><br /> I simulated bunny-shaped fluid body and rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2011/04/bunny-shaped-fuluid-simulation.html">watch movie</a><br /> <br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2010/09/blog-post.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm1X4XkxgGl5q3auRJnO3P9CrIagvIul8nuEL8LE2nf1mndn3TvmBpN6SaYyVHuSZO5toozLSHriH_54KdltwAuJxB6rDMDE_44W_uSLISxyreEL-NNPVehH1QEXmnl_H502nM/s200/result00000075.png" /></a><a href="http://kamonama.blogspot.com/2010/09/blog-post.html">Rigid-fluid coupling for SPH</a><br /> I simulated rigid-fluid coupling for SPH and rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2010/09/blog-post.html">watch movie</a><br /> <br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2010/07/blog-post_31.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG8SP3hwczsXRwQ-7GGK-eknpDzJkx8TPGH8ojdJWUnXbyovrBzGo9YYzVCWethVsv9HXzSAzv1hmUQUpDch5PM80p0UbykzsX96OwhJdr8wzzEzoRjYb7pf9J0ojdQuIp9iNM/s1600/coupling.jpg" /></a><a href="http://kamonama.blogspot.com/2010/07/blog-post_31.html">Rigid-fluid coupling for SPH</a><br /> I simulated rigid-fluid coupling for SPH and rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2010/07/blog-post_31.html">watch movie</a><br /> <br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2010/04/blog-post_26.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-1KeC8W_nAeRqHD9Xf8DVvYHLVpDUrU2vS3IWtTWyhwLOW3FLHUVtLIFYi3JMUo5JoiWapZJ6lhm-UfjqndFQTWa2GFlDxoHgUeBhBhJCaMomMtRtl3iI6t16h4hbkVHORck3/s1600/fallingcube.jpg" /></a><a href="http://kamonama.blogspot.com/2010/04/blog-post_26.html">Rigid body simulation on a slope</a><br /> I simulated a rigid body falling on a slope with a particle-based method.<br /> <br /> <a href="http://kamonama.blogspot.com/2010/04/blog-post_26.html">watch movie</a><br /> <br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2010/04/blog-post_18.html "><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA8nB55SrFNDmAQLVJV2W-9CUyq9x_BGQw9EdFUHh9kFwvi5cry5B4AUBtIxyrARYVQx3yBHuktNHP4bi0RxsVywjSnMq8p3TxPdwr20fEi2pmDjMavXfTePUHsh2aHGHLeJiw/s1600/fallingcube2.jpg" /></a><a href="http://kamonama.blogspot.com/2010/04/blog-post_18.html ">Falling rigid bodies</a><br /> I simulated falling rigid bodies and rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2010/04/blog-post_18.html">watch movie</a><br /> <br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2010/04/blog-post_15.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXiv3akAiYA9UJxEkxKZVtbSiijbvWYSAxNzQxv6-9B4HwiZOIp1S4Zst7uVF1o4vDXZB8W6BperGmCXlaF1KFJ_WHtPRdItMPrQckFFxjLtJaYRcV3mcVQsJWGqPRbesMwFpr/s1600/cubes.jpg" /></a><a href="http://kamonama.blogspot.com/2010/04/blog-post_15.html">Particle-based rigid body simulation</a><br /> I simulated many colliding rigid bodies and rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2010/04/blog-post_15.html">match movie</a><br /> <br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2009/09/sph_30.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6BTXcxELC900BiJvnCBUGphnD2N_tJcMpz7Q4V0LkKt5OA3R5V2NNe6tPFTfqDw07HHEmOKpys_K8YRhazAFNP79cZn4VWSZ14bVsG21nSfOeLfNZpIrNaW7brcWCbtXkGtXM/s1600/result00000060.png" /></a><a href="http://kamonama.blogspot.com/2009/09/sph_30.html">Braking wave simulation with SPH</a><br /> I simulated a breaking wave with SPH and rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2009/09/sph_30.html">watch movie</a><br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2009/08/blog-post_24.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJav74aXQATt3njQpxYNRHpevFHiv1CMeT_cji-wAiOgOTjrtBqgMnTm2EQChemgsZyfuUbvOVG6mdIlQvIx5IhT9kmP6Gh3TmYaofkMm2_CHe1A39uDlxEp4kk69rNlp02Jy/s1600/result00000092.png" /></a><a href="http://kamonama.blogspot.com/2009/08/blog-post_24.html">Particle-based fluid simulation in x2 scale</a><br /> I computed the following fluid simualtion in x2 scale, then rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2009/08/blog-post_24.html">watch movie</a><br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2009/08/sph.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMLGQe1xY2PjfUUKj2NqRKHDav_sZ0kud8JNHnvG9c8SMMOxd6_FePfaum7nWPPl7s1zfI5V7uiQ_z84CNb2B2qdOH6GbF0ZBt5zYhFbuRHuqj0kDAjXr5So9Cs0fzSCTTq2w_/s1600/result00000049.png" /></a><a href="http://kamonama.blogspot.com/2009/08/sph.html">Particle-based fluid simulation in 3D</a><br /> I computed particle-based fluid simulation in 3D and rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2009/08/sph.html">watch movie</a><br /> <br /> <br /> </div><br /> <div style="border-bottom: dashed 1px #808080;"><a href="http://kamonama.blogspot.com/2009/05/blog-post.html"><img border="0" height="100" style="clear:right; float:left; margin-bottom:1em; margin-right:1em" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaVUQjQQaR5Xz14-kS3XGsmMTOC8deyC-vARDNPjauBHHzkJgFfK_TcOscwAXlpO_kCA-tpvzrp8WFiUbHxWiSzEMpACCbgx5TjjrCOBVJ66GDwftv4MwBhi09YKiFy8ao388e/s1600/result00000069.png" /></a><a href="http://kamonama.blogspot.com/2009/05/blog-post.html">Particle-based fluid simulation</a><br /> I computed particle-based fluid simulation in 2D and rendered the result.<br /> <br /> <a href="http://kamonama.blogspot.com/2009/05/blog-post.html">watch movie</a><br /> <br /> <br /> </div><br />
    Comment:

    Link
    PIC - PIC Is a Compiler for 8-bit PIC micro controllers 2015.03.01 01:52 PM
    <br /> <a href="https://github.com/takagi/pic">PIC</a> is a native compiler for 8-bit PIC micro controllers written in Common Lisp. The host language is a pretty small subset of ML-like language and the target language is 8-bit PIC micro controller assembly. Common Lisp is the compiler language.<br /><br /> <h5> Usage</h5> Following is an example of LED blinking with PIC12F683 micro controller. init function is one of the compiler's special functions, where the micro controller's SFR(Special Function Registers) are initialized. Following main function is also the compiler's special function and program's main routine is executed here.<br /><br /> mdelay1 function and mdelay macro are for delaying. Note that since 8-bit PIC handles only 8-bit unsigned integers, nested loops are needed for delaying more than 255 msec (950 msec here). progn and loop are predefined macros for the compiler.<br /> <pre>(defpic init () (progn (setreg :gpio #x0) ; clera GP0-5 (setreg :cmcon0 #x07) ; disable comparator (setbank1) ; switch to bank 1 (setreg :trisio #x08) ; only GP3 is outputinputmode (setreg :ansel #x00) ; disable analog IO (setreg :ioc #x00) ; disable interruption (setbank0) ; switch to bank 0 (setreg :intcon #x00))) ; disable interruption (defpic main () (progn (setreg :gpio #x20) ; set GP5 to high (mdelay 50) ; delay for 50 msec (setreg :gpio #x00) ; set GP5 to low (mdelay 950) ; delay for 950 msec (main))) ; repeat (defpic mdelay1 () (loop 90 ; 90 is a magic number to delay 0)) ; for 1 msec (defpicmacro mdelay (n) (unless (&lt;= 0 n 65535) (error "The value ~S is invalid." n)) (multiple-value-bind (q r) (truncate n 256) (if (= q 0) `(loop ,r (mdelay1)) `(loop ,q (loop ,r (mdelay1))))))</pre> Then pic-compile function compiles and outputs the complete assembly for the PIC functions to standard output. The output assembly is expected to be assembled with Microchip's MPASM assembler.<br /> <pre>PIC&gt; (pic-compile) INCLUDE"p12f683.inc" list p=12f683 __CONFIG _CP_OFF &amp; _CPD_OFF &amp; _WDT_OFF &amp; _BOD_ON &amp; _IESO_OFF&amp; _PWRTE_ON &amp; _INTOSCIO &amp; _MCLRE_OFF CBLOCK 020h L0,L1,L2,L3,L4,L5,L6,L7 ; local registers I0,I1,I2,I3,I4,I5,I6,I7 ; input registers SP,STMP,STK ; stack registers ENDC ORG 0 GOTO MAIN ... END ; No value</pre> For detail, please see its <a href="https://github.com/takagi/pic">repository</a>.<br /> <br /><br />
    Comment:
    Swank RPC プロトコル 2014.12.01 05:54 PM
    <br/> <p>Swank RPC プロトコルは、SLIME と Swank との間で用いられる、テキストベースの非同期通信プロトコルです。</p> <p>SLIME は、Common Lisp でアプリケーションを開発するための Emacs モードで、IDE(統合開発環境)と呼べるほど強力な機能を備えています。</p> <p>SLIME には、Swank と呼ばれるバックエンドがあります。Swank は、Common Lisp プロセスにロードされ、ソケットを経由して SLIME と通信します。このとき使用されるのが、Swank RPC プロトコルです。</p> <h4> Swank RPC プロトコルの概観</h4> <br/> <p>Swank RPC プロトコルは、6文字の16進数文字列とそれに続くS式、終端の改行文字で構成されます。</p> <pre>000016(:return (:ok nil) 1)\n</pre> <p>先頭の16進数文字列は、続くS式の長さ(最後の改行文字を含む)を表します。S式は、SLIME や Swank によって読み込まれます。S式の最初の要素はメッセージの種類を表すキーワードで、残りの要素がその引数です。</p> <p>メッセージには、以下のような種類があります。 <ul> <li>:emacs-rex</li> <li>:return</li> <li>:indentation-update</li> <li>:new-features</li> </ul> </p> <h4> Swank RPC プロトコルによるS式の評価</h4> <br/> <p>たとえば、(+ 3 4)というS式を Swank で評価するには、以下のメッセージを送信します。</p> <pre>00002c(:emacs-rex (+ 3 4) "COMMON-LISP-USER" t 1)\n</pre> <p>最初の6文字は続くS式の長さで、改行文字を含め44文字のため、16進数で2cとなります。</p> <p>メッセージの種類は :emacs-rex (Remote EXecute SEXP)で、第一引数が評価するS式、第二引数がそのときのカレントパッケージです。第三引数はS式の評価を行う Swank 側のスレッドを表し、第四引数は戻り値を受け取る継続を意味します。</p> <p>S式が評価されると、Swank からは以下のようなメッセージが返信されます。</p> <pre>000013(:return (:ok 7) 1)</pre> <p>最初の6文字は、送信されたメッセージと同様にS式の長さを表し、19文字のため、16進数で13となります。</p> <p>戻り値を表すメッセージは、:return です。評価に成功した場合、第一引数の最初の要素が :ok となり、二番目の要素に評価した結果の値が入ります。ここではその値は7です。第二引数は、送信されたメッセージの第四引数に含まれていた継続がそのまま返されます。</p> <h4>まとめ</h4> <br/> <p> このように、Swank RPC プロトコルでは、S式で表現されたテキストベースのメッセージが相互にやりとりされます。SLIME と Swank のやり取りの様子は、Emacs の *slime-events* バッファでみることができます。</p> <br/>
    Comment: