はてなキーワード: classとは
“腐敗・変敗した食品はclass Iって書かれてるから、食中毒が起きたらこの分類になるんじゃないかな。”
“もしかしたらコロナの後遺症で味覚とか認知に歪みがでてきてるのか?”
“マフィン屋をここぞと叩いてる人とサイゼのカエル混入を何故か擁護してる人の重複率について考える会”
(撤退すべき時の見誤りには見えるけど……)
(評なし)
万物に神が宿り、万物が神になる世界なので、神が人や世界を支配しない
『西洋宗教において神と運は別のオブジェクトだが、日本の古典な宗教観においては神や大いなる力は同一のオブジェクト』、これを生成させるまではうまくいったんだけどね
bingちゃん:
西洋宗教では、神と運は、プログラムでたとえると、別々のオブジェクトとして存在すると考えられます。神は、人間や自然に対して意志や計画を持つ創造者や支配者として表現されます。運は、人間や自然に対して予測や制御ができない偶発的な要因として表現されます。
# 神と運のオブジェクトを定義する class God: def __init__(self, name, power, plan): self.name = name # 神の名前 self.power = power # 神の力 self.plan = plan # 神の計画 def create(self, thing): # 神が何かを創造するメソッド print(f"{self.name} created {thing}.") def control(self, thing, action): # 神が何かに対して支配や介入をするメソッド print(f"{self.name} {action} {thing}.") class Luck: def __init__(self, name, factor): self.name = name # 運の名前 self.factor = factor # 運の要因 def affect(self, thing, outcome): # 運が何かに対して影響を与えるメソッド print(f"{self.name} affected {thing} and the outcome was {outcome}.")このコードでは、神と運は、それぞれ異なる属性や機能を持つオブジェクトとして定義されています。神は、名前、力、計画という属性と、創造、支配という機能を持ちます。運は、名前、要因という属性と、影響という機能を持ちます。神と運は、それぞれの機能を使って、人間や自然に対して作用することができます。例えば、以下のようなコードが考えられます。
# 神と運のオブジェクトを作成する god = God("Zeus", "lightning", "maintain order") luck = Luck("Tyche", "chance") # 神と運が人間に対して作用する god.create("human") luck.affect("human", "good") god.control("human", "bless") luck.affect("human", "bad") god.control("human", "punish")しかし、日本の古典的宗教観では運と神や大いなる力は同じオブジェクトです。神が運を司っています。
# 神と運は同一のオブジェクトとして定義する class GodLuck: def __init__(self, name, power, plan, factor): self.name = name # 神の名前 self.power = power # 神の力 self.plan = plan # 神の計画 self.factor = factor # 運の要因 def create(self, thing): # 神が何かを創造するメソッド print(f"{self.name} created {thing}.") def control(self, thing, action): # 神が何かに対して支配や介入をするメソッド print(f"{self.name} {action} {thing}.") def affect(self, thing, outcome): # 運が何かに対して影響を与えるメソッド print(f"{self.name} affected {thing} and the outcome was {outcome}.")このように、神と運は同一のオブジェクトとして扱われます。例えば、恵比寿さまは商売繁盛や五穀豊穣の神であり、同時にそのような運をもたらす要因でもあります。以下がその例です。
# 恵比寿さまのオブジェクトを作る ebisu = GodLuck("恵比寿さま", "商売繁盛や五穀豊穣の力", "人々に幸せを与える計画", "商売繁盛や五穀豊穣の要因") # 恵比寿さまが何かを創造する ebisu.create("鯛") # 恵比寿さまが何かに対して支配や介入をする ebisu.control("農作物", "守る") # 恵比寿さまが何かに対して影響を与える ebisu.affect("商人", "成功")恵比寿さま created 鯛. 恵比寿さま 守る 農作物. 恵比寿さま affected 商人 and the outcome was 成功.
日本語で聞いてるのになんでその回答になるんだよ、面倒くせぇ
ぜんぜん中立じゃないじゃんな
具体的にはBingちゃんが神の計画・神の支配の文言含んだ回答を生成しちゃったら
日本は八百万の神がいる世界。万物に神が宿り、万物が神になる世界なので、神が人や世界を支配しない
『西洋宗教において神と運は別のオブジェクトだが、日本の古典な宗教観においては神や大いなる力は同一のオブジェクト』、これをBingちゃんに生成させるまではうまくいったんだけどね
bingちゃん:
西洋宗教では、神と運は、プログラムでたとえると、別々のオブジェクトとして存在すると考えられます。神は、人間や自然に対して意志や計画を持つ創造者や支配者として表現されます。運は、人間や自然に対して予測や制御ができない偶発的な要因として表現されます。
# 神と運のオブジェクトを定義する class God: def __init__(self, name, power, plan): self.name = name # 神の名前 self.power = power # 神の力 self.plan = plan # 神の計画 def create(self, thing): # 神が何かを創造するメソッド print(f"{self.name} created {thing}.") def control(self, thing, action): # 神が何かに対して支配や介入をするメソッド print(f"{self.name} {action} {thing}.") class Luck: def __init__(self, name, factor): self.name = name # 運の名前 self.factor = factor # 運の要因 def affect(self, thing, outcome): # 運が何かに対して影響を与えるメソッド print(f"{self.name} affected {thing} and the outcome was {outcome}.")このコードでは、神と運は、それぞれ異なる属性や機能を持つオブジェクトとして定義されています。神は、名前、力、計画という属性と、創造、支配という機能を持ちます。運は、名前、要因という属性と、影響という機能を持ちます。神と運は、それぞれの機能を使って、人間や自然に対して作用することができます。例えば、以下のようなコードが考えられます。
# 神と運のオブジェクトを作成する god = God("Zeus", "lightning", "maintain order") luck = Luck("Tyche", "chance") # 神と運が人間に対して作用する god.create("human") luck.affect("human", "good") god.control("human", "bless") luck.affect("human", "bad") god.control("human", "punish")しかし、日本の古典的宗教観では運と神や大いなる力は同じオブジェクトです。神が運を司っています。
# 神と運は同一のオブジェクトとして定義する class GodLuck: def __init__(self, name, power, plan, factor): self.name = name # 神の名前 self.power = power # 神の力 self.plan = plan # 神の計画 self.factor = factor # 運の要因 def create(self, thing): # 神が何かを創造するメソッド print(f"{self.name} created {thing}.") def control(self, thing, action): # 神が何かに対して支配や介入をするメソッド print(f"{self.name} {action} {thing}.") def affect(self, thing, outcome): # 運が何かに対して影響を与えるメソッド print(f"{self.name} affected {thing} and the outcome was {outcome}.")このように、神と運は同一のオブジェクトとして扱われます。例えば、恵比寿さまは商売繁盛や五穀豊穣の神であり、同時にそのような運をもたらす要因でもあります。以下がその例です。
# 恵比寿さまのオブジェクトを作る ebisu = GodLuck("恵比寿さま", "商売繁盛や五穀豊穣の力", "人々に幸せを与える計画", "商売繁盛や五穀豊穣の要因") # 恵比寿さまが何かを創造する ebisu.create("鯛") # 恵比寿さまが何かに対して支配や介入をする ebisu.control("農作物", "守る") # 恵比寿さまが何かに対して影響を与える ebisu.affect("商人", "成功")恵比寿さま created 鯛. 恵比寿さま 守る 農作物. 恵比寿さま affected 商人 and the outcome was 成功.
This case is a suit for rescission of a trial decision on a request for invalidation of trademark registration. The issues are (1)
(1) Whether the registered trademark (hereinafter referred to as "the trademark") (1) Whether or not the registered trademark (hereinafter referred to as the "Trademark") in the following paragraph (1) falls under the trademark
(2) Whether or not the trademark falls under Article 3(1)(iii) of the Trademark Law, (3) Whether or not the trademark falls under
(iii) Whether or not the trademark falls under Article 4(1)(xvi) of the Trademark Law.
The defendant is the owner of the following registered trademark (the "Trademark") (A-1-1 and A-2,
(A1-1 and A2; hereinafter referred to as the "Registered Trademarks"). (1) Registration number
(1) Registration number Trademark registration No. 6399042
(2) Date of registration May 24, 2021 (hereinafter referred to as the "Date of Decision")
(3) Date of registration: June 7, 2021
(4) Trademark consists of the words "curly bangs curler" (standard characters)
(5) Classification of goods and services and designated goods
Class 26 "Headgear, hair curlers (excluding electric ones) (hereinafter referred to as "hair curlers")
15, Class 26 "Hair curlers (excluding electric ones)" (hereinafter the "goods in question") (Hereinafter, the "hair curlers (excluding electric ones)" in Class 26 of this Article are referred to as "the goods in question").
(2) Background of the proceedings before the Japan Patent Office
On June 2, 2022, the plaintiff filed a request for a trial for invalidation of the trademark registration for the goods in question.
The Japan Patent Office examined the case as invalidation case No. 2022-890041 (not disputed).
The Patent Office examined the case as Case No. 2022-890041, which is invalid (no dispute). The Patent Office examined the case as invalidation case No. 2022-890041 (no dispute).
On February 14, 2023, the JPO issued a decision that "the request for a trial in this case does not stand. (hereafter, "the trial decision").
(hereinafter referred to as "the trial decision"), and a transcript of the trial decision was filed. A certified copy of the decision was served upon the plaintiff on February 27, 2023 (summary of arguments).
The transcript of the trial decision was served upon the plaintiff on March 27, 2023 (summary of argument).
On March 27, 2023, the plaintiff filed this lawsuit seeking revocation of the trial decision.
3 Summary of reasons for the trial decision
25 (1) Applicability to Article 3(1)(iii) of the Trademark Law
(a) The trademark in this case represents the words "curly bangs curler" in standard characters.
The letters of the trademark are of the same size and typeface and are arranged in a horizontal line without any space between the letters.
The letters of the trademark should be "hair curler" and the letters of the trademark should be "hair curler".
The component characters of the trademark are "Spinning on a spur of the moment. The component characters of the trademark are "Spinning with a spritz.
The component characters of the trademark are "the state of spinning with a spur of the moment. (A8), which is an onomatopoeic word indicating "a bundle of hair on the forehead of a man or woman" (A9), and "a bundle of hair on the forehead of a man or woman" (A10).
(A8); the character for "bangs" (A11), which means "a bundle of hair on the forehead of a man or woman"; the character for "bangs" (A11), which means "a cylindrical piece of hair that is
The character for "curler" (A12), which means "a cylindrical tool for curling hair around the head", is used in the same way as the character for "curler" (A13).
The character for "curler" (A12), which means "a cylindrical tool for curling hair," is combined with the characters for "bangs" (A11) and "curler" (A12), which means "a cylindrical tool for curling hair.
The constituent characters as a whole are insufficient to specify the meaning of the word or sentence, and therefore, the meaning of each character is not clear.
Therefore, even though the letters may evoke vague meanings corresponding to the meanings of the letters, the specific meanings are not immediately recognizable or understandable.
Therefore, even if the words are associated with vague meanings corresponding to the meanings of the letters, they are not immediately recognizable or understandable as a quality indication of the goods.
The words lack specificity as an indication of the quality of the product.
フラナリーやマーカス、スコットらに倣えば、最近まですべての階級社会における中心的な政治闘争は、誰が土地を耕し、誰が食料を手に入れるかをめぐるものだった。グレーバーとウェングローの見方は異なる。彼らにとって中心的な問題は権力であり、中心的な敵は国家である。そのため、彼らはいくつかの点で階級を無視している。これは彼らがアナーキストだからではない。ほとんどのアナーキストは、常に階級と権力を同時に重視することができる。
しかし、『万物の黎明』における省略は重要である。グレーバーとウェングローは、合意的で参加型の集会を支持する議論を推し進めようと躍起になっているように見えるが、そのために私たちに一連の謎を残している。4つの簡単な例を挙げれば、その問題がよくわかるだろう。
著者たちは、都市における国家に先行することが多い、村落における階級格差の拡大には関心がなく、その文献を否定している。また、小王国、領主、爵位にも興味がない。中央集権的な大国家が存在しなければそれでいいのだ。私たちは、複雑な採集民に関する彼らの説明の中に、このような紆余曲折をいくつか見てきた。このようなことは、他の多くの例にも現れている。
インダス川沿いの古代都市モヘンジョ=ダロでは、約4万人が階級的不平等も国家もなく暮らしていた。
そして彼らは、ヒンドゥトヴァ派の歴史家たちと同様に、モヘンジョ=ダロは実際に南アジアのカーストに沿って組織されていたと示唆する。しかし、グレーバーとウェングローは、これは平等主義的なカーストであったと言う。最初は驚かされるが、彼らが言いたいのは、王のいないカーストの不平等は容認できるということである[11]。
彼らは一貫して伝統的な王権の力を最小限に抑えている。ミシシッピ川流域のナチェズ王国がその好例である。グレーバーとウェングローは、太陽王の権力と凶悪な残虐性は彼の村の外には及ばなかったと言う。しかし実際には、ナチェズは白人のプランターに奉仕する奴隷貿易における主要な地域勢力であった[12]。
グレーバーとウェングローは、残酷な人身御供の祭りが世界中の初期の州で見られるという重要な事実を正しく強調している。数十人から数百人が生け贄にされ、その多くは戦争捕虜や若い女性、貧しい人々であった。
彼らは当然憤慨している。しかし、これらの生け贄の目的は、敵である他国の人々を恐怖に陥れることであったとも感じている。それとは対照的に、私たちは、流血の主な目的は、流血の実際の聴衆である、残酷な地方国家の臣民を恐怖に陥れることだったと考えている。
実際、このような残酷さが、それぞれの国家の初期の歴史に特徴的なのはそのためだろう。国家の正当性がまだ弱く、恐怖が最も必要とされていた時代である。国家権力が強化されるにつれて、戦乱や敵対は続くものの、壮大な犠牲が消えていくのもそのためだろう。
集会そのものも重要な最後の例である。グレーバーとウェングローは、古代メソポタミアの王国や国家における都市集会の力を極めて正しく指摘している。彼らは、これは王がすべての権力を持っていたわけではないという証拠だと言う。これは正しい。これらの王国で階級闘争が止まっていたと考えるのは、よほどナイーブでなければならないだろう。
しかし、グレイバーとウェングローは飛躍する。彼らは、これらの都市議会は、参加型民主主義を掲げる「占拠せよ!」やその他の社会正義運動の集会に似ていると指摘する。
古代メソポタミアでは、参加型民主主義のいかなる形態についても、これといった証拠はない。しかし、他の階級社会における都市全体や全国的な議会については、膨大な証拠がある。そのどれもが、富裕層や有力な一族によって支配されていた。古代スパルタでは地主が支配していた。ローマの元老院も同様だった。ジョン王や男爵家もそうだった。そしてごく最近まで、ヨーロッパのすべての議会の有権者は富裕層に限られていた。
この近視眼は重要である。他の多くの人々と同様、私たちは王国や国家を、不平等な社会における支配階級がルールを強化し、強制するために集まる方法として理解している。『万物の黎明』では、そのプロセスは目に見えない。
グレーバーとウェングローは怒っている。この怒りには、私たちのようにグローバルな不平等に絶望し、グローバル・エリートの政治を憎み、気候の混乱を恐れる読者を喜ばせるエネルギーがある。
多くの点で、彼らの本は新鮮な風を吹き込んでくれる。そして私たちは、既存のすべての国家に対する敵意を共有している。しかし、今後、気候変動を食い止めるためには、階級と環境の中心的重要性を含む人間の条件に関する理解が必要である。
[1] Fredrich Engels, 1884, The Origin of the Family, Private Property and the State. The book was revived as a key text by socialist and Marxist feminists in debates about women’s liberation. Pace the 19th century social Darwinism which clearly took a lead from the Old Testament, it is now quite clear that both pastoralism and slash and burn agriculture appeared after, and not before, the advent of settled agriculture.
[2] Franz Boas, The Mind of Primitive Man, 1911; Claudia Ruth Pierpoint, ‘The Measure of America’, 2004; Ned Blackhawk and Isaiah Lorado Wilner, Indigenous Visions: Rediscovering the World of Franz Boas, 2018; Rosemary Lévy, Franz Boas: The Emergence of the Anthropologist, 2019.
[3] Very good examples of this work include Sara Hdry, Mothers and Others: The Evolutionary Origins of Mutual Understanding, 2005; Elizabeth Marshall Thomas, The Old Way, 2001; two articles by Steven Kuhn and Mary Stiner: ‘What’s a Mother To Do’, 2006 and ‘How Hearth and Home Made us Human’, 2019; Loretta Cormier and Sharon Jones, The Domesticated Penis: How Womanhood has Shaped Manhood, 2015; a key paper by Joanna Overing, ‘Men Control Women? The “Catch-22” in the Analysis of Gender’, 1987; two books by Christopher Boehm: Hierarchy in the Forest and the Evolution of Egalitarian Behavior, 1999, and Moral Origins, 2012; every book by the primatologist Frans de Waal; the two chapters by Brian Ferguson in Douglas Fry, ed., War, Peace and Human Nature, 2013; Richard Wrangham, Catching Fire: How Cooking Made Us Human, 2010; and two books by the trans biologist Joan Roughgarden: Evolution’s Rainbow: Diversity, Gender and Sexuality in Nature and People, 2004, and The Genial Gene: Deconstructing Darwinian Selfishness, 2009.
[4] Our favourites among the ethnographies of our near contemporary hunter-gatherers are Marjorie Shostack, Nisa: The Life and Words of a !Kung Woman, 1981; Jean Briggs, Inuit Morality Play: The Emotional Education of a Three-Year-Old, 1998; Phyllis Kaberry, Aboriginal Women: Sacred and Profane, 1938, Karen Endicott and Kirk Endicott: The Headman was a Woman: The Gender Egalitarian Batek of Malaysia, 2008; Richard Lee, The !Kung San: Men, Women and Work in a Foraging Society, 1978; and Colin Turnbull, Wayward Servants: The Two Worlds of the African Pygmies, 1978.
[5] Kent Flannery and Joyce Marcus, The Creation of Inequality: How Our Prehistorical Ancestors Set the Stage for Monarchy, Slavery and Empire, 2012; and James C. Scott, The Art of Not Being Governed: An Anarchist History of Upland South-East Asia, 2009; Scott, Against the Grain: A Deep History of the Earliest States, 2017. Martin Jones, Feast: Why Humans Share Food, 2007, is also very useful.
[6] Edmund Leach had made a similar argument in 1954 in Political Systems of Highland Burma, and radically changed anthropology. For a brilliant ethnography of one group of anti-class hill rebels at the end of the twentieth century, see Shanshan Du, Chopsticks Only Work in Pairs: Gender Unity and Gender Equality Among the Lahu of Southeastern China, 2003. For Scott’s recent extension of his argument to ancient Mesopotamia, see Against the Grain.
[7] This is all succinctly described in Brian Hayden, ‘Transegalitarian Societies on the American Northwest Plateau: Social Dynamics and Cultural/Technological Changes,’ in Orlando Cerasuolo, ed., The Archaeology of Inequality, 2021.
[8] Start with Philip Drucker and Robert Heizer, 1967, To Make My Name Good: A Reexamination of the Southern Kwakiutl Potlatch; and Eric Wolf, Envisioning Power: Ideologies of Dominance and Crisis, 1999, 69-132.
[9] Jeanne Arnold, ‘Credit where Credit is Due: The History of the Chumash Oceangoing Plank Canoe’, 2007; and Lynn Gamble, The Chumash World at European Contact: Power, Trade and Fighting among Complex Hunter-Gatherers, 2011.
[10] On the Calusa, see The Dawn, 150-2; Fernando Santos-Cranero, 2010, Vital Enemies: Slavery, Predation and the Amerindian Political Economy of Life, 2010; and John Hann, Missions to the Calusa, 1991.
[11] Rita Wright, The Ancient Indus: Urbanism, Economy and Society, 2010; and Andrew Robinson, The Indus: Lost Civilizations, 2015.
[12] Robbie Ethridge and Sheri M. Shuck-Hall, Mapping the Mississippian Shatter Zone, 2009; and George Edward Milne, Natchez Country: Indians, Colonists and the Landscape of Race in French Louisiana, 2015.
*
*
「お前が呑気に実家暮らしの女学生の身分で音楽などやっていられるのは誰のお陰だ」
という言葉は、学費と生活費を人質にとった恫喝だとも思った。口喧嘩なんかしたくもないから細心の注意をはらって生きてたのに。
大学を休学し、女子大生というアドバンテージを使って水商売で働けば一人暮らしの生活費と、あと1年分の学費を貯めることなどチョロいだろう、そう思っていたが、その見通しは甘かった。
そもそもコロナ禍で飲食業は店を閉め、風俗業も同様で客足が途絶えていた。そして少ない客を奪い合っていたからか、働き始めたキャバクラでは現実の厳しさを味わっていた。
売上No.1の嬢は女王様として君臨し、それに付き従う子分の女がいて、悪口、陰口、ちょっとした意地悪、接客の妨害といった小さな棘のような攻撃を女王様と子分からチマチマと食らうのに辟易していて、周りの女たちも庇ってくれることはなかった。
常連客の威張り散らして自慢話ばかりの禿げた社長に「寂しいから会いに来て」とLINEするのもアホらしくてやってられず、旅館の娘なのにサービス業がまったく向いていなかった。そもそもそれほど器量が良い方ではないということも改めて思い知らされた。
結局、職場と住処を幾つか変わり、大阪、東大阪のスナックでカウンターレディとして働いていた頃には大学を休学し実家を飛び出してからニ年ほどが過ぎていた。それでも大学に戻るつもりではいたから、何度失ったって取り返してみせるよ、と思っていたし、偉そうな社長が高級腕時計を見せびらかしながら話すねちっこいエロ話より工場労働者の陽気なシモネタの方が笑えて楽しかった。アパートから近鉄電車で二つ向こうの駅には司馬遼太郎記念館もあった。
京都時代は実名で活動していて、雑にピックアップを埋め込んだアコギを掻き鳴らして電子的に変調した爆音ギターにのせてフォークを歌うというスタイルだったが、休学して一人暮らしを始めてからは音楽どころではなかった。
一度、東京のハードコアバンドにVoで誘われたこともあったが、パンクというものは中央にいてはならぬ、周縁にいて少数派として生きねばならぬ、と頑なに思っていたのでそれも断ったのだ。
だが、遂には名前を変え「東大阪半日夢想沿線」という名で電子楽器によって幻想的で悪意のこもった電子雑音を奏でるスタイルで活動を再開した。激しいライブアクションのせいで機材はすぐに壊れてしまうから楽器は日本橋の中古屋で安物ばかりを揃えた。
再開した音楽活動は客こそ少なかったが手応えはあった。しかし名前を名乗るとギョッとする者もおり、また年配の人物に「極左テロリストの名前などを元ネタにして、被害を受けた人や家族が知ったらどう思うのか」と指摘され、己の軽率さを悔い、この名前を名乗ることも音楽活動も中断してしまったのだった。
そんな折に近鉄布施駅の近くで垢じみてうずくまっている女がいるのを見掛け、若いのにホームレスだろうかと目が釘付けになっていると、その女がこちらを見つけて「金を貸して欲しい」と近付いてきた。よく見ると女は女王様に金魚のフンのようにくっついていた子分の女、ジュリだった。
話を聞くと、女王様は客だった起業家と名乗る男に入れあげてしまって、男が何をしでかしたのかフィリピンに逃亡すると女王様も後を追って行ってしまったのだという。女王様がいなくなるとジュリはたちまち他の嬢からいじめられるようになり、店を辞め、あれやこれやがあって住む家もなくなってしまったのだった。
散々意地悪された女だったが、彼女が弱さゆえに強い者に媚び付き従っていたことや、色んなことを我慢している女は強くて奔放な女に憧れてしまうことをアキコは薄々知っていたから哀れに思い、数日なら部屋に居てもよいと伝えた。そういう女は痛みにとっても弱いから。ジュリは泣きながら今まで自分がしてきたことを侘びた。
ジュリは意外と生真面目で、アキコが仕事から帰るときちんと部屋を掃除してくれていて、冷蔵庫にあるもので食事なども用意してくれた。そしてある日、部屋に帰るとジュリは開け放った窓に向かってアキコのギターを爪弾いていて、それはラジオからよく流れてくるOfficail髭男dismの曲だった。
アキコは脳内で火花が散って、ジュリにバンド結成を持ちかけた。バンドをやるならまだ部屋にいてもいいと交換条件もつけた。ジュリは喜んで同意し、よくよく話を聞くと中学時代は軽音楽部であったらしい。そして中学を卒業してから家を出て働き始め、ひょんなことから女王様と知り合い水商売で働くようになったのだという。隠し事だらけ継ぎ接ぎだらけの一人で心細く生きていた女が筋の悪い人物をメンターだと思い込むことはよくあることだ。そして年上だとばかり思っていたが、ひとつ年下だということもようやく知ったのだった。
早速近所のハードオフに行ってエレキギターとベースを見繕って一番安い激安の物を購入した。ジュリがヒゲダンを爪弾いていたことから、今度はポップなものをやってやろうと思い、それらしい曲を捻り出したが、アキコはベース初心者でジュリもギターはブランクがあり、リズムは安物の電子楽器だったので、劣化したビッグ・ブラック、初期の少年ナイフからも百万光年離れているような、やさぐれパンク以下の酷い感じにしかならなかったが、それは初期衝動ゆえであると宣言することで自分たちを納得させた。バンド名もOfficial髭男dismの名前を反転したような、公式に対して無法、髭に対して女の装飾の象徴である爪、そしてダンディズムという一流の男に対して二流や二等、二級品という意味を冠して、Lawless爪Second-Classと名付けた。何事もうまくいっていない自分たちにはお似合いの名前だと二人で笑いあった。
数曲をでっちあげ、今度はPOPなロックをやるのだと意気込んで、アングラ凶悪バンドが演奏しないような阿倍野にあった小洒落たライブハウスのオーディションを受けた。
「まあええんちゃう?」という曖昧な判定だったが、出演はさせてもらえることになった。
阿倍野のライブハウスに出入りするようになると、女二人だと色んな男が声をかけてくる。なぜならカワイイ系のアクションがジュリはとてつもなく上手かったから。でも音楽好きやバンド仲間だと思えば話も弾むが口説かれたりするのは面倒だった。しかしこっちはキャバで修行した身だ。うまくかわしていたし、ジュリはその辺りの身のこなしも上手かった。それでも面倒くさい人物もいた。
そのライブハウスに出入りするベテランのブルースマンで、最初は何かと世話を焼いてくれる風に近付いてきたが、だんだんと遠慮がなくなってきて、あれやこれやと説教をするようになっていった。相手をしているとイライラしてくる。なぜこうなのか。ワガママ放題大人たち。どうして若い女は何も知らないと思っているのか。
ある日、演奏を終えて楽屋に戻ると、当日は出演者でもないのに例のブルースマンが楽屋でくつろいでいて、アキコとジュリの楽器を値踏みし
「もっと良い楽器を使わないとだめだ」みたいなことを言い出す。そしてなぜか自分の黒いギターを持ってきていて、それを引っ張り出し
「50sのフェンダー・ストラトキャスター、クラプトンもこのモデルを使っている」などとウンチクをたれ始めた。
もう鬱陶しくて堪らなかった。怒りがふつふつと湧き起こってアキコはそれを抑えきれなくなり、そのストラトを奪い取るとネックを持って大きく振りかぶり思い切り壁に叩きつけてやった。その場にいた他の人間も唖然として誰も声を出せず、壁の石膏ボードには大きな穴があき、ストラトのネックは折れて弦だけがブラブラしている。アキコも放心状態で、これは殴られるなと覚悟した。
しかしジュリが咄嗟にアキコの腕を掴んで強引に引っ張りそのまま駆け出した。そしてそのまま店を出て走って、ずっとずっと走り続けて、ひた走る道路にはもう街灯さえないけれど、新今宮の駅の辺りまで走り続けて、やっともういいだろうと立ち止まって、息が切れて苦しかったけれど二人で顔を見合わせて死ぬほど笑った。嘘じゃない泥だらけの笑顔。ギターもベースも置きっぱなしだったけれど取りに行くつもりもなかったし、大して惜しくもなかった。
その後ブルースマンはアキコを訴えて、結局アキコは和解を受け入れた。調停の場でブルースマンの代理人弁護士に
「無法なんて名乗っているけれど法は法なので、賠償金の支払いはお願いしますよ」
と嫌味を言われたのが忘れられない。アキコは感情のないアイムソーリーだけを告げた。
もう大学に戻ることはないと薄っすら思っていたが、なんだか心の拠り所のようではあったので貯金はしていた。けれど、破壊したビンテージギターのせいで全てが消え失せてしまった。
しかし、やがてその話は噂になって、どうやら凶悪な女パンクのバンドがいるらしい、他人の高価なビンテージギターをぶち壊して平然としているような奴らしい、以前「東大阪半日夢想沿線」という不埒な名前でやっていた話の通じない女らしい、とその他あることないこと尾ひれ背びれもついて伝わっていった。まるで魔法のように簡単に広まってく噂話。お陰で奇特な人やバンドから少しばかり対バンの話も貰えるようになった。
アキコは今も近鉄電車の傍のアパートに住んでいて、ジュリも未だにアキコの部屋に居候している。貯金もなくなり、もう大学に戻ることはないだろうし、カウンターレデイの仕事は先の見通しもなく、何も状況は変わっていなかったが、それでも二級品なりになんとかやっていくしかないとアキコは思っていた。
皆さんは、official髭男dismってバンドをどう思ってます?
わたしは彼らの楽曲は好きなんですよね。ラジオからもよく流れてきて耳馴染みもあるし演奏も良いと思う。楽曲も意外と凝っていて、容姿も清潔感が良いですよね。ファンだと公言するほどではないにしても結構好き。
でもね、わたしにはバンド名が格好良いと思えないんです。「official」「髭」「ダンディズム」どれも格好良くて渋いイメージの言葉で構成されているけれど「ネガティブの何が悪いんですか?」という価値観の自分には、バンド名だけが受け入れられないんです。
じゃあ、このバンド名を徹底的に反転してみるとしたらどうなるんだろうと対義語辞典などで調べてみました。
officialの対義語はunofficialだけど、「公式」に対して「非公式」っていうのはただ否定してるだけであまり面白くないし語呂も悪い。対義語辞典で提示された単語の中では「special」が語感的には良いけれど、この言葉のイメージって「特別に(良い)」という感じでしょう?今の時代は「改革」とか「維新」なんて良いイメージの言葉を使ってそれとは逆のことをする人たちが多いからそういうのはやりたくない。むしろネガティブだと思われている言葉を使って逆に反転してやりたい。「Damned」なんて辞書でひけば「ひどい」とか「罰あたり」だけどバンドとしては最高じゃない?
続けて対義語を検討していくと「lawless」が語呂としては良いかも知れない。無法という意味。official、公的、公式であることは法によって支えられているのに、いきなり無法なんて俄然やる気になってきますね。
髭ねえ、男だけにあるもの。逆に女だけにあるものと言えばおっぱいと子宮かなあ。でも後者はちんこの対義語だから却下。「ひげ」という語感に近いものにするとすればおっぱいを「むね」に変換かなあ。などと思っていたら「つめ」というものを思い付いた。爪を綺麗に飾るのって今の時代は女がメインだからそれでいいかもしれない。じゃ次。
「男」を「だん」と読ませているわけだけれど「女」の読みは「じょ」「にょ」「め」と音的に優しいし少し弱い。最初が「lawless」に決定したのにそれではいただけない。「dandyism」として対義語辞書をひいても「poor」「terrible」「lousy」みたいなのしか出てこない。格好良い男に対して格好悪い男は英語でも「貧しい」とか「怠け者」みたいになるんですね。貧しい男は男らしくないってことか。男も大変だ。
酷い女みたいな意味を一言で表すのに「bitch」がよく使われる印象だけれどこれは語呂が悪い。でもダンディの対義語候補の中に「second-class」というのがあった。二流、二級品みたいな意味ですね。二流の男は男らしくないのか。でも確かに、男たちからブスと言われる女は彼らにとって二級品だ。いいじゃない。やってやろうじゃない。
ということでバンド名は『Lawless爪Second-class』に決定しました。ヒゲダンのバンド名も反転できてる気がする。
「オフィシャル・ヒゲ・ダンディズム」に対して「ロウレス・ツメ・セカンドクラス」は語呂的にもまあまあの線だと思う。でも反転だとかなんだとか言ってるけどヒゲダンのことはまあまあ好きだからね。そこんとこ夜露死苦。
ヒゲダンは島根大学での結成ということでツメセカも地方出身かな。当然ガールズ・バンドで、ヒゲダンの楽曲には似ても似つかないやさぐれpunk。なんだか妄想が広がりますね。
chatgptで
「sqlite3でtwitterみたいなサイトのテーブル設計をして。
上記のTwitterのようなサイトで特定のユーザーのタイムラインを表示するクエリの例を教えて」
って聞くと、こういうの表示されるけど、こんなの絶対パッと思いつかんやろ!!
特にJOIN2回使うのが全然分からん。なんならJOIN1回の部分も分からん
っていうか、hatena君、sqlのシンタックスハイライトするとインターナルサーバーエラー返してくるんだが...
class Foo def bar'baz' # return baz end end
sqlだけっぽい......
CREATE TABLE users ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, email TEXT NOT NULL UNIQUE, password TEXT NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE tweets ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL, body TEXT NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users (id) ); CREATE TABLE follows ( follower_id INTEGER NOT NULL, followed_id INTEGER NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (follower_id, followed_id), FOREIGN KEY (follower_id) REFERENCES users (id), FOREIGN KEY (followed_id) REFERENCES users (id) ); SELECT tweets.id, tweets.body, tweets.created_at, users.username FROM tweets JOIN follows ON tweets.user_id = follows.followed_id JOIN users ON tweets.user_id = users.id WHERE follows.follower_id = [特定のユーザーID] ORDER BY tweets.created_at DESC;
自動で安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋)
/**************************************
以下のCSV_DIR, FILE_PATHS, SETTINGSを書き換えてね。 <h3>o- *************************************/</h3>
//CSVファイルが置かれてるディレクトリのパス。投稿前にエラー出たら大体ここの設定ミス。 例:"C:\\Users\\sakuraimasahiro\\Documents\\iMacros\\Macros\\rentou\\";
'C:\\Users\\USER\\Desktop\\iMacros\\Macros\\rentou\\';
//ファイルのパス。CSVは絶対パスで、拡張子も必要。iimは相対パスでよく、拡張子不要。
const FILE_PATHS = {
textCsv: CSV_DIR + 'textNoAnker.csv',
//レス用投稿文が書かれたCSV。通常とレス用で分けないなら同じファイルを使えばいい。
replyTextCsv: CSV_DIR + 'textReply.csv',
};
baseWaitTime: 5,
//baseWaitTime+0~waitTimeRange(ランダム)だけ待つ
waitTimeRange: 5,
//連投しすぎだと忠告された場合に処理を一時停止させる時間(秒)
waitTimeForAvoidingPunishment: 60 * 30,
//メール
mail: 'sage',
//名前設定
name: '',
//以下、偽装ワッチョイ設定。浪人でワッチョイを非表示にしてるときだけtrueにしてね。
//妙なニックネーム(ワッチョイ、アウアウウーなど)をランダムで決めて付加するかどうか。true=付加する。false=付加しない。
//妙なニックネームの後に付く8桁の文字列をランダムで決めて付加するかどうか。
},
//アンカー無し投稿をするならtrue。しないならfalse。noAnkerPostかreplyPostのどちらかはtrueにすること(両方trueでもOK)。
//アンカー付き投稿(返信)をするならtrue。しないならfalse。もしnoAnkerPostとreplyPostの両方がtrueの場合、投稿は返信が優先され、返信対象が見つからなくなったらアンカー無し投稿をする。
//最初に取得するアンカー無し投稿文CSVファイルの行番号。もし返信用と同じCSVファイルを使うなら-1と入力。
noAnkerPostTextCsvStartRow: 1,
//最初に取得する返信用投稿文CSVファイルの行番号。もしアンカー無しと同じCSVファイルを使うなら-1と入力。
//テキストCSV/返信用テキストCSVの取得行が最終行に達したら最初の行まで戻るかどうか。true=戻る。false=マクロ終了。
//返信する場合、これより小さなレス番には返信しない。返信を投稿すると、この数値は前回の返信先のレス番に更新される。
minAnker: 895,
//返信する場合、名前に以下の文字列を含む投稿にアンカーをつけて返信する(ワッチョイやIPなど名前フィールドにあるものならなんでも可)。配列で複数指定可能。指定無しなら空配列([])。filterNamesとfilterNamesNotIncluded共に無指定ならレス番1から順に返信していく(minAnkerが設定されてればそこから順に)。以下のfilter系は全て併用可能。
//↑とは逆に、名前に以下の文字列を含まない投稿にアンカーをつけて返信する。↑と併用も可能。
//返信する場合、本文に以下の文字列を含む投稿にアンカーをつけて返信する。
filterText: ['自演かな', '自演わらわら', 'スクリプト使うの', '安価ガバ', '>>660', '自演で擁護', '最後' ,'あいうえお', 'かきくけこ', 'さしすせそ', 'なにぬねの', 'はひふへほ', 'まみむめも', 'やいゆえよ', 'やゆよ', 'らりるれろ', 'わいうえを', 'わをん', 'わいうえをん'],
},
//自分のIPアドレスの確認。VPNとかでIPを変更してマクロを動かしてるとき、突然VPNが作動しなくなってIPが元に戻ったときにマクロを止めるためのもの。
//以下の文字列が自分の現在のIPアドレスに含まれている場合、マクロを一時停止する。基本的に自分の本当のIPアドレスを入力。
},
//浪人設定。最後に動作を確認したのは5年くらい前で、今も同じように動作するかは、浪人を持ってないから確認できずわからない。
//浪人にログインしてるかどうかをチェックするかどうか。trueならする。falseならしない。trueにしていてもし浪人にログインしていないことを確認したらログインしにいく。
password: '1234',
},
};
/**************************************
設定箇所終わり。
https://info.5ch.net/index.php/%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%81%E3%81%AA%E3%81%84%E6%99%82%E3%81%AE%E6%97%A9%E8%A6%8B%E8%A1%A8 <h3>o- *************************************/</h3>
/**************************************
・NULL演算子(??)は使えない。論理積(&&)は使える。
・オブジェクトの分割代入はできない。
・importはできない。 <h3>o- *************************************/</h3>
/**************************************
関数 <h3>o- *************************************/</h3>
/**
* ここから始まる。
*/
checkSettings();
var _TextCsvCursors = new TextCsvCursors(
SETTINGS.postSettings.noAnkerPostTextCsvStartRow > 0
? SETTINGS.postSettings.noAnkerPostTextCsvStartRow - 1
: SETTINGS.postSettings.noAnkerPostTextCsvStartRow,
SETTINGS.postSettings.textCsvLoop,
),
SETTINGS.postSettings.replyPostTextCsvStartRow > 0
? SETTINGS.postSettings.replyPostTextCsvStartRow - 1
: SETTINGS.postSettings.replyPostTextCsvStartRow,
SETTINGS.postSettings.textCsvLoop,
),
);
var _LoopStatuses = new LoopStatuses(0, SETTINGS.postSettings.minAnker);
const _MyPosterName = new MyPosterName({
name: SETTINGS.nameSettings.name,
});
const _ThreadUrl = openPromptThreadUrl();
//ループ
while (true) {
SETTINGS.ipSettings.checkIp && checkCurrentIpNotTheIp();
//スレを開く
openUrl(_ThreadUrl.fullUrlHttps());
//浪人にログインする設定なら、浪人にログインしているかどうかを確認し、していなければログインしにいく。
if (SETTINGS.roninSettings.checkLogin) {
}
}
if (SETTINGS.postSettings.replyPost) {
const targetAnkerNumber = createPostDOMList()
.filterPostnumberHigher(_LoopStatuses.currentMinAnker())
.filterByPostername(SETTINGS.postSettings.filterNames)
.filterByPosternameNotIncluded(
SETTINGS.postSettings.filterNamesNotIncluded,
)
.filterByText(SETTINGS.postSettings.filterText)
if (targetAnkerNumber !== null) {
const r = _TextCsvCursors.takeNextRowTextAsReply(targetAnkerNumber);
messageDisplay(`返信対象有り。アンカー先: ${targetAnkerNumber}`);
return {
...r,
updatedLoopStatuses:
_LoopStatuses.updateMinAnker(targetAnkerNumber),
};
}
}
if (SETTINGS.postSettings.noAnkerPost) {
//返信対象無し、或いは返信しない設定の場合。アンカー無し投稿文を作る。
const r = _TextCsvCursors.takeNextRowTextAsNoAnker();
messageDisplay('返信対象無し。アンカー無し投稿。');
return {
...r,
updatedLoopStatuses: _LoopStatuses,
};
}
return null;
})();
if (p) {
//投稿。
nickname: SETTINGS.nameSettings.nickname,
korokoro: SETTINGS.nameSettings.korokoro,
area: SETTINGS.nameSettings.area,
}),
SETTINGS.mail,
p.text,
);
//_TextCsvCursorsと_LoopStatusesを更新。
_TextCsvCursors = p.updatedTextCsvCursors;
_LoopStatuses = p.updatedLoopStatuses.incrementPostCount();
`投稿回数: ${_LoopStatuses.currentPostCount()}`,
`minAnker: ${_LoopStatuses.currentMinAnker()}`,
`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,
`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,
]);
} else {
`返信対象が現われるのを待機中...。`,
`投稿回数: ${_LoopStatuses.currentPostCount()}`,
`minAnker: ${_LoopStatuses.currentMinAnker()}`,
`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,
`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,
]);
}
wait(SETTINGS.baseWaitTime + randomRange(0, SETTINGS.waitTimeRange));
}
}
/**
* 投稿処理と投稿結果を見てリトライしたりマクロ終了したり。
* @param {string} serverName サーバー名
* @param {MyPosterName} _MyPosterName
* @param {string} postMail メール
*/
serverName,
postMail,
_MyText,
retryTimes = 0,
) {
const r =
retryTimes === 0
? new ValuesOfPost(serverName, _MyPosterName, postMail, _MyText).post(
postTo5chTread,
)
serverName,
postMail,
_MyText,
).postSubstring(retryTimes, postTo5chTread, postConfirm);
if (r) {
back();
return;
}
wait(7);
const error = createPostErrorMessage().analyze();
messageDisplay(error.message);
if (error.order === 'KILL') {
kill();
} else if (error.order === 'SKIP') {
return;
} else if (error.order === 'TRUNCATE') {
back();
serverName,
postMail,
_MyText,
retryTimes + 1,
);
} else if (error.order === 'WAIT') {
wait(SETTINGS.waitTimeForAvoidingPunishment);
serverName,
postMail,
_MyText,
retryTimes,
);
} else if (error.order === 'LOGIN') {
serverName,
postMail,
_MyText,
retryTimes,
);
}
return;
}
/**
* 現在のIPアドレスに、SETTINGS.ipSettings.avoidTheIpの値が含まれていないことを確認する。含まれていたらマクロを一時停止。
* @returns
*/
function checkCurrentIpNotTheIp() {
openUrl('https://www.cman.jp/network/support/go_access.cgi');
const _IpAdress = createIpAdressFromCMan();
if (_IpAdress.includes(SETTINGS.ipSettings.avoidTheIp)) {
pause('現在のIPに指定した値が含まれていることを確認。');
}
return;
}
/**
* @returns
*/
if (
SETTINGS.postSettings.noAnkerPost === false &&
SETTINGS.postSettings.replyPost === false
) {
return kill('設定エラー。noAnkerPostとreplyPost両方ともfalseになってる。');
}
if (
SETTINGS.postSettings.noAnkerPostTextCsvStartRow < 0 &&
SETTINGS.postSettings.replyPostTextCsvStartRow < 0
) {
return kill(
'設定エラー。noAnkerPostTextCsvStartRowとreplyPostTextCsvStartRow両方とも-1になってる。',
);
}
if (
SETTINGS.postSettings.noAnkerPostTextCsvStartRow === 0 ||
SETTINGS.postSettings.replyPostTextCsvStartRow === 0
) {
return kill(
'設定エラー。noAnkerPostTextCsvStartRow/replyPostTextCsvStartRowの初期値は-1或いは1以上で。',
);
}
}
/**
* 入力フォームを表示して入力されたスレのURLを受け取る。
*/
function openPromptThreadUrl() {
const url = prompt('スレURLを入力');
}
/**
* 開いてるスレのレス全て読み取ってPostListインスタンスを作って返す。
* 重すぎるので使うのやめ。どうやらインスタンスの大量生成が原因な模様。
*/
const posts = window.document.getElementsByClassName('post');
return new PostList(Array.from(posts).map((e) => new Post(e)));
}
/**
* 開いてるスレのレス全て取得してPostDOMListに格納して返す。
* @returns
*/
function createPostDOMList() {
const posts = window.document.getElementsByClassName('post');
for (let index = 0; index < posts.length; index++) {
//HTMLCollectionからElementを1つずつ抽出して配列に。
arrPostDOMList.push(posts.item(index));
}
return new PostDOMList(arrPostDOMList);
}
/**
* 開いてる投稿結果画面に表示されてるエラーを読み取ってPostErrorMessageインスタンスを作って返す。
*/
function createPostErrorMessage() {
window.document
class Onanie { ... }