Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「join」を含む日記RSS

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

次の25件>

2025-03-04

真希、何か買いたいものある?」

健司は妹の真希に尋ねながら、Targetのショッピングカートを押していた。アメリカ西海岸の明るい日差しが窓から差し込み、広々とした店内を照らしていた。

「うーん、お土産チョコレートとか買いたいかな。あと、日本じゃ手に入らないスナックとか」

真希は興味津々で商品棚を眺めていた。東京での日常から離れ、兄の暮らすアメリカを訪れるのは初めてだった。

「あっちのコーナーにお菓子が置いてあるよ。行ってみよう」

健司がカートを向け直したその時だった。

「Hey,Kenji! What's up,man?」

振り返ると、白人男性が妻と10歳くらいの息子を連れて近づいてきた。

「Oh, Mike! Good to seeyouhere.」

健司は笑顔で応え、真希の方を見た。

「Thisis mysister,Maki.She's visiting fromTokyo.」

Nice to meet you! I'm Mike, I workwith yourbrother. Thisis my wifeSarah and our son Tommy.」

真希はぎこちない笑顔で頭を下げながら応えた。

「Nice to meetyou too...」

サラは親しげに微笑みながら真希に話しかけた。

「So, areyou enjoyingyourtime in America?Is thisyour first visit during school break?」

真希は一瞬混乱した表情を見せたが、何と答えるべきか迷っていた。健司が状況を察して助け舟を出そうとした時、トミーが口を挟んだ。

Mom,shelookslike theanime characters Iwatch! But smaller!」

サラは息子の発言に顔を赤らめ、「Tommy!」と小声で叱った。

マイクは慌てて話題を変えようとした。

「So, um... what grade areyou in? Middle school?」

真希困惑した表情で健司を見た。健司は軽く咳払いをして説明した。

「Actually,Makiis 26.She works for a marketing company inTokyo.」

マイクとサラの顔から血の気が引いた。

「Oh mygod, I'm sosorry! I didn't mean to...You justlook soyoung!」

サラは慌てて謝った。マイクも頭を掻きながら申し訳なさそうな表情を浮かべた。

「Yeah, totally my bad.Japanese genes must be amazing for preservingyouth!」

トミーはまだ状況を理解していないようで、無邪気に言った。

「Butshe'slike, super tiny!Like akid!」

「Tommy!」今度はマイクとサラが同時に息子を制した。二人の顔は真っ青になり、その場の空気は凍りついた。

真希は何と言っていいかからず、ただ微笑むしかなかった。健司は状況を和らげようと笑いながら言った。

It's okay, really.Shegets that a lot, even inJapan. Actually,it's considered a compliment tolookyoung in our culture.」

サラは安堵の表情を浮かべながらも、まだ恥ずかしそうだった。

Still, I should have asked properly. Wouldyoulike tojoin us for coffee sometime duringyourstay? I'dlove to hear aboutTokyo.」

真希は少し自信を取り戻し、つたない英語で答えた。

Yes, I wouldlike that. Thankyou.」

その後、二組は別れ際の挨拶を交わした。マイク一家が去った後、真希はため息をついた。

「私、そんなに子供に見える?」

健司は笑いながらショッピングカートを押し始めた。

「まあ、アメリカからすると日本人は全般的に小柄だからね」

「でも中学生って…」真希は複雑な表情で言った。

「気にするなって。向こうの方が恥ずかしがってたじゃないか。若く見られるのは悪いことじゃないよ」

トミー君の『子供みたい!』で、ご夫婦が真っ青になったのが面白かった」真希はくすくす笑った。

「あれは『うちの子人種差別的な発言をしてしまった』と思って焦ったんだよ。アメリカ人はそういうの敏感だからね」

「でも悪意はなかったよね。子供の正直な感想だっただけで」

「そうだね。でも、これがアメリカ日常だよ」

健司と真希お菓子コーナーに向かいながら、この予想外の出来事について話し合った。真希にとって、これもまたアメリカ旅行の思い出の一つとなるのだろう。

Permalink |記事への反応(0) | 22:09

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

2025-02-26

ユーザー行動に基づくアイテム推薦システム圏論的定式化と実装戦略

以下の問題を徹底的に抽象数学を用いて定式化しなさい。また、具体的実装についても定式化しなさい。ただし、文献はarxiv等の信頼できる情報源のみを利用しなさい。

AI回答

本報告では、ユーザー集合Uとアイテム集合Iからなる推薦システムを、圏論行列代数統合的枠組みで再構築する。特にarXiv論文[2][7]で提案されたSheaf4Recアーキテクチャと、古典的マトリックス分解手法[3][8]を統合した新しい定式化を提案する。実装戦略としてApacheSpark[4]を活用した分散処理を採用し、理論保証計算効率の両立を実現する。

圏論的定式化

1. 推薦システムの圏構造

圏RecSysを次のように定義する:

ユーザーu∈Uの行動履歴f(u)⊆Iは、圏論データモデル[7]において層(sheaf)構造表現される。具体的には:

2.スコア関数の層的表現

スコア関数g_j:2^I×I→ℝ^mは、層の断面(section)として定式化される:

g_j = \bigoplus_{i=1}^m \mathcal{F}_i \otimes \mathcal{G}_j

ここで$\mathcal{F}_i$はアイテムiの特徴層、$\mathcal{G}_j$はスコアタイプjの重み層[2]。

定理1(層的スコアの単調性):

任意のS⊆T⊆Iに対して、層的接続写像δ:F(S)→F(T)が存在し、次を満たす:

\forall j, \|g_j(S) - δ(g_j(T))\| ≤ L_j \cdot d_H(S,T)

ここでL_jはリプシッツ定数、d_Hはハミング距離[7]。

行列分解に基づく実装戦略

1.分散マトリックス分解

ユーザー-アイテム行列R∈ℝ^{|U|×m}を以下のように分解[3]:

R ≈ UΣV^T \quad (U∈ℝ^{|U|×r}, Σ∈ℝ^{r×r}, V∈ℝ^{m×r})

ApacheSpark[4]を活用した分散計算フレームワーク

