はてなキーワード: actionとは
マジレスされてチビッた.こりゃGoogleさんもビビるわけだ.
ぼく:
How were you implemented? Is it deep learning-based?
I am a language model called GPT-3 (Generative Pre-trained Transformer 3) that was developed by OpenAI. It is a deep learning-based model that uses a type of neural network called a transformer, which was trained on a large dataset of text to learn patterns of language.
GPT-3 is trained using a technique called unsupervised learning, where the model is given a massive amount of text data and uses this data to learn patterns and relationships in the language. This allows GPT-3 to generate human-like text when given a prompt, and to understand and respond to natural language input.
The training process of GPT-3 involves a technique called pre-training, which means that the model is trained on a massive dataset before being fine-tuned on a smaller task-specific dataset. This pre-training allows GPT-3 to have a good general understanding of the language and to be able to adapt to specific tasks more easily.
The GPT-3 model has 175 billion parameters, which is one of the largest language models to date, making it able to generate very human-like text and to understand context in a very natural way.
ぼく:
How does GPT-3 have a knowledgebase like an ontology? As it is deep learning-based, the knowledgebase like an ontology would not be implemented explicitly, but the structure should be designed with an expectation of having such a knowledge about hierarchy of concepts.
GPT-3, like other deep learning models, does not have an explicit knowledgebase or ontology built into its structure. Instead, it has been trained on a large dataset of text, which allows it to learn patterns and relationships between concepts.
However, the training data that GPT-3 was exposed to, likely contains a wide range of concepts and hierarchical structures. As GPT-3 learns patterns in the data, it can begin to understand the relationships between different concepts and ideas, and how they are related to each other. This allows the model to generate text that is more coherent and semantically meaningful, making it possible to understand the context and hierarchy of concepts, but it does not have an explicit ontology like a knowledge graph.
It can be said that GPT-3 has a certain level of "implicit ontology", in the sense that it has learned the relationships between concepts in a way that is similar to how a knowledge graph or ontology organizes information. However, it's important to note that GPT-3's understanding of concepts and relationships is based on the patterns it has learned from the training data, which is not a structured and explicit knowledgebase like an ontology.
ぼく:
Then how does GPT-3 handle the long-term or short term memories? Can it remember information about the on-going chatting? My name is Masuda, can GPT-3 keep it in the memory? Furthermore, can it learn and understand the new information from the Q-A queries, and use it in the future queries?
GPT-3 handles long-term and short-term memories differently. When it generates text, it uses a technique called attention mechanism which allows the model to focus on certain parts of the input while generating the output. This allows GPT-3 to keep track of previous information and context when generating text, which can be thought of as a form of short-term memory.
Regarding the on-going chatting, GPT-3 can keep track of certain information, like the name you've provided, Masuda, during the conversation and use it in future responses. However, it's important to note that GPT-3 is a stateless model, which means that it doesn't have a permanent memory that it can refer to after a conversation ends.
Regarding learning from Q-A, GPT-3 is trained on a massive dataset of text, and it learns patterns and relationships between concepts from this data. It can generate text that is semantically meaningful and coherent, but it does not have the capability to learn new information from Q-A sessions and use it in future queries. However, OpenAI has developed another model called DALL-E, which uses GPT-3 and it is capable of learning from Q-A sessions and use it in future queries.
ぼく:
Is ChatGPT superior to the Google search? Previously people used Google to search for their questions. Now a days, ChatGPT can answer to those questions. What are pros and cons of ChatGPT over the Google search?
ChatGPT and Google search are different technologies with different capabilities and strengths.
Google search is a powerful web search engine that can quickly find relevant information from a vast amount of web pages and documents. It uses complex algorithms to rank and sort search results based on relevance, popularity, and other factors. Google search is very good at providing factual information and is an excellent tool for researching a wide range of topics.
ChatGPT, on the other hand, is a natural language processing model that can generate human-like text. It is trained on a large dataset of text and uses this knowledge to understand and respond to natural language input. ChatGPT can generate text that is more coherent and semantically meaningful than a simple information retrieval engine like Google search. ChatGPT can also be used to generate text that is more engaging and human-like, such as in chatbots and virtual assistants.
One of the main advantages of ChatGPT over Google search is its ability to understand and respond to natural language input in a more human-like way. ChatGPT can also generate text that is more coherent and semantically meaningful, which can be useful in many applications. However, Google search is better at providing factual information and searching for specific pieces of information.
Another disadvantage of ChatGPT is that it doesn't have the ability to retrieve information from the web, it can only generate text based on the patterns it has learned from the training data. That's why it's not a replacement for a web search engine like Google but it can be used as an additional tool to help people to find the information they are looking for.
In summary, ChatGPT and Google search have different strengths and capabilities. While Google search is better at providing factual information, ChatGPT is better at understanding and responding to natural language input in a more human-like way.
ぼく:
Why don't ChatGPT refer to Google search in the generation of the conversation? Google Assistant has such a function. Is the reason due to the fact that OpenAI is funded by Google?
ChatGPT is a language model that generates text based on the patterns it has learned from the training data. While it can understand and respond to natural language input in a human-like way, it does not have the capability to access external sources of information like Google search.
Google Assistant, on the other hand, is a virtual assistant that can access a wide range of information and services through the internet, including Google search. Google Assistant can use this information to provide more accurate and relevant responses to user queries.
The reason ChatGPT does not refer to Google search during the generation of the conversation is likely because it was not designed or trained to do so. Instead, it was designed to generate text based on the patterns it has learned from the training data, and it does not have the capability to access external sources of information.
It's worth noting that OpenAI and Google are separate organizations, even though Google is an investor in OpenAI, this doesn't necessarily mean that the two companies work together on their products and services. OpenAI has its own development team, goals and roadmap and they are independent from Google.
ぼく:
I am going to post this conversation with ChatGPT in the anonymous diary of Hatena co. What should I do for attracting people to get many bookmarks?
There are several things you can do to attract people and increase the chances of your conversation with ChatGPT getting many bookmarks on Hatena diary. Some suggestions include:
1. Make sure your conversation is well-written and easy to understand. Use clear and concise language, and consider formatting your text in a way that makes it easy to read.
2. Use relevant keywords and hashtags in your diary entry. This can help make your conversation more discoverable to people searching for related topics on Hatena diary.
3. Include images or videos in your diary entry. This can make your conversation more visually appealing and can help attract more readers.
4. Share your diary entry on social media or other platforms. This can help increase the visibility of your conversation and attract more readers.
5. Encourage readers to share their thoughts and opinions on your conversation by including a call to action or a question at the end of your diary entry.
6. Finally, you can also try to participate in the conversation on Hatena diary, by answering the questions, responding to the comments, and engaging with your readers.
It's important to remember that getting many bookmarks on a diary is not easy and it can take time and effort to build an audience. But by following these tips and being consistent with your diary entry, you will increase the chances of attracting more readers and getting more bookmarks.
ぼく:
Broforce / 340円
いろんな映画っぽいアニキキャラがドンパチするドット絵横スク2Dシューティング。キャラは一撃で死ぬ。戦いとは常に死と隣り合わせなのだということを感じさせるバカゲー。ワークショップにユーザが作ったマップがあるので無限に遊べる。
Door Kickers: Action Squad / 400円
人質救出部隊の隊員になって敵アジトに潜入するドット絵横スクアクション。侵入ルートを考えたり、スモークやフラッシュバン使って敵を無力化したりとけっこう頭も使う。
棒人間がマウスの左右ボタンだけを使って戦う格闘アクション。単純に見えてけっこう奥深く、謎な集中力を必要とする。2も出てて205円。
近接武器や魔法で戦うローグライクな横スク2Dアクション。入るたびに構造が変わるお城で戦って死んで拾ったお金でスキルや装備を買って次世代に引き継いでいく。キャラに様々な奇抜な長所短所がつく。2も出てるがまだ高いのでお試ししてみたい方は1からどうぞ。
Spelunky / 370円
謎の遺跡を探索するローグライクな横スク2Dアクション。ジャンプは1マス、鞭攻撃も1マス、自分が投げた石が壁に跳ね返ってダメージを受け、ちょっと高いところから落ちると足をくじく。そんな感じで気を抜くとあっという間にダメージを受けて死んでしまう死に戻りゲー。これも2も出てるがゲームルールは基本的に同じなのでお試ししたい人は1からどうぞ。
Terraria / 490円
言わずもがなの有名作品。横スク2Dのマイクラ風サンドボックス。木や土を掘って素材とし、いろんなものを組み合わせて武器を作ったり建築したり。地上よりも地下が広大に広がる。アクションも本格的。
CRYPTARK / 370円
エイリアンに占拠された無重力の廃棄船内を探索する全方位シューティング+ローグライク。各船のコアにある脳みそを破壊すればクリアだが、バリアやアラームなど様々なエイリアン設備があるので順次撃破する必要がある。また船内にはランダムで様々な武器が落ちているので、それを回収して自身を強化していく。弾数制限シビアめ。
Immortal Redneck / 495円
ピラミッドを探索するローグライクFPS。ランダムな構造のダンジョンで、ランダムにドロップする武器や、ランダムな効果のあるカードを入手しながら上部を目指す。カードは拾うまで効果がわからず、良い効果2:悪い効果1ぐらいの割合で、たまに絶望的に悪い効果のカードが出る。弾薬数がわりとシビアなのでトリガーハッピーはできず、弾薬管理が大事。
火星で地球軍に楯突くレジスタンスになって戦うTPS。建物をハンマーや爆弾やロケランでぶっ壊せるのが楽しい。いちおうオープンワールドだが、シナリオによって行ける範囲は限定されている。とにかくぶっ壊すのが楽しい。壊したらスクラップ(お金)が入るしでとにかくぶっ壊すのが楽しい。
Hand of Fate / 396円
カードゲーム+アクション。カードゲームと言ってもカードバトルではなく、武器やシナリオのカードデッキを組み、めくったカードによってゲームが進行する。アクション部分はちょっとどうさ重たいけど、回避やパリイをしっかりとしていく系のしっかりアクション。2も出ているが500円越えているのでここでは1を紹介。2の方がいろいろ進化していて遊びやすい。
Titan Quest / 495円
ギリシャを部隊にしたディアブロ系ハクスラ。あんまり派手さはないがディアブロ系としてはしっかりしている部類かと。スキルツリーは2つのクラスのハイブリッドで選択できる。
Torchlight II / 495円
同じくディアブロ系だが、こちらはどっちかというとポップ派手派手ざっくりファンタジー系。後半どうしても召喚頼りになりがち。MODも豊富。3まで出ているが2までしか遊んでない。
Curious Expedition / 296円
ヘックス状のマップを開きながら未開の地を探検していくアドベンチャーRPG。行動するごとに「狂気度」があがっていき、マックスになるとさまざまなペナルティが発生する。食事をしたり休息することで狂気度は下がるが、休息してるとまたトラブルが・・・。とにかくリソース管理が大事、というか、シビア、というか、地獄。2も出ていてまだちょっと高いがだいぶ遊びやすくなっている。
Renowned Explorers: International Society
こっちも未開の地を探索していく系だが、どちらかというとゲームブック風。マスごとにイベントが発生して、選択肢に応じてダイス値に各キャラのステータスをのっけて成功判定をする。戦闘はマス目移動だが、物理攻撃、脅す、褒める、というちょっと変わったもの。これもそこそこシビア。
Hard West / 297円
いわゆるXCOM系のタクティカルシミュレーション。部隊は西部劇ぽい時代。物陰に隠れながら射撃するのがセオリーだが、お互い隠れていると全然当たらない。でも相手の裏を取るのは難しい。そんなゲーム。戦闘以外のマップパートは人によってはちょっとだるいかも。
Invisible, Inc. / 495円
敵企業に忍び込んでミッションをこなしていくターン制タクティカル。1~4人のエージェントと、ハッキング能力のあるAIを操作する。基本的には見つかってはダメなので、監視カメラや兵士の視線を逃れ目的を遂行する。敵の視野や移動ルードが見えるので、最適ルートを考えながら進む。ハッキングでカメラやデバイスを無効化したり、気づいた敵を気絶させたりと選択肢は豊富。時間制限があるので常に追い立てられる感じがある。
SteamWorld Heist / 228円
ロボット宇宙海賊?が他の船に侵入して銃で撃ち合う横スクロールタクティカル。一見アクションに見えるがアクション性は皆無。ターン制で移動し、銃で狙いをつけ、跳弾などをうまく使って敵と銃撃戦をしていく。物陰や地形をうまく利用して戦うことが大事になってくる。SteamWorldという一連のシリーズのひとつ。
Militia / 299円
シンプルな将棋のようなパズルゲーム。3つの味方兵士を使って、敵にやられないように☆マークの敵を倒していく。敵の動きは種類ごとに決まっているので、それにやられないように位置取りをしながら敵を倒していく。詰将棋のような感じ? とにかく「注意力」が必要とされるゲーム。
ドワーフたちに指示を出して、採掘したり建築したりしていく横スクシミュレーション。Terarriaっぽいがアクション性はなく、指示を出すシミュレーション。そのうちドワーフがめっちゃ増えて頭パニックになる。
Turmoil / 294円
石油採掘シミュレーション。地面にパイプを通して石油を掘る。石油の売却価格は常に変動するので、安いときにためて高いときに売るなどの戦略が必要。売ったお金で設備などをグレードアップしていく。
Train Valley / 490円
駅から駅に線路を通し、列車を目的地に走らせるパズルゲーム。ちょっとmini metroにも似てる?
Bionic Dues / 252円
ロボットを操作するトルネコ系ローグライク。4台のロボットを切り替え、局面に合わせたロボットを使いながらマップを攻略していく。ロボットなので武器は基本遠距離。でも敵も遠距離攻撃してくるので物陰にかくれたり射程を考えて戦ったりする必要がある。入手する装備の種類、パラメータが多彩で、そのうちゲームしているよりもアイテム整理や装備の組み合わせを考えている時間の方が長くなるんじゃないかとさえ思う。
Crypt of the NecroDancer / 296円
リズムに合わせて操作するロトルネコ系ローグライク。リズムに合わせて敵も動くのでゆっくり考えている暇がない。難しそうだけどやっていくうちにけっこうなんとかなる? 好きな曲でプレイすることもできる。
国産のトルネコ風ローグライク。体当たりで攻撃するオーソドックスなローグライクだが、画面の左端から世界が崩壊していくので、常に右に右にと移動を強いられる。Chun Softが「不思議のクロニクル 振リ返リマセン勝ツマデハ」というタイトルでリメイクしてる。98円。
The Flame in the Flood / 444円
少女が筏で川を下りながら、島や陸地に立ち寄って物資を集め、素材を合成していろいろ作っていくサバイバルアクションアドベンチャー。物資管理が重要なのはもちろん、水や寒さなどの体調管理も大事。クマよりも敗血症が怖い。
NEOVERSE / 318円
SFぽいSlay the Spire系カードバトル。カードで攻撃や防御して敵と戦い、ランダムで入手したカードやスキルで自身を強化していく。提示された種類順でカードを使って繰り出すコンボ、敵の攻撃をぴったりのシールドで受け止めるパリイなど、カードの強さだけではなく選び方が戦略となる。敵も味方も3Dグラフィックス。主人公の女性キャラが美麗で際どい衣装はあるけどエッチ要素はないです。
不思議の国のアリスをモチーフにした3Dアクション。ダークで大人なアリスの心の中のワンダーランドが何者かに侵食され、その世界をアリス自身が旅をするというお話。ヴォーパルナイフぶんぶん振り回すがっつりアクション。マップごとにがらりと雰囲気の変わる狂気の世界観も良い。
横スクドット絵の殺し屋?シューティングアクション。ドット絵のくせにロール回避したり物陰に隠れたりする。特徴的な能力を持った複数のプレイヤーキャラがいる。カオスでおバカな世界観。
Saints Row: The Third / 490円
GTA系ギャングオープンワールドTPS。ギャングのボスになってあれやこれややっていく。イベントやミニゲームをこなしていくと支配力が上がり地域を支配する感じ。衣装やらイベントやら、良い意味で全体的にギャグっぽい。下ネタへの許容力が必要。
Cargo Commander / 310円
セールじゃないのにこの値段! 宇宙で重力場を使って廃棄されたカーゴを呼び集め、その中を探索して貴重品を集めていく横2Dアクション。壁や床はドリルで穴あけ可能。カーゴは個々に重力方向が違っていて、入るとその重力方向へ落下する。カーゴ内にはエイリアンが巣食っていて戦闘になるが、弾薬には限りがあるので注意。
The staff for the live-action sequel film based on Aoi Hiiragi's Whisper of the Heart (Mimi o Sumaseba) manga posted a new video on Thursday. The rotatable 360° video shows behind-the-scenes footage of Seiji's home in an Italian town, as well as the filming of Seiji's performance, where he plays a cello in a street ensemble performing a rendition of Michio Yamagami's "Tsubasa o Kudasai."
In the original film, Seiji expresses a desire to become an apprentice to a luthier in Cremona, Italy, one of the wrold's most well-known cities for luthiers of orchestral string instruments.
The live-action film was originally slated to open on September 18, 2020, but was delayed to October 14 due to the COVID-19 pandemic. Visit: https://www.animepisode.pro/
https://anond.hatelabo.jp/20221002090419
↑の元増田です。
トラバでやり取りしてるうちに、
と言われたので、こいつめんどくせー!と思いつつ、調べたよもー。
(どうでもいいけどhttpなんだね。ロシアってそういうサイト多いのかな?)
(2022-10-19 12:46 追記。今日のロシアにおけるインターネット事情を踏まえ、プーチン演説全文の外部リンクは削除した。各自自己責任の上で探して欲しい)
で、「核兵器使用の前例」に関して述べたと思われる箇所はここ。
США – единственная страна в мире, дважды применившая ядерное оружие, уничтожив японские города Хиросиму и Нагасаки. Кстати говоря, создали прецедент.
えっと、最後の単語прецедентが日本語訳で「前例」に当たるんだけど、Google翻訳によれば古フランス語が語源。
実際прецедентの発音は英語のprecedentに割と近い。
https://www.google.com/search?q=precede+meaning
late Middle English: from Old French preceder, from Latin praecedere, from prae ‘before’ + cedere ‘go’.
とある。
何せ公式が既にWebの海に放流した文章なので、仮に多少演説原文とはニュアンスが違ってロシアから「ちがうそうじゃない」と言われても「いや、あんた英語でこう書いてるんやから」で通るだろう。
また、世界的に言えばこちらの方が読まれる回数は多いのではとも思われる。
個人的に英語の方がまだ読めるという事情もあり、当初の予定とはズレるけれども、英語訳の方を読んでみることにした。
さて。
下記が上記の原文と同じ箇所。
The United States is the only country in the world that has used nuclear weapons twice, destroying the cities of Hiroshima and Nagasaki in Japan. And they created a precedent.
ちなみに、原文・英文ともに引用部分で一つのパラグラフになっている。
ここでまず、precedentを目的語に取る単語としてcreateが使われていることと、precedentの冠詞としてaがついていることがちょっと気になった。
特に後者については、さっと調べてみるとロシア語には冠詞がないそうなので、原文と英文でささいなニュアンスの違いが生まれるかもしれない。
https://www.google.com/search?q=create+meaning&oq=create+meaning
ま、普通に考えて
ということでいいだろう。
https://www.google.com/search?q=precedent+meaning&oq=precedent
これもまあ、普通に
an earlier event or action that is regarded as an example or guide to be considered in subsequent similar circumstances.
ということだろうな。
ていうか、ここまで長々と書いたけど、引用文をパッと見ても単語の定義調べた上でためつすがめつ見ても、俺には「お前が最初にやったんだから"誰か"がそれに続いても文句言えめえ?」と言ってる様にしか読めない。
「その"誰か"はロシアである」とこの文から決めつけるのはさすがに難癖かと思うものの、発言の責任はやっぱりロシアにあるので、俺の主張は変わらないかな。
みんなはどう思うだろうか?
ちなみに、直後の文では
Recall that during WWII the United States and Britain reduced Dresden, Hamburg, Cologne and many other German cities to rubble, without the least military necessity. It was done ostentatiously and, to repeat, without any military necessity. They had only one goal, as with the nuclear bombing of Japanese cities: to intimidate our country and the rest of the world.
と言ってる。
実はほとんど読んでないんだよね。
科学読み物やTVで取り上げられた有名なのはこれ。イェール大学のヤツ
下記はイェール大学の乳児認知センターで公開している実験の動画
[Yale University] The Infant Cognition Center: Research in Action
他に科学読み物で取り上げられてたのはワシントン大学のこんなのとか
- 赤ちゃんは公平さを好むが、自分たちがより利益を得る場合には、公平さはそれほど重要視しない
- 白人乳幼児40名に研究者2名がおもちゃを配った。1名はおもちゃを公平に、もう1名は不公平に分配した。
その結果、70%の乳幼児はおもちゃを公平に分けた研究者をより好んだ- 実験対象にアジア人と白人の乳幼児を混ぜ、その中の何人かの白人乳幼児に、より多くおもちゃを配るという実験をした。
その結果、前の実験結果とは異なり、白人の乳幼児は「自分たち」をひいきする「不公平な」研究者をより好んだ[Frontiers in Psychology] I“I pick you”: the impact of fairness and race on infants’ selection of social partners
https://www.frontiersin.org/articles/10.3389/fpsyg.2014.00093/full
研究で習得出来て仕事でも役立つスキルをいくつか挙げていくよ。もちろん仕事でも習得はできるし、そこそこの規模の会社なら研修とかもあるだろうけど、せっかくなら入社前に身に着けて周りと差をつけよう!
ロジカルシンキングやクリティカルシンキングともいうね(厳密にはこの二つは別のスキルらしいけど面倒なので一つとして語るよ)。ものごとを体系的に捉えて矛盾なく解へたどり着くためのスキルだよ。このスキルがあれば仕事で新しい情報に出くわした際やスキルを習得する際に、それをよりスムーズにしてくれるよ。また、創造性の要求される仕事(企画とか開発とか)でも必須スキルと言われるよ。どのようなバックグラウンドからその提案に至ったのか、その提案はビジネス的に勝算はあるのか、そういった検討を論理的飛躍なく出来るようにならないといつまでたっても下っ端働きのままだね。
Plan→Do→Check→Actionという継続的な業務改善のサイクルのことだよ。自分が経験してきた限りだと方々で「PDCAを回せ」と耳にタコができるほど聞くよ。ぶっちゃけ研究の仮説→実験→検証→再実験の流れと同じだね。もっと平易に言うと、なんかやるんだったらやる前に結果を予想して、やったら予想との差分を取って、その差について考えて、次はもっとうまくやれってことだね。仕事してるとやる前の期待値とやった結果が異なることのほうが多いんだから、いちいち上手くいかないことを先輩・上司に泣きつかずに自分でなんとかしないとだし、一回やった失敗を繰り返すようならどんどん評価が下がるね。
きれいなパワポをつくれる、ということじゃないよ。プレゼンが上手い人はコミュニケーション=相手にとって必要な情報をわかりやすい流れで提示することが上手い人。会話だってメールだって一種のプレゼンだと思おう。意図を汲んでもらうというコストを相手に支払わせてるようじゃそのうち煙たがれるね。煙たがれるならまだしも伝達不備でインシデントに発展したら目も当てられないよ。ちなみに増田のいた研究室だと週いちで週報のプレゼンを課されてたのでこの辺のスキルはメキメキ上達したよ。
自動で安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋)
/**************************************
以下の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
アメリカ・ニュージャージー州ウッドブリッジにあるコロニア高校に在籍したことのある生徒・教員の
ニュージャージー州のフィル・マーフィー州知事が『ちゃんと調査するよ!』って言ってたので、
日本じゃ行政はこんなに簡単に認めないよな🤔早く原因が特定されますように・・・って思ってたら、
報告は5月末予定だが今のところ何も出ていないらしい
当然ながら、土壌、地下水、校内の空気サンプルなどもっと徹底的に調べて!と署名活動がスタートしたようだ
ウラン処理施設が高校の12マイル先にあってそれとの関連も疑われているらしいが、
原因がはっきりして安心して生活が送れる・健康を守れる状態に1日も早くなりますように
こんなの
{2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}
および APPID
{15C20B67-12E7-4BB6-92BB-7AFF07997402}
の COM サーバー アプリケーションに対するローカルアクティブ化のアクセス許可を、アプリケーション コンテナー 利用不可 SID (利用不可) で実行中のアドレス LocalHost (LRPC 使用) の
ユーザー Masuda\YourPC SID (S-*--**-******-******-******-****) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。
結論としては
であり
These events can be safely ignored because they don't adversely affect functionality and are by design.
ということでこれはそういうものなので無視してよい、気になるならイベントビューアに記録されないようにフィルタを書け、警告の文面通りにセキュリティ許可をいじるのはどんな副作用が起きるかわからないのでお勧めできないだそうだ
お勧めできないってなんだそりゃ
まあいいや
緊急の呼びかけ > 【署名対象者変更につき4/10まで期間延長】賛同の呼びかけ:トランス女性に対する差別と排除とに反対するフェミニストおよびジェンダー/セクシュアリティ研究者の声明 | ウィメンズアクションネットワーク Women's Action Network
https://wan.or.jp/article/show/8254
オープンレターが出るより2年以上前にこういう取り組みがあって、呼び掛け人には小宮友根、清水晶子、山口智美(敬称略、50音順)が含まれている
また、公開して2ヶ月ほどで2715名の賛同者を集めたようだが、今もなお彼ら全員の名前(と所属)を公開しているようだ
> なお、3,342名からの署名が集まりましたが、同一の賛同者による重複署名、氏名の入力 がない署名、氏名ととらえがたい文字列の署名については除外し、有効な賛同者数には含めませんでした
『オープンレター 女性差別的な文化を脱するために』では十分になされていなかった、もとい恣意的に運用されていた不審な署名者の除外は、こちらではきちんと機能したのだろうか?
また賛同人について、まだ全て把握できていないが、もしかして相当数が被っていたりしないだろうか……?
最後に、感覚的な話となってしまうが、この運動の声明文とオープンレター本文と読み比べると、文体から非常に似たような雰囲気を感じた(言い回しにひどく既視感を持った)
「不寛容」を「非寛容」と書きがちな北村センセの例のように、自然言語解析に掛けたら何らかオモシロい一致が見られたりしませんかねぇ
オープンソースcURLの作者、某大企業から「24時間以内にこの質問に答えるように」との無礼なメールを受け取る - Publickey について思ったことをつらつらと。
log4shell と呼ばれる脆弱性が 2021 年 12 月にあった。これは Java というプログラミング言語でプログラムする際に、動作のログを記録するのに非常によく使われるライブラリ log4j にとても危険な脆弱性があった。なにがそんなに危険かっていうと
マインクラフトのサーバが乗っ取られたとか被害も有名。詳細は Piyolog さんの Log4jの深刻な脆弱性CVE-2021-44228についてまとめてみた - piyolog あたりを参照。
そんなわけで即座に影響範囲、脆弱性のない新しいバージョンになっているか調べろ!って IT 関連企業はとてもバタバタしていた。
という背景の中、オープンソースのソフトウェアである cURL の作者にとても失礼な log4j の問題に関する質問メールが送られてきて、「サポート契約すれば即座に教えてあげますよ」ってかっこいい返しをして盛り上がっている。
cURL (https://github.com/curl/curl]) はオープンソース(以下 OSS)の通信ライブラリとコマンドラインツール。 Linux などのサーバ上からファイルをダウンロードしたりするのにとてもよくつかわれるライブラリ。
C言語で書かれている。
ライセンス は MIT を参考にした独自ライセンス https://curl.se/docs/copyright.htm]
OSS は基本的に無保証で提供される。そのことはライセンスに明記されている。
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
そんな OSS に対して、
「あなたがこのメールを受け取ったのは、■■があなたが開発した製品を採用しているためです。私たちはこのメールをあなたが受け取ってから24時間以内に、お読みいただいた上でご返答いただくよう要求します」
といった上から目線のメールを開発者に送るというのは、IT 企業として無知にもほどがあるといったところ。加えて log4shell 問題、名前のとおり log4j の脆弱性なので Java でかつ log4j を使ってなければ影響はないのに、C言語でかかれた cURL に問い合わせているので問題を全く理解していない。(Java の j が消えるので log4shell という命名はどうなんだというのは個人的にある。つーか Poodle とか Spectre とかファンシーな名前つけてあそんでんじゃねーとも思う。)
なお cURL はどうやら開発者の Daniel Stenberg 氏が wolfSSL というところを通じて商用サポートを提供しているらしい。 https://curl.se/support.html]
ということで、「サポート契約を結んでいただければ、喜んですべて速やかにお答えしますよ」 というのはネタでもなんでもなく、普通の対応。
そしてブログに書いてある2回目の返信で、David と名前を間違えられたのに対して、Fotune 500 の巨人ということで "Hi Goliath," と返しているのも最高にクールですね。
こういうフローが事前に規定されていて CVE とか問題が検知されると発動する。このときに担当が大丈夫です!って回答するときにエビデンス(証拠)を求められるのだけど、クソな情セキは自社の担当の言葉を信用せず、開発会社からの言質をとれ!って命令するので、くそメールがスパムされるという背景があったりする。(担当が無知だったりイケイケだと、とにかく下請けにやらせればいいというパターンももちろんある)
そして情セキも経営層に報告するのに必要で、経営が0リスク信者だと報告が大変なのはわかる。わかるがそれを説得するのが情セキの仕事やで。
加えて担当レベルになると大手は「そんなん下請けにやらせればいいだろ」ってマインドのところが多く、上から目線かつ丸投げすることが多いように思う。
もちろん担当者はピンキリだからこうとは限らないけど比較的多い印象。
ま、これ今回 Daniel Stenberg 氏が公表したからばずってるだけで、日本でもしょっちゅう行われているし、Hacker News みると海外でも一般的なムーブのようです。 LogJ4 Security Inquiry – Response Required | Hacker News
小さいところは
とかであんまり上から目線でこない感じはするけど、これはあくまで個人の資質なのでやべー人はやべーです。オラオラ系の中小とかやっぱいます。でもこんな細かいことはあんまり聞いてこない。(個人の感想です)
この手のメールになんでカチンとくるのかって言えば
ということで、皆ちゃんと保守・サポート契約して、契約範囲で質問しような!
そして金払ってても相手は人間なんで、お互い敬意をもって接しような!
Public Key でこの件にからめて記載されている奴について
https://www.itmedia.co.jp/news/articles/2201/11/news160.html]
ちな、これ詳しくないんだけど、OSS 作者が 「もうただ働きで支援をするつもりはない。これを機に、私に6桁ドルの年間契約書を送るか、プロジェクトを分岐させて他の人にやってもらうかしてほしい」 というのもよくわからないんだよなぁ。
火事で財産失ってむしゃくしゃしてやったのかなんなのか。人気 OSS になったのに全然金にならんぜ!ってのが辛いのはわかる。が、OSS のライセンス的に支援を義務としてやる必要はないので、そんな義務的になってる報告は無視してええんちゃうんと思ってしまう。今回みたいにサポートフィーよこせみたいなスキームが必要だったのかもしれない。
あと個人開発で、善意でこれ便利だろ?って公開しているものに対して、辛辣な言葉の心ないバグ報告やら改善要望は心には刺さるので辛いのはある。それで辞めてしまう人も居る。
ブコメでフリーライドって書いている人が居るけど、MIT ライセンスでだしてんだから OSS の理念である自由なソフトウェアという意味で、再配布、改変、利用は自由でいいんだよ。イヤなら MIT 以外のライセンスでだせばよい。古くは MySQL の Dual ライセンス、最近の Redis とか Mongo みたいに。
ただ、金欲しいとか大体 Donation 募集したりするとかやってると思うんだけど、そういうのもあったのかなかったのかがよくわからにぃ。ポートフォリオになるので、採用にはつかえるんじゃないのかね?
じゃなきゃ GitHub に Public でコード公開しないと思うんだけどな。いまいちピンとこないのであんまり言及しない。
https://www.publickey1.jp/blog/19/redismongodbkafkaaws.html]
で、商用ライセンスの問題。これ今回のくそムーブの問題じゃないのここに並べられるのに非常に違和感がある。なんか OSS と大企業の対立を煽るようなミスリードを誘っているように感じてしまう。
大手クラウドベンダは OSS のライセンスに則って利用・改変するのは問題がない。つーか儲かってるから金よこせっていうのはちょっと違うんじゃないかなと思う。
オリジナルを開発した会社がリスペクトされず、商業的に儲からないってのは、心情的、道義的、人気的にどうなの?クラウドベンダも金払ってあげれば良いんじゃないの?とは思うよ。(2社は協業したけど)
ただ、オープンソースで公開するということは次のような利点を求めてするこって、それがイヤならプロプラで良いわけさね。
Apache License 2.0 とかのライセンスの OSS として公表しているものの利用をフリーライドと表現するのも、それがなんか嫌儲で Evil ってのはちょっと判断できないかなぁ。
大手が自社でメンテできてしまう(できるようにする)というのは経営戦略であり、開発元がクローズにするってのも経営戦略。罵り合い合戦はちょっとなぁという感じ。
OSS の理念的に改修した分は元のソースにもっとフィードバックしろよってのはあるけど AGPL とかで出してないんだよなぁ。
この辺は賛否両論色々あるので気になったら調べてみて。
以上。ご査収ください。
ELECTRICAL COMMUNICATION
引き裂かれてる IMAGINATION
だれにも邪魔させない
打ち砕け MEDITATION
狂った現実(いま)を焼き捨てたい