Updated at 2024.11.19 02:23 PM



(not-categorized)
  1. od|force forums | updated at 2024.11.19 02:26 PM
  2. GIGAZINE | updated at 2024.11.19 02:00 PM
    トランプ次期大統領がビッグテック規制派のブレンダン・カーをFCC委員長に指名、「GoogleやMetaなどのビッグテックによる検閲を取り締まる」と断言 2024.11.19 02:00 PM
    ドナルド・トランプ次期大統領が、共和党員であるブレンダン・カー氏を連邦通信委員会の委員長に選んだと声明で発表しました。カー氏はGoogleやMetaなどのビッグテックに対する規制強化を主張してきた人物で、トランプ次期政権はテクノロジー業界を抑制する姿勢を示しています。<p><b><a href="https://gigazine.net/news/20241119-brendan-carr-fcc-chairman-donald-trump/">続きを読む...</a></b></p>
    Comment:
    iPhone 16の販売禁止措置を解除するためAppleがインドネシアへの投資提案を1000万ドルから1億ドルに引き上げ 2024.11.19 01:25 PM
    インドネシア工業省は2024年10月25日、AppleによるiPhone 16の販売は法的に禁止されていると発表しました。これは、Appleのインドネシアに対する投資が不足していることが原因であり、Appleは販売禁止を解除するために総額1億ドル(約154億円)の投資を提案しています。<p><b><a href="https://gigazine.net/news/20241119-apple-indonesia-investment-iphone-16-ban/">続きを読む...</a></b></p>
    Comment:
    Googleが2024年最高のAndroidアプリを表彰する「Google Play ベスト オブ 2024」の受賞作品を発表 2024.11.19 01:17 PM
    Googleが2024年11月18日に、Google Playのさまざまなカテゴリーにおいて最も優れたアプリやゲーム、書籍を表彰するGoogle Play ベスト オブ 2024の受賞作品を発表しました。<p><b><a href="https://gigazine.net/news/20241119-google-play-best-app-2024/">続きを読む...</a></b></p>
    Comment:
    YouTubeでサムネイルをエロ画像にすることで「著作権侵害による削除を回避」するチャンネルが出現 2024.11.19 01:00 PM
    YouTubeには著作権保護コンテンツの検出システムがあり、海賊版コンテンツをアップロードして何度も警告を受けたチャンネルは削除されます。しかし、これではせっかく海賊版コンテンツを再生させることで発生した収益が手に入らないため、サムネイルやヘッダーをポルノ画像にして、「YouTubeに著作権侵害ではない形でアカウントを停止させる」ことで収益確保を狙うチャンネルが出現したことが報じられています。<p><b><a href="https://gigazine.net/news/20241119-youtube-pirate-porn/">続きを読む...</a></b></p>
    Comment:
    Mistral AIがチャットAI「Le Chat」を大幅アップデートしてウェブ検索機能や「FLUX1.1 [pro]」を利用した画像生成が可能に 2024.11.19 00:41 PM
    1230億パラメーターと128kコンテキストウィンドウを備えGPT-4oに匹敵するベンチマーク性能を記録した「Mistral Large 2」やマルチモーダルAI「Pixtral 12B」、小規模モデルの「Ministral 3B/8B」などを展開しているAI開発企業のMistral AIが、チャットAI「Le Chat」の大幅なアップデートを発表しました。<p><b><a href="https://gigazine.net/news/20241119-mistral-ai-le-chat/">続きを読む...</a></b></p>
    Comment:
  3. LOU ROMANO | updated at 2024.11.19 01:46 PM
  4. はてなブックマーク - 人気エントリー - 総合 | updated at 2024.11.19 00:26 PM
    出場歌手 | 第75回NHK紅白歌合戦 2024.11.19 00:26 PM
    aiko(15) あいみょん(6) ILLIT(初) 石川さゆり(47) イルカ(2) HY(3) 坂本冬美(36) 櫻坂46(4) 椎名林檎(9) Superfly(8) 髙橋真梨子(6) tuki.(初) 天童よしみ(29) TWICE(5) 乃木坂46(10) ME:I(初) MISIA(9) 水森かおり(22) 緑黄色社会(3) LE SSERAFIM(3) Omoinotake(初) Creep...
    Comment:
    裏紅白歌合戦2024 2024.11.19 11:37 AM
    2024・おもな、選に漏れたかたがた (2023年出場者) ハマいく/細川たかし/yH2(二代目橋幸夫)/ゆこぴ/香取慎吾×SEVENTEEN/潮騒のメモリーズ/松平健×岸大介/水谷千重子・浜ローズ・六条たかや/水木一郎/山崎まさよし/広末涼子/加護亜依/アイクぬわら/ やす子/ハリウッドザコシショウ/TONIKAKU/ヨネダ20...
    Comment:
    まるで崖に立つ家!? 「庭がほしい!」を建築家が驚きの発想で解決、”縁側”兼”空中庭園”で眺望抜群の住宅に 2024.11.19 11:00 AM
    建築家との家づくりは、理想の住まいを手に入れる最良の方法のひとつ。特に新築の一戸建てでは設計の自由度も高く、こだわりの強い人でも自分に合った住宅を実現することができます。一方で、選択肢が多すぎて、本当に自分の住みたい家にすることができるのか、不安に思う人も多いのではないでしょうか。 擁壁(※)の上...
    Comment:
    女子の体操服って、黒いパンツみたいなのだったと娘に画像見せたら「なにこれパンツじゃん!!!マミーこれはいてたのwwww」って大ウケでした 2024.11.19 10:54 AM
    ねこまた @dokudokuneko ブルマでバズるとはw ではここ数年推しまくってる土佐の塩丸推しとくわね…Amazonや楽天で買うなよ。馬鹿みたいに高いからね。支払い方法がちょっとお手間だけど直接購入してください。皆様の良き塩ライフを保証します。 siomaru.com 2024-11-18 22:32:43 リンク 土佐の塩丸 - ホーム - 土佐の塩...
    Comment:
    トランプ氏、非常事態宣言を発令へ 不法移民を強制送還 - 日本経済新聞 2024.11.19 10:19 AM
    【ワシントン=飛田臨太郎】トランプ次期米大統領は18日、不法移民を強制的に送還するための国家非常事態宣言を発令する考えを示した。自身のSNSの投稿で明らかにした。2025年1月に大統領に就任した後の最優先課題に掲げる。保守系の活動家が新政権は非常事態を宣言し「軍事資産」を使用するとの報道があるとSNSに投稿し...
    Comment:
  5. Motionographer® | updated at 2024.11.19 11:09 AM
    New York’s ‘Identity’ Enters New Era with Gloria Colangelo as Managing Partner 2024.11.19 08:22 AM
    The New York-based production company ‘Identity’ has solidified its position as a leader in visual storytelling with the appointment of Gloria Colangelo as Managing Partner. With decades of industry experience, including senior roles at Assembly and MacGuffin Films, Colangelo brings a wealth of expertise and a fresh perspective to the company. Her move to Identity... <a class="excerpt-read-more" href="https://motionographer.com/news/new-york-production-company-identity-heralds-next-evolution-by-welcoming-gloria-colangelo-as-managing-partner/" title="Read New York’s ‘Identity’ Enters New Era with Gloria Colangelo as Managing Partner">Read more »</a>
    Comment:
    Antibody | The Day the Internet Woke Up 2024.11.19 01:16 AM
    Comment:
    Scholar – Mike Perry | Hermazing 2024.11.18 09:47 PM
    Comment:
    The Power of Choice, The Power of All 2024.11.18 06:53 PM
    Dear Friends, In an era where each day can feel like a dark cloud, where many of us wrestle with despair, numbness, nausea, and dismay—feeling as though doom has befallen the world—we at F5 want to pause and offer a moment of solace and reflection.
    Comment:
  6. | updated at 2024.11.19 07:33 AM
  7. | updated at 2024.11.19 07:33 AM
  8. The Keyword The Official Google Blog | updated at 2024.11.19 03:00 AM
    A new era of discovery 2024.11.19 03:00 AM
    <img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/AISF_Speech_Hero-1.max-600x600.format-webp.webp">James Manyika’s opening remarks from the AI for Science Forum.
    Comment:
    Google.org’s $20 million fund for AI and science 2024.11.19 02:00 AM
    <img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/DotOrg_2_1.max-600x600.format-webp.webp">Google.org announced a $20 million commitment to support AI for scientific breakthroughs. Learn more about what the commitment entails
    Comment:
    20 things you didn’t know about Google Scholar 2024.11.19 02:00 AM
    <img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Google_Scholar_20th_v2_2.max-600x600.format-webp.webp">Google Scholar celebrates two decades of breaking down barriers to academic research and making it accessible to everyone, everywhere.
    Comment:
    The AI for Science Forum: A new era of discovery 2024.11.19 02:00 AM
    <img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/AIFS_Collection_Hero.max-600x600.format-webp.webp">Google DeepMind and the Royal Society are co-hosting the AI for Science Forum to explore how AI is rapidly accelerating science.
    Comment:
    Google Play’s best apps and games of 2024 2024.11.19 00:00 AM
    <img src="https://storage.googleapis.com/gweb-uniblog-publish-prod/images/best_of_2024-keynote_text_1.max-600x600.format-webp.webp">We’re announcing Google Play’s Best of 2024 awards, celebrating the best apps, games and books of the year.
    Comment:
  9. BlenderNation | updated at 2024.11.18 05:18 PM
    Creating Fibonacci Patterns with Geometry Nodes 2024.11.18 07:40 PM
    Fibonacci sequences and patterns are everywhere in nature, and they can create fascinatingly complex images. Richard van der Oost shows how to generate them with Blender. Today we're making Fibonacci patterns in Geometry Nodes. (using the Golden Ratio) This is what we're aiming for: It's a pattern that emerges in nature quite often. The most [...] <p><a href="https://www.blendernation.com/2024/11/18/creating-fibonacci-patterns-with-geometry-nodes/" rel="nofollow">Source</a></p>
    Comment:
    I spent my life savings on a motion capture suit. Do I regret it? 2024.11.18 05:14 PM
    With the rise of AI motion capture tools, should you still invest into hardware motion capture setups? Jamie Dunbar compares several solutions to let us know. Over the last few years AI motion capture tools have became the rage. In this video I put the most popular AI tools to the test and compare them [...] <p><a href="https://www.blendernation.com/2024/11/18/i-spent-my-life-savings-on-a-motion-capture-suit-do-i-regret-it/" rel="nofollow">Source</a></p>
    Comment:
    The Fork - Chess animation 2024.11.17 09:45 PM
    I recently got back into playing chess. This lesson by Bonjourchess covers a basic strategy, but it's a good one! <p><a href="https://www.blendernation.com/2024/11/17/the-fork-chess-animation/" rel="nofollow">Source</a></p>
    Comment:
    Blender Jobs for November 17, 2024 2024.11.17 07:15 PM
    Here's an overview of the most recent Blender jobs on Blender Artists, ArtStation and 3djobs.xyz: [FULLY REMOTE!] Independent Render Wrangler Required For more jobs, look here. <p><a href="https://www.blendernation.com/2024/11/17/blender-jobs-for-november-17-2024/" rel="nofollow">Source</a></p>
    Comment:
    Create Stunning Minimalistic Digital Art with Blender 2024.11.17 05:26 PM
    For a change, Slavoartist moves away from his usual complex scenes to focus on the beauty of simplicity. Minimalism. Honestly, I am a big fan of minimalistic art and photos. Despite the fact that I usually show some complex Blender scenes and talk about optimization, how to make large scenes on a weak computer, this [...] <p><a href="https://www.blendernation.com/2024/11/17/create-stunning-minimalistic-digital-art-with-blender/" rel="nofollow">Source</a></p>
    Comment:
  10. 3D映像空間主義 | updated at 2024.11.18 03:50 PM
    Mitchell Kehn 2024.11.18 03:50 PM
    Compositing Showreel | October 2024Mitchell KehnBrisbane, AustraliaVisual Effects / Compositor
    Comment:
    Parag Gaikwad 2024.11.17 03:34 PM
    Parag Gaikwad : VFX Compositing Reel 2023Parag GaikwadAkluj, Maharashtra, IndiaVisual Effects / Compositor / CG Artist
    Comment:
    Digital District 2024.11.16 03:19 PM
    DIGITAL DISTRICT - COMMERCIALS SHOWREEL - 2024Digital District - Showreel 2024Digital District〓 VFX Post-ProParis, FranceVisual Effects / Post-Production
    Comment:
    millchannel 2024.11.15 03:49 PM
    The Mill - Games Reel 2024 millchannelLondon, New York, Los Angeles, Chicago Visual Effects / CG Animation / Compositing
    Comment:
    Kimberley Watts 2024.11.14 03:54 PM
    Kimberley Watts Animation Showreel 2024Kimberley WattsLondon, United KingdomVisual Effects / 3D Animator
    Comment:
  11. たつをの ChangeLog | updated at 2024.11.18 09:04 AM
    【日記】平日ランチメモ(2024/11/11-15) 2024.11.15 11:59 PM
    今週の平日のランチの記録。 [平日ランチ] 11/11 サンドイッチ広尾のシティベーカリーのサンド11/12(火) チキンオーバーライス武蔵小山のキッチンカー「NEW NEW YORK CLUB」[2024-04-25-1]11/13(水) サンド武蔵小山「ヒカリノアトリエ」[2024-10-24-1]チーズハンバーグトーストサンド11/14(木) ちゃんぽん無印良品の冷凍ちゃんぽん11/15(金) カフェランチ武蔵小山「ブレッド マチエール」[2024-11-15-1]牛ほほ肉の赤ワイン煮込み(パン、サラダ、スープ付き)
    Comment:
    「ブレッド マチエール」でカフェランチ!(武蔵小山) 2024.11.15 11:59 PM
    武蔵小山のマチエールでカフェランチ! [ブレッド マチエール 武蔵小山] ブレッドマチエール カフェ&amp;バル(@matiere.bread) • Instagram写真と動画ブレッド マチエール (BREAD MATHIERE) - 武蔵小山/パン/ネット予約可 | 食べログ東京都目黒区目黒本町3-5-6 ちょっと高めだけど美味しそうなのを頼んだら美味しかった! 店内は開放感あってよい! [ブレッド マチエール 武蔵小山] ときどきパンを買っているのですが、店内で食事するのは初めてでした。 [ブレッド マチエール 武蔵小山]
    Comment:
    【ヲハニュース 2024年11月13日号】今だけ金だけ自分だけ、「旧字体」と「昔の漢字」、選挙の影響か Bluesky が勢いを得る、など 2024.11.13 11:59 PM
    2024年11月13日のヲハニュースをお届けします。 [サイゼリヤ] Z世代「鳥貴族は高いから行かない」発言に衝撃 → だったらどこへ行くのか? その回答に納得しかなかった話 答:サイゼリヤ、日高屋 商品棚を1mずらしただけで常連が消えた…過疎で「廃業やむなし」の田舎商店を"東京のヨソ者"が復活させるまで 「四国一ホットなスーパー」を作り上げた移住者の情熱 『今だけ・金だけ・自分だけ』になったら、それは絶対に良い未来にはつながらないから 「今だけ・金だけ・自分だけ」は語呂がいいので使っていきたい 今だけ金だけ自分だけ (いまだけかねだけじぶんだけ)とは【ピクシブ百科事典】 「旧字体」は「昔の漢字の形」ではない なるほど。 いろいろ混じってる。 セガの社内向けテキスト『基礎線形代数講座』が書籍化。ゲームの3DCG技術などで必須な線形代数を基礎から学び直せる解説本、日本評論社より2025年1月に発売|ゲームメーカーズ ほうほう 誰もPython自体には興味がない、大人気言語の残酷な現実 pythonはシェルのようなものと思って使ってる 誰も書かない? シェル・シェルスクリプトの基本 ふむ Blueskyが1週間で100万人ものユーザーを獲得している、ユーザー数は1480万人を突破 Blueskyが2024年11月13日に、「1週間で100万人以上のユーザーが新たに参加した」と報告しました。 一時的かもだけど勢いが! Blueskyは絶好調。アメリカで2番目に使われるSNSに アメリカのSNSアプリランキングでは、Meta社のThreadsに次ぐ2位に 「Bluesky」、1週間で70万ユーザーを獲得--「X」から流出続く - CNET Japan ダフト・パンク&松本零士「インターステラ5555」4Kリマスター版、12月12日に全世界で奇跡のスクリーン上映決定! : 映画ニュース - 映画.com フルのストーリーがあったのね キング・クリムゾン(King Crimson)『Red』はプログレの何を変えたのか? 50周年迎えた名盤の優れた魅力を再考する | Mikiki by TOWER RECORDS Red 「誰がここまで細かく書けと言った」スーパーカップのサウンドロゴ譜面にツッコミを入れたら修正されていた ♪
    Comment:
    プログラミングと関連ドキュメント作成用途に白源(はくげん/HackGen)フォントを入れてみた 2024.11.13 11:59 PM
    macOS のフォントの話。 英数記号は Monaco で満足してたけど、より良い環境を目指してこれを入れてみた。 結果として大満足。 GitHub - yuru7/HackGen: Hack と源柔ゴシックを合成したプログラミングフォント 白源 (はくげん/HackGen) ありがたいのは、全角スペースが点線四角になること。あと、パイプ記号の真ん中が切れるってのもあって、これは別にいらないなと思ってたけど、パイプ処理の区切りが今までよりもくっきり見えて結構便利。長音記号「ー」と漢数字「一」の区別が明確になるのも良い。 [プログラミングフォント 白源 (はくげん/HackGen)] 不満点はカタカナ「ニ」と漢数字「二」の区別があいかわらずはっきりしないこと。こっちも漢数字「一」みたいなデザインにして欲しいところ。「工(こう)」と「エ(え)」、「口(くち)」と「ロ(ろ)」とかも気になるけど、まあ日本語文字同士の話はメイン課題ではないのかと。長音記号が対応されてるだけでもありがたい。 macOS 15。 brew でインストール。 iTerm2 で利用。 参考 日本人プログラマ向け、プログラミングに適した「フォント」まとめ。2024年版 - Publickey
    Comment:
    キンセリの Mastodon アカウント始めました! 2024.11.12 11:59 PM
    私が運営しているKindleセール情報まとめサイト「キンセリ」の SNS アカウントについてのお知らせです。11月から X (旧Twitter) 無料 API の制限が厳しくなったので、リスクヘッジとしてやってます。 キンセリ公式のSNS アカウントは X、Bluesky、Threads がありますが、今回はマストドン(インスタンスは mstdn.jp)に進出です。 キンセリ (@kinseli@mstdn.jp) - mstdn.jp Mastodon ユーザで Kindle セール情報を欲している方はぜひフォローしてくださいませ。 Mastodon の API を Mastodon.py (python) で使っています。仕組みは簡単だったので、API 経由でどんどん自動投稿していきます。Unlisted として投稿しているので、全体のタイムラインには流れません。見にきてくれる人、フォローしてくれる人のみに情報提供していきます。 参考記事 Mastodon.py — Mastodon.py 1.8.1 documentationMastodon.pyを使ってPythonからトゥートするキンセリからのお知らせ: キンセリの Mastodon アカウントの運用を開始しました (2024/11/12) キンセリSNSアカウント一覧 X: @kinselistX(セール開始情報のみ): @ksaleinfoonlyBluesky: @kinseli.bsky.social (フェディバースでのユーザネーム @kinseli.bsky.social@bsky.brid.gy )Threads: @kinselist (フェディバースでのユーザネーム @kinselist@threads.net )Mastodon: @kinseli (フェディバースでのユーザネーム @kinseli@mstdn.jp )
    Comment:
  12. セキュリティホール memo | updated at 2024.11.18 00:00 AM
    追記 (2024.11.18) 2024.11.18 00:00 AM
    Comment:
    いろいろ (2024.11.15) 2024.11.15 00:00 AM
    Comment:
    Chrome Stable Channel Update for Desktop 2024.11.14 00:00 AM
    Comment:
    いろいろ (2024.11.12) 2024.11.12 00:00 AM
    Comment:
  13. わたしが知らないスゴ本は、きっとあなたが読んでいる | updated at 2024.11.17 00:00 PM
    人はどういう思いで積読するのか? 12人の積読家へのインタビュー『積読の本』 2024.11.17 00:00 PM
    読むスピードより買うスピードの方が早いのだから、棚からあふれた本が積まれていく...
    Comment:
    「なぜ30%値下げできないの?どれくらいなら下げられるの?」「できるか、できないかで答えてください」と高圧的に言われたらどうするか?『戦略的交渉入門』 2024.11.10 00:00 PM
    「その価格では厳しい、30%下げてほしい」と、初手から無理な数字をふっかけてく...
    Comment:
    人事評価の脆弱性を衝く7つのバイアス『人材マネジメントの基本』 2024.11.03 00:00 PM
    人には何らかのバイアスがある。そこから、あなたを評価する人が犯す過ちが生まれる...
    Comment:
    人を惹きつけ、自分のことを好きにさせる技術『人蕩し術』 2024.10.27 00:00 PM
    「蕩し」という言葉がある。 「たらし」と読む。巧みな言葉や行動で、相手の心を魅...
    Comment:
    寄生獣、鋼錬、攻殻、進撃、火の鳥…SF×倫理学で現代を理解する『SFマンガで倫理学』 2024.10.20 00:00 PM
    かけがえのない自然を守るため、人を減らすのは悪か? 合成獣の生成と命の再生は...
    Comment:
  14. | updated at 2024.11.17 04:59 AM
  15. | updated at 2024.11.17 04:59 AM
  16. J-Tokkyo.com J-Tokkyo.com | updated at 2024.11.16 10:10 AM
    Strategi Menang Berdasarkan RTP Slot di Kasino Online 2024.11.16 10:07 AM
    <p>Dalam dunia kasino online, banyak pemain yang mencari cara untuk meningkatkan peluang mereka dalam memenangkan permainan slot. Salah satu pendekatan…</p> <p>The post <a href="https://www.j-tokkyo.com/strategi-menang-berdasarkan-rtp-slot-di-kasino-online/">Strategi Menang Berdasarkan RTP Slot di Kasino Online</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
    Ujung Kulon: Surga Keanekaragaman Hayati 2024.11.08 11:18 PM
    <p>Taman Nasional Ujung Kulon adalah salah satu harta karun alam Indonesia yang tersembunyi di ujung barat Pulau Jawa. Terletak di…</p> <p>The post <a href="https://www.j-tokkyo.com/ujung-kulon-surga-keanekaragaman-hayati/">Ujung Kulon: Surga Keanekaragaman Hayati</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
    Situs Slot Lucky Neko Login Terbaru 2024.10.30 09:42 PM
    <p>Di dunia permainan slot online, Slot Lucky Neko telah menjadi salah satu favorit bagi banyak pemain yang mencari keberuntungan dan…</p> <p>The post <a href="https://www.j-tokkyo.com/situs-slot-lucky-neko-login-terbaru/">Situs Slot Lucky Neko Login Terbaru</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
    Tips Ampuh Cara Memaksimalkan Peluang Jackpot di Emperor Caishen 2024.10.18 05:14 PM
    <p>Slot Emperor Caishen adalah salah satu permainan judi toto yang paling populer, menarik perhatian banyak pemain dengan tema yang menarik…</p> <p>The post <a href="https://www.j-tokkyo.com/tips-ampuh-cara-memaksimalkan-peluang-jackpot-di-emperor-caishen/">Tips Ampuh Cara Memaksimalkan Peluang Jackpot di Emperor Caishen</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
    Slot Demo: Bagaimana Memilih Game yang Sesuai dengan Gaya Anda 2024.10.08 07:39 PM
    <p>Dalam dunia perjudian online, slot demo telah menjadi cara yang populer untuk mencoba permainan tanpa harus mengeluarkan uang. Mereka memungkinkan…</p> <p>The post <a href="https://www.j-tokkyo.com/slot-demo-bagaimana-memilih-game-yang-sesuai-dengan-gaya-anda/">Slot Demo: Bagaimana Memilih Game yang Sesuai dengan Gaya Anda</a> appeared first on <a href="https://www.j-tokkyo.com">J-Tokkyo.com</a>.</p>
    Comment:
  17. マジカントシグナル - FC2 BLOG パスワード認証 | updated at 2024.11.16 02:27 AM
  18. | updated at 2024.11.15 08:58 PM
  19. | updated at 2024.11.10 01:02 PM
  20. Chikirinの日記 | updated at 2024.11.05 00:00 AM
    サラマンカ(スペイン)のミュージアム紹介 2024.11.15 08:22 AM
    どこに行っても「すきあらば美術館巡り!」をしている私。 今回、スペインのサラマンカでも、5つのミュージアムを訪ねてみました。今後、サラマンカに行かれる方の参考になるかもしれないので、まとめておきますね。 現代アートミュージアム この映像作品はかなりよかったです! ↓ 実はこの建物、以前は牢獄だったとのことで、一部が残されていました。 展示品、悪くないですが、現代アートはやっぱり東京やNYといった先進国大都市のほうが圧倒的にクオリティは高いです。 カテドラル付属のミュージアム サラマンカのカテドラルの入場券があれば無料で入場できます。 こじんまりしていますが、さすがザ・カトリック国のキリスト教関…
    Comment:
    美しき小さな村々@スペイン 2024.10.30 11:10 PM
    前回はスペインで宿泊したパラドールの写真を紹介しましたが、今日は観光で回ったエリアの写真をのせておきます。chikirin.hatenablog.comスペインといえばマドリッドやバルセロナが有名ですが、下記は、セビリアなど一部、人気の都市もありますが、その多くが「地方の街、村」です。巡った遺跡も、そこまで有名な場所ではありません。こういった場所でも(特に、パラドールとセットであれば)十分に楽しめる、ということが写真から想像できるのではないかと。 「人気都市に集中するインバウンド観光客を地方にまわす」のは、日本も含め、多くの観光国の課題ですが、今回の旅行では、そのヒントをたくさん得ることができ…
    Comment:
    パラドール旅@スペイン 2024.10.25 06:30 PM
    今年の秋はヨーロッパの田舎を巡ってきました。 特にスペインでは、あちこちのパラドールに宿泊しながらの旅で、その美しさに感激しっぱなしでした。パラドールってどんな宿泊施設なのか、イメージの湧かない方もいらっしゃると思うので、今日は各地のパラドールの写真をまとめておきます。パラドール@メリダ入り口 入り口前の風景 入ってすぐのロビー カフェになってる中庭 中のデコレーションも素敵すぎる お部屋はこんな感じ パラドール@プラセンシア入るとすぐに中庭が見えます。 夜の中庭はさらに素敵! 食堂 ロビーや 階段も素敵 お部屋はジュニアスイートでした。 パラドール@サマランカこちらのパラドールはかなり近代的…
    Comment:
    お金と時間とやりたいコト 2024.10.23 04:33 PM
    ;rakuten_i…
    Comment:
    ポルトガルの太陽 2024.10.14 05:07 PM
    https://voicy.jp/channel/1295/6040791数十年ぶりにポルトガルに行ってきたのですが、来る日も来る日も太陽の光があまりに美しく感動しました。下記は訪問した街ごとに並べていますが、ぜひ太陽の光に注目してご覧ください。ポルト(←街の名前) ポルトはリスボンに次ぐポルトガル第2の都市で、この橋はとても有名。 ギラマンイス ここはポルトガルの初代国王が生まれた街で、ポルトガル発祥の街です。こちらも歴史地区は世界遺産。 ブラガ 下記はボン・ジェズス・ド・モンテ聖域、有名な巡礼地で世界遺産です。 コインブラ コインブラは1290年に大学が創設されていて、欧州でも最古の大学の…
    Comment:
  21. hiroyukikojima’s blog | updated at 2024.11.02 02:59 AM
    突然、束論に目覚めた 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:
    遠山啓『初等整数論』 2024.06.01 07:17 PM
    今回は、最近出版された遠山啓『初等整数論』ちくま学芸文庫の紹介をしよう。最近出版された、と言っても、初版は『数学セミナー』での1969年から1970年の連載を1972年に日本評論社から刊行したものであり、その文庫版ということになる。嬉しいプレミアムとして、数学者・黒川信重さんの解説が新たに加えられている。 初等整数論 Math&Science (ちくま学芸文庫) 作者:遠山啓 筑摩書房 Amazon この本の内容に触れる前に、生涯学習の市民講座である早稲田エクステンションセンターでぼくがレクチャーする一般人向けの夏期講習の宣伝をしておきたい。それは、「素数の話」というタイトルで、8/31(土曜…
    Comment:
    集合と位相の名著2冊 2024.05.06 05:26 PM
    前回から、かなり間が空いてしまった。 今回は「集合と位相」の本を紹介しようと思う。 その前に、昨日、劇作家・唐十郎さんの訃報に接したので、唐さんの芝居の思い出を書こう。 唐さんの演劇を観たのは、1980年から1983ぐらいが中心だったと思う。たぶん、最初に観たのは、『女シラノ』だったんじゃないかな。『お化け煙突物語』も観た記憶がある。当時、日暮里に住んでいたので、唐さんの描く下町の人々に共感があった。とにかく、客はテントの中にぎゅうぎゅうに詰められ、足を伸ばすこともできないしんどい環境の中で、しかしだからこそ観客が一丸となって芝居を楽しむ、不思議な体験だった。とりわけ、水をふんだんに使った演出…
    Comment:
  22. 株式会社モックス | updated at 2024.10.28 02:06 PM
  23. Physics-Based Animation | updated at 2024.10.24 07:42 AM
    Trading Spaces: Adaptive Subspace Time Integration for Contacting Elastodynamics 2024.10.24 07:42 AM
    Ty Trusty, Yun (Raymond) Fei, David I.W. Levin, Danny M. Kaufman We construct a subspace simulator that adaptively balances solution improvement against system size. The core components of our simulator are an adaptive subspace oracle, model, and parallel time-step solver algorithm. Our in-time-step adaptivity oracle continually assesses subspace solution quality and candidate update proposals while […]
    Comment:
    Simulating Thin Shells by Bicubic Hermite Elements 2024.10.19 03:02 AM
    Xingyu Ni*, Xuwen Chen* (joint 1st authors), Cheng Yu, Bin Wang, Baoquan Chen In this study, we present the bicubic Hermite element method (BHEM), a new computational framework devised for the elastodynamic simulation of thin-shell structures. The BHEM is constructed based on quadrilateral Hermite patches, which serve as a unified representation for shell geometry, simulation, […]
    Comment:
    A Time-Dependent Inclusion-Based Method for Continuous Collision Detection between Parametric Surfaces 2024.10.19 03:00 AM
    Xuwen Chen, Cheng Yu, Xingyu Ni, Mengyu Chu, Bin Wang, Baoquan Chen Continuous collision detection (CCD) between parametric surfaces is typically formulated as a five-dimensional constrained optimization problem. In the field of CAD and computer graphics, common approaches to solving this problem rely on linearization or sampling strategies. Alternatively,inclusion-based techniques detect collisions by employing 5D […]
    Comment:
    gDist: Efficient Distance Computation between 3D Meshes on GPU 2024.10.19 02:57 AM
    Peng Fang, Wei Wang, Ruofeng Tong, Hailong Li, Min Tang Computing maximum/minimum distances between 3D meshes is crucial for various applications, i.e., robotics, CAD, VR/AR, etc. In this work, we introduce a highly parallel algorithm (gDist) optimized for Graphics Processing Units (GPUs), which is capable of computing the distance between two meshes with over 15 […]
    Comment:
    Polar Interpolants for Thin-Shell Microstructure Homogenization 2024.10.19 02:56 AM
    Antoine Chan-Lock, Miguel A. Otaduy This paper introduces a new formulation for material homogenization of thin-shell microstructures. It addresses important challenges that limit the quality of previous approaches: methods that fit the energy response neglect visual impact, methods that fit the stress response are not conservative, and all of them are limited to a low-dimensional […]
    Comment:
  24. Djx.com.au | updated at 2024.10.15 10:27 PM
  25. 床井研究室 | updated at 2024.09.03 01:27 PM
    第5回 座標変換 2024.09.03 01:27 PM
    Comment:
    視線と三角形の交差判定 2023.12.05 08:31 AM
    Comment:
  26. | updated at 2024.09.02 04:50 PM
  27. カメヲラボ | 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:
  28. 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:
  29. 小野和俊のブログ | 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:
  30. 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:
  31. Archived MSDN and TechNet Blogs | Microsoft Learn | updated at 2024.02.08 06:41 PM
  32. 秋元 | 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:
  33. ニテンイチリュウ | 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:
  34. 秋元@サイボウズラボ・プログラマー・ブログ 秋元@サイボウズラボ・プログラマー・ブログ | 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:
  35. 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:
  36. 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:
  37. Engadget | Technology News & Reviews | updated at 2022.11.17 03:52 PM
  38. | updated at 2022.11.02 03:26 PM
  39. dfltweb1.onamae.com – このドメインはお名前.comで取得されています。 | updated at 2022.10.19 00:40 PM
  40. スギログ(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:
  41. | updated at 2021.10.04 06:17 PM
  42. notfound | updated at 2021.08.03 02:23 AM
  43. (善)力疾走 | 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:
  44. 英語ニュースを読んでみよう | updated at 2020.11.03 06:08 PM
    新「英語ニュースを読んでみよう」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:
    もとの「英語ニュースを読んでみよう」HPが復旧 2017.10.15 08:09 PM
    ​http://readenglishnews.nomaki.jp/index.html​が復旧したのでしばらくは、こちらのサーバーを更新していくこととします。
    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
    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:
    Android 7.1 に追加した API 2016.12.07 03:23 PM
    github.com github.com github.com github.com BaseInputConnection#commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle) EditorInfo#contentMimeTypes InputConnection#INPUT_CONTENT_GRANT_READ_URI_PERMISSION InputConnection#commitContent(android.view.inputmethod.InputContentInfo…
    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.09.23 07:16 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.08.29 11:44 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 2024.11.19 02:09 PM
    A mouse with two dads — and a new frontier for biology | Katsuhiko Hayashi 2024.11.19 01:35 AM
    You're familiar with the story: a sperm and an egg meet to create an embryo, which has the potential to give rise to new life. But what if you could create a sperm or egg from any cell, even a single skin cell? Biologist Katsuhiko Hayashi discusses the science of in vitro gametogenesis (IVG) — an experimental technique for creating lab-made sperm or eggs out of just about any type of cell — and explores its implications for endangered species, human reproduction and more.
    Comment:
    Can Europe win the age of AI? | Thomas Dohmke 2024.11.16 00:51 AM
    GitHub CEO Thomas Dohmke discusses Europe's readiness to lead the next era of AI innovation, examining how the continent's tech ecosystems stack up against those in the US. In conversation with TEDAI Vienna co-curator Vlad Gozman, Dohmke explains the three key shifts that will help Europe thrive in the age of AI — and shows how GitHub's initiatives can empower anyone to build new ideas around the world.
    Comment:
    K-pop, cutting-edge tech and other ways Asia is shaping the world | Neeraj Aggarwal 2024.11.15 00:52 AM
    For a long time, the conveyor belt of ideas moved from the West to the East, says business strategy expert Neeraj Aggarwal. But now, Asia’s rising cultural and intellectual influence is redefining this established order. He explores how Asia’s booming culture and economy — from K-pop to cutting-edge tech — is sparking creative solutions to global challenges and reshaping the future in unexpected ways.
    Comment:
    A menu of foods we might lose forever | Sam Kass 2024.11.15 00:48 AM
    What does a warming planet mean for the foods you love? Hosting a dinner party that features a menu of foods that could disappear within our lifetimes, culinary entrepreneur Sam Kass invites us to chew on the reality of climate change by exploring the things — like chocolate and coffee — it puts at risk.
    Comment:
    Is AI progress stuck? | Jennifer Golbeck 2024.11.14 00:46 AM
    Will progress in artificial intelligence continue to accelerate, or have we already hit a plateau? Computer scientist Jennifer Golbeck interrogates some of the most high-profile claims about the promises and pitfalls of AI, cutting through the hype to clarify what's worth getting excited about — and what isn't.
    Comment:
swift
  1. FlexMonkey | updated at 2024.11.17 07:25 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: