はてなキーワード: Trueとは
BG_A のテキストプレーンをスプライトの上に持ってくることが出来たよ
あと PAD の入力がイベントハンドラで変な感じだったけど普通に今の状態が読めるのでフレームシンクで毎回読むようにしてすっきりんこ
これでイベントハンドラだと必ずトリガーになっててこれキーアップもみてなおすんかーいと思っていたのがやらなくてすみました
あとはいつものファイバを実装して今まで適当に書いてたのをファイバ側にリファクタリングしてだいぶすっきりんこ
あとメインループを while(TRUE) { //. }から for (;;) { //. } に変更しました
好みもありますが while で書くなら while ('A') { //. のほうがなんかやばい雰囲気になる気がする}
I've noticed a non-negligible number of people who have not only completed compulsory education in regular classes but have also received higher education and graduated from university, yet struggle with reading comprehension (understanding the meaning of text), cannot read long texts, and even have difficulty understanding videos.
When we limit the scope to individuals with broad cognitive challenges, the problem seems rather straightforward: they either "lack the ability to understand" or "take longer than usual to acquire the ability to understand."
Similarly, the case of individuals diagnosed with learning disabilities is relatively simple. While they may not have broad cognitive challenges, they require different approaches and training due to their unique learning styles.
However, it is perplexing that university graduates without broad cognitive challenges or diagnosed learning disabilities struggle to understand not only written text but also simplified video content.
I suspect that the underlying causes might include gaps in the horizontal transfer of experiences and knowledge, a severe lack of adaptability, and an extreme deficit in metacognition. Has there been any research on these issues? Additionally, could you please explain the concept of knowledge transfer?
(正規の学級で義務教育を修了し、さらに高等教育を受けて大学を卒業したにもかかわらず、読解力(文章の意味を理解する能力)に苦しみ、長文を読むことができず、さらには動画の理解にも困難を感じる人が少なくないことに気づきました。
認知能力に広範な課題を抱える個人に範囲を限定すると、問題は比較的単純です。「理解する能力がない」か、「理解する能力を獲得するのに通常よりも時間がかかる」かのいずれかです。
同様に、学習障害と診断された個人の場合も比較的単純です。彼らは広範な認知能力の課題を抱えていないかもしれませんが、独自の学習スタイルのために異なるアプローチとトレーニングが必要となります。
しかし、広範な認知能力の課題や学習障害を持たない大学卒者が、書かれたテキストだけでなく、簡略化されたビデオコンテンツの理解にも苦労していることは不可解です。
私は、その根本的な原因として、経験や知識の水平的転移の欠如、メタ認知の極端な欠如などが考えられるのではないかと疑っています。これらの問題に関する研究はありますか?また、知識転移の概念について説明していただけますか?)
Yes, research and analysis exist around the issues you described, particularly in the domains of education, psychology, and cognitive science. Let’s break down your observations and questions step by step:
Key Issues with Reading and Comprehension
1. Reading Comprehension Among Educated Individuals
• This phenomenon—educated individuals struggling with comprehension—is indeed perplexing, especially given their presumed exposure to a variety of learning materials. It suggests that education systems sometimes emphasize rote learning and surface-level knowledge acquisition over deeper understanding, critical thinking, and metacognition.
• Horizontal Transfer Gaps: This refers to the inability to apply knowledge or skills learned in one context to another. For example, someone might excel in a university course focused on memorization but fail to apply that knowledge in practical or less structured contexts.
• Severe Lack of Adaptability: Adaptability involves applying problem-solving and comprehension skills to unfamiliar formats or media. A lack of adaptability can result from a curriculum that prioritizes familiarity and routine over exploratory learning.
• Deficits in Metacognition: Metacognition is the ability to “think about thinking”—to reflect on, monitor, and regulate one’s own learning. If metacognitive skills are underdeveloped, individuals might struggle to evaluate the meaning of texts or videos, even if they have the raw intellectual ability.
Research Insights
1. Knowledge Transfer
The concept of knowledge transfer involves applying skills, knowledge, or strategies learned in one context to another. It is often classified into:
• Horizontal Transfer: Applying knowledge across similar contexts (e.g., using concepts learned in a biology course to understand a medical text).
• Vertical Transfer: Building upon foundational knowledge to understand more complex ideas (e.g., using basic algebra to solve advanced calculus problems).
Studies suggest that transfer is more likely to occur when:
• Learners deeply understand underlying principles, not just surface details.
• Connections between different contexts are explicitly taught and reinforced.
• Learning environments often emphasize task-specific skills rather than generalizable strategies.
• Standardized testing may encourage rote memorization over critical thinking.
• Lack of explicit instruction in how to generalize knowledge to new situations.
Research highlights the importance of metacognition in learning. Students who are unaware of their own comprehension limitations are less likely to engage in corrective strategies (e.g., rereading, seeking clarification). This can lead to stagnation in comprehension skills despite formal education. Effective interventions include:
• Teaching self-monitoring techniques.
• Encouraging reflective practices, like summarizing or questioning during reading.
4. Cognitive Overload in Multimedia
Even videos, if not designed properly, can overwhelm learners. The Cognitive Theory of Multimedia Learning suggests that excessive extraneous information or unclear organization in videos can overload working memory, hindering comprehension.
Strategies and Research-Based Solutions
1. Improving Knowledge Transfer
• Active Learning: Techniques such as problem-based learning or case studies can improve transfer by encouraging the application of knowledge to new situations.
• Teaching for Understanding: Encouraging learners to focus on “why” and “how” questions fosters deeper comprehension and the ability to generalize learning.
• Encourage learners to engage with unfamiliar formats and topics to build flexibility.
• Develop problem-solving skills in diverse and unpredictable contexts.
3. Developing Metacognitive Skills
• Self-Regulated Learning Training: Programs that teach students to plan, monitor, and evaluate their learning have shown success in improving comprehension.
• Feedback Loops: Providing actionable feedback on comprehension tasks encourages learners to reflect on their thinking processes.
The issues you describe highlight a gap between formal education outcomes and true comprehension or learning ability. Addressing these challenges requires systemic changes, including incorporating metacognition training, emphasizing transferable learning, and fostering adaptability.
If you’d like, I can delve deeper into specific research studies or provide examples of programs addressing these issues.
This is a fascinating and concerning observation that touches on several important areas of cognitive psychology and education. Let me address this systematically.
First, regarding knowledge transfer and metacognition: Knowledge transfer refers to the ability to apply knowledge, skills, or strategies learned in one context to new situations. It's closely related to metacognition - our ability to understand and monitor our own thought processes.
Research in this area has revealed several key findings:
David Perkins and Gavriel Salomon's work in the late 1980s and early 1990s identified two types of transfer:
A significant study by Brown, Collins, and Duguid (1989) in "Situated Cognition and the Culture of Learning" highlighted how knowledge often remains "inert" - students can pass tests but fail to apply knowledge in real-world contexts.
The phenomenon you're describing aligns with what cognitive scientists call the "transfer problem." Despite years of education, many individuals struggle to apply their learning in new contexts or integrate information across domains.
Some relevant research directions:
1. Cognitive Load Theory (Sweller et al.)
Shows how working memory limitations affect learning and transfer. Many students may never develop effective strategies for managing cognitive load, leading to poor comprehension of complex materials.
2. Reading Comprehension Studies
Work by Pressley and Afflerbach on "verbal protocols" revealed that skilled readers use multiple strategies simultaneously, while poor readers often lack these metacognitive tools.
3. Domain Integration Research
Studies by Susan Goldman and others have shown that even advanced students often fail to connect knowledge across domains, treating each subject as an isolated "silo."
Your observation about university graduates struggling with comprehension despite no apparent cognitive disabilities might be explained by several factors identified in research:
1. Surface-level Learning: Many educational systems reward memorization over deep understanding
2. Limited Strategy Instruction: Students often aren't explicitly taught comprehension strategies
3. Fragmented Knowledge: Information is typically taught in isolation without emphasis on connections
4. Weak Metacognitive Skills: Students may never develop the ability to monitor and regulate their own understanding
Some promising approaches to address these issues include:
1. Strategy Instruction Models
Teaching explicit strategies for comprehension, integration, and transfer. The Self-Regulated Strategy Development (SRSD) model has shown particular promise.
2. Knowledge Integration Frameworks
Approaches like Knowledge Integration Environment (KIE) help students connect ideas across domains.
3. Metacognitive Training Programs
Programs focusing on developing metacognitive awareness and self-regulation skills.
Since you asked about studies, I should note that while I've referenced several important works, you should verify these citations as I don't have direct access to current databases and could be misremembering details.
Would you be interested in exploring any particular aspect of this issue in more detail? For instance, we could delve deeper into specific instructional strategies that have shown promise in developing transfer abilities, or examine the relationship between metacognition and knowledge transfer more closely.
少額の金(初期装備)からスタートする「『テレビ』のリサイクル券」獲得RTAのルート案です。本番向け。
Any%とTrue Endingカテゴリそれぞれ解説します。
Any%:とにかく近所のショップへ一直線。脳筋です。ロット毎のランダムマップなので、ルート取りのイメトレ・自主練は必要です。
True:お祈り要素あり。。遠くてもできるだけデカい店舗に行きます(安テレビに出会う確率を上げる)。
大手ショップが近隣にあるマップであればまず「下調べ」を選択し、次のターンでショップに向かってもOKです。安定派はこちらで。
マップの引きが悪すぎる、または「下調べ」の進捗があまりにも悪かった場合については
「通販」選択ルートでカバーしましょう。本来リセットですが、持ち時間が決まってる場合の奥の手として。
Any%:テレビを購入後、その場で即売ります。ヤバい人パラメータが限界ギリまで上がりますが耐えます。
ここでは店員さんとの会話で確実に良客になり、ヤバい人パラの上昇を抑えることが肝です。店内のコース取りも重要。
本ルートでは"町の変人"称号を取らずに進むため、会話フェーズを飛ばすとパラが上がりきって警備員が来ます。必ず良客でいましょう。
True:帰り道に別のリサイクルショップに持ち込みます。会話コマンドは安定さえ取れればOKです。
帰りの道中に立ち寄ることを優先に、できれば大きいショップに寄りましょう(リサイクル券を発行してもらえないバグ防止)。
大きいショップだと買い取りがスムーズなのでタイム短縮が狙えます。
③帰宅
コース取りに気をつけつつウイニングランです。他カテゴリと同様、自宅玄関を開けた瞬間にタイマーストップです。
以下補足です。
・購入するテレビですが「PC」「モニター」等はNGです。また引っかけで「車載テレビ」やその他特殊なテレビも引き取ってもらえません。
現実のものですが、こちらの区分が大変参考になります。https://www.rkc.aeha.or.jp/recycleticket/target_items.html
・本ゲーム初心者で見極めが不安な方は、テレビ売り場近くの店員さんに話しかけ「これ繋いだらニュース映りますか?」を選びます(ヒントが出る)。
まずは情報の正確な把握に努めましょう。その後の雑談では無難に回答し、むやみにヤバい人パラを上げずに完走を試みてください。
、、余談ですがこの選択肢、現実でこんなこと言いますかね?笑 要は確実にヒントが出るようなアホ質問ということなんでしょうがw
現実ならギリでも「テレ朝映ります?」「TBS見れます?」とかになりそう。少し前なら「手越復帰のイッテQをリアタイしたくて…」とか?笑
・財布スコアを捨てて早く済まそう!というコンセプトです。「引き取りを依頼」「リサイクル施設に持参」ルートは考案しておりません。
上記ルートで「引き取りを依頼」すると財布がマイナス→アルバイトに突入するのでRTAとして破綻します。俗に言うタイミーさん化。
「リサイクル施設に持参」は行動自体に財布の増減はありませんが、ほとんどのマップで施設がバカ遠く、交通費もかかるので微妙です。。
というか、そもそも施設持参はマップ依存すぎて現在100%カテ以外では各大会ローカルでレギュ違反となっています。元は暗黙の了解でしたね。
今後を考慮して一応書きましたが、今んとこ個人配信で盛り上がる分にはよいですね(真Any%とか神マップRTAと称されることが多いです)。
以上、お役に立ちましたら幸いです。
ここ数日で2文見て気付いた
(数十年前に英検3級。大学入試とかで6割ちょいぐらいの苦手科目。そこからさらに衰えてるが最低限の文法や単語は思い出せたりするぐらい)
夢が真実になる、夢がかなう ぐらいの意味か。バンドしか出てこない
Back to the Future
未来へ戻る? 未だにタイムスリップするぜ ぐらいの意味で捉えてる
洋楽、洋画のタイトルや頻出歌詞で単語も単語の並びも知ってるが意味まで考えたことないのが多そう。慣用句とかレベルじゃなしに(そうであったり、何かのもじりかとかでもわからない
All You Need Is Kill は大人になってから読んで、内容も加味してなんか「ただ殺すだけ」という意味と繋がっている
気が付くと朝4時になっていた。
なんか動くところまで出来たので貼っておく。
import pdfplumber import re #クリーンアップ def cleanuptext(text): #決算書の合計値を太字にしたことでpdfplumberが暴走するケースへの対処 #例 流動資産 -> 流流流流流動動動動動資資資資資産産産産産 #誤爆が怖いので、これが起きている時だけ補正します if "流流流流流動動動動動資資資資資産産産産産" in text: text = re.sub(r'(.)92;1{4,}', r'92;1', text) #△をマイナスに。 数字中のカンマを消して結合する text = re.sub(r'△([0-9])', r'-92;1', text) text = re.sub(r'▲([0-9])', r'-92;1', text) text = re.sub(r'([0-9]),([0-9])', r'92;192;2', text) #たまに、煽り屋みたいに文字の後にスペースが入る嫌がらせを修正する #例: 投 資 有 価 証 券 -> 投資有価証券 text = re.sub(r'(?<=[92;u4E00-92;u9FFF92;u3040-92;u30FF])92;s(?=[92;u4E00-92;u9FFF92;u3040-92;u30FF])', '', text) return text #今期の勘定科目の数字を取得 def get_AccountName(text, need): pattern = rf'^{need} -?[0-9]+ (-?[0-9]+)' r = re.search(pattern, text, re.MULTILINE) if r is not None: return float(r[1]) return 0 #清原ネットキャッシュを計算する。 def calc_KiyoharaNetCash(text): total_current_assets = get_AccountName(text,'流動資産合計') if total_current_assets == 0: #要約財政状態計算書しか公開していない、楽天のような素敵な会社様への対処 total_assets = get_AccountName(text,'資産合計') if total_assets != 0: #とりあえず、資産の部の6割を流動資産とみなす total_current_assets = total_assets * 0.6 else: #流動資産合計ではなく、流動資産という単語を使っている我が道を行く東北電力への対処 total_current_assets = get_AccountName(text,'流動資産') if total_current_assets == 0: raise Exception("流動資産合計の勘定科目が見つかりませんでした。"+text) total_liabilities = get_AccountName(text,'負債合計') if total_liabilities == 0: #負債合計ではなく、負債の部合計に拘るオムロンの嬉しい決算書への対策。なんでや・・・ total_liabilities = get_AccountName(text,'負債の部合計') if total_liabilities == 0: raise Exception("負債合計の勘定科目が見つかりませんでした。"+text) #負債をご丁寧にマイナス表記で書いてくれる中外製薬の親切な決算書への対策。いい加減にしろよ・・・ if total_liabilities < 0: total_liabilities = total_liabilities * -1 #投資有価証券はないこともあるので、0を容認する marketable_securities = get_AccountName(text,'投資有価証券') #print(total_current_assets,marketable_securities,total_liabilities) netcash = total_current_assets + (marketable_securities*0.7) - total_liabilities #たまに単位を1000円にしている銘柄があるので補正する if is_tanni_senyen(text): netcash = netcash / 1000 return netcash # "流動資産合計" と "負債合計" の間に "単位:千円" があるかをチェック def is_tanni_senyen(text): if "単位:千円" in text: return True if "単位: 千円" in text: return True if "単位 : 千円" in text: return True if "単位 :千円" in text: return True return False def pdf_to_kiyohara_netcash(pdfpath): with pdfplumber.open(pdfpath) as pdf: text = ''.join(page.extract_text() for page in pdf.pages) text = cleanuptext(text) #print(text) kiyohara_netcash = calc_KiyoharaNetCash(text) #print(kiyohara_netcash) return kiyohara_netcash def mymain(): import sys args = sys.argv argc = len(args) if argc <= 1: print(''' これは、清原達郎氏のネットキャッシュ比率(以下、清原ネットキャッシュ比率)を決算短信のpdfから求めるソフトです。 清原ネットキャッシュ=流動資産合計+(投資有価証券*0.7)-負債合計 清原ネットキャッシュ比率=清原ネットキャッシュ/時価総額*100 遊び方 1. 決算短信pdfから清原ネットキャッシュを求める python calc_kiyohara_netcash.py 140120240514594985.pdf 結果: 30757.0 決算書には、100万円単位で数字が書かれているはずなので、この数字の単位は100万円です。 つまり、3075700万円。 2. 時価総額を億円単位で追加することで、清原ネットキャッシュ比率を求める 時価総額が146億円なら146と書いてください。 python calc_kiyohara_netcash.py 140120240514594985.pdf 146 結果: 210.66% このコードはNYSLライセンスです。無保証、自己責任ですが、ご自由に。 かぶ探とかとつなげるといいかもね。 ''') return if argc <= 2: kiyohara_netcash = pdf_to_kiyohara_netcash(args[1]) print(kiyohara_netcash) return if argc <= 3: market_cap=float(args[2])*100 #億円から百万円表記に kiyohara_netcash = pdf_to_kiyohara_netcash(args[1]) ratio = round(kiyohara_netcash/market_cap*100,2) print(f"{ratio}%") return if __name__ == '__main__': mymain()
https://www.geonames.org から取れる、人口500人以上の都市の名前に限定すると、
Santa Maria Magdalena Cahuacan
import logging import tempfile import zipfile from collections import Counter import httpx FILE_NAME_BASE = 'cities500' GEONAME_FIELDS = ( 'geoname_id', 'name', 'ascii_name', 'alternate_names', 'latitude', 'longitude', 'feature_class', 'feature_code', 'country_code', 'cc2', 'admin1_code', 'admin2_code', 'admin3_code', 'admin4_code', 'population', 'elevation', 'dem', 'timezone', 'modification_date', ) def retrieve_cities(): """Retrieve city names from a remote server.""" response = httpx.get(f'https://download.geonames.org/export/dump/{FILE_NAME_BASE}.zip') response.raise_for_status() tmpdir = tempfile.TemporaryDirectory() with open(tmpdir.name + f'/{FILE_NAME_BASE}.zip', 'wb') as f: f.write(response.content) with zipfile.ZipFile(tmpdir.name + f'/{FILE_NAME_BASE}.zip', 'r') as z: z.extractall(tmpdir.name) with open(tmpdir.name + f'/{FILE_NAME_BASE}.txt', 'r') as f: for line in f: yield line.split('\t') def count_characters(to_check='ascii_name', filter_func=lambda _: True): """Count characters in city names.""" cities = {} for city_fields in retrieve_cities(): city = dict(zip(GEONAME_FIELDS, city_fields)) if not filter_func(city): continue counter = Counter() for c in city[to_check]: counter[c] += 1 cities[city['geoname_id']] = {'characters': counter, 'city': city} return cities def count_chars_of_city_names(cities, char=None): """Find the city with the most occurrences of a given character.""" cities_by_char_count = {} max_count = 0 max_count_char = None for city_id, data in cities.items(): if 'characters' not in data or not data['characters']: logging.debug(f'No characters found for city {city_id}', data) continue count = 0 if char and char in data['characters']: count = data['characters'][char] cities_by_char_count.setdefault(count, []).append(data) elif char is None: most_common = data['characters'].most_common(1)[0] char, count = most_common cities_by_char_count.setdefault(count, []).append(data) if count > max_count: max_count = count max_count_char = char cities_by_char_count.setdefault(count, []).append(data) return cities_by_char_count.get(max_count, []), max_count_char def not_contain_invalid_chars(city): return ( '(' not in city.get('ascii_name', '') and '/' not in city.get('ascii_name', '') ) def main(): cities = count_characters(filter_func=not_contain_invalid_chars) for char in 'abcdefghijklmnopqrstuvwxyz': cities_counted, char = count_chars_of_city_names(cities, char) max_count = cities_counted[0]['characters'][char] print(f'The character "{char}" appears the most ({max_count} times) in the following cities:') for city in cities_counted: print("\t", city['city']['ascii_name']) if __name__ == "__main__": main()
ワイ:
x = torch.tensor([
[1.0,2.0,3.0],
[4.0,5.0,6.0]
])
Claude3.5 Sonnet:
はい、channel-wise 正規化(チャネル方向の正規化)を行います。この場合、最終次元(dim=-1)がチャネルとなります。channel-wise 正規化では、各チャネルの平均を0、分散を1に正規化します。
import torch x = torch.tensor([ [1.0, 2.0, 3.0], [4.0, 5.0, 6.0] ]) # チャネル方向(最終次元)の平均と標準偏差を計算 mean = x.mean(dim=-1, keepdim=True) std = x.std(dim=-1, keepdim=True) # Epsilon を追加して、ゼロ除算を防ぐ epsilon = 1e-5 # 正規化を実行 x_normalized = (x - mean) / (std + epsilon) print("元のテンソル:") print(x) print("\n正規化後のテンソル:") print(x_normalized)元のテンソル: tensor([[1., 2., 3.], [4., 5., 6.]]) 正規化後のテンソル: tensor([[-1.2247, 0.0000, 1.2247], [-1.2247, 0.0000, 1.2247]])
ワイ:
x = torch.tensor([
[1.0,2.0,3.0],
[4.0,5.0,6.0]
])
ChatGPT o1-preview:
import torch x = torch.tensor([ [1.0, 2.0, 3.0], [4.0, 5.0, 6.0] ]) # Compute mean and standard deviation along the batch dimension (dim=0) mean = x.mean(dim=0, keepdim=True) std = x.std(dim=0, unbiased=False, keepdim=True) # Perform channel-wise normalization x_normalized = (x - mean) / std print("Normalized Tensor:\n", x_normalized)Output:
Normalized Tensor: tensor([[-1., -1., -1.], [ 1., 1., 1.]])Explanation:
Compute Mean:
The mean is computed along the batch dimension (dim=0), treating each column as a channel.
mean = x.mean(dim=0, keepdim=True)This results in mean = [[2.5, 3.5, 4.5]].
Compute Standard Deviation:
The standard deviation is computed along the same dimension with unbiased=False to match the sample size.
std = x.std(dim=0, unbiased=False, keepdim=True)This results in std = [[1.5, 1.5, 1.5]].
Normalize:
Subtract the mean and divide by the standard deviation for each channel.
x_normalized = (x - mean) / stdThis yields the normalized tensor with standardized channels.
Note: Setting keepdim=True ensures that the mean and standard deviation tensors have the same number of dimensions as x, which is necessary for broadcasting during subtraction and division.
ChatGPTの方が正しいよね?
2011年の国勢調査では、ロンドンの人口の50%未満が白人であり、
ロンドンには白人のイギリス人が人口の20%を下回る地域もあることが初めて判った。
2005年の報告によると、英国内の白人の移動は主に少数民族の多い地域から白人の多い地域への移動であり、
w.wiki/BHnh
2022年度、埼玉県警統計では犯罪発生件数は1位が川口市で4,437件
2位が越谷市で2,772件
x.com/Prof_Shigeru/status/1838966182206149028
pbs.twimg.com/media/GYVR_jlXAAAdIU0?format=jpg
x.com/Prof_Shigeru/status/1838977468558139772
x.com/Prof_Shigeru/status/1838961210710253685
https://x.com/lico334/status/1824889598474080536
クルド人密入国者が不法移民に英国の亡命制度を騙す方法を教えた衝撃的な瞬間:
「絶対に」帰国させられないようにアドバイスしていたことが調査で明らかになった。
www.dailymail.co.uk/news/article-12578125/Kurdish-smugglers-cheat-Britain-asylum-system.html
ドイツの判決「トルコのクルド人迫害を認定しない」【日本語訳】(12,000文字over) - 美桜
2021年、ドイツのミュンヘン行政裁判所は、「トルコ政府によるクルド人迫害は認められない」とする判決を下しました。
出典:
https://note.com/uruwashisakura/n/n2d43184a9ad2
x.com/UruwashiSakura/status/1825311164798255356
亡命トルコ、未成年の子供を持つ家族、男性の姉妹のPKK / YPGの疑い、偽造逮捕状の提出、証明書。
人口は約1300万人を生きています。 最大1500万。トルコのクルド人。
彼らの祖先だけのために。
連邦外務省の現在の状況報告によると、彼らはいかなる国家弾圧の対象にもなりません。
54
トルコでの非人道的または品位を傷つける扱いまたは処罰にもつながりません。
www.gesetze-bayern.de/Content/Document/Y-300-Z-BECKRS-B-2021-N-35315?hl=true
x.com/TheInsiderPaper/status/1839771999297778033
insiderpaper.com/germany-says-to-step-up-deportations-of-failed-turkish-asylum-seekers/
ドイツはトルコと合意し、トルコ移民13,500人をトルコへ大量送還することになった。
x.com/EuropeInvasionn/status/1839696124103233814
www.n-tv.de/politik/Berlin-schiebt-Tausende-Asylbewerber-in-die-Tuerkei-ab-article25257137.html
クルド人は難民ではない?「その答えは十分に説明した」 トルコ大使
このうち中東地域はトルコ、イスラエル、UAE、カタールの4カ国。
警察官を暴行する在日クルド人 【埼玉県・川口市・kurdish vs Japanese police】
https://www.youtube.com/watch?v=X1RDsNDz4ek
https://x.com/yakki8991/status/1840181322939318408
https://www.youtube.com/watch?v=l5fxV9GGgvE
x.com/MatsumotoKatsuy/status/1833012303781880055/video/2
x.com/MatsumotoKatsuy/status/1833012303781880055
x.com/zenden_55/status/1807317968499671162/video/1
x.com/zenden_55/status/1807317968499671162/video/2
180キロ?
140キロ?
x.com/prisonridge/status/1840346233766130046
隣接の集合住宅に住む
クルド人らが代わる代わる使っていた車だった。
捜査はうやむやになった。
その後すぐ、クルド人が15人ほどすごい勢いで集まってきたんです。
彼ら、声がとても大きくて、
x.com/Parsonalsecret/status/1819014395734741035
職質されたら警察署を包囲
tinyurl.com/shokushitsu
tinyurl.com/4ca75z2e
tinyurl.com/3t4e8yyy
議員を威嚇
tinyurl.com/giin-ikaku
tinyurl.com/taishikan-rantou
歩き花火
https://x.com/emoemo78354888/status/1839567037947093031
[多文化共生][移民統合][ホワイトフライト][セグリゲーション]
https://x.com/DividedSelf_94/status/1836550982056186055
@DividedSelf_94
前のコロプラ裁判のときに「任天堂が”特許権の侵害”って言えば気に入らないゲームなんでも潰せる風潮になったら嫌だなあ」って思ってたけど、やっぱ想像してたとおりになったな‥。
https://x.com/kiki_lily17/status/1836576641528795145
@kiki_lily17
https://x.com/kuma_neko_/status/1836553690666406294
くまねこ
@kuma_neko_
https://x.com/4Komatsu2/status/1836606119843893395
こ松
@4Komatsu2
えー!でもそんなんいったら
https://x.com/WispSwift/status/1836673742191087785
SwiftWisp
@WispSwift
Allegedly, the patent Nintendo is suing Pocket Pair over is a gameplay mechanic both games share where the player throws a ball-shaped capsule to capture monsters in
If true, then it’s ridiculous. The act of throwing something to capture something seems far too broad to stick
(任天堂がポケットペアを訴えている特許は、プレイヤーがボール型のカプセルを投げてモンスターを捕まえるという、両ゲームに共通するゲームプレイの仕組みだと言われている。
そりゃ悪手だろ、アリンコ
No True Scotsman
toyokeizai.net/articles/-/256915?page=4
イ●ラ●教のコ●ラ●にさえ爆●を仕掛けるPKKを甘くみないほうがいい
x.com/kulaguhan/status/1835787710742634853
https://www.instagram.com/reel/C3-M0OqpzO6/
2022年度、埼玉県警統計では犯罪発生件数は1位が川口市で4,437件
2位が越谷市で2,772件
x.com/Prof_Shigeru/status/1838966182206149028
pbs.twimg.com/media/GYVR_jlXAAAdIU0?format=jpg
x.com/Prof_Shigeru/status/1838977468558139772
x.com/Prof_Shigeru/status/1838961210710253685
仏世論調査によると、15~24歳のイ●ラ●教徒のうち「宗教法は国の法より重要」と答えた人は57%
tinyurl.com/houritsu
tinyurl.com/2p9xn7w4
2011年の国勢調査では、ロンドンの人口の50%未満が白人であり、
ロンドンには白人のイギリス人が人口の20%を下回る地域もあることが初めて判った。
[多文化共生][移民統合][ホワイトフライト][セグリゲーション]
自ら壊れゆくドイツ
Deutschland schafft sich ab: Wie wir unser Land aufs Spiel setzen
Thilo Sarrazin
www.amazon.co.jp/dp/3421044309/
↓
x.com/lico334/status/1824889598474080536
ドイツの判決「トルコのクルド人迫害を認定しない」【日本語訳】(12,000文字over) - 美桜
2021年、ドイツのミュンヘン行政裁判所は、「トルコ政府によるクルド人迫害は認められない」とする判決を下しました。
出典:
note.com/uruwashisakura/n/n2d43184a9ad2
x.com/UruwashiSakura/status/1825311164798255356
亡命トルコ、未成年の子供を持つ家族、男性の姉妹のPKK / YPGの疑い、偽造逮捕状の提出、証明書。
人口は約1300万人を生きています。 最大1500万。トルコのクルド人。
彼らの祖先だけのために。
連邦外務省の現在の状況報告によると、彼らはいかなる国家弾圧の対象にもなりません。
54
トルコでの非人道的または品位を傷つける扱いまたは処罰にもつながりません。
www.gesetze-bayern.de/Content/Document/Y-300-Z-BECKRS-B-2021-N-35315?hl=true
x.com/TheInsiderPaper/status/1839771999297778033
insiderpaper.com/germany-says-to-step-up-deportations-of-failed-turkish-asylum-seekers/
ドイツはトルコと合意し、トルコ移民13,500人をトルコへ大量送還することになった。
x.com/EuropeInvasionn/status/1839696124103233814
www.n-tv.de/politik/Berlin-schiebt-Tausende-Asylbewerber-in-die-Tuerkei-ab-article25257137.html
Germany to deport thousands of asylum seekers under new agreement with Turkey
Germany and Turkey have agreed to a mass deportation plan affecting 15,561 Turkish citizens, most of Kurdish origin, despite concerns over potential human rights violations.
15,561人のトルコ人(ほとんどがクルド人)に影響を与える
medyanews.net/germany-to-deport-thousands-of-asylum-seekers-under-new-agreement-with-turkey/
tinyurl.com/kazoku-yobiyose
埼玉・川口市がクルド人めぐり国に異例の訴え なぜ?現場で何が?
その中に仮放免のクルド人の治療費も含まれているとみています。
tinyurl.com/iryouhi-mibarai
tinyurl.com/26000000yen
一部の自治体は
倒れていても早く気付けるように。
MacroDroid(試用期間ありの500円?)
スマホのロック画面を解除したら指定したアドレスにメールを送るようにマクロを作製。
アクションに「メールを送る」と「変数を設定」。マクロ作動後に変数をFalseにする。
条件に「変数」でTrue指定。「サービス圏の通信状態」でサービス圏内にいる時。
別のマクロで0時を過ぎたら変数を「True」にするようにしておけば、1日1回0時以降にスマホのロック画面を解除したときにメールが飛ぶようできる。
変数リセットマクロを曜日指定すれば1週間に1回などにできる。
マクロの作動条件に電波の圏内にいる時を設定したほうがいいかも。
自分はメール送信に借りてるサーバーを指定しててだめだったけど、Gmailならオンラインになったときに送信されるかも。
すでにスマホを持ってるならMacroDroidの500円だけでできる。
ユーザー登録フォーム画面があるとしてisShowCommentInputTextFieldがtrueであればコメント入力欄を表示、falseなら非表示という仕様があるとしよう。ありとあらゆる資料にはisShowCommentInputTextFieldはコメント欄を非表示にするフラグであると書かれている。しかし実装上は、ユーザー登録フォーム自体を非表示にする実装になっている。
実装が正とすると、仕様は誤りだ。上司に聞いてみたところ「何も間違っていない。その仕様書が正しい」という。「実装はコメント欄どころか全非表示になるので、実装の不具合か?」と聞くと、「実装は正しいし、仕様も正しい」と返してくる。意味不明なので小一時間問答を繰り返した結果引き出せた言葉は「コメント欄も非表示になるのだから正しいに決まっているだろう。当たり前の話だ」という答えだった。
そんでこのロックのデータをこんなかんじでRedisにもてばネットワーク越しに依存関係のあるロックできる?
Type | キー名 | 値 |
---|---|---|
String | "Office1" | true |
String | "Office2" | false |
String | "Room1" | true |
String | "Room2" | false |
String | "Schedule1" | true |
String | "Schedule2" | false |
String | "BusinessHour1" | true |
String | "BusinessHour2" | false |
Bitmaps | "BusinessHour1Range" | 0001111111100000000000000000000000000 |
Bitmaps | "BusinessHour2Range" | 0001111111100000000000000000000000000 |
ほんとはタスクの直列化ができればいいんだが我のあずかり知らぬ領域なのだ・・・
超バグりそう
ロックに条件持たせる
やりたいことはできてるように見えるが、うーんしんどい
# Entity Relation Diagram
# ```mermaid
# ---
# title: Rental Office example
# ---
# erDiagram
# OFFICE ||--|{ ROOM : x
# OFFICE {
# number office_id
# }
# ROOM {
# number office_id
# number room_id
# }
# ROOM ||--|{ SCHEDULE : x
# SCHEDULE {
# number room_id
# datetime start_at
# datetime end_at
# }
# OFFICE ||--|{ BUSINESS_HOUR : x
# BUSINESS_HOUR {
# number office_id
# enum week_of_day
# datetime start_at
# datetime end_at
# }
# ```
# Directed Acyclic Graph
#
# ```mermaid
# graph LR
# A[OFFICE] --> B[ROOM]
# B --> C[SCHEDULE]
# A[OFFICE] --> D[BUSINESS_HOUR]
# D --> C
# A --> C
# ```
# 基底クラス: EntityLock
class EntityLock
attr_accessor :entity_name, :entity_locked, :attribute_locks
def initialize(entity_name)
@entity_name = entity_name
@entity_locked = false # エンティティ全体のロック状態を保持
@attribute_locks = {} # IDに対するロックを管理するハッシュ
end
def lock_entity
@entity_locked = true
puts "Entity '#{@entity_name}' is now locked."
end
def unlock_entity
@entity_locked = false
puts "Entity '#{@entity_name}' is now unlocked."
end
def lock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && !@attribute_locks[entity_id]
@attribute_locks[entity_id] = true
puts "#{@entity_name} with ID '#{entity_id}' is now locked."
end
end
def unlock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
@attribute_locks.delete(entity_id)
puts "#{@entity_name} with ID '#{entity_id}' is now unlocked."
end
end
def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked
# 次に特定のIDがロックされているかチェック
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
return true
end
# ロックされていなければfalseを返す
false
end
end
# 子クラス: OfficeLock, RoomLock, ScheduleLock
class OfficeLock < EntityLock
def initialize
super("Office")
end
end
class RoomLock < EntityLock
def initialize
super("Room")
end
end
class ScheduleLock < EntityLock
def initialize
super("Schedule")
end
end
# 子クラス: BusinessHourLock
class BusinessHourLock < EntityLock
def initialize
super("BusinessHour")
@attribute_locks = [] # BusinessHour用のロックを配列で管理
end
def lock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at && end_at
@attribute_locks << [start_at, end_at]
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now locked."
end
end
def unlock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if @attribute_locks.include?([start_at, end_at])
@attribute_locks.delete([start_at, end_at])
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now unlocked."
end
end
def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked
# 次に特定の時間範囲がロックされているかチェック
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at && end_at
@attribute_locks.each do |(locked_start, locked_end)|
if locked_start <= start_at && end_at <= locked_end
return true
end
end
end
# ロックされていなければfalseを返す
false
end
end
# TreeNodeクラス
class TreeNode
attr_accessor :name, :children, :parents, :lock
def initialize(name, lock)
@name = name
@children = []
@parents = [] # 複数の親ノードを保持する配列
@lock = lock # TreeNodeにロックを持たせる
end
def add_child(child_node)
child_node.parents << self # 子ノードにこのノードを親として追加
@children << child_node
end
def display(level = 0)
indent = " " * (level * 4)
puts "#{indent}#{@name}"
@children.each { |child| child.display(level + 1) }
end
def has_dependency
return false if @parents.empty?
@parents.each do |parent|
puts "#{@name} is dependent on #{parent.name}"
return true
end
@parents.any?(&:has_dependency)
end
def locked?(attributes = {})
# 自身がロックされているか確認
return true if @lock.locked?(attributes)
# 親ノードがロックされているか再帰的に確認
@parents.any? { |parent| parent.locked?(attributes) }
end
end
# 木構造の組み立て
# ロックオブジェクトの作成
office_lock = OfficeLock.new
room_lock = RoomLock.new
schedule_lock = ScheduleLock.new
business_hour_lock = BusinessHourLock.new
# ノードの作成
office_node = TreeNode.new("Office", office_lock)
room_node = TreeNode.new("Room", room_lock)
schedule_node = TreeNode.new("Schedule", schedule_lock)
business_hour_node = TreeNode.new("BusinessHour", business_hour_lock)
# ノード間の依存関係の設定
office_node.add_child(room_node) # Office -> Room
room_node.add_child(schedule_node) # Room -> Schedule
office_node.add_child(business_hour_node) # Office -> BusinessHour
business_hour_node.add_child(schedule_node) # BusinessHour -> Schedule
# 木構造の表示
office_node.display
# ロックの確認
puts "Case 1. Office全体がロックされた場合"
puts "Is office_node locked? #{office_node.locked?({})}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # false
office_lock.lock_entity
puts "Is office_node locked? #{office_node.locked?({})}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # true
office_lock.unlock_entity
puts "Case 2. Room id:1 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.lock({ "room_id" => 1 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.unlock({ "room_id" => 1 })
puts "Case 3. BusinessHour start_at:0 end_at:5 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.lock({ "start_at" => 0, "end_at" => 5 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.unlock({ "start_at" => 0, "end_at" => 5 })
class TreeNode:
def __init__(self, name, attributes=None):
self.name = name
self.attributes = attributes or {}
self.children = []
def add_child(self, child_node):
self.children.append(child_node)
def display(self, level=0):
indent = " " * level
print(f"{indent}{self.name} {self.attributes}")
for child in self.children:
child.display(level + 1)
def has_dependency(self):
# ルートノードや属性を持たないノードは依存関係を判定しない
if not self.children or "start" not in self.attributes or "end" not in self.attributes:
return False
# Aノードのstartとendを取得
start = self.attributes["start"]
end = self.attributes["end"]
# すべての子ノード(Bノード)に対して依存関係をチェック
for child in self.children:
if "position" in child.attributes:
position = child.attributes["position"]
if start <= position <= end:
print(f"{child.name} (position: {position}) is dependent on {self.name} (start: {start}, end: {end})")
return True
else:
print(f"{child.name} (position: {position}) is NOT dependent on {self.name} (start: {start}, end: {end})")
return False
# ノードの作成
root = TreeNode("Root")
a_node = TreeNode("A", {"start": 10, "end": 20})
b1_node = TreeNode("B1", {"position": 15})
b2_node = TreeNode("B2", {"position": 25})
# 木構造の構築
root.add_child(a_node)
a_node.add_child(b1_node)
a_node.add_child(b2_node)
# 木構造の表示
root.display()
# 依存関係のチェック
a_node.has_dependency()
こうかー
コメントログへのアクセス先URIが書かれたWebSocketのデータ(↓こういうの)を、4年間集めてたんだけど、
{"type":"room","data":{"name":"アリーナ","messageServer":{"uri":"wss://msgd.live2.nicovideo.jp/websocket","type":"niwavided"},"threadId":"M.QyofMf3h0ahYa9PujZiwMA","isFirst":true,"waybackkey":"waybackkey","vposBaseTime":"2022-11-21T18:30:00+09:00"}}
https://live.nicovideo.jp/watch/lv338977521
以前から「そのデータからコメントログを全取得する作業を今年とかにやらないとな…」と思ってたが、ニコニコへの大規模攻撃が起こってしまって、さらに嫌な予感がしたがニコ生復活後に的中した。
まだ確認していないけども、自分が集めてたそのデータが全部無効になってしまってるだろうし、何も言えねえ。
(大規模攻撃関係無くいつか「wss://msgd.live2.nicovideo.jp/」が変わってただろうけども、長い事(数年間)そのuriで運用されていたし、もし攻撃されてなければ間に合う可能性もあった訳で…。)
溜め息しか出ない。
やっちまったなあ…。
運営に望む事は「有料会員は過去の生配信のコメントログがダウンロードできる」とか今後そういうサービスしてくれないかな…。はあ。
ちなみに、ニコ生がHTML5プレーヤー以前だった頃のソケット通信によるコメントログ取得って、もうできないよね…。 ちなみにそれもxmlファイルが1年分ぐらい溜めてる…。
どう言うわけか日本の大学教授がその考えを積極的に広めているから仕方がない
マジでこれ日大の大学教授の問題ではなくて、どうしようもないの査読通したりするの含めて日本のアカデミア全体の問題
PSA: It's not only "white racists" who are angry about the new Assassin's Creed game. A lot of Japanese internet users are angry too. Why?
Check this image for some examples of Japanese netizens expressing their views about Assassin's Creed Shadows.
(お知らせ:新しいアサシン・クリードゲームに怒っているのは「白人の人種差別主義者」だけではありません。多くの日本のインターネットユーザーも怒っています。なぜでしょうか?
アサシン・クリード・シャドウズについて日本のネットユーザーが意見を表明している例をこの画像で確認してください。)
↓
(南京事件・慰安婦問題などに対して配慮のない主張を繰り返す属性の人、某氏の信者の人の画像を羅列&投稿)
https://x.com/mrjeffu/status/1816040391990468666?s=61
それらの属性の人じゃないけど、アジア人蔑視・日本文化軽視のプロモーションと表現を重ねてきた UBI の姿勢と アサクリ シャドウズ は非常に不愉快です😠
いわゆる "坂上田村麻呂黒人説" や "African Samurai: The True Story of Yasuke, a Legendary Black Warrior in Feudal Japan" などは、
科学的根拠がなく、現存する史料とも異なる根拠不明のものだし、日本文化に対してさらなる誤解を招く可能性があるし、
それに便乗する白人至上主義者によるアジア人の透明化と文化の盗用(ホワイトウォッシュしながらアフロセントリズムを押つけ、アジア人を透明化する糞ムーブ)、
上記に類するアクション(『日本人は怒ってない』とSNSでお気持ちを勝手に代弁するありがてぇ白人様たち)に対して懸念を持っています
まぁいつかはCOVID-19の空気感染(https://anond.hatelabo.jp/20230722235432#)みたいに
心ある人が突っ込むかもしれないが、それはいったい何時になるのやら・・・
日本には大学教授や研究者を適切に評価するシステムが無いため、多くの人は下記のタイプと接する機会が多かった😭
あと、日本の平均賃金から見たら、大学教授や研究者の賃金は、べつに低いとは言えない。むしろ上位を占めている。
職業 | 年齢 | おおよそ の月収 | ボーナス 等 | おおよそ の年収 | 労働者数 |
---|---|---|---|---|---|
航空機操縦士 | 43.1 | 138 | 123 | 1,779 | 4,970 |
医師★ | 41.6 | 97 | 63 | 1,227 | 77,920 |
(男女合計)管理的職業従事者 | 50.2 | 47 | 522 | 1,086 | 6,720 |
大学教授(高専含む)★ | 58.0 | 66 | 275 | 1,067 | 59,530 |
法務従事者 | 49.9 | 68 | 176 | 992 | 21,150 |
大学准教授(高専含む)★ | 48.9 | 55 | 207 | 867 | 39,880 |
歯科医師★ | 40.5 | 60 | 42 | 762 | 15,090 |
その他の経営・金融・保険専門職業従事者 | 39.3 | 46 | 156 | 708 | 16,000 |
大学講師・助教(高専含む)★ | 41.6 | 49 | 108 | 696 | 56,890 |
高等学校教員 | 43.1 | 43 | 163 | 679 | 69,200 |
研究者★ | 39.8 | 42 | 156 | 660 | 118,450 |
輸送用機器技術者 | 40.1 | 41 | 159 | 651 | 191,480 |
小・中学校教員 | 40.3 | 42 | 146 | 650 | 31,200 |
システムコンサルタント・設計者 | 40.4 | 46 | 97 | 649 | 78,730 |
電気・電子・電気通信技術者 (通信ネットワーク技術者を除く) | 41.8 | 41 | 154 | 646 | 285,830 |
そのため、賃金を上げろと言われても、日々の生活や老後のことを考える我々的には、『いや、十分な額でしょ。ナメとんのか?』となってしまい、
ほとんどの人は、大学教授や研究者の賃金を上げることに賛成しなかった
(つか、上記の状況を見続けて、おけおけ!上げとこ上げとこ👌なんて感情にはまずならんでしょ😒)
高学報酬による競争で全体の質を担保するのではなく、個人の情熱と能力と使命感と倫理観だけに全てお任せしてしまった結果、もう本当にどうしようもないことになった
まずはこれ
"民" とか時代劇の殿様かな?っていうスゲー文章だが、2024年の東京大学准教授の投稿である(成りすましでなければ)
アサシン・クリード・シャドウズの問題、いつか鎮静化すれば良いと思っていたが、民が暴徒化しており、お気楽なパブリックヒストリアンたちは口を噤んでいるようなので、Xなるものを稼働させることにした。時々呟く。
そして、これもまさかの2024年の日本の大学教授(わざわざプロフィールで所属と身分を明かしている)の投稿である、うっへぇ~ありがてぇ~~~
PSA: It's not only "white racists" who are angry about the new Assassin's Creed game. A lot of Japanese internet users are angry too. Why?
Check this image for some examples of Japanese netizens expressing their views about Assassin's Creed Shadows.
(お知らせ:新しいアサシン・クリードゲームに怒っているのは「白人の人種差別主義者」だけではありません。多くの日本のインターネットユーザーも怒っています。なぜでしょうか?
アサシン・クリード・シャドウズについて日本のネットユーザーが意見を表明している例をこの画像で確認してください。)
↓
(南京事件・慰安婦問題などに対して配慮のない主張を繰り返す属性の人、某氏の信者の人の画像を羅列&投稿)
https://x.com/mrjeffu/status/1816040391990468666?s=61
いわゆる "坂上田村麻呂黒人説" や "African Samurai: The True Story of Yasuke, a Legendary Black Warrior in Feudal Japan" (←実話・真実の物語とされている) などは、
それに便乗する白人至上主義者によるアジア人の透明化と文化の盗用(ホワイトウォッシュしながらアフロセントリズムを押つけ、アジア人を透明化する糞ムーブ)、
上記に類するアクション(『日本人は怒ってない』とSNSでお気持ちを勝手に代弁するありがてぇ白人様たち)に対して懸念を持っています
これは、司馬遼太郎氏やカジュアルな歴史小説家の作品、あるいは娯楽時代劇のフィクションを真に受けるのとは、ほんのちょっとだけ毛色が違います。
"坂上田村麻呂黒人説" の言い出しっぺは、今から100年以上前、カナダの人類学者、Alexander Francis Chamberlain 氏です。
米国の非営利団体 Internet Archive で原著を確認できると思うんですけど、
氏は『The Contribution of the Negro to Human Civilization』(1911年)という論文の中でこう書いてます。
484 ALEXANDER FRANCIS CHAMBERLAIN
[...]
And we can cross the whole of Asia and find the Negro again, for, when, in far-off Japan, the ancestors of the modern Japanese were making their way northward against the Ainu, the aborigines of that country.
(そして、我々はアジア全土を横断して再び黒人を見出すことができる。遠く離れた日本では、現代日本人の祖先がその国の先住民であるアイヌに対して北上を進めていた時に。)
THE CONTRIBUTION OF THE NEGRO 485
the leader of their armies was Sakanouye Tamuramaro,
(彼らの軍隊の指導者は 坂上田村麻呂 であり、有名な将軍であり、黒人であった。)
Full text of "The Contribution of the Negro to Human Civilization"
https://archive.org/stream/jstor-29737886/29737886_djvu.txt
まぁこんなこんな感じで唐突に 『坂上田村麻呂 は黒人である』 と論文の中で言い出してるんですね。
そして、この論文の記述を 全米黒人地位向上協会(NAACP) の設立者の一人である W・E・B・デュボイス氏 が、『The Negro』(1915年)にもしたため、
As rulers and warriors we remember such Negroes as Queen Nefertari and Amenhotep III among many others in Egypt; Candace and Ergamenes in Ethiopia; Mansa Musa, Sonni Ali, and Mohammed Askai in the Sudan; Diaz in Brazil, Toussaint L'Ouverture in Hayti, Hannivalov in Russia, Sakanouye Tamuramaro in Japan, the elder Dumas in France, Cazembe and Chaka among the Bantu, and Menelik, of Abyssinia; the numberless black leaders of India, and the mulatto strain of Alexander Hamilton.
(統治者や戦士としては、エジプトの多くの中でもネフェルタリ女王とアメンホテプ3世、エチオピアのカンダケとエルガメネス、スーダンのマンサ・ムーサ、ソンニ・アリ、モハメド・アスカイ、ブラジルのディアス、ハイチのトゥサン・ルヴェルチュール、ロシアのハンニバロフ、日本の坂上田村麻呂、フランスの父デュマ、バントゥ族のカゼンベとチャカ、アビシニアのメネリク2世などの黒人を思い出します。また、インドの無数の黒人指導者たち、そしてアレクサンダー・ハミルトンの混血の血筋も挙げられます。)
The Negro
https://archive.org/details/negro0000dubo_w7n3
さらに後続の米国黒人公民権運動で活用されたり、歴史フィクションのアイデア元になった歴史があります。
そのため、一部の児童向けサイトや教師向けサイトでYASUKEと共に今も見掛けることが稀にあります。
For a Samurai to be brave, he must have a bit of black blood
日本人ならそんなことわざは無いこと知っていると思うんですけど、ググると色んなところで見掛けます
Why do Afro-centrists claim that the first samurai warrior was a black African? | Quora
弥助(YASUKE)は、取得難易度が高い日本語を解する多言語話者の黒人の方で、しかも剛力で恵体、世が世なら・・・と言うとても優秀な方だったみたいです。
弥助はえらい人の覚えがめでたく、織田信長は彼を大変気に入って、連れて歩いていたようです。わざわざそのことが記録にも残っています。
頭が良くて体格もいいとかカッコイイし、本来であれば正当にその実力が報われて欲しかったし、彼がヒーローして描かれるフィクションが作られるのは共感できます。
というかフィクションであれば、もっとアフロサムライやキンバリーみたいな肌の色が濃い侍や忍者が増えて欲しいですね。
(最近のゲームでは Rise of the Ronin みたいに、主人公の人種を自由に設定できるオプションがデフォだけど)
ただ、史実では、さまざまなことが重なって、弥助は一般的に武士(侍)ではありませんでした。そもそも、有力武将や宣教師などでは無かった為、ほとんど記録には残っていません。
わずかに残される記録(ネットでも確認できる)からわかることは、下記くらいです。
https://dl.ndl.go.jp/pid/1041119/1/164
『ゆうて、一部の歴史オタク が 弥助は武士(侍)って言ってるだけでしょ』『時代劇でもよくフィクション入るじゃん』って思うでしょ?🤔
それが、どういうわけか、YASUKE の 英語版の Wikipedia 見ると、日本のアカデミアのお墨付き貰ってるのとか、参考文献に引っ張ってきてるのよね。それも京都大学とかの
ZINBUN は査読付き学術誌と京大で紹介されてるんですけど、その中でこんな風に書かれてます。
Perhaps more extraordinary is that Yasuke’s story does not end here. Retained as an attendant by Nobunaga, he later accompanied him into battle against the rival lord Akechi Mitsuhide (1528? - 1582) who upon defeating Nobunaga at Horyuji, spared the African and subsequently released him.
(さらに驚くべきことに、弥助の話はここで終わりません。信長の従者として残された彼は、後に信長と共に、ライバルの大名(rival lord)である明智光秀(1528? -1582)との戦いに参加しました。光秀は法隆寺で信長を破った際、このアフリカ人の命を助け、その後解放しました。)
Excluded Presence : Shoguns, Minstrels, Bodyguards, and Japan's Encounters with the Black Other
https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/71097/1/40_15.pdf
Horyuji(法隆寺)かぁ。あと、さすが魔王ノッブ、1万を超えたとも言われる大軍勢を前に、自刃することなく弥助と共に立ち向かっちゃうぜ。諦めたらそこで試合終了だもんな(白目)
更にこれに加えて、日大の教授が、いろんなところで、弥助は日本で最も有名な外国生まれの武士(侍)となった、
弥助は本能寺にいて伝令の役割を担った、弥助の最後の使命は首を守ることだったとか、いろいろ言って回ってますからね
African samurai: The enduring legacy of a black warrior in feudal Japan |CNN
そんなわけで、YASUKEの件も、司馬遼太郎氏やカジュアルな歴史小説家の作品、あるいは娯楽時代劇のフィクションを真に受けるのとは、ほんのちょっとだけ毛色が違います
文字数制限に引っ掛かったから続く → 日本のアカデミアは本当にどうしようもないところにまで来ている・2