久々にy4a開発再開して、今日は丼垢認証とか作りたいな~なんて妄想してたら、歴史の地雷を踏みまくってそれどころではなくなった
ボンクラプログラマー
頭とお腹が弱い。
最近は個人鯖の @shibafu528 がメインです。
⚠️ CW設定のない下品な発言が非常に多いです。これは仕様ですのでご了承下さい。
ℹ️ spam対策でフォロー承認制にしています。上の一文が構わないという方ならお気軽にどうぞ。
FINAL FANTASY XIV 関連の著作物は
(C) SQUARE ENIX CO., LTD. All Rights Reserved.
久々にy4a開発再開して、今日は丼垢認証とか作りたいな~なんて妄想してたら、歴史の地雷を踏みまくってそれどころではなくなった
ピッツァ!!!(ハイコンテクスト肉体言語)ピザ屋の大群です!!!マリナーラ!オルトラーナ!バンビーノ!!客これ他店のクーポンぞッ!?マンマミーヤ!ピッツァ(裏声)!!!
https://shindanmaker.com/831381
今日の仕事でやった割にあんまり達成感がなかったこととして「他人が書いた、ごく短い処理の割に無駄にステートフルな2メソッドを、1メソッドに統合してフィールドを全てローカル化の後爆破」があり、そもそもなんでこうなってなかったんだ……?と音ゲーマー並に首をかしげた
この間PECL見てたらきしょい(誉め言葉)PHP extension見つけた
http://php-decimal.io
BCMathより速い、クラスオブジェクトなのでタイプヒントできる、extensionの力で算術演算子に対応している、などがウリらしい
今週はタイプヒンティング強化週間してるので定義するメソッドにめっちゃ型書いてある
IDではなく名前を出すPRと、俺が適当に追加した名前変更機能が悪魔合体した結果がこれだよ
数日以内のお惣菜にツイのCEOを騙った(騙ってない)やつがいたの忘れてないからな
このアカウントは、notestockで公開設定になっていません。
巡音ルカのオリジナル曲 Master Ninja Made in Japan - ニコニコ動画
https://www.nicovideo.jp/watch/sm36286298
league/csv、addStreamFilter()とかいうメソッド生えててこれはオッとなるな
おーmbstringを使ったフィルタも付属してるじゃん! と思ったが、なんか和製のやつよりずいぶん処理が薄い。これ大丈夫なやつか? https://github.com/thephpleague/csv/blob/5d8a48bed12e0e951fa8bfe0206f220fbad9cd04/src/CharsetConverter.php#L158
あぁ、league/csvのやつだと「まだ後続バイトをストリームから読めてないだけで、本当は正当なマルチバイト文字かもしれないやつ」をガン無視してぶっこわしちゃうなこれ
日本人が出してる類似のフィルタはだいたいそういう処理が入ってるな。そりゃそれがなかったらSJISの1byte目と2byte目の境界でぶったぎるとか平気で発生しちゃうからすぐ気づくか。
やはりマルチバイト文字ユーザーで本当に困らされてる人が書かないと問題が摘出されない。
インターフェースは良さそうなので、これに適宜良い実装のストリームフィルタを噛ませるのが良いかね。
PHPのstream filterは8192 bytesチャンクで処理される。ほーん。
UTF-8 to UTF-16 とかやればワンチャン気づくのでは!?と思ったが、奇数バイトになりうる文字ってシングルバイト圏の人が使わなそうな文字やな…… BOMでも付ければいい感じにズレるが
これはちゃんと文字境界考慮してそう https://github.com/ericnorris/mbstring-stream
Stream_Filter_Mbstringはほぼ正解なんですが、唯一不正解なところは前時代のものなのでpackagistに上がってないことなんですよ
PEARのパッケージをcomposerで取り扱えるというのを各位は知っていると思いますが、その機能を使ってOpenPEARアーカイブサイトから取ってくるのもいいんですが……あのサイトはHTTPなのでcomposerの設定を変えないと安全ではないとして蹴られてしまう
あーーネットただよってて気づいたけど、composerにはgitリポジトリを認識させる機能があるから、Stream_Filter_Mbstringのミラーリポジトリをそこに追加してやるのは手だな
league/csvとStream_Filter_Mbstringをまさに組み合わせて使ってる人を発見して、これでええんやな!って少し判断に自信できた http://notnil-creative.com/blog/archives/composer-install-git-submodule
PHPのライブラリ選定、まずPHPでライブラリをガシガシ使う人達との接点がないと難易度が高い
RubyでしかもRailsならgemに頼るプレーをしてる人口めっちゃ多いからここまでにはならん
DBは事実を記録するものではあるが、しかしTissueの時間差分計算を毎回やるのも気が狂ってるので別テーブルに差分おいときたいような、他に手段あるような…
全体としては詳細を伏せるだけでチェックインの事実はアカウントプライベートにしてない限りバレるようになってるんだが、時間計算だけはWHEREで絞った結果の中で求めてるからおかしなことになってるんだよな
skebアカネチャン / 涼宮 さんのイラスト - ニコニコ静画 (イラスト)
https://seiga.nicovideo.jp/seiga/im10063733
GUIとかQtとか関係ないアレン検証プラグイン作った
shibafu528/mikutter_passive_mainloop
https://github.com/shibafu528/mikutter_passive_mainloop
passive_mainloop、最近読んでたあるgemのおかげでこう書くという思い付きをした
> ピャーとかキキードンッとかヒヒィンとかデンカチャン!?とか言ってるばかりがシャニマスMADではない
> https://ch.nicovideo.jp/mekapi/blomaga/ar1987006
a, hai...
このアカウントは、notestockで公開設定になっていません。
GUIとかQtとか関係ないアレン検証プラグイン作った
shibafu528/mikutter_passive_mainloop
https://github.com/shibafu528/mikutter_passive_mainloop
しかも微妙に同期が取れてないので、スマホ側止めても追撃してくるから二度寝対策になっている…w
各管理サービスにてパッケージアップデートおよび再起動を実施します
shikorism.net, ertona.net が対象。
なんか昔リッピングしたやつ、WMA/64k, AAC/256k, MP3/128kが入り乱れててやべえつらいな
……あっこれQtのメインループに入ったらRubyの処理が割り込む余地がなくなって、それでdelayer-deferredのPromiseが解決に遷移しなくなってるのか!?
アレンタイマーでやることをDelayer.sizeの呼び出しだけにしてみた。すると、1つPromiseの解決と思わしきProcedureがキューされて、remain_hookが実行された。
しかしremain_hookで0ms QTimerを登録してるはずなんだが、こっちが実行されないな…
試しに1msにしてみたら怪しいエラー出た
QObject::startTimer: Timers can only be used with threads started with QThread
あー、QThreadに支配されてない別スレッドで実行されたからQtの処理キューが存在してないのか
問題は2つあったんだな
1. アレンタイマーで何かしらYARVに処理をさせないとRuby管理下のスレッドのスイッチが起こせない
2. メインスレッド以外からDelayerのreserve_hookが呼ばれたときの実装が不適切だった
Rubyが主になっていてiowaitしてる例はいくらでもあるが、うーむ。それとも、QtのメインループをGVL解放で実行すればいいのか?そんなことあるか?
いや考えにくいな、割り込みが必要かはRubyのコードが走ることがないと分からなそう
じゃあruby-gnomeでマルチスレッドプログラミングした時はどうなっているのか…?
4アレンタイマーで常にDelayerを蹴るなら、reserve_hookを追加しなくても結果的に実行されるから問題ないか
ruby-gnome glib2だとメインループにrb_thread_check_ints()を叩くだけのGSourceがアタッチされてるな
どうも関数名でググったらeventmachineとかでも使われてるっぽいが、はてさて
中学で英語やったときから三人称のバリエーションバカすぎるだろと思ってたけど、その時はポリコレバトルロイヤルで当のメインユーザー共がアホやるとは想像つかんかった
Delayerだけなら4アレンでタイマーすれば十分だけど、他のThreadの実行も許容しないといけないので一旦アレン続投。
呼び出し元Rubyスレッドをwait状態にしつつQApplication::exec()をGVL解放で実行して、QtのSignalからRuby処理系にアクセスが必要な時はGVL取り直すみたいなユーティリティを書けばアレン要らんかもしれん
ただexec()自体が戻ってこないからcancel callbackどうするんだろね
アレンはDelayer実行担当者からRubyの割り込み全般の実行担当者になったよ
Rb main thread
|--→ Rb sub thread
|join |--→ w/o GVL QApp::exec()
| | |
| |←--| return
|←--| finish
|
return
あっこれでいけるか
これならメインスレッドは待ちが必要であることをRubyが認識できるし、GVL解放でQtのイベントループに突入できそう
ん、そもそもrb_thread_call_without_gvlは即座に戻ってくるものなのか?
この絵フィリスちゃんの公式絵の中ではだいぶえっちな方だと思うので、これで隠せると?という感じがある
@toshi_a こいつを拡張するのではなくて、/tmpとしてもうちょっと可動であったり机程度の高さのやつが必要
無印スチールラックにキャスターextensionでほっつき歩くスチールラックを作るとちょうどよさそうなんだよな
今 retweet_user in ("lindwurm", "kb10uy", "tana3n") みたいな条件で「目の保養」タブに送ってるんだけど、まあ乳は目に良いから分ける必要ねえか…
まあKrile使ってたときはほたを「立川」タブに送ってたのと比べると全然ローコンテキストよ
このアカウントは、notestockで公開設定になっていません。
正解です、なぜならその後に作ったから。 (Krile StarryEyesはSQLiteに保存したツイートを抽出するシステムだから、DBから落ちなければ表示できるぞ!)
RubyからはFixnumを意識しなくなって久しいけど、CRubyのAPI触ってるとまだまだFixかどうかは意識が必要そうな雰囲気がありア
というかまあプリミティブなC型に落としこみたいならそりゃFixかどうかは重要なわけで
ある日目覚めたら - ニコニコ動画
https://www.nicovideo.jp/watch/sm38199015
ゲームをしないのにディスプレイの隣にはPS4とSwitchがあるんですよ、これ恐怖体験ですか?
グラボ買える金でゲーム用のグラボとストレージとコントローラのセットを買ってると言えなくもない
いやでもみんなハイエンドばっかり買っとるしなあ、そこまで計算能力積んでたらまあ単体で価値あるだろうけど、それ求めないとなるとな……
C++じゃなくて他に書かないといかんもんあるんだけど、なにせ目に見えて不思議な踊りをするプログラムは相手してて楽しいもので
Wordle 225 6/6
⬜⬜🟨⬜⬜
⬜🟨⬜🟨⬜
⬜🟩⬜🟩⬜
⬜🟩⬜⬜⬜
⬜⬜🟩⬜⬜
🟩🟩🟩🟩🟩
なるほどですね
学校で自習するゆかあお - ニコニコ動画
https://www.nicovideo.jp/watch/sm39968952
このアカウントは、notestockで公開設定になっていません。
@mohemohe 𝑇𝑎𝑙𝑒𝑠 𝑜𝑓 𝑙𝑜𝑠𝑠 𝑎𝑛𝑑 𝑓𝑖𝑟𝑒 𝑎𝑛𝑑 𝑓𝑎𝑖𝑡ℎ...ではない
使わなそうなアイテムをケツのリテイナーに押し込んで契約切る算段をつけないとな(勤労からの逃避思考
だいたいサラダ食ってる時炒めたり蒸したりしたやつ食いたいなあって考えてる気がする
このアカウントは、notestockで公開設定になっていません。
何故か日常的に横スクロールが発生するWebサイトを見ているが、人の癖は厄介で無意識にShift抑えてるのでMX Master 3のあれ微妙に使わん
どうせある程度長いと加速付けたくなるからメインのホイールをフリースピンさせたほうが速いし…
Liftみたいなフリースピンするホイール備えてて、4/5ボタン押しながら回したら左右スクロール扱いになる変則アサインの方がまだ使える
重いのを回すのが辛い、のことを考えると普通のカチカチするチルトホイールのほうがマシまであるから本当にアレ
https://twitter.com/lo48576/status/927145731240034305
> デーモンコア、丸みを帯びたふたつのものを接触させると臨界に達して大量の中性子を吹いてしまうの、実質ゆりえっちみたいなものでは(意味不明)
シリナちゃんとうとうナマズオって覚えてない上にずっと味のことしか考えてねぇ!
因果装備REに交換したらアーマリーに入らず所持品に送られたので、ギアセ押した瞬間に服が弾けた