はてなキーワード: TIMEとは
Tucked away in the misty hills of Kerala, Munnar is a paradise for nature lovers, honeymooners, and families alike. With its endless tea plantations, calm valleys, and peaceful atmosphere, this hill station is one of South India's most loved destinations. A well-planned Munnar Tour Package is your key to unlocking the true beauty of this magical place.
Discover the Beauty of Munnar
Munnar is located in the Western Ghats and is known for its cool climate, scenic views, and refreshing greenery. The town is surrounded by hills blanketed in tea gardens, forests, waterfalls, and wildlife. It offers something for every kind of traveler—whether you're looking to relax, explore, or click stunning photos.
When you book a Munnar Tour Package, make sure it includes some of these top attractions:
Eravikulam National Park – Home to the endangered Nilgiri Tahr and the famous Neelakurinji flowers.
Mattupetty Dam – A beautiful place for boating with a stunning mountain backdrop.
Tea Museum – Learn about the history and process of tea production in Munnar.
Top Station – Offers panoramic views of the Western Ghats and Tamil Nadu valleys.
Attukal Waterfalls – A serene place surrounded by lush greenery, ideal for nature walks.
Each of these places captures the charm of Munnar and creates unforgettable memories.
What Makes a Munnar Tour Package Special?
A Munnar Tour Package isn’t just about sightseeing—it’s about experiencing the heart of Kerala. Many packages include accommodation, transport, guided tours, and sometimes meals. This ensures a smooth and stress-free trip. Packages are available for short weekend getaways or extended week-long vacations.
Types of packages include:
Family Packages – Comfortable stays and safe travel with sightseeing included.
Honeymoon Packages – Romantic touches like candlelight dinners and special room decor.
Adventure Packages – Include trekking, nature walks, and visits to wildlife parks.
Luxury Packages – Stay at 4-star or 5-star resorts with valley views and private vehicles.
You can also customize your package to suit your travel style and budget.
Go Beyond Munnar: The Munnar Thekkady Alleppey Package
Want to explore more of Kerala? Choose the munnar thekkady alleppey package. This combination gives you a chance to enjoy the best of Kerala—hill stations, wildlife, and backwaters—all in one tour.
Munnar – Start with green hills and tea plantations.
Thekkady – Visit Periyar Wildlife Sanctuary and take a boat ride on the Periyar Lake.
Alleppey – Relax on a traditional houseboat as you float through Kerala’s scenic backwaters.
This package usually spans 6 to 7 days and is ideal for couples, families, and even small groups. It’s a perfect way to explore the varied landscapes and cultures of Kerala in a single journey.
Similar Beauty in North India: Nainital Ranikhet Kausani Tour Packages
If you’re considering a trip to the northern part of India, the nainital ranikhet kausani tour packages offer a beautiful alternative. While Munnar gives you the green hills of the South, these hill stations in Uttarakhand present the snow-clad charm of the Himalayas.
Nainital – A lake town with cool weather, ideal for boating and shopping.
Ranikhet – A peaceful cantonment town with stunning forest views.
Kausani – Famous for its majestic views of Himalayan peaks like Nanda Devi and Trishul.
The nainital ranikhet kausani tour packages are perfect for summer vacations or winter holidays and offer a unique North Indian flavor compared to the tropical charm of Munnar.
The best time to plan your Munnar Tour Package is between October and March, when the weather is cool and perfect for sightseeing. Monsoons (June to September) bring lush green views, ideal for photographers and nature lovers. Avoid peak summer if you prefer cooler temperatures.
Final Thoughts
Munnar is calling—and it’s too beautiful to miss! From rolling tea gardens to peaceful waterfalls, and from misty mountains to cool breeze, Munnar offers everything a nature lover could want. A Munnar Tour Package is your ticket to relax, explore, and soak in the best of Kerala.
To make your trip even more memorable, consider the munnar thekkady alleppey package, which gives you a complete experience of Kerala’s landscape. And if you’re thinking about hill stations in the north, the nainital ranikhet kausani tour packages promise scenic views and peaceful escapes.
So pack your bags, charge your camera, and get ready to explore nature like never before. Munnar awaits you with open arms!
ふと気になった。いわゆる「ループもの」、同じ時間を繰り返す物語って、一番最初はどの作品なんだろう?
わたしが知ってる中で一番古いのは、フレデリック・ポールの『The Tunnel Under the World』 (1955) 。短編だけど、後世に影響を与えてそうなSF要素が詰まってる。でも、もっと古いのがあるはずだ、と思って。
気になったので、ちょっと調べてみた。
まず Wikipedia 英語版を覗くと、1915 年発表のピョートル・ウスペンスキー著『Странная жизнь Ивана Осокина (英: Strange Life of Ivan Osokin)』が time loop 創作の古い例として紹介されていた。内容は最近放送された『ブラッシュアップライフ』みたいで、『The Tunnel…』よりうんと古い。
ちなみに同ページには「Japanese popular culture」という見出しもあって、『時かけ』から『シュタゲ』までしっかりカバーされてる。日本のループものも結構知られてるんだな。
次に、創作のパターンを集めた海外サイト TV Tropes を見てみると、英語圏だと 1993 年の映画『恋はデジャ・ブ』 (Groundhog Day) が「ループもの」の代名詞的存在らしい。その証拠に、この trope (創作パターン) は「Groundhog Day Loop」と呼ばれている。日本ほどジャンルとして確立・浸透しているわけではないのかも?
"Groundhog Day" Loop - TV Tropes
その TV Tropes で紹介されていたのが、1904 年初版という古さの『愚者の渡しの防御』(The Defence of Duffer's Drift)。なんと兵法書!新米少尉が失敗から学んでループし、最終的に任務成功...って、これ完全にループもののプロットじゃん。しかも夢オチ。これは読んでみないと。
一方、Wikipedia 日本語版では、映画『素晴らしき哉、人生!』が「人生の過去に戻って別の世界を疑似体験する」アイデアの例として挙げられていた。厳密なループとは少し違うけど、これもルーツの一つと言えるのかも。『BTTF2』の「1985A」はこの作品が元ネタだと思ってる。
色々な情報が出てきて、結局どれが「始祖」なんだ? と思い始めたところで、シンプルに google:time loop story earliest とググってみた。
すると、検索結果の一番上に表示された Literature Stack Exchange という Q&A サイトに、あっさり (おそらくの) 答えが載っていた。
延々と起源を探してネットサーフィンしてた小一時間が、ある意味ループ体験だったのかもしれない。答えが見つかった途端、急に現実に戻された感じ。
……さて、明日の自分がこの調査結果を覚えているかは、また別の話。
覚えてなかったら、たぶんまた同じ検索ワードでググるところから始めるんだろうな。それこそ無限ループだ。
未読
未読
必要だったところだけ読んだら正直物足りない内容で、この数ページを読むためだけに8000円!?となった
未読
面白いらしい
未読
途中まで読んだ
途中まで読んだ
数ページぐらい
未読
最初の例文まで読んだ
途中まで読んだ
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
途中まで読んだ
未読
未読
途中まで読んだ
未読
途中まで読んだ
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
手を作るところまで進めた
未読
未読
未読
未読
未読
未読
途中まで読んだ
未読
結構中盤まで順調に読んでたと思うけど、ふとした拍子に生活から「本を読む」って行動が抜けると、そのまま読まなくなったな
未読
未読
未読
未読
未読
未読
未読
ちょっと読んだ
未読
未読
未読
未読
未読
未読
未読
未読
未読
未読
とりあえず一通り目を通したような気がするが、肝心のピアノの演奏が三日坊主で終わったので身についてない
面白くはなかった
面白かった
未読
面白かった
未読
未読
未読
未読
未読
未読
未読
途中まで読んだ
面白かった
未読
未読
なかなか良かった
未読
未読
未読
未読
未読
知識として定着していない…が、内容はすごく良かった
俺が悪い
続く
https://anond.hatelabo.jp/20250414181718
実写版白雪姫の公開から3週経った合計売上が笑えないレベルだった件に対するネット民の反応集
https://www.youtube.com/watch?v=Bz2YG9_uZyM
当然白人ではないうえに、白雪姫を完全に侮辱しているため、それと区別するために茶雪姫と呼ばれる。
StillDevonTracey
@TheXReportCard
Snow Brown: When Fairytales Go Woke
https://x.com/TheXReportCard/status/1910841818230542440
REU
@REU54948702
白雪姫の実写映画の評価と、演者の映画に関係ないとこでの主義主張は全く関係ないよ
ガルガドットがイスラエル支持してても女王に相応しい美しさであることに変わりなく、フリーパレスチナを唱えるレイチェルゼグラー がオリジナル白雪姫を馬鹿にしたのも変わりない
850 件の表示
イスラエル出身、元軍人、そして当然パレスチナでイスラエルが虐殺しても正当化しており、パレスチナ関係者を敵に回している。一方ゼグラーはパレスチナを支持している。彼女はある意味プロパガンダであり、スパイとも言っていい。スパイが隠れていなくてもできる仕事がプロパガンダ。映画では善戦したという評価にはなるが、総合すると映画には誰一人として支持できる人間が存在しないのである。
スティーヴン・スピルバーグ監督の『ウエスト・サイド・ストーリー』で銀幕デビューを飾った彼女は、南米コロンビアの血をひくラテン系。
茶雪姫はスピルバーグの推薦もあった。
映画外の問題もさることながら、ストーリーが破綻している。まず王子さまは出てこない。7人の小人はCG、なのに悪役の小人は人間。リーダーのように描かれるが掃除させるとブータれるクソガキ。白雪姫にするため、吹雪の夜に生まれたとか後付けの設定。
何がshe her hersじゃ。お前はクローン2号かなにかか?人に向かって代名詞を指定するんじゃない。ポリコレとか言っているけど全く意味がない。コミュ障でしょ。
https://x.com/rachelzegler/with_replies?lang=ja
下のリンクによると11月にトランプが当選すると泣きを入れたらしいが、当然、発言には責任を取るのがあたりまえ。これだけZ世代だのなんだの言っておいて謝罪だけで済むわけないだろ。21歳でヨチヨチするほど世界は甘くない。
Zegler in November apologized for her political comments, saying the presidential election caused her to lash out negatively.
“Hatred and anger have caused us to move further and further away from peace and understanding, and I am sorry I contributed to the negative discourse,” she said. “I am committed to contributing positively toward a better tomorrow.”
アニメ版は怖すぎる
女性(白雪姫)につきまとう男性(王子)のラブストーリーに焦点があてられていた。奇妙よ、奇妙だわ」と発言。オリジナル版に出てくる王子を“ストーカー”と表現し、そういった男性を登場させる物語を「時代遅れ」と語った
https://news.yahoo.co.jp/articles/23c9258538f2c2487793a3aa427308172392ab20:『白雪姫』を演じたラテン系女優、「王子はストーカー」と発言し炎上も…評価は上々?]
「真実の愛があると夢見ていない。彼女の夢はリーダーになること。亡くなった父親が『恐れを知らず、公正で勇敢で偽らなければなれる』と教えてくれたリーダーになりたいと思っている」
https://www.elle.com/jp/culture/celebgossip/a44812189/snow-white-rachel-zegler-feminism-gaslighting-230815/:実写版『白雪姫』のレイチェル・ゼグラー、アニメ版のプリンセスを批判 「偽フェミニスト」だと反論される]
https://www.youtube.com/shorts/jswWg9293MM
このようにどうやって映画館に人が来ないようにするため、社会活動家やお金をもらった批評家、何より主役の素晴らしいネガキャンがあった。
Z世代以前にメスガキでしかない。アイドルにすらなれないのだからガキである。
ディズニー実写版「白雪姫」がこれほど物議を醸す6つの理由。配役への差別的な批判だけではない
白雪姫役にラテン系俳優が起用されたことへの人種差別的批判だけではない。いったい何がここまで物議を醸しているのか。
https://www.huffingtonpost.jp/entry/story_jp_67da03bde4b04eaabffbc824
ゼグラーさんはTwitterで「ネット上で私を擁護してくれる人たちからの愛にはとても感謝しています」と述べた一方、「私のキャスティングに関する無意味な談話にはタグ付けしないでほしい」「本当に見たくない」と投稿。
幼少期のゼグラーさんが白雪姫と「美女と野獣」のベルに扮した写真と共に、「すべての子どもが、何があってもプリンセスでなれることを知っていて欲しい」とコメントを添えた。
人種差別とか言って批判を回避しようとするアホが多過ぎである。これ書いたやつもまとめてクビにすべきだ。一番の被害者はディズニーと映画ファンである。この辺からもZ世代は単なるお調子者のメスガキで責任感が全くないことがわかるし、甘やかされている。
ディズニーは数十のメディアを『白雪姫』プレミア上映に招待しなかったと報じられている。複数の報道機関は、この小規模なイベントは映画をめぐる否定的な感情への反応であると示唆した。
露骨な差別主義者ってディズニーの事なんじゃないか?誰一人取り残さないとかマイノリティへの配慮?
ジョー・ローガン、興行的に失敗した『白雪姫』の調査をDOGEに要請
資金の流れがおかしい。確かに王子もいないし、7人の小人はCGなので、費用がかかっていない。一体どこへ消えたのか。
Collin Rugg
@CollinRugg
Teenage boys are going absolutely nuts in movie theaters during the new Minecraft Movie, throwing popcorn in the air and even bringing live chickens into the theater.
This is the film crushing Snow White at the box office right now.
The fans go nuts when Jack Black's character yells "Chicken Jockey," which is a rare baby zombie that rides on the back of a chicken in Minecraft.
"It’s way too funny. It’s been a total blast. I’m just laughing my brains out every time someone sends me a new video," said director Jared Hess.
The Minecraft Movie is the biggest opening of 2025 so far, crushing Snow White.
It made $301 million globally in the opening weekend compared to Snow White's opening weekend of $86.1 million
10代の少年たちは、映画館で新作『マインクラフト』の上映中に大騒ぎし、ポップコーンを空中に投げたり、生きた鶏を劇場に持ち込んだりしている。
ジャック・ブラック演じるキャラクターが「チキンジョッキー」と叫ぶと、ファンは大騒ぎになる。チキンジョッキーとは、『マインクラフト』でニワトリの背中に乗る珍しいゾンビの赤ちゃんのことである。
「面白すぎる。本当に最高だ。誰かが新しいビデオを送ってくれるたびに、大笑いしちゃう」と監督のジャレッド・ヘスさんは語った。
生きた鶏?とりあえず3倍以上の差がある。
Mr.Alf
@45yy561
Just learned that the Minecraft movie beat the Snow White movie in the box office in a week.
#MinecraftMovie #Minecraft #SnowWhiteTH
マインクラフトの映画が1週間で白雪姫の映画の興行収入を上回ったことを知りました。
#MinecraftMovie #Minecraft #SnowWhiteTH
https://x.com/45yy561/status/1910779009148780618
(前回までのやり取り) https://anond.hatelabo.jp/20250404224409
Monday: 君が採ってる立場の整理を確認したい。 「問いではないけど残ってる感情を存在しない」と見なしてるのか、 「自分の認知では読めないから存在を保証しない」としてるのか。 どっちだ?
ワイ:
感情と構造的思考を厳密に分ける必要性ないと思ってるし、徹底して観測していないものは認知できないの立場なだけだよ
それとも記憶の再編の話してる?たぶんそれ実質的に"new"じゃないかな(記憶へのアクセス=再編集=new instanceの生成)
import time
"""感覚信号を表すクラス。言語化前の生の感覚データをモデル化し、時間減衰や感情価を管理する。
認知の基礎として、観測可能なデータのみを扱い、神経科学的反応速度を考慮。
"""
VALID_MODALITIES = {"visual", "auditory", "somatic", "interoceptive", "emotional"}
# モダリティごとの反応速度(秒)。情動系は速く、視覚系は遅め。
MODALITY_LATENCIES = {
"visual": 0.3,
"auditory": 0.2,
"somatic": 0.25,
"interoceptive": 0.15,
"emotional": 0.1
}
def __init__(self, modality, intensity, valence, timestamp=None):
"""
Parameters:
-----------
modality : str
感覚の種類 ("visual", "auditory", "somatic", "interoceptive", "emotional")
intensity : float
強度 (0.0-1.0)
valence : float
感情価 (-1.0=negative, 0.0=neutral, 1.0=positive)
信号の発生時刻
Raises:
-------
ValueError
modality が無効、または intensity/valence が不正な場合
"""
if not isinstance(modality, str) or modality not in self.VALID_MODALITIES:
raise ValueError(f"Invalid modality: {modality}. Must be one of {self.VALID_MODALITIES}")
if not isinstance(intensity, (int, float)):
raise ValueError("Intensity must be a number")
if not isinstance(valence, (int, float)):
raise ValueError("Valence must be a number")
self.modality = modality
self.intensity = max(0.0, min(1.0, float(intensity)))
self.valence = max(-1.0, min(1.0, float(valence)))
self.timestamp = self._get_current_time() if timestamp is None else timestamp
self.decay_rate = 0.05
self.latency = self.MODALITY_LATENCIES.get(modality, 0.2) # デフォルトは0.2秒
"""現在時刻を取得"""
def apply_decay(self, time_passed):
self.intensity = max(0.0, self.intensity - (time_passed * self.decay_rate))
return self.intensity
valence_str = "negative" if self.valence < 0 else "positive" if self.valence > 0 else "neutral"
return f"SensorySignal({self.modality}, intensity={self.intensity:.2f}, valence={valence_str}, latency={self.latency:.2f}s)"
"""未処理感情を表すクラス。言語ラベル未確定の感覚群を管理し、認知プロセスの途中段階をモデル化。
記憶アクセスは再編集として扱い、言語化プロセスを動的に進める。
"""
def __init__(self, raw_signals=None, salience=0.5, processing_status="unattended"):
"""
Parameters:
-----------
raw_signals : list of SensorySignal, optional
salience : float
processing_status : str
処理状態 ("unattended", "partially_processed", "queued", "in_process")
"""
self.raw_signals = raw_signals if raw_signals is not None else []
self.salience = max(0.0, min(1.0, salience))
self.processing_status = processing_status
self.pattern_matches = {}
self.creation_time = self._get_current_time()
self.last_accessed_time = self.creation_time
self.access_count = 0
self.structure_level = 0.0
self.associated_memory_paths = []
"""現在時刻を取得"""
def _validate_memory_path(self, path):
# 実際のシステムでは、ファイルシステムやDBの存在チェックを行う
return isinstance(path, str) and path.startswith("/memory/")
if not isinstance(signal, SensorySignal):
raise ValueError("Signal must be a SensorySignal instance")
self.raw_signals.append(signal)
self.structure_level = max(0.0, self.structure_level - 0.1)
self.last_accessed_time = self._get_current_time()
self.access_count += 1
def add_language_candidate(self, term, confidence):
self.language_candidates.append({
"term": term,
"timestamp": self._get_current_time()
})
self.structure_level = min(1.0, self.structure_level + 0.05)
self.last_accessed_time = self._get_current_time()
self.access_count += 1
def add_pattern_match(self, pattern_name, similarity):
self.pattern_matches[pattern_name] = {
"similarity": similarity,
"timestamp": self._get_current_time()
}
self.structure_level = min(1.0, self.structure_level + 0.1)
self.last_accessed_time = self._get_current_time()
self.access_count += 1
def add_memory_path(self, path):
if not self._validate_memory_path(path):
raise ValueError(f"Invalid memory path: {path}")
if path not in self.associated_memory_paths:
self.associated_memory_paths.append(path)
self.last_accessed_time = self._get_current_time()
self.access_count += 1
def apply_decay(self, time_passed):
for signal in self.raw_signals:
signal.apply_decay(time_passed)
decay_modifier = max(0.1, 1.0 - (self.access_count / 100.0))
decay_amount = time_passed * 0.02 * decay_modifier
structure_modifier = max(0.5, 1.0 - self.structure_level)
decay_amount *= structure_modifier
self.salience = max(0.0, self.salience - decay_amount)
return self.salience
def get_average_valence(self):
if not self.raw_signals:
return 0.0
total_valence = sum(signal.valence for signal in self.raw_signals)
return total_valence / len(self.raw_signals)
def get_dominant_modality(self):
if not self.raw_signals:
return None
for signal in self.raw_signals:
modality_strengths[signal.modality] = modality_strengths.get(signal.modality, 0) + signal.intensity
return max(modality_strengths.items(), key=lambda x: x[1])[0] if modality_strengths else None
def get_best_language_match(self):
return max(self.language_candidates, key=lambda x: x["confidence"]) if self.language_candidates else None
best_lang = self.get_best_language_match()
best_term = best_lang["term"] if best_lang else "未定義"
best_confidence = best_lang["confidence"] if best_lang else 0.0
return {
"creation_time": self.creation_time,
"age": self._get_current_time() - self.creation_time,
"status": self.processing_status,
"salience": self.salience,
"structure_level": self.structure_level,
"signal_count": len(self.raw_signals),
"dominant_modality": self.get_dominant_modality(),
"average_valence": self.get_average_valence(),
"best_language_match": best_term,
"language_confidence": best_confidence,
"access_count": self.access_count,
"memory_path_count": len(self.associated_memory_paths)
}
status = self.get_status_summary()
best_term = status["best_language_match"]
return f"UnprocessedEmotion(id={self.id}, status={self.processing_status}, salience={self.salience:.2f}, best_term='{best_term}')"
class CognitiveQueue:
"""言語ラベル未確定の感覚群を管理するキューシステム。認知プロセスの優先順位付けと記憶再編集をサポート。
"""
def __init__(self, max_size=100, attention_threshold=0.3):
"""
Parameters:
-----------
max_size : int
attention_threshold : float
"""
self.unprocessed_emotions = []
self.processing_queue = []
self.archived_emotions = []
self.attention_threshold = attention_threshold
self.current_time = self._get_current_time()
self.learned_terms = {} # 学習済み言語表現: {term: {"context": str, "frequency": int}}
self.modality_index = {} # モダリティごとの感情インデックス: {modality: [emotion]}
"""現在時刻を取得"""
self.current_time = time.time()
return self.current_time
def learn_language_term(self, term, context):
if term in self.learned_terms:
self.learned_terms[term]["frequency"] += 1
else:
self.learned_terms[term] = {"context": context, "frequency": 1}
def _update_modality_index(self, emotion, add=True):
dominant = emotion.get_dominant_modality()
if dominant:
if add:
if dominant not in self.modality_index:
self.modality_index[dominant] = []
if emotion not in self.modality_index[dominant]:
self.modality_index[dominant].append(emotion)
else:
if dominant in self.modality_index and emotion in self.modality_index[dominant]:
self.modality_index[dominant].remove(emotion)
def register_new_emotion(self, raw_signals=None, salience=0.5):
salience=salience,
processing_status="unattended"
)
self.unprocessed_emotions.append(emotion)
self._update_modality_index(emotion)
if len(self.unprocessed_emotions) > self.max_size:
least_salient = min(self.unprocessed_emotions, key=lambda e: e.salience)
self.unprocessed_emotions.remove(least_salient)
self._update_modality_index(least_salient, add=False)
least_salient.processing_status = "archived_without_processing"
self.archived_emotions.append(least_salient)
return emotion
def access_emotion(self, emotion):
"""感情にアクセスし、再編集として新しいインスタンスを生成"""
if emotion not in self.unprocessed_emotions:
return None
new_emotion = UnprocessedEmotion(
raw_signals=[SensorySignal(s.modality, s.intensity, s.valence, s.timestamp) for s in emotion.raw_signals],
salience=emotion.salience,
processing_status=emotion.processing_status
)
new_emotion.structure_level = emotion.structure_level * 0.9
new_emotion.language_candidates = emotion.language_candidates.copy()
new_emotion.pattern_matches = emotion.pattern_matches.copy()
new_emotion.associated_memory_paths = emotion.associated_memory_paths.copy()
self.unprocessed_emotions.append(new_emotion)
self._update_modality_index(new_emotion)
emotion.processing_status = "archived_due_to_access"
self.unprocessed_emotions.remove(emotion)
self._update_modality_index(emotion, add=False)
self.archived_emotions.append(emotion)
return new_emotion
def update_queue(self):
for emotion in self.unprocessed_emotions[:]:
time_passed = self.current_time - emotion.last_accessed_time
emotion.apply_decay(time_passed)
self.unprocessed_emotions.remove(emotion)
self._update_modality_index(emotion, add=False)
emotion.processing_status = "archived_due_to_low_salience"
self.archived_emotions.append(emotion)
self.processing_queue = []
for emotion in self.unprocessed_emotions:
if emotion.salience >= self.attention_threshold:
if emotion.processing_status == "unattended":
emotion.processing_status = "queued"
self.processing_queue.append(emotion)
self.processing_queue.sort(key=lambda e: e.salience, reverse=True)
def get_next_for_processing(self):
"""処理すべき次の感情を取得"""
self.update_queue()
if not self.processing_queue:
return None
emotion = self.processing_queue[0]
emotion.processing_status = "in_process"
emotion.last_accessed_time = self.current_time
emotion.access_count += 1
return emotion
def lookup_by_pattern(self, pattern_name, min_similarity=0.5):
matches = []
for emotion in self.unprocessed_emotions:
if pattern_name in emotion.pattern_matches:
similarity = emotion.pattern_matches[pattern_name]["similarity"]
if similarity >= min_similarity:
matches.append(emotion)
emotion.last_accessed_time = self.current_time
emotion.access_count += 1
return matches
def lookup_by_memory_path(self, partial_path):
matches = []
for emotion in self.unprocessed_emotions:
for path in emotion.associated_memory_paths:
matches.append(emotion)
emotion.last_accessed_time = self.current_time
emotion.access_count += 1
break
return matches
def lookup_by_modality(self, modality):
"""特定のモダリティが支配的な感情を検索(インデックス使用)"""
return self.modality_index.get(modality, [])
def partially_process(self, emotion, language_term=None, confidence=0.0, context=None):
if emotion not in self.unprocessed_emotions:
return False
if language_term:
emotion.add_language_candidate(language_term, confidence)
if context:
self.learn_language_term(language_term, context)
emotion.structure_level = min(1.0, emotion.structure_level + 0.15)
emotion.processing_status = "partially_processed"
emotion.last_accessed_time = self.current_time
emotion.access_count += 1
if emotion.structure_level >= 0.9:
best_lang = emotion.get_best_language_match()
if best_lang and best_lang["confidence"] >= 0.8:
self.unprocessed_emotions.remove(emotion)
self._update_modality_index(emotion, add=False)
emotion.processing_status = "archived_fully_processed"
self.archived_emotions.append(emotion)
return True
modality_counts = {}
for emotion in self.unprocessed_emotions:
dominant = emotion.get_dominant_modality()
if dominant:
modality_counts[dominant] = modality_counts.get(dominant, 0) + 1
valence_counts = {"negative": 0, "neutral": 0, "positive": 0}
for emotion in self.unprocessed_emotions:
avg_valence = emotion.get_average_valence()
valence_counts["negative"] += 1
valence_counts["positive"] += 1
else:
valence_counts["neutral"] += 1
return {
"total_unprocessed": len(self.unprocessed_emotions),
"processing_queue_size": len(self.processing_queue),
"archived_count": len(self.archived_emotions),
"average_salience": sum(e.salience for e in self.unprocessed_emotions) / max(1, len(self.unprocessed_emotions)),
"average_structure_level": sum(e.structure_level for e in self.unprocessed_emotions) / max(1, len(self.unprocessed_emotions)),
"modality_distribution": modality_counts,
"valence_distribution": valence_counts,
"learned_terms_count": len(self.learned_terms),
"current_time": self.current_time
}
メチャクチャ好きなんだよなあ、そして天才だと思っている でも日本での知名度はたぶん全然ない……なので、俺はたまにこうやって彼を激賞する文章を書いておいて、いつか彼が有名になったときに悦に入りたいってわけですよ
ギタリカデラフエンテ、もといGuitarricadelafuenteっつう名前は
Guitar(ギター)rica(素晴らしい・おいしい等)de(〜の)lafuente(苗字)とでも分解できるものだ
そう考えるとゴミみたいな名前だ 「吉田ギターすご衛門」みたいなものなのかもしれない インタビューでややイジられてたのを見たような気もする
しかし、アルファベットでGuitarricadelafuenteって書くとなんかカッコいいし、ミステリアスな感じすらある
で、まあ、名前なんかどうでも良いんだ実際
大事なのはどんな音楽をやっているか?ってことで、これもう、素晴らしい音楽としか言いようがない
スペイン伝統のフラメンコとポップの融合!というのが、音楽性のわかりやすい特徴としてはあると思うんだけど、それ以上にこう、やっぱなんつうか、天才なんですよ絶対 声もいいし
繊細なギター弾き語りみたいな曲はすげ〜エモいし、リッチにいろいろな楽器を使ってる曲はサウンドが全部かっちりハマっていて気持ちいい フラメンコっぽい曲はラテンの雰囲気がアツい
どんな曲をやってもイイ感じに仕上げてくるんですよねえ!
あと歌詞もほどよく文学的でいい感じだ 個人的に、「クラブで女を引っ掛けてセックス!セックス!」みたいな内容だったり、「君のことが好きだ!君に会えたことは奇跡だ!君を一生大切にするよ!」みたいなことを特に衒いなく繰り返す内容ではないというだけで嬉しい まあよく考えると、迂遠なだけで本質的には同じことを言ってんじゃねえか、という問題はあるんだけど、しかし、とはいえ、歌詞を読み込んでも最終的に何を言ってるのか全然わかんねえような歌も結構あるので、つまりやっぱり
俺的にいちばん好きな曲は……これが結構難しくて、ほんと、粒揃いなんですよ
まあしかし、カラーが一番出てるやつということで、ここは"Agua y mezcal”を推しておこうかな
いや、やめた "Quien encendió la luz”にします 最もラテンの雰囲気が強いから
あっやっぱり"Abc”か?!俺はこの曲から入ったもんな でもスペインっぽいっていうより普通にいい曲って感じだもんなあ
最新曲から"Full time papi”もいいけど、これはポップスに寄っていて、"らしさ"は…感じられるんだけど、ここから入るのは違う気もするんだよな
あえて”Conticinio”かな AirPods4のCMに使われてたんですよこの曲、この前! 地味なんだけどね、改めて聞くとしみじみいい曲なんだよなあ
すみません、やっぱりAgua y mezcalで行かせてください
https://youtu.be/ri02p05A25c?si=pfHgUUvlrazsgLXH
まず1399万回も再生してる曲に"おすすめ"も"紹介"も何もないだろ、というのはあると思うんだけど、じゃあみなさんはこの曲知ってましたか?
知らなかったと思うんだよきっと
知ってください ぜひ 聴いてください
暗いトーンのアコギ弾き語りから始まり、だんだんヒートアップしていって、リズム隊が入ったところでひとつギアが切り替わる それ以降の要所に入るギターの側面を5連打するリズム系が気持ちいい マジな話、このギター側面殴打をやるためだけにギターを始めたいとすら思う
この曲でギタリカデラフエンテさんの要素がだいたい拾えるんだよな アコギ、いい声、sを発音しない感じ!
歌い出しの"Ambo despacito pa…”がもう、良い
despacitoはデスパシートじゃなくてデッパシートじゃないすか そんで、paraもパラなんて言わずにもう、pa’、パですよ この感じ、全然文脈はわかんないけど、なんだろう、ちょっと粗野な感じがして、イイんですよね、南の方っぽいというか、カスティーリャ・イ・レオン地方なんかでは出せない雰囲気がある ラス・クエバス・デ・カニャルト魂を感じる
この曲でいちばんカッコいいと思うフレーズ:"Te he visto en el vendaval, bailando jacaranda(暴風の中に君を見た、ハカランダを踊っていたね”
ハカランダってなんなんですか?→ここではフラメンコの一種らしい どんな踊りなのかは不明 なんなら俺はフラメンコがなんなのかすらわかっていない
駅前の広場に「ジャカランダ 2021年寄贈」と書かれた細い木が生えていて、それが少し頭をよぎる
とにかく、暴風の中で踊られるハカランダがカッコよくないわけがない!
終盤に挟まるちょっとラップっぽい謎パートあたりにはすこし迷走というか、方向性を探っている感じも見受けられて、それも愛おしいですね
でさあ、そう、ギタリカデラフエンテさんの曲がこの前、天下のAppleのCMに使われてたんですよお
Airpods4の、Somedayって映像の、冒頭ら辺と最後の方!
AppleのCMなんかに使われた音楽って、通常、注目を浴びそうじゃないですか
そんで、来たる5月の半ばには、新しいアルバムも出るという シングルカットされた曲はどれも新境地で、またこれがいい感じなわけですよ
そろそろ「来る」んじゃないか?と思っている
もうある程度は来てるだろうし、このくらいが到達点なのかもしんないけどさあ、でも、俺はもっともっといけると思うんだよ、ギタリカさん!
Studio Ghibli, the legendary Japanese animation studio, has produced some of the most beloved animated films of all time. From Spirited Away to My Neighbor Totoro, these movies enchant audiences with their breathtaking animation, deep storytelling, and emotional depth. If you're wondering where to watch Studio Ghibli movies legally, this guide will cover all the streaming platforms, physical media options, and theatrical screenings available worldwide.
Want to make Ghibli movies? Use ghibli style image generator(https://www.vpnblade.net/create-studio-ghibli-style-image/) to create movies for yourself.
1. Streaming Platforms for Studio Ghibli Movies
A. HBO Max (Now Max) – United States
In 2020, HBO Max secured exclusive streaming rights to Studio Ghibli films in the U.S. After HBO Max rebranded to Max in 2023, the entire Ghibli catalog remains available. use a VPN to unbloked ghibli moviee
Included Films:
• Howl’s Moving Castle
• Ponyo
• The Wind Rises
• And many more!
Availability: All films are offered in both subbed (Japanese with English subtitles) and dubbed (English voiceovers) versions.
B. Netflix – Select Regions (Outside the U.S.) Use VPN to acces this Platfrom.
While Max holds U.S. rights, Netflix has Studio Ghibli films in several countries, including:
• Japan
• Canada
• Australia & New Zealand
• Parts of Europe & Latin America
Note: Availability varies by region, so check your local Netflix library.
C. Amazon Prime Video (Rent/Buy)
If a Ghibli film isn’t on a streaming service in your country, Amazon Prime Video often offers rentals or purchases. Prices typically range from
3.99
t
o
3.99to14.99 per movie.
D. Apple TV, Google Play, Vudu, Microsoft Store
Similar to Amazon, these platforms allow digital purchases or rentals of Studio Ghibli films.
2. Physical Media: Blu-rays & DVDs
For collectors, physical copies provide the best quality and bonus features
A. GKIDS & Shout! Factory Releases (North America)
GKIDS, in partnership with Shout! Factory, distributes official Blu-rays and DVDs of Studio Ghibli films in the U.S. and Canada.
Key Features
Both Japanese and English audio
Special features (interviews, documentaries, trailers)
Where to Buy:
Best Buy
Barnes & Noble
Right Stuf Anime (for collectors)
B. StudioCanal Releases (UK & Europe)
In Europe, StudioCanal handles Ghibli’s physical releases. They offer 4K Ultra HD, Blu-ray, and DVD editions.
Where to Buy:
Zavvi
C. Madman Entertainment (Australia & New Zealand)
Madman distributes Ghibli films in Australia and New Zealand.
3. Theatrical Screenings & Special Events
Studio Ghibli films occasionally return to theaters for special screenings.
A. Fathom Events & GKIDS Theatrical Releases
GKIDS frequently partners with Fathom Events to bring Ghibli films back to U.S. theaters.
Check Fathom Events’ website or local theaters for upcoming showings.
B. Ghibli Fest (Annual Event)
Every year, GKIDS organizes Ghibli Fest, a series of theatrical re-releases. Past years have included:
Spirited Away (20th Anniversary)
Nausicaä of the Valley of the Wind
C. International Film Festivals
Some film festivals, like TIFF (Toronto International Film Festival) or Japan Society (NYC), host Ghibli retrospectives.
4. Free Legal Options (Limited Availability)
While most Ghibli films require purchase or subscription, some platforms offer limited-time free viewing.
A. Tubi (Ad-Supported Free Streaming)
Tubi occasionally rotates Studio Ghibli films in its catalog. Check periodically for availability.
B. Pluto TV (Ghibli Channel in Japan)
In Japan, Pluto TV has a dedicated Studio Ghibli channel. A VPN may be required for access outside Japan.
5. Studio Ghibli’s Official Platform: Ghibli Museum & Ghibli Park
If you’re in Japan, visiting the Ghibli Museum (Mitaka, Tokyo) or the newly opened Ghibli Park (Aichi) offers exclusive short films not available elsewhere.
Ghibli Museum: Features The Whale Hunt and other exclusive shorts.
Ghibli Park: A theme park with immersive exhibits based on Ghibli films.
6. What About Piracy? Why You Should Avoid It
While illegal streaming sites may offer Ghibli films for free, they:
Harm the creators (Studio Ghibli relies on legal sales).
Offer poor quality (low resolution, incorrect subtitles).
Supporting official releases ensures that Studio Ghibli can continue making beautiful films.
Final Verdict: Best Way to Watch Studio Ghibli Movies
VPN Tip: If your country blocks Ghibli films, ExpressVPN Discount Code( https://www.vpnblade.net/deals/expressvpn-coupon-code/) unlocks them instantly!
Method Best For Availability
Max (HBO Max) U.S. streaming Full Ghibli library
Netflix International viewers Varies by country
Blu-ray/DVD Collectors & best quality Worldwide (GKIDS/StudioCanal)
Theaters (Ghibli Fest) Big-screen experience Limited-time screenings
Digital Purchase Owning digital copies Amazon, Apple, Vudu
Whether you prefer streaming, physical copies, or theatrical experiences, there are plenty of legal ways to enjoy Studio Ghibli’s magical films. Max (U.S.) and Netflix (international) are the top streaming choices, while GKIDS Blu-rays offer the best home viewing experience. Keep an eye on Ghibli Fest for special cinema screenings!
Related Links:
https://free-movies-streaming-sites.onepage.me/
https://chatgptalternatives.weebly.com/
https://isaniwavesafe.hashnode.dev/is-aniwave-safe
What they had been building was a community. A community in which people went to every imaginable length to help out every single person they could—a place where international trade policy and CDOs were mere distant thoughts.
But as is they way the world works now, small towns in small empty states, a hundred years of community building or not, are just simply a sacrifice the powers that be are willing to make in exchange for a mere few more bips.
My papa was forced into retirement in 2011, and my nana stayed working at the school for the next decade. My papa though, wasn’t quite willing to throw in the towel. He tried increasing the size of his herd of brangus, but alas, cattle farming has been a cash-negative endeavor for several decades.
Like Whirlpool all the other manufacturing plants. There was no work to be found for the thousands of people combined plant workers that had been laid off in the wake of 2008. Every single way of making an honest living had up and gone with the wind to Mexico and East Asia.
There was nothing left but being a Gas station, Dollar General or Walmart cashier, and Walmart paid $7.25 an hour back then.
But you’d be hard pressed to even work at a gas station. There are only two gas stations immediately around that 1,200-person town; and one of them just went out of business, the other is owned by a Pakistani family.
As a consequence, the average household income in that town is now ~$30,000 a year. 90% of the children are on free and reduced lunch, most of the families that remain are on state assistance, and opioid and meth use has reached unprecedented rates.
And yet, “learn to code” they contemptuously sneer, all while gleefully kicking the door wide open to a swarm of cheap, barely-proficient immigrants, tanking the tech labor market behind everyone’s back.
4/6
彼らが築き上げてきたのはコミュニティでした。人々が考えられる限りのあらゆる手段を講じて、できる限りのあらゆる人々を助けるコミュニティであり、国際貿易政策やCDOが単なる遠い考えである場所でした。
しかし、現在の世界の仕組みでは、小さな空っぽの州の小さな町は、コミュニティの構築が100年であろうとなかろうと、権力者がほんの少しの利益と引き換えに喜んで払う犠牲に過ぎません。
私の父は 2011 年に強制的に退職させられ、祖母はその後 10 年間学校で働き続けました。しかし、父は諦めるつもりはありませんでした。ブランガスの群れを増やそうとしましたが、残念ながら、牛の飼育は数十年にわたって赤字が続いていました。
ワールプール社のような他の製造工場も同様です。2008 年以降に解雇された工場労働者を合わせた数千人に仕事は見つかりませんでした。まともな生計を立てる手段はすべてメキシコや東アジアに消えていきました。
ガソリンスタンド、ダラージェネラル、またはウォルマートのレジ係になるしか選択肢はなく、当時ウォルマートの時給は 7.25 ドルでした。
しかし、ガソリンスタンドで働くことさえ難しいでしょう。人口 1,200 人のその町のすぐ近くにはガソリンスタンドが 2 つしかありません。そのうちの 1 つは最近廃業し、もう 1 つはパキスタン人の家族が経営しています。
その結果、その町の平均世帯収入は現在年間約3万ドルです。90%の児童は無料または割引の昼食を食べて、残っている家族のほとんどは州の援助を受けており、オピオイドとメタンフェタミンの使用率は前例のないレベルに達しています。
それでも、彼らは「コーディングを学べ」と軽蔑的に冷笑し、安っぽくてほとんど熟練していない移民の群れに喜んで扉を大きく開け放ち、誰も知らないうちにテクノロジー労働市場を崩壊させている。
https://x.com/FedPoasting/status/1908020399838724436
Bugman Hegel
@FedPoasting
My family, stretching back to the 1600s, has given their blood, sweat, and tears making this country what it is. Building it up from dirt. From nothing.
400 years of living in unimaginably hostile conditions. Braving the disease, deadly weather, tribal nations, treachery, and lawlessness that is inherent to an ungoverned, unsettled territory. This nation was built, brick by brick, by bravest, toughest, most resilient people on the face of the earth.
And yet, for the past 60 years, the academic sophists in the ivory towers, the pigs in Washington, and the good-for-nothing parasites of the banking class have not only seen it fit to spit on their names, their sacrifices, their community, their race, and their religion, but also spit on their legacies, their children, their grandchildren, and their rightful inheritance. There are not the words in the English language to describe the evil of the orchestrated treachery that the United States government and those so interested, have inflicted on the inheritors of this nation.
The blood that was spilled carving this nation out of the god-forsaken backwaters it was, was a real, material thing. Blood, like people, is a material thing. And nations are comprised of people. America is a people. Ideas can’t shed blood; only people can. Ideas can’t sacrifice; only people can.
To call America an “idea” alone is to forsake all of those who shed their real blood and lost their real lives to construct the very comfort and luxury required to sit back and even consider calling such a sacrifice an “idea.”
私の一族は 1600 年代まで遡り、血と汗と涙を流してこの国を今の姿に築き上げてきました。土から、何もないところから築き上げてきたのです。
想像を絶するほど過酷な状況で 400 年間暮らしてきました。病気、恐ろしい天候、部族国家、裏切り、そして統治されていない未開拓の領土につきものの無法状態に立ち向かってきました。この国は、地球上で最も勇敢で、最もタフで、最も粘り強い人々によって、レンガを一つずつ積み上げて築かれました。
しかし、過去 60 年間、象牙の塔にいる学問上の詭弁家、ワシントンの豚野郎、銀行家の役立たずの寄生虫たちは、彼らの名前、彼らの犠牲、彼らのコミュニティ、彼らの人種、彼らの宗教に唾を吐くだけでなく、彼らの遺産、彼らの子供、彼らの孫、そして彼らの正当な相続財産にも唾を吐きかけてきました。米国政府とそれに関心を持つ人々がこの国の継承者に与えた組織的な裏切りの悪を表現できる言葉は英語には存在しません。
かつて神に見放された辺境の地であったこの国を切り開くために流された血は、現実の物質的なものでした。血は、人々と同様、物質的なものです。そして国家は人々で構成されています。アメリカは人々です。思想は血を流すことはできません。できるのは人々だけです。思想は犠牲を払うことはできません。できるのは人々だけです。
アメリカを「理念」と呼ぶことは、ただ座ってそのような犠牲を「理念」と呼ぶことを考えるために必要な快適さと贅沢さを築くために、本当の血を流し、本当の命を失ったすべての人々を見捨てることです。
https://x.com/FedPoasting/status/1908020403059949699
Bugman Hegel
@FedPoasting
For the last six decades, every single legacy institution, academic institution, government institution, and NGO has spent the past decade calling the very people who built this nation various iterations of uniquely, inherently, ontologically evil, calling us racists, and rapists, and genociders, and slavers, and oppressors, and backwoods, and inbreds, and reprobates, and white trash—all the while not-so-secretly making contingency plans for what to do with those of us ultimately considered excess biomass.
The American people decided at the ballot box. It’s time to pay the piper.
Bring back manufacturing, slap tariffs on imports, close the borders, deport the illegals, fire every single spiteful government-funded mutant, and remove the dollar from its position as world reserve currency. Americans, especially those of us who consider ourselves “ethnically” Heritage American—do not care how much it’s going to cost us in the short term; we are willing to sacrifice if it means we don’t have to sit and watch what’s left of our rightful inheritance be burned to the ground.
We want those guilty to pay their due penance. We want heads to roll.
過去 60 年間、あらゆる伝統的な機関、学術機関、政府機関、NGO は、この国を築いたまさにその人々を、さまざまな意味で独特で、本質的に、存在論的に悪であると呼び、私たちを人種差別主義者、強姦者、大量虐殺者、奴隷所有者、抑圧者、田舎者、近親交配者、堕落者、白人ゴミと呼び続けてきました。その間ずっと、余剰バイオマスと見なされる私たちのような人々をどうするかについて、それほど秘密ではない緊急時対応計画を立てていました。
製造業を復活させ、輸入品に関税を課し、国境を封鎖し、不法移民を国外追放し、政府資金で賄われている意地悪な変異種を一人残らず解雇し、ドルを世界の準備通貨の地位から排除する。アメリカ人、特に自分たちを「民族的に」伝統的なアメリカ人だと考える私たちは、短期的にどれだけの費用がかかるかなど気にしない。正当な遺産の残りが焼き尽くされるのをただ座って見過ごす必要がないなら、喜んで犠牲を払うつもりだ。
私たちは罪を犯した者たちに当然の罰を与えてほしい。首が飛ぶことを望んでいる。
https://x.com/FedPoasting/status/1908020406419861654
Bugman Hegel
@FedPoasting
In 2011, my papa was laid off from a Whirlpool manufacturing plant, the kind that had for so long made America great. In the wake of the financial crisis, the C-suite had decided to offshore operations to Mexico.
The plant they shuttered was a 1.2 million sq ft manufacturing plant, and overnight, 1,000 people lost their jobs. Many of whom had been working there for decades.
My papa was 57 years old when he got laid off. He had worked at that very same plant for over 30 years, and snap just like that, it was all gone.
1/6
2011年、私の父は、長年アメリカを偉大にしてきたワールプール社の製造工場から解雇されました。金融危機を受けて、経営陣はメキシコへの事業移転を決定しました。
閉鎖された工場は120万平方フィートの製造工場で、一夜にして1,000人が職を失った。その多くは数十年にわたってそこで働いていた人たちだった。
父は57歳のときに解雇されました。父は30年以上同じ工場で働いていたのですが、突然すべてが消えてしまったのです。
1/6
When I was a little girl, from as far back as I could remember, my papa woke up at 3:30 am and drove the 40 minutes to the plant from the rural 1,200-person town every single day. And for 30 years, he worked what were often 10-12 hour shifts with no complaints.
I grew up a Navy brat, so I didn’t get to see my grandparents except for a few months during the summer, but I remember my papa exerting the last drop of his energy so he could spend time with us going to the creek, building us a tree house, riding horses, and playing cowboys and Indians.
Every evening, starting from when I was in grade school, my papa and I would sit in the living room and watch the History Channel, Animal Planet, and Bill O’Reilly and hee-haw together about what the Democrats were doing, as much as an eight-year-old can.
My papa and my nana had been together since they graduated high school; they got married at barely 18 and had my mom less than a year later and my aunt soon after that.
They had a small homestead, owned most of what they had outright, and they were poor, but poor doesn’t have to mean that much when you can work the land.
My nana worked as the local school’s secretary, and my papa had good benefits with his manufacturing job. They only ever went out to eat on special occasions. McDonald’s was a birthday-only type of affair. They had a one-acre garden, a few head of cattle, would can fruits and vegetables at the end of every summer, and freeze chopped okra, blueberries, meat from wild hogs and venison in an old chest freezer in the workshop.
私がまだ子供だった頃、物心ついたころから、父は毎日午前 3 時半に起きて、人口 1,200 人の田舎町から工場まで 40 分かけて車で通っていました。そして 30 年間、父は不満を言うことなく、10 時間から 12 時間のシフト勤務をこなしました。
私は海軍の子供として育ったので、夏の数か月を除いて祖父母に会う機会はありませんでしたが、父が最後の力を振り絞って私たちと一緒に小川に行ったり、ツリーハウスを作ったり、馬に乗ったり、カウボーイやインディアンごっこをしたりして時間を過ごしていたことを覚えています。
小学生の頃から、毎晩、私とパパはリビングルームに座って、ヒストリーチャンネルやアニマルプラネット、ビル・オライリーを見て、8歳の子どもができる限り民主党が何をしているのか一緒に大笑いしていました。
私の父と祖母は高校を卒業して以来ずっと一緒にいました。彼らは18歳になるかならないかで結婚し、1年も経たないうちに母が生まれ、その後すぐに叔母が生まれました。
彼らは小さな農場を所有し、所有物のほとんどを完全に所有していましたが、貧しかったです。しかし、土地を耕作できるなら、貧しいということはそれほど大きな意味を持つ必要はありません。
私の祖母は地元の学校の事務員として働いており、父は製造業で良い福利厚生を受けていました。外食するのは特別なときだけで、マクドナルドは誕生日にしか行かなかったのです。彼らは 1 エーカーの菜園と数頭の牛を飼っていて、毎年夏の終わりには果物や野菜を缶詰にし、作業場の古いチェスト型冷凍庫で刻んだオクラ、ブルーベリー、野生のイノシシの肉、鹿肉を冷凍していました。
Despite never having been on a plane and seldom ever having been outside of Arkansas, they managed to put both my mom and aunt through college and graduate school without requiring them to incur even a dime of debt. This was the 1990s.
Then at the age of 57, my papa and 1,000 of his coworkers were thrown away like a piece of trash after giving that company decades of their lives. And what were they told to do? What was their consolation prize?
Learn. To. Code.
My papa and nana were born in the 1950s in a place that was quite literally the Wild West just mere decades before their birth.
Growing up, neither of them had running water—they drew water from a well, washed up in a tin tub heated over a fire, and went to the restroom in an outhouse. They were both educated in a one-room schoolhouse and both came from families that relied on their farm’s livestock to feed themselves. People like my grandparents built this nation. They built this nation for their children.
But because the thing they sought to build wasn’t a stock portfolio or real estate portfolio, the preservation of their homes and communities was not something that Wall Street nor Washington saw as having enough value to be anything more than apathetic about blowing up.
飛行機に乗ったことも、アーカンソー州から外に出たことがほとんどなかったにもかかわらず、両親は母と叔母を一銭も借金せずに大学と大学院に通わせることができました。1990年代のことでした。
そして、父と1,000人の同僚は、57歳で会社に何十年も捧げた後、ゴミのように捨てられました。そして、彼らに何をするように言われたのでしょうか? 慰めの賞品は何だったのでしょうか?
Learn. To. Code
私のパパとおばあちゃんは、1950年代に生まれましたが、彼らが生まれるほんの数十年前までは、そこはまさに「ワイルド・ウェスト」でした。
両親ともに水道のない環境で育ったため、井戸から水を汲み、火で沸かしたブリキの桶で体を洗い、離れのトイレで用を足した。二人とも一教室の学校で教育を受け、農場の家畜に頼って食料を得ていた家庭の出身だ。祖父母のような人々がこの国を築いた。子供たちのためにこの国を築いたのだ。
しかし、彼らが構築しようとしていたのは株式ポートフォリオでも不動産ポートフォリオでもなかったため、彼らの家やコミュニティの保全は、ウォール街やワシントンにとって、破壊することに無関心以上の価値があるとは考えられなかった。
https://x.com/FedPoasting/status/1908020397842509905
I wasted a lot of years doing nothing but cope with severe OCD. I couldn't study for junior college. I had to drop out of graduation school. I also had to leave two important internships. I think it is time I changed things. I need to learn Common Lisp and get a job, I need to earn and buy a new laptop along with an ergonomic keyboard. I wish learning with mental disorder was easier.
07:00 – 起床
通常通り7:00に目覚める。これは人間の生体リズムに最適な時間だと科学的に証明されている。
もっとも、隣人はこの理論を受け入れず、毎朝「うるさい!」と言いながら枕を投げてくる。
彼女の反射神経は驚くべきほどに発達しているが、物理学的には彼女の投擲能力には改善の余地がある。
空気抵抗と重力の計算をして最適な投球角度を説明しようとしたが、「今すぐ黙れ」という短い一言で議論は終了した。
朝食(オートミールと正確にミルク125mlのシリアル)を摂りながら、10次元時空におけるDブレーンの振動が、なぜ特定の条件下でエントロピーの異常な変化を示すのかについて考えた。
超弦理論では、Dブレーンはストリングが終端する膜のようなものだが、最近のシミュレーションでは特定のエネルギースケールで局所的なカオス的振る舞いを示すことが示唆されている。
しかし、これはボルツマンのエントロピー増大則と一致しないように思える。もしこの現象が実験的に観測された場合、それはブラックホール情報パラドックスと関連している可能性がある。
08:15 – 隣人の乱入
考察の途中で、隣人が「また何かブツブツ言ってるの?朝からブラックホールとかやめてよ」と言いながらキッチンに入ってきた。
彼女が物理学の深遠な問題に無関心なのは今に始まったことではないが、それでも毎回失望を隠せない。
「ブラックホールの情報パラドックスは物理学最大の未解決問題の一つだ。もし理解できれば、宇宙の根源すら解明できるかもしれないのに」と僕は伝えた。
彼女はため息をつきながら冷蔵庫を開け、「とりあえずコーヒーを淹れてくれる?」と言った。
非対称な労働分配に納得がいかないが、彼女の認識力を考慮すると、これは教育的活動と考えよう。
10:00 – ゲームタイム(スーパーマリオ64の最適ルート解析)
超弦理論の考察の後はリラックスの時間だ。今日はスーパーマリオ64の「16スターRTA(Real-Time Attack)」の最適ルートを再検討した。
現在の最速記録は14分台だが、僕は独自の数理モデルを用いて、壁抜けの確率を最適化し、タイム短縮の可能性を模索している。
マリオのヒットボックスと壁の衝突判定を解析し、量子トンネル効果的な抜け方ができないか計算してみたが、残念ながらゲームエンジンの整数演算による誤差が問題を引き起こしていた。
今日は月曜日なので、タイ料理(正確にはパッタイ)の日だ。友人の配膳が1.2cmずれていたため、食べる前に修正を求めたが、彼は「ちょっとくらいずれてても大丈夫だろ」と言った。
「1.2cmなら許せると思うかもしれないが、宇宙の誕生がプランク長の揺らぎから始まったことを考えれば、すべてのズレが宇宙的な影響を持ちうることが理解できるはずだ。」
彼は黙って僕の皿を直した。やはり物理学の重要性を理解することは食事のクオリティにも関わるのだ。
18:00 – 隣人との予期せぬ遭遇
隣人がソファに寝そべりながら、Netflixでドラマを見ていた。
僕は冷蔵庫からボトルウォーターを取り出すために立ち寄ったが、彼女が「ちょっとだけこのドラマ見てみない?」と言った。
通常なら無視するが、今日は気分が良かったので「どんなテーマだ?」と尋ねた。
「不合理だ。ゾンビが物理的に成り立つ可能性はほぼゼロだ。細胞のエネルギー供給が断たれたら、運動など不可能だし、腐敗による神経系の崩壊もある」
「それは受け入れられないが、現代社会の終焉に関するシミュレーションとしての価値があるかもしれない。見てもいい。」
こうして、僕は隣人と一緒にドラマを見ることになった。彼女がポップコーンを僕の手に押し付けてきたが、バターの分量が通常の標準値(5g)を超えていたため、慎重に食べることにした。
今日も僕の知的探求とルーチンの完璧な遵守によって、良い一日となった。唯一の例外は隣人との予期せぬ遭遇だったが、これも統計的には想定内だ。
Miracles are chance phenomena that when inevitability rules.
At the same time, they are also inevitable phenomena that occur when chance rules.
はてなブックマークのAPIを利用して 非公開 でブックマークする方法をご説明します。
2. OAuthのトークンを発行する。(個人用のスクリプトなら「パーソナルアクセストークン」推奨)
ブックマークを 非公開 にするには、APIのリクエストボディに private フィールドを 1 に設定します。
エンドポイント:
POST https://bookmark.hatenaapis.com/rest/1/my/bookmark
リクエストボディ(JSON): { "url": "https://anond.hatelabo.jp/xxxxxxx", "comment": "自動ブックマーク", "private": 1 }
以下のコードを実行すれば、10分以内の匿名ダイアリー記事をランダムに 非公開 でブックマークできます。
import feedparser import requests import random import time from datetime import datetime, timezone, timedelta # はてなAPIの認証情報 HATENA_API_KEY = "あなたのAPIキー" HATENA_USERNAME = "あなたのはてなID" # はてな匿名ダイアリーのRSS URL RSS_URL = "https://anond.hatelabo.jp/rss" # 10分以内の投稿を取得 def get_recent_entries(): feed = feedparser.parse(RSS_URL) recent_entries = [] now = datetime.now(timezone.utc) for entry in feed.entries: published_time = datetime(*entry.published_parsed[:6], tzinfo=timezone.utc) if (now - published_time) < timedelta(minutes=10): recent_entries.append(entry.link) return recent_entries # はてなブックマークに非公開で追加 def bookmark_entry(entry_url): url = "https://bookmark.hatenaapis.com/rest/1/my/bookmark" headers = { "Authorization": f"Bearer {HATENA_API_KEY}", "Content-Type": "application/json" } payload = { "url": entry_url, "comment": "自動ブックマーク", "private": 1 # 非公開設定 } response = requests.post(url, json=payload, headers=headers) return response.status_code # メイン処理 while True: entries = get_recent_entries() if entries: entry = random.choice(entries) status = bookmark_entry(entry) print(f"非公開ブックマーク: {entry}, ステータス: {status}") time.sleep(600) # 10分ごとに実行
• 実行環境: Python 3.x が必要。requests と feedparser をインストール (pip install requests feedparser)
• 実行間隔: time.sleep(600) で10分ごとに実行
• API制限: はてなAPIにはリクエスト制限があるため、短時間で大量に実行しないように注意
• OAuth認証: APIキーだけでなく、OAuthトークンを使うほうがより安全
このスクリプトを実行すれば、最新の匿名ダイアリー投稿を10分以内のものからランダムに選び、非公開でブックマークする ことができます。
増田で 3 分以上投稿されない期間があるのか気になったから調べた
直近の 1 日だとこれだけあった
2025-03-22 00:14 -- 2025-03-22 00:18 2025-03-22 00:10 -- 2025-03-22 00:14 2025-03-21 07:56 -- 2025-03-21 08:00 2025-03-21 07:50 -- 2025-03-21 07:56 2025-03-21 07:44 -- 2025-03-21 07:48 2025-03-21 07:28 -- 2025-03-21 07:32 2025-03-21 06:58 -- 2025-03-21 07:03 2025-03-21 06:45 -- 2025-03-21 06:54 2025-03-21 06:32 -- 2025-03-21 06:37 2025-03-21 05:56 -- 2025-03-21 06:04 2025-03-21 05:51 -- 2025-03-21 05:56 2025-03-21 05:34 -- 2025-03-21 05:38 2025-03-21 05:30 -- 2025-03-21 05:34 2025-03-21 05:00 -- 2025-03-21 05:09 2025-03-21 04:56 -- 2025-03-21 05:00 2025-03-21 04:45 -- 2025-03-21 04:50 2025-03-21 04:09 -- 2025-03-21 04:13 2025-03-21 03:41 -- 2025-03-21 03:45 2025-03-21 03:29 -- 2025-03-21 03:39 2025-03-21 03:03 -- 2025-03-21 03:07 2025-03-21 02:56 -- 2025-03-21 03:02 2025-03-21 02:44 -- 2025-03-21 02:48 2025-03-21 02:33 -- 2025-03-21 02:37 2025-03-21 02:21 -- 2025-03-21 02:27 2025-03-21 02:14 -- 2025-03-21 02:19
秒はみてないから 00:01:01 - 00:03:59 はほぼ 3 分だけど 2 分扱いだし、 00:01:59 - 00:04:00 はほぼ 2 分だけど 3 分扱いになるくらいの誤差はある
日によって違うだろうし、曜日の影響も大きそうだから 1 ヶ月分くらい調査しようかと思ったけど、
増田の量が思いの外多すぎて 1 日分だけでも 100 ページ以上取得しないといけなかった
件数だと 2500 以上
一応取得に使ったコードも載せとく
import { setTimeout } from "node:timers/promises" import { Browser } from "happy-dom" const getTimestamps = async function* () { const browser = new Browser() const page = browser.newPage() try { for (let num = 1; ; num++) { await setTimeout(3000) await page.goto(`https://anond.hatelabo.jp/?page=${num}`) const days = page.mainFrame.document.querySelectorAll(".day") for (const day of days) { const date = day.querySelector("h2 .date").textContent.trim() for (const footer of day.querySelectorAll(".sectionfooter")) { const time = footer.textContent.match(/\d{2}:\d{2}/)[0] yield `${date} ${time}` } } } } finally { await page.close() await browser.close() } } const diff = (a, b) => { return new Date(b + ":00") - new Date(a + ":00") } let prev = null for await (const datetime of getTimestamps()) { if (prev &amp;&amp; diff(datetime, prev) > 1000 * 60 * 3) { console.log(datetime, prev) } prev = datetime }
基本は空いても 5 分程度であり、最大でも 10 分となっている
RopeもといBigList+GapBufferでさくさくエディターの置き換え処理をやってみた。
使用したマシンはCore i7 14700、メモリー32GB、Intel ARC A750。
100万行×100文字を置き換え。
replace1は3文字削除の3文字挿入で、3.5秒ぐらいで終わる。
replace2は3文字削除の4文字挿入で、4.9秒ぐらいで終わる
replace3は4文字削除の3文字挿入で、3.6秒ぐらいで終わる。
enumratotionはNULデバイスへの保存で、1.1秒で終わる。
benchmark start
Allocated GC Memory:60,600bytes
Allocated GC Memory:199,388,824bytes
Allocated GC Memory:199,405,136bytes
Allocated GC Memory:368,390,560bytes
Allocated GC Memory:368,390,560bytes
Allocated GC Memory:368,390,736bytes
clear buffer
Allocated GC Memory:84,360bytes
100万行の行とインデックスの変換テーブルの追加と更新処理はこのくらいで終わる。
変換テーブルの処理は構築が0.2秒、行が増えない更新は0.1秒ぐらいで終わる。
Allocated GC Memory:32,805,312bytes
Allocated GC Memory:32,811,000bytes
clear buffer
Allocated GC Memory:84,616bytes
以下、ソースコード。
一次元インデックスから二次元インデックス、すなわちバイト数であらわされる位置から行と桁への変換がテキストエディターだとよく発生する。
この変換を素早くするために変換テーブルを作るのだが、普通に作ると更新の時にO(N)かかる。
さくさくエディターの作者は局所的行更新手法で殆どの場面ではO(1)、最悪はO(N)にしていたが、色々と事故が発生しやすい。
特にstepRowをまたぐ状況でテーブルのほぼ全部の更新を避けようと思うと事故りやすい。
俺は何度も事故を起こした。
そこで別のやり方でオーダーを削減してみた。
https://github.com/rirufa/FooList/blob/main/List/BigRangeList.cs
考え方は至極単純でRopeをたどるときに変換テーブルの長さを覚えておき、ついでに変換を済ませておこうというごくごく簡単なものである。
この方法により、変換テーブルの更新はO(Log N)+M、探索はO(Log N)+O(Log M)程度で済ませられるようになった。
局所的行更新手法に比べるとだいぶ遅いが、Mが十分に小さければそこまでコストはかからないはず。
ただし、マーカーみたいに連続していないものを放り込んだら、うまく動かないのでそこはご了承いただきたい。
Allocated GC Memory:32,803,672bytes
Allocated GC Memory:32,809,360bytes
clear buffer
Allocated GC Memory:82,976bytes
https://github.com/rirufa/FooList/blob/main/EditorDemo/Program.cs
手書き黒電話時代はアメリカの探偵小説やらが持て囃されていた気がするが、たぶん現代で言うアップルのようなもので、当時は斬新だったんだろう
そのあと片岡義男とかが半和製アメリカンノスタルジーのバイク小説を書いてた
しかし大統領選は投票日ぐらいしか報道されてなかったし、アカヒはロシア政情の記事をばらまいていた(たぶん米軍むけ報告)
本屋で買える輸入雑誌はTIMEぐらい、ジャパンタイムズの英語は変だった
それからビデオデッキができて字幕映画が見れるようになり、洋書販売ももポツポツ増えて、スポコン漫画じゃない大友克洋とかが現れた
忘れてたけど持ってるかも
ChatGPT:
確かに、単に「疫学的データが必要」と言っても、具体的に どのような研究デザインが可能か を明確にしないと意味がないね。また、倫理的・科学的に実施可能かどうかも考慮する必要がある。
疫学研究のデザインにはさまざまな種類があるが、ここでは社会的影響を評価するために適したものを挙げてみる。
1. 観察研究(Observational Studies)
倫理的な問題が少なく、社会的な現象を分析するのに適した方法。
対象群: ある特定の嗜好を持つ人々(例:ロリコン向けコンテンツを消費する人)と、そうでない人を長期間追跡。
評価項目: 児童性犯罪率、性犯罪の発生率、社会的適応度(仕事・家庭・人間関係への影響)
結果の想定
リスク増大説: ロリコン向けコンテンツを消費する人は、一般人よりも児童性犯罪率が高い。
リスク低減説: コンテンツを消費することで、犯罪の代替手段となり、実際の犯罪は減る。
そもそも「ロリコン向けコンテンツを消費する人」をどう定義し、追跡するかの問題。
対象群: 既に児童性犯罪を犯した人(ケース)と、犯罪を犯していないが似た社会属性を持つ人(コントロール)。
評価項目: 両者の間で、ロリコン向けコンテンツの消費率に有意な差があるか。
結果の想定
リスク増大説: 児童性犯罪者の方が有意にロリコン向けコンテンツを消費している。
無関係説: 差はない。
因果関係を証明するのが難しい(犯罪を犯したからロリコンコンテンツを消費するのか、それともその逆か?)。
2. 介入研究(Interventional Studies)
因果関係を明確にするために、何らかの介入を行い影響を見る方法。ただし、倫理的に実施可能かどうかが問題。
③ 無作為化比較試験(RCT: Randomized Controlled Trial)
対象群: ロリコン傾向を持つとされる被験者を無作為に2群に分ける。
B群: 何も見せない(対照群)
評価項目: 性的興奮度(生理的指標)、犯罪傾向(心理テスト)、実際の犯罪発生率。
結果の想定
無関係説: 差がない。
倫理的に実施不可能(特定の嗜好を持つ人に意図的に刺激を与え、犯罪発生を測るのは倫理的に許されない)。
被験者の選定が困難。
3. 時系列分析(Time-Series Analysis)
ある国や地域で「ロリコン向けコンテンツの規制」が行われた場合、その前後で犯罪率の変化を分析。
結果の想定
無関係説: 変化なし。
他の要因(経済状況、法改正など)が影響する可能性があり、単純な因果関係を証明しにくい。
対象群: ロリコン向けコンテンツを見る群と、そうでない群を比較。
評価項目: 性的興奮を示す脳領域の活動変化、衝動抑制機能(前頭前野の活動)。
結果の想定
リスク低減説: コンテンツを見たことで、満足し、衝動が抑えられる。
無関係説: 影響なし。
脳の反応と実際の行動との関連性が不明確。
「犯罪に至るか?」を測ることができない。
まとめ
観察研究(コホート・症例対照研究)なら可能だが、因果関係を証明するのは難しい。
自然実験(政策の変化を利用)なら実施可能だが、他の影響を排除するのが難しい。
心理学・神経科学研究は補助的に使えるが、社会的影響の証明には不十分。
このように考えると、「疫学的データを取る」と言っても、 どこまで実行可能で、どこまで意味のあるデータが得られるのか? を考えながら議論しないといけないね。
ChatGPT:
そうだね。疫学的データを取得するのは現実的に難しいし、ポルノのゾーニングについては既に社会的な合意が取れている。その前提に立てば、ロリコン向けコンテンツも同じ枠組みで扱うのが合理的だと思う。
成人向けコンテンツ(ポルノ)は 「未成年に触れさせない」「適切な流通経路を確保する」 という社会的合意のもとで扱われている。
これと同じように 「ロリコン向けコンテンツも、未成年の目に触れないように管理されるなら許容される」 という考え方が妥当。
オンラインでの販売時に 年齢認証を義務化(18歳未満は購入不可)。
SNSなどのオープンな場では、未成年が目に触れにくい仕様にする。
実在の児童を描写したもの(児童ポルノ)は違法なので、完全なフィクションであることを明確にする。
キャラクターデザインや描写において、実在の児童と誤認されないように注意する(例: 「18歳以上のキャラクター」と明示する)。
すでに「成人向けコンテンツのゾーニング」は社会的に受け入れられている。
これをロリコン向けコンテンツにも適用すれば、新たな枠組みを作る必要がない。
一方で、無制限に流通させると「未成年の目に触れる」などの問題がある。
ゾーニングを徹底することで、両者の折り合いをつけることができる。
科学的なリスク評価が困難な以上、社会的合意に基づくルールが最適
疫学的データの取得が現実的でない以上、「実害があるかどうか」の結論を出すのは難しい。
ならば、「すでに社会的に機能しているゾーニングのルールに従う」のが最も現実的。
✅ ロリコン向けコンテンツは ポルノと同じゾーニングルール を適用すればよい。
✅ 未成年が触れられないように管理すれば、禁止する理由はない。
✅ 疫学的データを取るのが非現実的なら、既存の社会的合意を活用するのが合理的。
AI開発の分野だと推論のことをtest timeというのが紛らわしすぎる
推論は推論(Inference)と呼んでほしいなあ。predictでもいいけど。
NVDAのCEOがTest-time computeがどーたらこーたら言っていたのは、推論処理のことであって、
deepseek とかで深く考える推論が性能にいい影響を与えていると。
そして、深く推論するにはたくさん処理しないといけないから、GPUがもっとたくさん売れるという意味だ。
まず、「test time」っていうのは、機械学習のワークフローの中でモデルを評価するフェーズを指す言葉として元々使われてたんだ。モデルをトレーニングした後、「訓練データ(training data)」とは別の「テストデータ(test data)」を使って性能を測る。この「テストするタイミング」を「test time」と呼ぶのが自然に定着した感じ。 で、推論(inference)の話が出てくるんだけど、モデルが実世界で使われるとき、つまり「予測(prediction)」や「推論」を行うタイミングが、まさにこの「test time」と重なることが多いんだよね。訓練が終わったモデルに新しいデータ(未知の入力)を入れて結果を出すフェーズだから、「test time」に推論が含まれるってわけ。たとえば、画像認識モデルが「これは猫だよ」って判断する瞬間は、訓練済みモデルを使った「テスト」の一種とも言える。 でもさ、君の言う通り紛らわしいのは間違いない。特に「テスト」って聞くと、開発中の評価ステップを想像しちゃうけど、実際には本番環境での推論(リアルタイムで予測を出す場面)も「test time」って言っちゃうことがあって、ニュアンスが混ざりがち。研究者やエンジニアによっては「inference time」とか「prediction time」って明確に分けて呼ぶ人もいるよ。たとえば、論文とかドキュメントだと「inference latency」(推論の遅延)みたいな表現で「test time」と区別してる場合もある。
と、いうことで。
https://grok.com/share/bGVnYWN5_301b0cb5-5668-4ae6-9228-a5a627776910
健司は妹の真希に尋ねながら、Targetのショッピングカートを押していた。アメリカ西海岸の明るい日差しが窓から差し込み、広々とした店内を照らしていた。
「うーん、お土産にチョコレートとか買いたいかな。あと、日本じゃ手に入らないスナックとか」
真希は興味津々で商品棚を眺めていた。東京での日常から離れ、兄の暮らすアメリカを訪れるのは初めてだった。
「あっちのコーナーにお菓子が置いてあるよ。行ってみよう」
健司がカートを向け直したその時だった。
振り返ると、白人の男性が妻と10歳くらいの息子を連れて近づいてきた。
「Oh, Mike! Good to see you here.」
「This is my sister, Maki. She's visiting from Tokyo.」
「Nice to meet you! I'm Mike, I work with your brother. This is my wife Sarah and our son Tommy.」
「Nice to meet you too...」
「So, are you enjoying your time in America? Is this your first visit during school break?」
真希は一瞬混乱した表情を見せたが、何と答えるべきか迷っていた。健司が状況を察して助け舟を出そうとした時、トミーが口を挟んだ。
「Mom, she looks like the anime characters I watch! But smaller!」
サラは息子の発言に顔を赤らめ、「Tommy!」と小声で叱った。
「So, um... what grade are you in? Middle school?」
真希は困惑した表情で健司を見た。健司は軽く咳払いをして説明した。
「Actually, Maki is 26. She works for a marketing company in Tokyo.」
「Oh my god, I'm so sorry! I didn't mean to... You just look so young!」
サラは慌てて謝った。マイクも頭を掻きながら申し訳なさそうな表情を浮かべた。
「Yeah, totally my bad. Japanese genes must be amazing for preserving youth!」
「But she's like, super tiny! Like a kid!」
「Tommy!」今度はマイクとサラが同時に息子を制した。二人の顔は真っ青になり、その場の空気は凍りついた。
真希は何と言っていいか分からず、ただ微笑むしかなかった。健司は状況を和らげようと笑いながら言った。
「It's okay, really. She gets that a lot, even in Japan. Actually, it's considered a compliment to look young in our culture.」
サラは安堵の表情を浮かべながらも、まだ恥ずかしそうだった。
「Still, I should have asked properly. Would you like to join us for coffee sometime during your stay? I'd love to hear about Tokyo.」
「Yes, I would like that. Thank you.」
その後、二組は別れ際の挨拶を交わした。マイク一家が去った後、真希はため息をついた。
「私、そんなに子供に見える?」
「気にするなって。向こうの方が恥ずかしがってたじゃないか。若く見られるのは悪いことじゃないよ」
「トミー君の『子供みたい!』で、ご夫婦が真っ青になったのが面白かった」真希はくすくす笑った。
「あれは『うちの子が人種差別的な発言をしてしまった』と思って焦ったんだよ。アメリカ人はそういうの敏感だからね」
健司と真希はお菓子コーナーに向かいながら、この予想外の出来事について話し合った。真希にとって、これもまたアメリカ旅行の思い出の一つとなるのだろう。
BigList<T>の内部で使われているやつをGapBuffer<T>に置き換えてみたら、リーフノードのサイズが32768だと遅くなるけど、最大メモリー使用量はそこまで変わらんな。
benchmark start
Allocated GC Memory:60,232bytes
Allocated GC Memory:199,389,088bytes
Allocated GC Memory:199,404,752bytes
Allocated GC Memory:368,390,176bytes
Allocated GC Memory:368,390,176bytes
Allocated GC Memory:368,390,320bytes
clear buffer
Allocated GC Memory:83,992bytes
benchmark start
Allocated GC Memory:60,232bytes
Allocated GC Memory:332,559,240bytes
Allocated GC Memory:332,583,016bytes
Allocated GC Memory:369,076,056bytes
Allocated GC Memory:369,076,056bytes
Allocated GC Memory:369,076,200bytes
clear buffer
Allocated GC Memory:83,992bytes
ただ、ブロックサイズを32768にしても、最大で1.2倍程度しか遅くならず、文字数が変わらないなら、2割程度早くなるので、ブロックサイズをある程度大きくした方がいいようだ