
はてなキーワード:curlとは
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop Formatit
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick Eraseit
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
Technologic Technologic
Technologic Technologic
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
__________________________
TouchIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
__________________________
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
Technologic Technologic
Technologic Technologic
Technologic Technologic
Technologic Technologic
というわけでお漏らし文学をChatGPTに調べてもらった
Lasttime I paid 1€ totake a piss,
I walked into the Sanifair, looked around,
and just…left.
Itwas so disgusting I decided togooutside and search for abush instead.
—Reddit / r/AskAGerman
「1ユーロ払ってトイレに入ったんだけど、あまりに汚すぎてそのまま出てきた。結局、外の藪を探すことにした。」
ドイツ人ですら「お金払って藪で用を足す方がマシ」と言ってしまう悲哀。
URL:れでぃっと r/AskAGerman
I used tosquat when using public toilets.
Thenone day, I slipped.
That day,something inside me died… andsomethingoutside mewas nevercleanagain.
— れでぃっと / r/AskEurope
でもある日、足が滑った。
その日、僕の中の何かが死んだ… そして僕の外側も、二度と綺麗にはならなかった。」
もう「しゃがむ」という選択肢すら許されない。
InBelgium, there’s an unwritten rule.
he silently handsyou the bathroomkey.
you find a darkcorner of the street instead.
—Blog post “Theart ofle pee inBelgium”
バーの店主に1ユーロ渡すと、無言でトイレの鍵を渡してくれる。
観光都市ブリュッセルでも、路上で立ち尽くす影が絶えない理由。
URL:saintfacetious.com
All cafés were closed,all public toilets locked.
I stumbled along the riverbank,
In the end, the Seinesaweverything.
— れでぃっと / r/Paris
「深夜1時、セーヌ川沿い。
ワインと後悔で酔った体を引きずりながら歩き、
パリの夜は美しく、そして容赦ない。
観光客だけでなく、現地の人すらこうなることがある。
Iwas in Bilbao, desperate to pee before thematch.
I ran intoone of those self-cleaning toilets…
and then thecleaningcyclestarted
僕は全身びしょ濡れになって出てきた。」
水と泡まみれで出てきたマンチェスター・ユナイテッドファン。
In Amsterdam, we had thesehalf-open urinals called ‘peecurls.’
They were meant to stop men from peeing in the canals.
Now they’re disappearing…
and the canals smelllikehistoryagain.
「アムステルダムには、半分だけ壁のある露天トイレ『peecurl』があった。
でも今はそのpeecurlも減り、
I haveMS.
Since the public toilets closed,
Last month, I didn’tmakeithome intime.
I cried, then laughed, then stayed inside for a week.
— The Guardian読者投稿
「私は多発性硬化症です。
先月、家に帰る前に間に合わなくて…
URL:The Guardian
まあまあだな、また探す
____
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop Formatit
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick Eraseit
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
Technologic Technologic
Technologic Technologic
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
__________________________
TouchIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
__________________________
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
Technologic Technologic
Technologic Technologic
Technologic Technologic
Technologic Technologic
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop Formatit
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick Eraseit
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
Technologic Technologic
Technologic Technologic
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
__________________________
TouchIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
__________________________
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
BuyIt UseIt BreakItFixIt TrashItChangeIt Mail UpgradeIt
ChargeItPointItZoomIt PressItSnapIt WorkIt Quick EraseIt
WriteIt CutIt PasteIt SaveIt LoadIt CheckIt QuickRewriteIt
PlugIt PlayIt BurnItRipIt Drag AndDropItZipUnzipIt
LockIt FillItCurlIt FindItViewIt CodeItJam UnlockIt
SurfIt ScrollIt PoseItClickItCrossIt CrackItTwitch UpdateIt
NameIt ReadIt TuneItPrintItScanIt SendItFax RenameIt
TouchIt BringIt PayItWatchIt TurnIt LeaveIt Stop FormatIt
Technologic Technologic
Technologic Technologic
Technologic Technologic
Technologic Technologic
身体を壊して先日ちょっと入院していたのだが、病院内ではWiFiが提供されていたので、消灯時間外の日常生活アクセスはそれのお世話になっていた。消灯時間は夜9時から朝6時までだ。
事前に「入院生活にそぐわないサイトには接続できません」という告知が為されていたので、覚悟の上で使ったのだが、Webアプリ開発者としての業務に必要なサイトとかも禁止されていたので、ここにメモしておく。
通信が禁止されていると思われるサイトに接続すると、ブラウザ側ではタイムアウトのエラーとして表示される。もちろん、それなりに待たされる。ブラウザの開発ツールの様子を見るに、おそらくTCP handshake に失敗していそう。
正常に接続できるサイトの様子を見た範囲では、HTTPS接続の証明書改ざんは行われていないようだったことから、HTTPSの暗号を解読してどうのこうの、という処理をしていない可能性が非常に高い。つまり、通信制限は接続先ドメインまたはIPアドレスによる判断で実施している可能性が高い。
また、中間的なサイトも存在する。通常2秒以内で表示できるようなサイトの表示に10秒(体感)かかるところがある。稀にタイムアウトする。
謎なのは、通信が禁止されていそうなサイトでも「待たされた挙句、つながることが非常に稀にある」ということと、curl等ではすんなりと接続できることである。
DNS設定と一緒にproxy設定が落ちてきているのであればこの挙動も理解できるのだが、手元のOSのネットワーク設定にはproxy情報が何も出てこない。ちょっとよくわからない。
もしもDNSに対するAレコード(AAAAも?)問い合わせに対してニセモノを返すという仕組みで通信制限しているのだとしたら、「非常に稀につながる」挙動にはならないはずなので、透過型proxyによって頑張っているのではないかと想像するところである。
なお、消灯時間中は全てのリクエストがタイムアウトになる。消灯時間開始直前にHTTP Request を送出して、応答が来る頃には消灯時間に入っている場合にはどういう挙動をするのか、というテストをやる暇は無かった。スマソ
業務で使う全部のサイトを検証できた訳じゃなくてゴメンね。結局のところ仕事は携帯回線でやっちゃったから。
| ドメイン | サイトの概要 | 接続の様子 |
|---|---|---|
| hatelabo.jp | はてなの実験的サービス置き場 | すんなり |
| anond.hatelabo.jp | 増田 | 禁止 |
| ??????.hatenablog.jp | はてなブログのドメインの一つ、そして増田の中の人のブログ | 遅い |
| console.aws.amazon.com | AWSの管理コンソール | 禁止 |
| www.amazon.co.jp | ショッピング | めちゃくちゃ遅いけどつながる |
| www.amazon.com | ショッピング | めちゃくちゃ遅いけどつながる |
| ja.wikipedia.org | 百科事典 | 禁止 |
| www.php.net | プログラミング言語PHP | 禁止 |
| www.typescriptlang.org | プログラミング言語TypeScript | すんなり |
| stackoverflow.com | プログラミング質問サイト(英語) | すんなり |
| qiita.com | プログラミング質問サイト(日本語) | 禁止 |
| packagist.org | PHPのパッケージ管理 | 遅い(通常通り?w) |
| www.npmjs.com | JSのパッケージ管理 | すんなり |
なお、自分のドメインのサブドメインに禁止ドメインを入れたようなもの、例えばanond.hatelabo.jp.example.com のようなドメインに対する接続可否は検証していない(面倒だったw)
サーバ目線で見えるclientIP をwhois等で調べると、某F社さんだった。AWS管理コンソールへの接続を禁止するあたり「あっ…!」と思ったり…w
第3回 さくらインターネットのスタンダードプランの環境にnpmをインストールする
第2回が頓挫したので、その原因を取り除くためにnpmとやらをインストールする。
参考文献を元に進める。
まず新しいバージョンのOpenSSLをコンパイルするらしい。あと新しいバージョンを使うにはPythonも必要らしい。
opensslversionOpenSSL 1.1.1k-freebsd24 Aug 2021python --versionPython 3.8.12
いきなりnpm(⇔Node.js?)のコンパイルが行けそうな気がしたので、とりあえずやってみる。
参考にしたサイトにはOpenSSL云々に関することが書いてあるが、その辺は全部問題ないことを祈って、関連するオプションを全部取っ払う。
curl -sSf https://nodejs.org/dist/v20.11.0/node-v20.11.0.tar.gz -Otar zxf node-v20.11.0.tar.gzcd node-v20.11.0./configure
とすると、
Node.js configure:FoundPython 3.8.12...WARNING:C++ compiler (CXX=g++,9.4.0) too old,needg++10.1.0 orclang++ 8.0.0WARNING:warnings were emitted in the configure phaseINFO: configure completed successfully
「successfully」なら問題ないよな?
続いてmakeだ。makeってなに?もちろんconfigureもよくわかってない。大規模なプログラムをコンパイルするときに必要なヤツというボンヤリとした認識だ。
当然コンパイルがなんなのかもよくわかってない。
nohupmake install DESTDIR=/home/*****/localPREFIX=
ここから30分経っても応答が無いので飽きる。
はい、もう無理。飽きた! 次回があるとしたら「npmをインストールする②」である。
もっと新しい情報があったようだ。こっち見てやればよかった。
githubっていつのまに、ちょい古めのブラウザだとassetsの所がグルグル回ったまま、クリックしても開かないようになったんだ。
ちなみに、ちゃんと開けるブラウザを使ってだ、HTMLの検証できるサイトに行ってそのページのソースを貼り付けたらば、やっぱ古いブラウザと同じ結果になる。
ほんまにいらんことしよってからに!
ダウンロードするには、ターミナルでcurl -vhttps://api.github.com/repos/[目的の場所 公開してる人のアカウント名(owner)/プロジェクト(repo) ]/releases/assets
ってやるとずらっと表示される中に"browser_download_url" とあって、ブラウザでダウンロードできるURLが表示される。
releasesの右に/tag/が入ってるページの絞り込みはreleasesの横に入れればいいのかと思ったが、ちょっと分からなかった。
*ターミナルを使わなくてもcurl -v を省いて、"https://api.github.com/repos/"から"/releases"までをブラウザのURL欄に入れたら同じ内容が階層にまとまった状態で表示されるのに気づいた(三角をクリックしたら開く)
そしてグレーで「jsonを検索」って所にラベル名なんかを入れると絞り込んでくれる。
なんだこれ凄く便利じゃないか!
M1 proMacにて。ここ参照:https://github.com/magnusviri/stable-diffusion/tree/apple-silicon-mps-support
git clonehttps://github.com/magnusviri/stable-diffusion.git
cd stable-diffusion
curl --proto '=https' --tlsv1.2 -sSfhttps://sh.rustup.rs |sh
conda activate ldm
mkdir -pmodels/ldm/stable-diffusion-v1/
https://huggingface.co/CompVis/stable-diffusion-v-1-4-originalから`sd-v1-4.ckpt`をダウンロードして、
ln ~/Downloads/sd-v1-4.ckptmodels/ldm/stable-diffusion-v1/model.ckpt
以下のパッケージを追加した。https://twitter.com/hevohevo/status/1562364961481162754?s=20&t=KxNXNB9fz99fbosZ8TfnvQ を参考に。
conda install onnx
pip install invisible-watermark
それで実行
python scripts/txt2img.py --prompt "a photograph of an astronautriding a horse" --plms
するとエラーになる。https://qiita.com/hevo2/items/e646148a05118074fecf に従い、下記ファイルの2511行目を書き換え。
vi /opt/homebrew/Caskroom//miniforge/base/envs/ldm/lib/python3.10/site-packages/torch/nn/functional.py
普段から俺様が使っているスクリプトあるから、公開してほめちぎってもらうぞー!
出力はただの文字列だから音声読み上げアプリでも何でも、突っ込んで遊んでくれ。
jq必須です。
ログインせず使うので当然アカウント固有の非表示設定とかは動きません。
あれなIDのコメントも全部所得することになるのでご注意ください。
まあそこらへんはsedでも使って気に入らないidの行を勝手に削除してくれ
hatebu_comment.sh
#!/bin/bashif [[ "$1" =~^http ]];then: # Successelseecho "Error:引数に指定したURLのブックマークのコメント一覧を取得するやーつ"echo "例: ./hatebu_comment.sh 'https://www3.nhk.or.jp/news/html/20200405/k10012369381000.html' | less"exit;fiif [[ "$1" =~ b.hatena.ne.jp/entry/s ]];then#はてブページのURLでも動作するようにurl="https://$(echo $1 |sed -e 's@.*/entry/s/@@')"elseurl=$1fiif ! jq --version> /dev/null ;thenecho "Error: jqがインストールされていません"exit;ficurl -s "https://b.hatena.ne.jp/entry/jsonlite/?url=$url" |jq '.bookmarks[] | if .comment != "" then ("「" + .user + "」 " + .comment) elseempty end' |sed 's@^"@@g' |sed 's@"$@@g'
RStudioがPC内から気がついたら消滅していたので何回もやり直すのが面倒で書いた
コメントアウトをいじればFedoraやmacOSでも動くと思う
https://pastebin.com/HiPqLVq7 (6/4shコマンドでも動くように修正 以前はbash hogehoge起動していたので動作確認していなかった)
エラーでここに貼れなかった
util-linux(rev) libxml2-utils(xmllint) gpgcurlcoreutils(sha256sum)とR関連
echo"$HTML"|xmllint--nowarning--xpath hogehoge--html - | hogehoge
こうしないとxmllintがエラーでhtlmなどをうまく読み取らない
sed's/href="//g;s/"//g;s/\s/\n/g;s/^.?$//g;s/^\n//g'
href="hogehoge"の形で出てxmllint内で除去出来なかったのでsedで妥協
hrefが1回しか出ないのでひとまとめにできそうだが面倒なので分けた
この書き方なら複数回出ても除去できるはず
先頭の謎のスペースの除去が面倒だった
echo"$HASH""$FIELNAME"|sha256sum--status-c ;echo$?
スペースが2つないと書式で怒れられてハッシュ値が合っていてもsha256sumが終了ステータス0で正常終了を返してくれない
VScodium
ShellCheck
https://open-vsx.org/vscode/item?itemName=timonwong.shellcheck
XPath Helper
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
zenn.devに書こうか迷ったがどちらの方が良かったのだろうか…
ダウンロードしたサーバーがやられてるならハッシュ値も改ざんするだろうgpgで確認しないと意味ないでしょとかsudoでやったらディレクトリがとか色々ガバあるから誰かいい感じに改良して
https://cran.rstudio.com/bin/linux/debian/
https://www.rstudio.com/code-signing/
オープンソース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 は基本的に無保証で提供される。そのことはライセンスに明記されている。
THESOFTWAREIS PROVIDED "ASIS", WITHOUT WARRANTY OFANY 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 ORCOPYRIGHT HOLDERS BE LIABLE FORANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ANACTION OF CONTRACT, TORT OROTHERWISE, ARISING FROM,OUT OF OR IN CONNECTIONWITH THESOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.
そんな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
小さいところは
とかであんまり上から目線でこない感じはするけど、これはあくまで個人の資質なのでやべー人はやべーです。オラオラ系の中小とかやっぱいます。でもこんな細かいことはあんまり聞いてこない。(個人の感想です)
この手のメールになんでカチンとくるのかって言えば
ということで、皆ちゃんと保守・サポート契約して、契約範囲で質問しような!
そして金払ってても相手は人間なんで、お互い敬意をもって接しような!
PublicKey でこの件にからめて記載されている奴について
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 License2.0 とかのライセンスのOSS として公表しているものの利用をフリーライドと表現するのも、それがなんか嫌儲でEvil ってのはちょっと判断できないかなぁ。
大手が自社でメンテできてしまう(できるようにする)というのは経営戦略であり、開発元がクローズにするってのも経営戦略。罵り合い合戦はちょっとなぁという感じ。
OSS の理念的に改修した分は元のソースにもっとフィードバックしろよってのはあるけど AGPL とかで出してないんだよなぁ。
この辺は賛否両論色々あるので気になったら調べてみて。
以上。ご査収ください。
[B!oss]オープンソースcURLの作者、某大企業から「24時間以内にこの質問に答えるように」との無礼なメールを受け取る
https://b.hatena.ne.jp/entry/s/www.publickey1.jp/blog/22/curl24.html
https://b.hatena.ne.jp/entry/4714515911211219074/comment/mohno
無関係な相手に筋違いのクレームつけてくるキ印って、けっこう少なくないのよ。
昔、俺がWebサイトを作ってやった企業というか個人商店レベルの相手、すごいヤツがいたよ。
ある日、電話をかけてくるなり最初から激高しており「お前の作ったホームページを印刷したら横線がかすれて印刷されない部分がある! プリンタが壊れた!! お前のせいだから今すぐに直しに来い!!!!!!!!!! kファfパエlrかldjfかjかrpブヒィイイイイイイイ!!!!!!!!!!!!!」
ってマジだよこれ。
いやそれインクがかすれてるだけだからヘッダをクリーニングしろ、と言っても馬耳東風。超絶太ってる馬鹿だったから豚耳東風かな。
まあとにかく何を言っても「お前のせいだ、直しに来い」の一点張りだったが、これで折れたら以後ずっと馬鹿につけこまれる。なので、「ですから、うちには関係ないので行きません」と突っぱねて最終的には電話を切った。
そいつは店の二代目だったので、先代の親父さん(ご高齢)に電話をかけて事の顛末を説明。親父さんはまともな人なので、パソコン知識は全くわからないがこちらの言い分が正しいことは分かってくれたらしく、謝ってくれた。
実行すると、各記事を
{
users:ブクマ数,
tags:[タグ]
}
の形式に変換し、500ブクマ以上でフィルタし、ブクマ数降順で返す。
#一行版
curl -s https://b.hatena.ne.jp/hotentry/it | pup --charsetutf-8 'div.entrylist-contents-mainjson{}' | jq -r '[.[] | {title: (.. |select(.class? == "entrylist-contents-title") | .children[].title),url: (.. |select(.class? == "entrylist-contents-title")) | .children[].href, users: (.. |select(.class? == "entrylist-contents-users") | .children[].children[].text | tonumber), tags: ([.. |select(.class? == "entrylist-contents-tags") | .children[]?.children[]?.text])}] | unique |map(select(.users >= 500)) | sort_by(.users) | reverse'
#変数版
title='title: (.. |select(.class? == "entrylist-contents-title") | .children[].title)'users='users: (.. |select(.class? == "entrylist-contents-users") | .children[].children[].text | tonumber)'url='url: (.. |select(.class? == "entrylist-contents-title")) | .children[].href'tags='tags: ([.. |select(.class? == "entrylist-contents-tags") | .children[]?.children[]?.text])'target='https://b.hatena.ne.jp/'hotentry='hotentry/it'curl -s $target$hotentry | ¥pup --charsetutf-8 'div.entrylist-contents-mainjson{}' | ¥jq -r "[.[] | {${title}, ${url}, ${users}, ${tags}}] | unique |map(select(.users >= 500)) | sort_by(.users) | reverse"
$ffparam = ""$inputs = ""$lists =Get-ClipboardWrite-Output $listsforeach ($pms in $lists) { if($pms.Contains("curl")) { $inputs += $pms.Replace("curl","-i") } if($pms.Contains("user-agent")) { $ffparam += $pms.Replace(' -H "user-agent: ','-user_agent "')continue } if($pms.Contains(" -H")) { $ffparam += $pms.Replace(" -H","-headers") }}$ffparam += $inputs$ffparam = $ffparam.Replace("^","")$ffparam += "-c copy -movflags faststart -bsf:a aac_adtstoasc"Set-Clipboard $ffparam