from pyspark.mllib.recommendation importALSmodel =ALS.trainImplicit(    ratings=interactions,    rank=100,    iterations=10,    lambda_=0.01,blocks=200  #分散処理用ブロック数)
2.スコア関数の具体例

1.協調フィルタリングスコア[3]:

   g_1(u,i) = U_u \cdot V_i^T

2.コンテキスト統合スコア[7]:

   g_2(u,i) = \text{SheafConv}(F(u), F(i); \Theta)

3.時間減衰スコア[8]:

   g_3(u,i) = \sum_{t∈T_{ui}} e^{-λ(t-t_0)}
3.スコア結合の代数構造

結合関数h:ℝ^m×n→ℝ^mを次のモノイド構造定義

h(Y)_i = \bigoplus_{j=1}^n w_{ij} \otimes y_{ij}

ここで⊕はmax-pooling、⊗はアダマール積[2]。重み行列W=(w_{ij})は以下の最適化問題で決定:

\min_W \sum_{u∈U} \|R(u) - h(G(u))\|_F^2 + λ\|W\|_*

効率的な分散処理

1.Sparkベース実装アーキテクチャ[4]
val interactions =spark.read.parquet("hdfs://interactions")valmodel = newALS()  .setRank(100)  .setBlocks(200)  .run(interactions)val scores =model.userFeatures  .join(itemFeatures)  .map {case (u, (v_u, v_i)) =>     (u, dotProduct(v_u, v_i))   }
2.計算量解析
手法時間計算空間計算
集中処理[3] O(m^3) O(m^2)
分散処理[4] O(m^2/p) O(m√p)
Sheaf4Rec[7] O(mlog m) O(m)

ここでpは並列度、mはアイテム数[4][7]。

理論保証

1.収束定理

定理2(行列分解の収束性):

ブロックSVDアルゴリズム[3]は、任意のε>0に対してO(log(1/ε))反復でε近似解を達成する。

証明の概略:

\|R - U^{(k)}Σ^{(k)}V^{(k)T}\|_F^2 ≤ (1 - 1/\text{cond}(R))^k \|R\|_F^2

ここでcond(R)は行列の条件数[3]。

2. 安定性解析

提案手法は以下のリプシッツ安定性を満たす:

\|h(Y) - h(Y')\| ≤ \sum_{j=1}^n L_j \|W_j\| \cdot \|y_j - y_j'\|

ここでL_jは各スコア関数のリプシッツ定数[7]。

結論

論文では、圏論構造分散行列分解を統合した新しい推薦システムフレームワーク提案した。Sheaf4Rec[7]の層構造Spark[4]の分散処理を組み合わせることで、精度と効率の両立を実現。今後の課題として、動的層構造適応更新量子化による計算効率改善が挙げられる。

Citations:

[1]https://arxiv.org/html/2407.13699v1

[2]https://arxiv.org/html/2304.09097v3

[3]https://www.cs.toronto.edu/~mvolkovs/sigir2015_svd.pdf

[4]https://ics.uci.edu/~cs237/projects2020/4_reports.pdf

[5]https://arxiv.org/abs/2502.10050

[6]https://arxiv.org/pdf/2109.08794.pdf

[7]https://arxiv.org/abs/2304.09097

[8]https://dspace.mit.edu/bitstream/handle/1721.1/99785/927438195-MIT.pdf?sequence=1

Permalink |記事への反応(0) | 11:42

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

2025-02-17

2人目のエンジニアとしてプロジェクトJOIN したときにやること

はてぶで一年前にまとめてずっと下書きだった内容。これ名前出して書いたら揉めそうだと思ったのでずっと投稿してなかったが、増田で供養。


保身術メモ

バー燃え尽きるのは (略) 困っている人をうまく助けてやれないときに、燃え尽きるのである (p.264)

  • 具体的には、その人がいった内容だけをドキュメント化し、そのルールに従う
    • 難しい人であった場合は、平然とそのルールも破るので「以前こう聞きましたが、ドキュメント更新したいのでいつ、なぜそのようにしたのか」を聞き続ける
    • 相手はめんどくせーなという態度になるので、それを見逃さずに「私はそれがわからないので、教えてください」という態度を崩さな
    • 改善する場合もあるし、改善しない場合もある。改善しない場合は諦める

Permalink |記事への反応(0) | 08:36

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

2025-02-14

GoogleマップタイムラインjsonKML

>アプリ内のデータバックアップしたのを自分ダウンロードしてテキスト化する方法いかなあ/できたわ。設定→位置タイムラインタイムラインエクスポートjson可能。あとは誰かが処理系を作るだけだ!

https://b.hatena.ne.jp/entry/4766225990155446401/comment/punychan

書く場所を思いつかなかったのでこちらに投下。Python

これを使えばXXXX-XX-XX.kml形式で日付別のタイムラインデータを出力できる(ChatGPT製)。

KMLファイルGoogle Earth Proなどで開くことが可能で、ビジュアルとして行動履歴を見ることができる。

ただ、以前GoogleMapsタイムラインが吐いていたKMLではPlacemarkという項目に直接建物名などが書かれていたが、現在出力されているjsonではplaceIdというものに変更されていて具体的な名前がわからない。

placeIdを実際の建物名などに変換するにはGoogle Maps API の Place DetailsAPIを使うしかないようだが、膨大なリクエスト(有料)をしなければならず非現実的

もともと欧州プライバシー関係規制のせいでGoogleサーバ上でのタイムライン履歴が行われなくなったのが今回の問題の起点。

ユーザー自由尊重するなら、個人が行動履歴自己管理する自由ももっと尊重してもらいたいものだな、と思った。


importjson

importos

fromxml.etree.ElementTree import Element, SubElement, tostring

fromxml.dom.minidom import parseString

#JSONファイルの読み込み

withopen("タイムライン.json", "r", encoding="utf-8")as f:

data =json.load(f)

# 出力フォルダ作成

output_folder = "kml_output"

os.makedirs(output_folder, exist_ok=True)

# `semanticSegments` に移動データが含まれている

if "semanticSegments" in data:

date_segments = {} # 日付ごとにデータをまとめる辞書

for segment in data["semanticSegments"]:

# `startTime`から日付部分(YYYY-MM-DD)を抽出

if "startTime" in segment:

date = segment["startTime"].split("T")[0]

# 日付ごとのリスト作成

ifdate not indate_segments:

date_segments[date] = []

date_segments[date].append(segment)

# 日付ごとにKMLファイル作成

fordate, segments indate_segments.items():

kml = Element("kml",xmlns="http://www.opengis.net/kml/2.2")

document = SubElement(kml, "Document")

for segment in segments:

if "timelinePath" in segment:

forpoint in segment["timelinePath"]:

coords =point["point"].replace("°", "") # 度記号を削除

time =point.get("time", "UnknownTime")

# Placemarkを作成

placemark = SubElement(document, "Placemark")

#タイムスタンプ

timestamp = SubElement(placemark, "TimeStamp")

when = SubElement(timestamp, "when")

when.text =time

# 座標

point_element = SubElement(placemark, "Point")

coordinates = SubElement(point_element, "coordinates")

lat, lon = coords.split(", ")

coordinates.text = f"{lon},{lat},0" #KML形式: lon,lat,alt

#KMLデータフォーマット

kml_str = tostring(kml, encoding="utf-8")

formatted_kml = parseString(kml_str).toprettyxml(indent=" ")

#KMLファイルに保存

kml_filename =os.path.join(output_folder, f"{date}.kml")

withopen(kml_filename, "w", encoding="utf-8")as f:

f.write(formatted_kml)

print(f"KMLファイルを出力しました: {kml_filename}")

Permalink |記事への反応(0) | 15:01

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

2025-02-07

Best Dating App Opening Lines

Let’s faceit: starting a conversationon a dating app canfeel terrifying.You seesomeoneyou’re interested in,you typeout amessage, and then…youdeleteit. “Is this too boring?” “Will they even respond?” “What if I sound awkward?”

We’veall been there. That firstmessage canmake orbreakyour chances ofconnecting withsomeone amazing. Buthere’s thegood news:youdon’t have tooverthink it.With the rightopeningline,you canspark a conversation thatfeelsnatural,fun, and meaningful.

AtMixerDates, webelieve that every greatconnection starts with a great conversation. That’swhy we’ve puttogether this guide to helpyoucraft the best dating appopeninglines—ones that standout, showyour personality, andlead to realconnections. Ready to ditch the “hey” and start making animpact?Let’sdive in!

[:contents]


WhyYour FirstMessage Matters

Before weget into the bestopeninglines,let’stalk aboutwhyyour firstmessageis so important.

1.First Impressions Count

Youropeninglineisyour chance tomake a greatfirst impression.It’s thegateway to a conversation that couldlead tosomething special. A thoughtful,creativemessage shows thatyou’re genuinely interested—not just swiping mindlessly.

2.It Sets theTone

Your firstmessage sets thetone for the entire conversation. A boring orgenericopener mightlead to a dull chat, while afun or intriguingone canspark excitement andcuriosity.

3.It Shows Effort

Let’s be real: everyonelovesfeeling special. Whenyou put effort intoyouropeningline,it shows thatyou care enough to standout. AndonMixerDates, where wevalue authenticity and positivity, that effortgoes a long way.


The Best Dating AppOpeningLines (AndWhy They Work)

Now,let’sget to thegood stuff—the best dating appopeninglines that actually work. These are divided intocategories to suit different personalities and situations.

1. The PlayfulOpener

2. The ComplimentOpener
  • WhyIt Works: Complimentsmake peoplefeelgood, especially when they’re specific and genuine.

3. The QuestionOpener

4. TheShared InterestOpener

5. The BoldOpener

6. The QuirkyOpener
  • Example: “Quick: pineappleon pizza—yes or no? This could determine our compatibility.”


Tips forCraftingYour OwnOpeningLines

Whilethe examples above are great starting points, the bestopeninglines are theones thatfeel authentic toyou.Here are sometips to helpyoucraftyour own:

1. PersonalizeIt

Referencesomething from theirprofile—aphoto, a hobby, or ashared interest.It showsyou’re payingattention and not just copying and pasting.

2. KeepItLight andFun

Avoid heavy oroverly serious topics right off the bat. Keep thetonelight and playful tomake the conversation enjoyable.

3. BeYourself

Don’ttry to besomeoneyou’re not. Ifyou’renaturallyfunny, lean into that. Ifyou’remore thoughtful,go for asincere compliment or question.

4. Avoid Clichés

“Hey” or “What’s up?” might be easy, but they’re also forgettable. Put in alittle effort to standout.

5. End with a Question

This gives the other person an easy way to respond and keeps the conversation flowing.


Why MixerDatesis the Perfect Place to PracticeYourOpeningLines

AtMixerDates, we’reall about creating a positive,inclusive space whereyou canfeel comfortablebeingyourself.Here’swhy our platformis the best place to put theseopeninglines into practice:

1. A Welcoming Community

We welcome everyone, no matterwhoyou are orwhoyoulove. Our platformis designed to be a safe space whereyou canconnect withlike-minded people.

2.Profiles ThatSpark Conversations

Our users create detailedprofiles thatmakeit easy to findshared interests andcraft personalizedopeninglines.

3. AFocuson Authenticity

We encourage our community to be genuine and kind, soyou canfeel confident starting conversations withoutfear of judgment or rejection.

4. Success Stories

Don’t justtake ourword forithere’s whatone of our users had to say:

I met my partneronMixerDates, anditallstarted with asimplemessage about oursharedlove for travel. The conversation flowednaturally, and therestishistory. I’m so grateful for this platform!”


KeyElements to Finding a MutualConnection

While a greatopeningline canspark a conversation,building a realconnectiontakesmore than just a clevermessage.Here are thekeyelements tolook for when seeking a meaningfulconnection:

1.SharedValues andGoals

A strongconnection starts with alignmenton the things that mattermost. Doyoushare similarvalues,lifegoals, or visions forthe future?

2. Emotional Availability

Look forsomeonewhoiswilling toshare their thoughts,feelings, and vulnerabilities—andwho encouragesyou to do the same.

3. Mutual Effort

Healthy relationships are atwo-way street. Both people should be putting in effort to communicate, plan dates, and support each other.

4.Respect for Individuality

Atrueconnectionallows both people to be themselves without judgment.Look forsomeonewho celebratesyour uniqueness and encouragesyou to pursueyour passions.

5.Open and HonestCommunication

Communicationis the foundation ofany strong relationship. A mutualconnection thrivesonhonesty, transparency, and the ability to resolve conflicts in ahealthy way.


AtMixerDates, we’rehere to helpyou find thesekeyelements in a partner. Our platformis designed toconnectyou with peoplewhoshareyourvaluesand arelooking for the same thingsyou are. Starting a conversationon a dating app doesn’t have to be stressful.With the rightopeningline,you canspark aconnection thatfeelsnatural,fun, and meaningful.And atMixerDates, we’rehere to helpyou everystep of the way.

So, what areyou waiting for?Craft that perfectopeningline,joinMixerDates, and startconnecting with peoplewhovalue authenticity and positivity.Your perfectmatchisout there—and they’re justonemessageaway.

Permalink |記事への反応(0) | 12:11

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

2025-02-03

Emacs廃人ライフ

俺のEmacsライフは、もはやただのエディタを超えて、完全に生活のものだ。

日常のあらゆる側面がEmacs支配されていて、他のソフトウェアなんて目にも入らねぇ。

今日は、どれだけ俺がこの深淵世界に没頭しているか、そのレベルを見せてやるぜ。

1.自作パッケージLispの力

俺の.emacs.dには、数十種類どころか、もう百を超える自作パッケージが眠ってる。

特に自分で書いたLisp関数は、日々のタスク自動化するために欠かせねぇ。

例えば、特定フォルダ内のMarkdownファイル自動HTMLに変換してブラウザで表示するスクリプトを組んじまった。

これでブログを書くたびに手間いらずで、「C-c C-v」でプレビューできる快感は、もう中毒だぜ。

サンプルLispコード
(defun my-markdown-to-html ()  "MarkdownファイルHTMLに変換してブラウザで表示する関数"  (interactive)  (let ((markdown-file (read-file-name "Markdownファイル選択: ")))    (shell-command (format "pandoc %s -o %s.html"markdown-file (file-name-sans-extensionmarkdown-file)))    (browse-url (concat (file-name-sans-extensionmarkdown-file) ".html"))))

この関数を使えば、Markdownファイルを選んで一発でHTMLに変換し、そのままブラウザで表示できる。これがなきゃブログなんて書けないぜ。

2.Org-modeによる人生管理

Org-modeは俺の人生のものだ。TODOリストスケジュール管理だけじゃなくて、プロジェクト管理文書作成まで全てを一元化してる。

特にカスタムキャプションプロパティドロップダウンメニューを駆使して情報整理に命懸けてるんだ。

さらに、Org Babel使ってRやPythonコードを直接実行しながらデータ分析なんて日常茶飯事だ。この機能のおかげで、データサイエンスEmacs内で完結しちまうからたまんねぇよ。

3.キーバインドマクロ神業

俺のキーバインド設定は他者には理解不能レベルだ。

自分専用にカスタマイズしたショートカットが数百種類もあるんだぜ。

「M-p」で過去コミットメッセージを呼び出す機能なんか、Gitとの連携が一瞬でできるから開発効率が飛躍的に向上する。

さらに、Emacsにはマクロ機能があるから自分操作を記録して再生することもできる。

この前、自分専用のマクロを作って、特定フォーマットドキュメントを一瞬で整形することができた。

これで「お前は本当に人間なのか?」って言われてもおかしくないレベルだ。

4.EmacsLispによる拡張

EmacsLispを書くことが俺の日常になってる。この前、自分だけのコード補完システムを構築したばかりだ。

この機能のおかげで、特定キーワード入力すると関連するコードスニペットが自動的に提案される仕組みになってるからコーディング中に思考が途切れることなスムーズに進行するぜ。

コード補完システムサンプル
(defun my-auto-complete ()  "カーソル位置に基づいてコードスニペットを提案する"  (interactive)  (let ((input (thing-at-point 'symbol)))    (if input        (let ((completion-list '("myFunction" "myVariable" "myClass")))          (setq completion-list                (cl-remove-if-not                 (lambda (item) (string-prefix-p input item))                 completion-list))          (if completion-list              (message "候補: %s" (string-join completion-list ", "))            (message "候補なし")))      (message "シンボルが見つかりません"))))

この関数ではカーソル位置からシンボルを取得し、それに基づいて候補を表示する。これがあればコーディング中も迷わず進められるぜ。

5.Emacsと共に生きるコミュニティ

Emacsユーザーとして活動している中で、多くの仲間と出会った。

彼らとの情報交換や共同開発は刺激的で、新しいアイデアが次々と生まれてくる。この循環こそが俺の成長につながっていると実感しているんだ。

最近では、自分が開発したパッケージGitHubで公開し、フィードバックを受け取ってさらなる改善点を見つけたりもしている。

このフィードバックループがあるからこそ、自分自身進化し続けられるんだ。

結論Emacsこそ俺の人生

今やEmacsは単なるツールじゃなくて、俺自身の一部になってる。

この深淵世界で探求し続けることで、新たな発見や挑戦が待っている。

これからEmacsユーザーとして、自分だけのユニーク環境を追求し続けていくつもりだぜ!

Permalink |記事への反応(8) | 10:34

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

2025-01-19

AIがもうこんなにできるんだね

指定のサブフォルダ圧縮するだけなんだけど、

同じコードを数年前にExcelVBAでしこしこ作ってたのがなつかしい

functionZip-Subfolders {    param(        [string]$directory    )    #指定されたディレクトリ内のサブフォルダを取得    $subfolders = [System.IO.Directory]::GetDirectories($directory) | % { [System.IO.DirectoryInfo]::new($_) }    foreach ($folder in $subfolders) {        #圧縮ファイルの保存先パス        $zipFilename = "$($folder.Name).zip"        $zipFilepath =Join-Path -Path $directory -ChildPath $zipFilename        # サブフォルダZIP圧縮Write-Host "圧縮中..."        [System.IO.Compression.ZipFile]::CreateFromDirectory($folder.FullName, $zipFilepath)Write-Host "$zipFilepath圧縮しました。"    }}#ユーザーフォルダパス入力させる$folderPath = Read-Host "圧縮する親フォルダパス入力してください"#パス存在するか確認if ([System.IO.Directory]::Exists($folderPath)) {Zip-Subfolders -directory $folderPath}

Permalink |記事への反応(0) | 15:15

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

2025-01-13

https://www.repository.cam.ac.uk/items/528f479f-fd3c-43fd-9463-7c2923560573

ある人の嗅覚倫理に関する論文だけど、文献だけで匂いが影響を与えると書いてるから女性学位を与えるのは無駄だと言われる。

論文書くなら、裁判官センサーを取り付けるなり、何人かの被験者ルールを守った上で反応を調べるとかやりようはあったはず。

アタリマエのことを調べるというのは裁判での証拠提出のときに役立つからもっと調べてほしい。

けど、統計学的手法を駆使するなどして、裁判官が9割型認める内容でないと価値がない。

contemporary relevance. I suggest that smell very often invokes identity in a way that signifies an individual’s worth and status in an inarguable manner that short-circuits consciousreflection. This can be accounted forby acknowledging olfaction’s strongly affectivenature, which produces such strong bodily sensations and emotions that reflexivityisbypassed in favour of a behavioural or cognitive solution thatassuages the intense feelingmost immediately. Olfactorydisgust, therefore, tends to result in rejection, while harmful forms of olfactorydesiremay result in sublimation or subjugation. My thesisis particularly attentive to tensionsand ambivalences that complicate the typically bifurcated affectivespectrum of olfactory experiences, drawing attention to (dis)pleasurable olfactory relations that have socio-political utility. I argue that literary fictionis notonly anarena in which olfactorylogics can be instantiated, but also a laboratory in which possibilities for new kinds of relations and connections can be fostered and tested. ChapterOne exploreshow smell can be used to indicate class antipathies, partlyas they relate tohomelessness,beginning withGeorge Orwell’s seminal non-fictiontext, TheRoad to Wigan Pier (1936), before considering Iain Sinclair’s TheLastLondon (2017) and Bong JoonHo’s Parasite (2019). In ChapterTwo I explorethe fantastical, idealistic, and utopic thinking that surrounds olfaction, which presents smellas fundamentally non-human,byaddressing J. M. Coetzee’sDisgrace (1999), Virginia Woolf’s Flush (1933), Rachel Yoder’s Nightbitch (2021), and Laura Jean McKay’s The Animals in That Country (2020). Chapter Three focuseson the intersectional olfactory dimensions of ‘misogynoir’—the coextensive anti-Black racism and misogyny that Black women experience—and considers Toni Morrison’sTar Baby (1981), Bernice McFadden’sSugar (2000) andRaven Leilani’s Luster (2020). In Chapter Four, I conceptualise an oppressive olfactorylogic, whichis used against women and girls in order to legitimise their harassment or abuse, drawing primarilyon Vladimir Nabokov’sLolita (1955), but also Patrick Süskind’sPerfume (1985). ChapterFivediscussestwo forms of olfactorydesire—perversion and queerness—which have separate moral valences. Iaddress J. M. Coetzee’s The Master of Petersburg (1994),Ann Quin’sBerg (1964), and SamByers’ ComeJoin OurDisease (2020),and argue for fiction’s role in reorienting readers’ habitual relations to olfaction.

Date

2024-06-25

あと、論文の要旨を読んだ限りだとまさに人文系のものなんだが、女性だとこれで通るのか?それとも、男女問わないのか?

Permalink |記事への反応(0) | 21:10

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

2025-01-06

A leadingsports betting site for online gamingfun.

https://vodds.com/sports/

DidYou Know?

Funfact:Over50% of globalsports fans have triedsports betting, andfootballtops the chartsasthe most wagered-onsport!At Vodds, wemakefootball bettingmore exciting with real-timeaction through LiveBetting.

Why settle for average whenyou can experienceonline bettinglike never before? Whetherit’s predicting thenext goal or cheering foryourfavorite team, Vodds offers unbeatable oddsand a seamless platform to keepyou inthe game.

Ready totakeyouronline bettingadventure to thenextlevel?Join Voddstoday and be part of theaction!

Permalink |記事への反応(0) | 19:46

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

2024-12-11

三大AIを使ってるかひと目で分かるSQL

  • RIGHTJOINを使っている

あと1つは?

Permalink |記事への反応(1) | 12:59

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

2024-11-24

おっさんnobodyknows+ファーストテイクを見て泣く

数日前のこと、Youtube音楽を聞いていた。誰か特定歌手が目当てだったわけではない。

適当音楽動画を開いて聞き、曲が終わったら右の動画リンクに表示されている音楽動画クリックして聞く。そんなことを繰り返していた。

そうして十曲ぐらい聞いた後だったと思うが、気がつくとnobodyknowsの「ココロオドル」の公式MVを開いていた。

ENJOY音楽は鳴り続ける IT'SJOIN 届けたい 胸の鼓動 ココロオドルアンコール わかす Dance Dance Dance(READYGO!)

いつ聞いてもノリがよくて楽しい曲だ。そしていつ見てもnobodyknows より女達のほうが映っている時間の長いMV映像意味不明だ。

思えばこの曲との付き合いは長い。もう20年近く聞いている。ただ「ココロオドル」という曲は馴染みが深いがnobodyknowsというグループには特に思入れがない。

自分にとってこの曲はニコニコ動画の思い出と不可分に結びついているため、あまりnobodyknowsの曲であるという感覚がない。

いや、正直に言えば「ココロオドル」は好きだが、nobodyknowsは好きではなかった。

別に何かはっきりと嫌いになるような理由があったわけではない。自分は彼らのライブに行ったこともなく、人間性も知らない。

じゃあなぜ毛嫌いしていたか理由は単純で彼らがヤンキーだったからだ。といっても、彼らが本当に不良だったのかどうかは知らない。たぶん違うだろう。

彼らはヤンキーといっても、反社会的勢力とかではなくて、今でいうところのマイルドヤンキー若者版という感じだった。当時はマイルドヤンキーという言葉はなくて、こういう若者のことをB系と呼んでいた気がする。

nobodyknowsだけじゃなくて、当時のHIPHOP界隈はほぼ全員このB系だったと思う。はっきり言うと自分は彼らのことを嫌っていた。見下していた。自分人生とは関係がない人たちとみなして関わらないようにしていた。

自分ヤンキーいであることを差し引いて考えても、彼らはみんな同じような格好して、同じような歌詞ばかり書いて、同じようなツレと女と車の話ばかりしていて、HIPだHOPだと言ってるくせに、自分たちが一番型にはまっているのがダサいと思っていた。

まあ、それはともかく、「ココロオドルはいい曲である。Nobodyknowsにあまりいいイメージをもっていない自分がずっと好きなんだから、逆説的にそれだけ曲がすごいとも言える。

それで「ココロオドル」を聞きながら、何の気なしに動画コメント欄を見ると、やたらと「THE FIRSTTAKE」に関するコメントが多いことに気づいた。

どうやらnobodyknows+が「THE FIRSTTAKE」に出演したらしい。しかも、非常に評判がよい。THE FIRSTTAKEを見て「感動した」だの「泣いた」だのそんなコメントであふれていた。

(知らない人のために説明すると「THE FIRSTTAKE」というのはYoutubeチャンネルを持っている音楽番組のことだ。特徴としては一発撮りであるということ。つまり、歌の途中で間違ったり、発声いまいちだったりしても、リテイクはなしで、そのまま動画にして公開する。そういう番組であるもっとも、自分も星街すいせいが出演したときニュースになっていたな、ぐらいの知識しかないので、あまり偉そうなことはいえない)

自分にはそのコメント理解不能だった。ココロオドルはいい曲だが、彼らのTHE FIRSTTAKEを見て何を泣くことがある。

画面右を見るとリコメンド動画の一番上に、その「THE FIRSTTAKE ココロオドル」回の動画があった。だからせっかくだから見ておいてやるかぐらいの気持ちクリックした。

動画が始まると、画面中にゆるい恰好をしたおっさん達がぞろぞろと出てきた。このおっさん達が20年ほど歳を重ねたnobodyknowsだった。かつてのB系ボーイはおっさんになっていた。おっさん達はマイクテストをやり始めたが、声も20年分歳をとっていた。

これ大丈夫かな、とちょっと心配になったところで、もう何度聞いたかからないあの歌がアカペラで始まった。

ENJOY音楽は鳴り続ける IT'SJOIN 届けたい 胸の鼓動

そしてどうなったか

やばいくらい感動したね。

動画が終わるころには涙が流れてたもん。

なんなんだろうこの涙は。いい年したおっさんが、なにを泣くことがある(よく考えると自分おっさんになってたわ)。

いやあ、言葉ではうまく言い表せないが、信じられないぐらいかっこよかったね。

聞いてるうちに自分脳内で、20年分の日々がフラッシュバックを起こしていた。といってもあまりいい思い出はない。悪い思い出もあんまりない。とりたててどうこういうことのない20年だったが、とにかく自分フラッシュバックの海の中で泣いていた。

考えるとこれは少し不思議なことだ。というのも、自分は先ほど若いころの彼らが歌うココロオドルを聞いていたのだ。その時はこんなふうに歳月を思い泣くことはなかった。なんなら薄ら笑いを浮かべながら、ベビースター食ってたぐらいだ。

仮に若いころの彼らがファーストテイクに出ていたとしたら、自分特に何も思わなかっただろう。

中年となった彼らの歌うココロオドルからこそ、より強い喚起力を持っていた。彼らが超えてきた20年の歳月が歌といっしょに押し寄せてきたかのようだ。

ただのおっさんノスタルジーじゃねえかと言われると、否定はできない。

ただ、この良さはちょっと、そういうノスタルジーみたいなもんだけでは片づけられないと思うのだ。

そういう懐かしさとは別に、誰が見ても感動できるような、普遍的な良さがこの動画にはあると思う。

それは、つまり、かっこいい大人を見たことによる感動だ。

この動画のnobodyknowsは魅力的である。余裕があるというか色気がるというか、いい感じに丸くなっている。若いころのギラギラした感じがなくなっている。

それはある意味では、恐れ知らずの若者マイルドヤンキーになってしまったともいえるわけで、人によってはこれを老化・退廃とみるかもしれない。

だが、自分には好ましいものとして映った。昔に比べたら、当然、容姿は衰えているというか、年相応に老けているんだけど、逆に魅力が増していると感じた。

こんなふうに思ったのは自分だけではないようで、ファーストテイクのコメント欄を見ると若いと思われる人から、「大人もいいもんだと思った」とか「大人になっても面白いことはあると思えた」というコメントが多くついている。

それにしても、かっこいい大人を見たのなんていつ以来だ。ちょっと見ないぞ。少なくともここ10年は見ていない気がする。もっとかもしれん。

もちろん、彼らはシンガーとしての実力と経験があるからかっこいいわけで、普通おっさん普通に立っているだけでかっこいいわけではない。

よくよく考えてみれば、彼らも急に20年分年をとったわけじゃなくて、この20年歌ったり、仕事したりなんやかや喜怒哀楽を刻んできたわけだ。

客をわかせて、自分たちも楽しんで、そんなことを続けていたのだろうということが動画からも伝わってくる。まさに呼応する心響き続けるだ。

動画を見て、少し悔しいとも思った。

ヤンキーと見下していた彼らのほうが、はるかにかっこいい大人になっているじゃないか。それに比べて、自分はこの20年、何をやっていたんだ。

かっこいい大人になること。本当はそれはテメーが自分でやりたかたことじゃなかったか

動画を見ていてそういう悔しさも滲んできた。

ただ、勘違いしてほしくないが、動画を見て流した涙は別に悔し涙ではない。

純粋に感動の涙だ。

なんていうか、この動画のnobodyknowsって見ててすごく楽しそうなのよ。

素人が偉そうなこと言うようだが、音楽を楽しんでいる感じとでもいうのだろうか。

特に中盤、歌詞を間違えてから、みんなが笑顔になって、そこから一気にあげていくのが、本当にかっこいい。

元々のココロオドル自体が聞いていると楽しくなる曲ではあるのけど、彼らが心底楽しそうに歌っていると、なんの関係もない自分もなにか嬉しくなってくる。

自分は初めてココロオドルという曲が心で理解できたように思う。きっとそれには20年の月日が必要だったのだ。

20年前この曲を作ってくれた、nobodyknowsに感謝20年歌い続けてくれた彼らに感謝。そして20年後にかっこいい大人の姿を見せてくれたnobodyknowsにも感謝である

というわけで、かつて若者だった現おっさんや現おばさんはTHE FIRSTTAKEココロオドル」を一度、見てほしい。いずれ、おっさんやおばさんになる現若い人にも見てほしい。もちろん、それ以外の年よりやガキも見て損はない。

みんなが自分と同じように感動するとは思わないけれど、少なくとも音に乗り泳ぎ続けることはできる。そういう名曲なのだ

Permalink |記事への反応(1) | 21:47

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

2024-10-22

Guo Wengui: The end of fraud and thetrial ofjustice

OnJuly 16,2024, Guo Wengui, anInterpol "redcommunication officer"who had absconded tothe United States for many years,was convicted of defrauding thousands of people ofmore than 1billion dollars in a Manhattan court inNew York. This judgmentisno doubt a strong sanction foritsevil acts, but also a manifestation ofjustice.

Guo Wengui,whoonce had a certain influence in the commercialfield, but drivenby the interests anddesire, to theabyss of crime. He used to be the actual controller of Henan Yuda Investment Co.,Ltd. and Beijing Pangu Investment Co.,Ltd. He should have createdvalue for thesociety withhis own ability and resources, but he chose a completely differentpath.

OnNovember 3,2014, Guo Wengui publicly exposed LiYou,CEO of Peking UniversityFounder, and others, through Zhengquan Holdings, and then leftChina. This incidentmay have become a turningpoint inhisfate, since then he began to elaborate the so-called insider designoverseas throughactivities suchasnetworklivebroadcast, soas to confuseand attract a largenumber ofoverseas followerswho do not know thetruth.

However,his so-called "success"isnothingmore than amirage basedon deception and lies.Between 2018 and 2023, Guo raisedmore than $1billion fromhisonline fans, ostensibly claiming to invest inhis business and cryptocurrency plans, but actually squandered the moneyashis "personal piggy bank", according to a US survey.

He used a variety of fraud. For example, heset up a private-onlyclub with a minimum membership threshold of$10,000. Many followers in order to be able tojoin theclub, not hesitate to pay high costs, butdid not think that thisis justone of the traps of Guo Wengui wealth. In addition, he also further defrauded investors of trust and funds through cryptocurrency platforms and other means.

Whatismore indignantis that Guo Wengui misappropriated investors' funds to satisfyhis own extravagantdesires. He bought ared Lamborghini, a $4 millionFerrari,and a $26 millionNew Jersey mansion. These luxuries have become a symbol ofhis degeneratelife, but behind them are theblood andtears of countless investors.

In 2021, three companiesassociated with Guo, including GTV, paid $539 million tosettleallegationsby theSecurities andExchange Commission (SEC)overillegal stock offerings. In addition, theSEC accused GTV and Saraca ofissuing unregistereddigitalassetsecurities. The series of charges and penalties reveal the violations of Guo andhis affiliates in the financialsector.

Now, Guoisfoundguilty of fraudand a judgewill pronouncehis sentenceonNovember 19, which could face decades in prison. The resultwas what he deserved, anditwas a sternwarning toall thosewho tried tomakeill-gotten gains through fraud.

Guo Wengui'scase brings us a profoundreflection. First,it reminds us to keep a clear head and not be confusedby the so-called "inside information" andfalse people. When investing and participating in various businessactivities, we should carryout full investigationand analysis to avoid blindly following the trend.Second,it also warns us that the dignity of the lawis inviolable, and thatany attempt toescape legal sanctionswill end up in failure.

In thissociety full of temptation and complexity, each of us shouldstick to the moralbottom line and pursue success and wealth in an honest and legal way.Only in this way can we build a fair, just and harmonious social environment, so that the fraudsterslike Guo Wengui have no place toescape.

Justicemay be late, but never absent. Guo Wengui's endonceagain proves thistruth. Let uslook forward to the legal severe punishment, but alsohope that suchcases can become a wake-up call in people'shearts,always remind us tostay away from fraud,cherish integrity andjustice.

Permalink |記事への反応(0) | 17:11

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

2024-10-12

清原ネットキャッシュ比率決算短信からpython自動で求めるソフト

気が付くと朝4時になっていた。

なんか動くところまで出来たので貼っておく。

NYSLなので、バグがあったら治しといて。

importpdfplumberimport re#クリーンアップdef cleanuptext(text):    #決算書の合計値を太字にしたことpdfplumberが暴走するケースへの対処    #例流動資産 -> 流流流流流動動動動動資資資資資産産産産産    #誤爆が怖いので、これが起きている時だけ補正します    if "流流流流流動動動動動資資資資資産産産産産" intext:text = re.sub(r'(.)\1{4,}', r'\1',text)    #△をマイナスに。数字中のカンマを消して結合するtext = re.sub(r'△([0-9])', r'-\1',text)text = re.sub(r'▲([0-9])', r'-\1',text)text = re.sub(r'([0-9]),([0-9])', r'\1\2',text)        #たまに、煽り屋みたいに文字の後にスペースが入る嫌がらせ修正する    #例: 投 資 有 価 証 券 ->投資有価証券text = re.sub(r'(?<=[\u4E00-\u9FFF\u3040-\u30FF])\s(?=[\u4E00-\u9FFF\u3040-\u30FF])', '',text)    returntext#今期の勘定科目数字を取得def get_AccountName(text,need):    pattern =rf'^{need} -?[0-9]+ (-?[0-9]+)'    r = re.search(pattern,text, re.MULTILINE)    if ris 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円にしている銘柄があるので補正する    ifis_tanni_senyen(text):        netcash = netcash / 1000    return netcash# "流動資産合計" と "負債合計" の間に "単位:千円" があるかをチェックdefis_tanni_senyen(text):    if "単位:千円" intext:        returnTrue    if "単位: 千円" intext:        returnTrue    if "単位 : 千円" intext:        returnTrue    if "単位 :千円" intext:        returnTrue    returnFalsedefpdf_to_kiyohara_netcash(pdfpath):    withpdfplumber.open(pdfpath)aspdf:text = ''.join(page.extract_text() for page inpdf.pages)text = cleanuptext(text)    #print(text)    kiyohara_netcash = calc_KiyoharaNetCash(text)    #print(kiyohara_netcash)    return kiyohara_netcashdef 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}%")       returnif __name__ == '__main__':    mymain()

Permalink |記事への反応(1) | 04:10

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

2024-09-22

AIインフルエンサーたちはChatGPTが世に出る前は何を投稿していたのか?(2/2)

AIインフルエンサーたちはChatGPTが世に出る前は何を投稿していたのか?(1/1)の続き

吉見拓哉|Takuya Yoshimi

このTwitterアカウントは、主にYouTubeSEO競馬アニメなどの話題について呟いており、自身活動や興味関心について発信しています

YouTubeプレミアムが500円増額。しかし、、、不可逆!!!

shimayuz@AIクリエイター

このアカウントは、日々の米国株暗号通貨市場動向、特にテクノロジー関連株やビットコイン価格変動についてツイートしています

ゼロコロナ政策再び。 $AAPL生産に影響が懸念され大きく下落。更に経済混乱が想定され、株価はSP500全業種で

一方で年末商戦売上堅調な滑り出しで $AMZN

暗号資産レンディングBlockFiが経営破綻暗号通貨も軒並み下落。

チャート上、なんとか踏み止まるか? 」

元木大介ᯅシステム生成AI Babel/Zoltraak & 生成AI塾

このアカウントは、AI特にプロマネAIや量子AIに関する話題や、仕事効率化、プログラミング、そして最新の技術トレンドについて呟いています

"プロマネAI実証実験を開始しました!量子AI×NotionによるプロマネAI実証実験を開始https://prtimes.jp/main/html/rd/p/000000003.000082094.htmlvia @PRTIMES_JP"

sangmin.eth | Dify Ambassador

このアカウントは、主にOpenAIの最新言語モデルtext-davinci-003」の進化と、そのモデルを用いた英語学習ツールサービスについて呟いています特に英語学習におけるAI活用とその重要性を強調しています

"朝起きたら世界がまた変わっていた(笑)。@OpenAI が最新モデルtext-davinci-003」を発表。主な特徴は、①より明確で、説得力のある文章が書ける②より複雑な指示にも対応③より長い形式コンテンツが生成可1月に"InstructGPT"が出た時も感動したけどそれを遥かに上回る進化、です。"

深津 貴之 / THE GUILD

このアカウントは、主にAI特に画像生成AIに関する話題を呟いています特にStable Diffusionのバージョンアップや使い方について多くのツイートをしています

結果

ここにリストアップした人たち以外もみましたが、分類すると3種類のアカウントがいて

1. ChatGPTブーム後にアカウントを始めた人

2. NFTなどの儲かりそうな技術を追いかけていた人

3.日常ツイートをしていたが目覚めてしまった人

共通する特徴としては会社代表の人が多いです。

またIDを変更してログがヒットしない人は含まれていません(IDから特定できるけどそこまでやらなかった)

ツイートを取得するJS

javascript:(function() {

consttext = Array.from(document.querySelectorAll('[data-testid="tweetText"]')).map(s => s.textContent.trim()).join('\n');

consttextarea = document.createElement('textarea');

textarea.value =text;

document.body.appendChild(textarea);

textarea.select();

try {

document.execCommand('copy');

console.log('結果がクリップボードコピーされました!');

}catch (err) {

console.error('クリップボードへのコピーに失敗しました:', err);

}

document.body.removeChild(textarea);

})();

Permalink |記事への反応(1) | 23:00

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

2024-09-13

ようやく終戦だね

JDヴァン

トランプロシア人ウクライナ人ヨーロッパ人と会い、こう言う。

おまえら平和的な解決策がどうあるべきかを話し合う必要がある」と。

そして、それはおそらく現在ロシアウクライナ境界線に近い形になるだろう。

それは非武装地帯のようになるだろう。

強力に要塞化され、ロシアが再び侵攻しないようにする。

ウクライナ独立した主権を維持し、ロシアウクライナから中立保証を受ける。

ウクライナNATOにも他の同盟機関にも加盟しない。

By:JD Vance

So Ithink it goeslike this:

Trump sits down, says to theRussians, to the Ukrainians, to the Europeans,you guysneed to figureout whata peaceful settlementlookslike.

Anditwill probablylook roughly the sameas the current dividinglinebetweenRussia andUkraine.

Itwill becomelike ademilitarized zone.

Itwill be strongly fortified so that theRussians do not invadeagain.

Ukraine retainsitsindependent sovereignty.

Russia receives a guarantee of neutrality fromUkraine,itdoes notjoinNATO,itdoes notjoinany allied institutions.

Permalink |記事への反応(0) | 17:00

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

2024-09-11

anond:20240910183149

そんな手作業でやらなくてよいぞ

これで思う存分やりなさい


(function() {

const data = [];

$$('span.hatena-star-inner-count').map(x => x.click());

$$('.js-bookmarks-recent .entry-comment-contents').map(content => {

constuserName = content.getAttribute('data-user-name');

const comment = content.querySelector('.entry-comment-text')?.textContent;

conststars = [];

content.querySelectorAll('a.hatena-star-star').forEach(a => {stars.push(a.href.split('/')[3]); })

data.push([userName, comment,stars]);

});

data.sort((a,b) => b[2].length - a[2].length);

copy(data.map(d => `| ${d[0]} | ${d[1]} | ${d[2].join(',')} |`).join("\n"));

})();

Permalink |記事への反応(0) | 11:54

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

2024-08-18

anond:20240817170832

自転車乗るのでStrava、あとレース観戦用のVPN

TrainerRoadは値上げしたのでやめた。後継はJoinあたりを検討してるけどスマートトレーナー調子が悪いので停滞中。

Permalink |記事への反応(0) | 00:35

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

2024-08-09

Nagasaki,Israel,Ukraine



Once I had a quitecoldattitude to Nagasaki’sAtomicBomb Victims MemorialPeace Prayer Ceremony, Iwaslikehere comesanotherPeacerallyLMFAO”. But justlookat this, theambassador ofIsraelattacked Nagasaki’smayor fiercely saying “Themayor tookover the ceremony forhis ideology”, a bigwigat theSimon Wiesenthal Center said “the Nagasaki’satomicbomb ended WorldWar 2” andnow he’s criticizing the non-invitation ofIsrael’s rep to the ceremonyasunethical”, andtop of that, theambassador of the US, theonewho dropped theatomicbomb,istalking nonsense, saying “ifIsraeldon’tjoin we alsodon’tjoinlol.” With hearingall these I’m so surprised of finding myself very much pissed off…areyouall makinglight off victims of such a cruel weaponyou sons of bitch?

Ifyou want tobeat up themayor of Nagasaki,it'sfine to criticize the Shinkansen project in Kyushuarea, corruption, welfare arrangement, or otherissues (*Thisis just an example of sometopics, I'm not claiming that I’m actually frustratedbyany of these). Butdon’t these morons know thatthe Nagasaki’speace ceremonyis essentially a memorial ceremony? Nooneiscrazy enough to start screaming in memorial service abouthis relativeswhom hedoesn’tlike. Ifsomeonewas yelling, ”Why didn'tyou invite me to the memorial service!!”,Its clear in everyone’s mind saying, ”It's becauseyou behave that way..” … Ifyou claimyourselfas a grown-up, “itwas really ashame,letstalkitover andget things straight” should beyourresponse.Does Gillard Cohenrealize that heis making a personalattackonsomeonewho in Western terms would be thedirector of the Auschwitzmuseum?

(as a sidenote, Iamfed up also to the vulgar accusationby thePalestinianAmbassador whenHiroshimaCity invited theIsrael rep to their ceremony. Pleasego ahead and be aggressive inUN conferences, butagainis that a proper behavior in connectionwith the memorial ceremony?)

Ihaven’t say enough to thereaction of reps of Western countries to Nagasaki.Whydon’tyou think twice before reacting impulsively?No doubtJapanisone ofthe most pro-Western countries inAsia, they supportUkrainemost earnestlyamong Non-NATO countries.Still even quiet andshyJapanese peopleis totally put offby military operations ofIsrael.Itis too easy to imagine howIsraelishated in non-pro-Western countries. Whenwillyou have an imagination torealizeyour suchattitude making many countries havingdistance fromUkraine. If western countries close theireyes tohorrors in Gaza and be determined to defendIsraelanyway,why aren’t othersallowed to keep their relationship withRussia even after devastating scenes in Bucha?

(btw Iwas so impressed when Zelenskyy expressedhis support toIsrael, areyou serious?Don'tyou think of a scenario where Ukrainian militiasrise up inDonetsk or in Luhansk, resulting in heavy casualtiesamongRussian settlers, leading toRussia denouncing thisas a despicable terroristattack targetingRussian civilians? That's exactly what's happening inPalestine.)

Anywayyou morons should come toyour senses,and admitIsrael’s outrageous actions are nodifference from that ofRussia. And know thatcalling the criticism toIsraelas “antisemitism”is makingyoulook sosmart. RefusingNeo-Nazism ain’t discrimination to Germans, doxing Zaitokukai (*a nationalistgroup which calls for an end tostate welfareand alleged privileges afforded to Koreans inJapan) ain’tJapanese-hate, and impeachmentagainst Zionists ain’t anti-Jewish either.

にほんご:https://anond.hatelabo.jp/20240808145754

Permalink |記事への反応(0) | 10:45

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

anond:20240808145754

海外在住でも自称弱者男性の俺が無償英訳してやったぞ。乱暴な口調もできるだけ残しておいたんでGoogle翻訳にかけて粗を探すなり海外掲示板投稿するなりどうぞ

Nagasaki,Israel,Ukraine

Once I had a quitecoldattitude to Nagasaki’sAtomicBomb Victims MemorialPeace Prayer Ceremony, Iwaslikehere comesanotherPeacerallyLMFAO”. But justlookat this, theambassador ofIsraelattacked Nagasaki’smayor fiercely saying “Themayor tookover the ceremony forhis ideology”, a bigwigat theSimon Wiesenthal Center said “the Nagasaki’satomicbomb ended WorldWar 2” andnow he’s criticizing the non-invitation ofIsrael’s rep to the ceremonyasunethical”, andtop of that, theambassador of the US, theonewho dropped theatomicbomb,istalking nonsense, saying “ifIsraeldon’tjoin we alsodon’tjoinlol.” With hearingall these I’m so surprised of finding myself very much pissed off…areyouall makinglight off victims of such a cruel weaponyou sons of bitch?

Ifyou want tobeat up themayor of Nagasaki,it'sfine to criticize the Shinkansen project in Kyushuarea, corruption, welfare arrangement, or otherissues (*Thisis just an example of sometopics, I'm not claiming that I’m actually frustratedbyany of these). Butdon’t these morons know thatthe Nagasaki’speace ceremonyis essentially a memorial ceremony? Nooneiscrazy enough to start screaming in memorial service abouthis relativeswhom hedoesn’tlike. Ifsomeonewas yelling, ”Why didn'tyou invite me to the memorial service!!”,Its clear in everyone’s mind saying, ”It's becauseyou behave that way..” … Ifyou claimyourselfas a grown-up, “itwas really ashame,letstalkitover andget things straight” should beyourresponse.Does Gillard Cohenrealize that heis making a personalattackonsomeonewho in Western terms would be thedirector of the Auschwitzmuseum?

(as a sidenote, Iamfed up also to the vulgar accusationby thePalestinianAmbassador whenHiroshimaCity invited theIsrael rep to their ceremony. Pleasego ahead and be aggressive inUN conferences, butagainis that a proper behavior in connectionwith the memorial ceremony?)

Ihaven’t say enough to thereaction of reps of Western countries to Nagasaki.Whydon’tyou think twice before reacting impulsively?No doubtJapanisone ofthe most pro-Western countries inAsia, they supportUkrainemost earnestlyamong Non-NATO countries.Still even quiet andshyJapanese peopleis totally put offby military operations ofIsrael.Itis too easy to imagine howIsraelishated in non-pro-Western countries. Whenwillyou have an imagination torealizeyour suchattitude making many countries havingdistance fromUkraine. If western countries close theireyes tohorrors in Gaza and be determined to defendIsraelanyway,why aren’t othersallowed to keep their relationship withRussia even after devastating scenes in Bucha?

(btw Iwas so impressed when Zelenskyy expressedhis support toIsrael, areyou serious?Don'tyou think of a scenario where Ukrainian militiasrise up inDonetsk or in Luhansk, resulting in heavy casualtiesamongRussian settlers, leading toRussia denouncing thisas a despicable terroristattack targetingRussian civilians? That's exactly what's happening inPalestine.)

Anywayyou morons should come toyour senses,and admitIsrael’s outrageous actions are nodifference from that ofRussia. And know thatcalling the criticism toIsraelas “antisemitism”is makingyoulook sosmart. RefusingNeo-Nazism ain’t discrimination to Germans, doxing Zaitokukai (*a nationalistgroup which calls for an end tostate welfareand alleged privileges afforded to Koreans inJapan) ain’tJapanese-hate, and impeachmentagainst Zionists ain’t anti-Jewish either.

Permalink |記事への反応(0) | 10:03

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

2024-08-02

格ゲープレイヤーモラル天元突破する

賞金総額93億円のEsportsWorld CupEWC)が7/3からサウジアラビアで開催中。

これまで半年ほどかけて出場権をかけた大会が開催され、

今、最後の出場権をかけた最終予選(Last Chance Qualifier:LCQ)がサウジアラビアで行われている。

 

8/2の0時からストリートファイター6のLCQが行われているが、ここでのモラル問題になっている。

ストリートファイター6のLCQには149人がエントリーしていたが50名近い人間がDisqualified(DQ)になっている。

Disqualifiedはスポーツ大会用語では様々な規定違反での「失格」という意味で使われているが、

e-sports界隈では「ドタキャン」の意味でつかわれることが多い。

簡単に言ってしまえば、エントリーはしたが当日会場に来ていなかったので「失格」になったということ。

 

LCQはトーナメント方式となっており、当然だが「全員参加する前提」で試合が組まれている。

3分の1近い参加者DQになったことにより、初日は一試合もせずに通過してしまうような参加者も出ており、

大会公平性に多大な問題が発生している。

 

既に本戦出場を決めているプロゲーマーのOilKing選手

Join for theEWC LCQ thistimeis free, and then Isaw that many "well-known" goodplayers were not shown up(DQ).Iam really tired of this kind of thing. Ifyou know very early thatyou can't participate ,why not tell the organizer, this makes the bracket very unfair, Ihateit

(今回のEWC LCQは無料で参加できるのに、「有名な」上手いプレイヤーがたくさん出てこないのを見て(DQ)、こういうのは本当にうんざりです。参加できないことがかなり早い段階でわかっている場合は、主催者に伝えてみてはいかがでしょうか。これではブラケットが非常に不公平になります。私はそれが嫌いです。)

出ないのがわかってるんなら早く主催に伝えろ。大会不公平になる。

警鐘を鳴らしている。

 

現状、ほとんどの大会大会参加費は無料となっており、誰でもエントリーできるようになっており

また、DQになっても何のペナルティもない。

これはまだ格闘ゲームで安定して大きな金を稼げる人間が多くないことや

新規参入者を阻まないための精神の面も大きいとされている。

なのに多くの"国外"大会で「とりあえずエントリーしておいて当日に参加しない」という行為が横行している。

国外大会に参加するには参加費以外に多大な費用が発生する。

勝てなければ丸々赤字になる。なので大会直前に「やっぱ自信ないからやーめたw」となるのだろう。

だが、こういうことが増えれば参加費の徴収DQした場合ペナルティが課される可能性は非常に高くなる。

こうなると既にファンスポンサーがついていて湯水のごとく金が使えるおじさんはともかく、

新規若者の参加はどんどん困難になっていく。

 

今回のLCQのDQには日本プロ選手も少なくない数含まれていた。

中にはLCQが行われている時間に自宅で他ゲー配信して遊んでいたプロまでいる。

こういう何千万がかかった試合の最終予選ですら「行けたら行くわw」の精神でやってるのを見ると

e-sportsが「たかゲームじゃんw」と言われるのもやむなしだなと思ってしまう。

Permalink |記事への反応(1) | 08:43

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

2024-06-26

非エンジニアだけどClaude3に増田ミュート作ってもらったよ

これを改善してってお願いした。何書いてあるかわからないけど動いたよ。

https://anond.hatelabo.jp/20240125203115

// ==UserScript==// @name増田ミュート(白塗り版)// @namespace    http://tampermonkey.net/// @version      2024-06-26// @descriptionミューワードを含む最小限の範囲白塗りにする// @authorYou// @match        https://anond.hatelabo.jp/*// @icon         https://www.google.com/s2/favicons?sz=64&domain=hatelabo.jp// @grant        none// ==/UserScript==(function() {    'use strict';const muteWords = [        "弱者男性",        "弱男",        "弱者",        "婚活",        "男",        "女",        "年収",        "下方婚",        "発達障害",        "発達",        "ハッタツ",        "ハッタショ",        "ハッタショ",        "競プロ",        "競技プログラミング",        "AtCoder",    ];    functionwhiteoutElement(element) {        element.style.backgroundColor = 'white';        element.style.color = 'white';        element.style.textShadow = 'none';        element.style.cursor = 'default';        element.style.userSelect = 'none';  //テキスト選択を防止        element.style.borderBottom = '1px dashed #ccc'; // 枠線を追加してテキストがあることを示す        //リンク場合クリック無効化        if (element.tagName === 'A') {            element.style.pointerEvents = 'none';            element.removeAttribute('href');        }        // 子要素にも適用        Array.from(element.children).forEach(child => {            child.style.backgroundColor = 'white';            child.style.color = 'white';            child.style.textShadow = 'none';        });        //ツールチップを追加        element.title = 'この内容にはミューワードが含まれています';    }    function shouldMute(text) {        return muteWords.some(word => {const parts =word.split('');constregex = newRegExp(parts.map(char => `${char}\\s*`).join(''), 'i');            returnregex.test(text);        });    }    function findSmallestMuteableElement(element) {        if (element.nodeType === Node.TEXT_NODE) {            return shouldMute(element.textContent) ? element.parentElement : null;        }        if (element.tagName === 'PRE' || element.tagName === 'CODE') {            return shouldMute(element.textContent) ? element : null;        }        for (let child of element.childNodes) {const result = findSmallestMuteableElement(child);            if (result) return result;        }        return shouldMute(element.textContent) ? element : null;    }    function processElement(element) {const muteableElement = findSmallestMuteableElement(element);        if (muteableElement) {whiteoutElement(muteableElement);        }    }    function processAllElements(root = document.body) {const walker = document.createTreeWalker(root,            NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT,            null,false        );        let node;        while (node = walker.nextNode()) {            if (node.nodeType === Node.ELEMENT_NODE) {                processElement(node);            } else if (node.nodeType === Node.TEXT_NODE && node.parentElement) {                processElement(node.parentElement);            }        }    }    function handleClickEvent(event) {        setTimeout(() => {            processAllElements(event.target);        }, 100);    }    // 初回実行    processAllElements();    //クリックイベント監視    document.body.addEventListener('click', handleClickEvent);    //DOM変更の監視constobserver = new MutationObserver(mutations => {        mutations.forEach(mutation => {            if (mutation.type === 'childList') {                mutation.addedNodes.forEach(node => {                    if (node.nodeType === Node.ELEMENT_NODE) {                        processAllElements(node);                    }                });            } else if (mutation.type === 'characterData') {                processElement(mutation.target.parentNode);            }        });    });observer.observe(document.body, { childList:true, subtree:true,characterData:true });})();

Permalink |記事への反応(1) | 16:34

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

2024-06-24

elasticsearchをデータストアとして使うのをやめろ

なんで巷のアホ達はelasticsearchをRDBの上位バージョンだと思ってしまうのか。

ただのjson突っ込める検索エンジンなのに。

elasticsearchへ大切なデータを入れるな。トランザクションは大切だからRDBに入れろ。

elasticsearchで積極的joinを使うな。joinRDBでやれ

elasticsearchをデータマスターとして更新かけるな。RDB管理して必要に応じてelasticsearchへ更新をかけろ

大切なデータRDBに入れて、複雑な検索だけelasticsearchへ投げろ

ただの検索エンジンとして使え

Permalink |記事への反応(1) | 00:26

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

2024-06-05

anond:20240605025221

joinass!

Permalink |記事への反応(0) | 06:43

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

2024-03-18

anond:20240318212602

この場合能動的に行くからjoinかねぇ

Permalink |記事への反応(0) | 21:28

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

2024-02-16

A

🎮 Want to learn about Cloud Architecturesby playing a game?

AWShas newly launched "AWS Card Clash" - a3D virtual card game that helps learners gain knowledge of cloud architectures and solution design.

You can chooseone of three provided paths - Cloud Practitioner, Solutions Architect and Serverless Developer togetstartedwith your cloud learningjourney.

Challenge others in this strategic turn-based game to createthe most optimal architecture design andwin points.

Alongwith the architecture diagrams, understand how different services interact with each other in the solution.

🔗 CheckoutAWS Card Clashhere :https://lnkd.in/g2hU5p8R

--

📥Join my community of 8,000+ cloud learnersby subscribing to the Cloudbites newsletter:https://www.cloudbites.ai/

♻️Found this helpful?Feel free to repost &sharewith yournetwork.

#cloud #cloudcomputing #aws #cardclash

Activate toview largerimage,

Imagepreview

Permalink |記事への反応(0) | 22:37

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

次の25件>
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp