シャワーをシャワアアアアッとあびた
Sig Sigの切ってるとこが俺と同じ感じでめっちゃ親近感湧くんやけど俺よりたぶん格上
最近酒入りチョコばかり食ってるけどもう酒飲みながら板チョコ食っててもよくない??
コメント見て知ったんだけど現行AC3級からリンカネ退場したマジ!?!?!?!??!?!?!?!?!?!?!?!?!?!?!?
考えることは多くて面倒、あるコマンドを実行する時には依存関係のうちどのプラグインは先行してロードされてないと困るとか
たとえばWorldとWorldプロバイダとなるプラグインがロードされた上でCLIコードが走らないと、World編集できないとか
DSLとしてはdescとかこの記法よりもRakefileみたいなステートフルに処理してるやつのほうが分かりやすいかもしれんな
command :foo do
load_plugin # 依存関係を解決した上で自分自身のプラグインコードを読み込む
# ... なにかする
end
とかできればいいかな
プラグインのコードが必要なCLIコマンドは、依存関係に関する知識が必要になるから、ちょっと活用は難しいかも
でもここまでのコードでも使い道はあるかもしれん。readlineを使ってインタラクティブに入力させて何か生成するとかやってもいいわけで
このコードがあれば、かつての ruby mikutter.rb account を復活させられると思うよ
コマンドラインを解釈してCLIコマンドを実行してる場所が、ほとんどのコアプログラムをロードしてない状態なのは何だか難しい
そりゃまあ、決まったオプションを解釈するだけにそんなん要らないので、あたりまえだが
Mopt.parse!でCLI実行まで一気にやるのがあれなので、分割すれば多少マシな感じになるか
祖国は甜花のために - ニコニコ動画
https://www.nicovideo.jp/watch/sm38166175
y4aのツイート画面のあの挙動自分でもよく分かってないんですよね
どこかでひょんな理由でActivityスタックに戻ってこれなくなるとか、全部捨てられるとかAndroidではいくらでも考えられるので、まあオンメモリとかInstanceStateだけに置きっぱにしてるのが悪手で、STのアプローチが正しいと思う
仕様としてどう定めてるのか知らないけど、STは正常投稿できたやつ以外はだいたい保存してる
@toshi_a 大丈夫やでqt pluginは面倒くさくなって他のことやってるし
昨晩作ってたコード、動きはするんだけど仕様として詰め切れてない感じがあるな…
sets.inject(&:&)
||
sets.inject {|acc, cur| acc & cur }
第一引数をレシーバとして :& メソッドを、残りの引数で呼び出すブロックを生成する、という解釈だっか
どういう言語機能があって、実際愚直に書き下したらどういうコードと等価なのかというのをパッと分かるかなので、あんまりSyntax highlight関係ない
メインマシンのストレージに余裕なさすぎてdtvaultの開発機がMacになる口実ができすぎている
アイちゃんパイセン / ゆぬきうた さんのイラスト - ニコニコ静画 (イラスト)
https://seiga.nicovideo.jp/seiga/im9980342
なんか知らんがlinux機にWF-1000XM3繋げようとすると、KDEのGUIだと上手くいかなくてbluetoothctiのインタラクティブからやることになる
X270でyay叩いたらaur/qt4のビルドが始まり永遠になった
> スレでの自作自演など、複数の名義を使い分けたいときに便利です。
最悪やな
俺個人サイト作る時代では末期の人間だから何とも言えないんですよね
最初のサイト立て05/08/12か…思えば遠くまで来たものだ
一部の人にバレている自宅宛ドメインの名前の由来だよ
ネット使えるようになる前はクソbmp量産職人とゴミxls量産職人だったと思います
最初にパソコン触った頃からネット使うようになったまで数年あるけど本当に何してたか思い出せねえな
インターネットに明るくないから実はgifを意識してどうこうしたの2011年入ってからなんだよね
写真屋のカラーピッカーとか近いWebセーフカラーに飛ばす機能とかあったよな
あしたちごとかあ 先週サボり散らしてbundle update 300回くらい叩いてたから真面目に働かないといかんか
Cocotodon画面占有が少ないから1画面でもちょっと置いとけていいんだけど、意味不明なタイミングでwsが切断されて、しかもそれを画面に通知してないから虚無になるな
今gui,gtk pluginの関係性を読んでるんだけど、前ちらっと見た時に感じてた通りこの2者間はイベントによって繋がっているんだ…
gui pluginがツールキット依存実装があることを期待してwindow生成とかをイベントとして投げて、それをgtk pluginがハンドルして実際のwindowとかその辺のwidgetを生成してるんやね
抽象的なwidgetツリーと実際のwidgetツリーの2つがあるな?
i_windowとかってもしかしてimaginaryの略だったのか (変数名を見ながら)
mikutter/plugin/core/.mikutter.yml の記述が面白い
なんかC拡張を持つgemをinstallした時にビルドされるsoのリンク情報がぶっこわれるようになった…
glib2 gemのso fileがlibglib2.0にリンクしてないみたいな感じになる
うわverboseモードにしたらめっちゃ怪しいログ出た
ld: warning: ignoring file /opt/intelbrew/Cellar/glib/2.66.4_1/lib/libglib-2.0.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64ld: warning: ignoring file /opt/intelbrew/Cellar/glib/2.66.4_1/lib/libgobject-2.0.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
pkg-configコマンドは正常なパスを返すけど、glib2 gemとかのビルドで使われてるpkg-config gemは異常なパスを返すな……なんだこれ?
なんか異次元宛のsymlinkが生成されていて吸い込まれていた…なんで????
gtk3 gemをM1 Macで試してるが、まあGTK3だなって感じですね
英数かなを適切にハンドルできないあたりとか、GTK3だなって感じがします
WindowsのほうのGTK3の日本語入力が全部かな配列でそのキーに対応する半角カナになってる悲惨なバグ、今みたら直っていた
あれのせいでGnuCashに日本語で記帳するのは不可能になっていたが、もう大丈夫ですね…
GTK3の日本語周りの壊れ方、これあと少しちゃんとバグ報告する人居なくなったらマジで崩壊だなって臭いがするんだよな
なんかこの辺の界隈はちゃんとやってる人がいるので、かなり失礼なんだけど
違うわ日本語入力じゃなくてIME offの時にそうなるから余計タチ悪いんだった
LANケーブル作るための道具一通り持ってるから、ケーブルがあればいつでも作れるけど、まあ雑でいい区間以外は今はやろうと思わんねえ
LANケーブルもUSBケーブルみたいに長さ3種セットみたいなの売れ
レンダリング処理系によってもへもへの名前の字詰めが変わるのおもろいな
CMake使ったC拡張gemをMacに持っていったら様々なerrorでclangがブチ切れいたして何もできなかった
なんかrubygemsのCMakeサポート、そっちはいいんだけどCMake側が雑でインクルードパスがぶっ壊れたりするし、結局extconf.rbで自分でcmake叩いたほうがマシかもしれん
たとえばhdrdirはrbenvのディレクトリ分かってるっぽいのに、実際にclangに渡される-Iはシステムグローバルのものだったり
なんでPATH通ってるrubyから正しい値引いてるとこと、いい加減に推論してるとこが混ざってんだよ
先週bundle update5000回叩いて終わったから真面目に仕事するのつらい〜
本質的ではないって何回も言われたら怖くてもう何も言わなくなるかも
JVMで走るふぇでばーすのさーばってないんですか?(素朴な疑問)
アイドルマスターのプロデューサーとは主張できる気がしないので楽屋の観葉植物がいい
ちげーよリンク先そっちじゃねーよ!!
rbenvのほう!!!!!!!
なんかwarn 2 errorされてたとこは雑に潰したんだけど、結局リンクの問題調べないとうまくいかんな…
しばふハウス群馬リージョンはアクセス最悪だよ、群馬の中ではまだマシだけど
ヘイ尻、タイムカード押して。をやりたいんだけど、うちで使ってるやつだとCookieを取り回して殴らないとできなさそうだから面倒
まあ会社なら打刻機あるのを考えれば家でしか使わんから、ラズパイにでもなんかコード置いとけばいい、か…
@brsywe 家庭教師ものはいくらでもあるけど、たしかに。
俺は今わりばし食いながら、自分が作ったC拡張がMacでビルドできない理由を考えていますよ
なんで不審者botはあるのにokano_t出没情報botがないのか?
[あおむし] 古谷くんと小栗さん 4 - COMIC BAVEL 2021.03
https://komiflo.com/comics/9820
最後のコマのセリフ、なんかあひるが勧めてくる漫画にありそう
1. MacにおいてrubyはC拡張を$NAME.bundleと仮定してrequireを解決する
2. この時、.bundleはfileコマンドで Mach-O 64-bit bundle arm64 とかその辺のやつのことである
3. CMakeでMODULE指定したlibrary targetにBUNDLEプロパティを付けると、bundleディレクトリ構造が出来上がる まあバンドルといえばこれはそうだわな
4. 3で出来たものは2に反するのでロードできない
5. mkmfはいい感じにしてる
bundleって名前に複数の意味つけるのやめてくれますか??????
はい解決した CMAKE_SHARED_MODULE_SUFFIX を ".bundle" にしてcmakeするだけで終わった マジかよ
もうCMakeほんま使うたびに腹立つわ〜腹立って酒入れました
腹立つけどMakefileを本気で書いたりautotools覚えたくないから受け入れてる
This account is not set to public on notestock.
Ruby-Qtを使わないことでmikutterからのQtの呼び出しに成功した
バインディングライブラリを使うとユーザープログラムを全て自分の言語で書けるわけで、それは取ても良いことだが、バインディングが中途半端だったら?
Qtの場合、moc芸人だからバインディングで頑張るのむしろ微妙で、Rubyに公開する必要があるところだけTypedDataを作って、あとはC++に任せて実装したほうが都合良いんじゃないのと思います。
だからQtバインディング出ないんだろ
とはいえRustでも何でもQtバインディング頑張っててそれなりの成果を出してるプロジェクトはある。結局これはガセネタで、RubyでGUIアプリやる奴がいないから誰もそこにベットしないだけです。
俺は古参のクロプラGUIツールキットで一番品質が高いのはQtだと思って支持してる所があるのでな…
ライセンスが面倒臭いのは本当になあ………………………。…っ…。…………。
QtのほうがプロプライエタリOSのプラットフォーム依存部の品質が高い
正直Linuxとかで動かすなら、まあ好みでええか…って思ってるところがあって、そこから外れた時にGTKは一緒に選択肢から外れる。
> Magwattaは 「射精報告SNS Nuita」 から多大なるインスピレーションを与えられました。
死ぬほど笑ってる
> 「自慰を報告するプラットフォームでセックスの報告をしないで欲しい」
競合が抱えている問題として勉強になる
サービスの成長グラフではNuitaのほうが圧倒的に格上ですからね
@mitarashi_dango Tissueではabuseではないんですよね〜〜〜やれるもんならやってみろ
This account is not set to public on notestock.
No Starch、Ruby Under a Microscopeでしか知らない…
Ruby Under a Microscope難しくて読み切った試しがなし
現状でも、とりあえず打刻だけして後で詳細を補足するみたいなワークフローでいいならSiriとかその辺の喋る機械と連携できますね
チェックインと書くのが面倒な時に打刻って書きがちなんですが、まあかつて勤怠管理納品してたのもあって馴染みがある
ファーストビューにでかい時計と打刻ボタンがあるタイプのTissue
言葉の大きさはチンポくらいにしておきなされ、ふたなりチンポにしてはいかんぞ。
発言前にユニットテストした際、ふたなりの考慮漏れがあったので追記した形となります。
内部用の予約域としてJSON列を用意してもいいがそれを使ってフロントに豊富な情報をレンダリングしますって言われたら、これ制御できなくなるやつだな…って思いはするかな
この辺似たようなデータ増えてきたしスキーマちゃんと起こすかーみたいな流れに持っていくのは…まぁ悪くないかも?
date
Y-m-d
Y-n-j
がパッと思い出せるあたりまだ俺はPHPerか
CIRCUIT_BREAK_COUNTを1145141919に変えたほうがいいですよ
fetchSnapshotに何番目のリクエストか指定できないといけないのと、createResolverに複数のモックを渡せるようにしないといけないのか
makeUpdateSnapshotMiddlewareとかいうキショ関数を相手しないといけないのが億劫なんだよな 書いたの俺だけど
IDEAのProject Attachボタン誤爆してScreaming marmotになった
デカい乳で気持ちよくなってるチンポに感情移入してるのでちんぽがでて無いと抜けない #bot
This account is not set to public on notestock.
精力剤死ぬほど飲まされて1回行為したら死にかけジジイになる漫画思い出した
Google Discoverの芸能ゴシップの割合が増えてきて凄まじく不愉快
うぉーー珍しくちゃんと業務効率化っていえそうなやつができた
今から家を出ればうどん食えるかもしれないが仕事が終わっていない
安い金で受けた案件のソースコードに2年後くらいに大混乱するコメント書きまくってドロンするか〜〜〜
あまりひどいと、中間言語吐くタイプのやつなら一度難読化ツールにかけてからデコンパイルしたほうが読みやすい説
目に見えてやばそうな発言してるやつは大したことなくて、本当にやばいやつは普通に仕事をしている顔をしてる
コンビニに行くかずっと真剣に考えていたが、今日はかなり飽きた気分なのでうばいつや
といっても頼みたかった店が休みの日だったので虚無の顔になった
書いて満足してしまったタイプのやつ (目の前に敵がいなかったので)
これだとスナップショットテストの時に全てのリクエストにスナップショットがあるのを期待してるな
サンプルコード書きながら、これAPIとして終わってんな〜と思った
mrb_proc_new_cfuncのCRuby版みたいなのどこにあるの?
CRubyの拡張作成、探すにもmrubyと比べてコードがデカくて見当つけにくい
結局ruby/extからこいつアレやってそうみたいな推測でコード読むしかないのか?
さっきまで見てた夢、かなりどこかで見た覚えのある筋書きを混ぜた感じのお話を見てたんだけど、うーむそろそろメモリが解放された…
コード書きたいような、頭使わずにそのまま伊敷落として寝たいような
診断メーカービューア勝手に死んだらもうメンテしないかもなあって思ってるけど意外と死なないのでビビってる
This account is not set to public on notestock.
ああ、役に立たないことをしたい、もうしてるな無駄に起きてるから
あの人が久々に会ったら眼鏡をやめていたときの気持ち、みたいなのあったような気がしたんだけどこれ捏造記憶な気もするな…都合が良いんだか悪いんだかとにかく破壊されている
なぜ仕事中はシコりたかったのに今は全くなのか、現実逃避ですかね?
clang++がエラーをお吐きになられてもうやだーーーC++やめるーーーーつってたけど、本当に俺が型間違えてただけだった これだからテンプレは…
C拡張(Cではない)からPluggaloidイベント購読できるようになったわ
変数キャプチャありで動くかは見てない、どうだろう。たぶん動くんじゃないかと思うが。
mikutter.h だとめちゃくちゃいかがわしいんだけど、EmacsがC-modeになったからhppにした
mikutter_plugin_callとかCっぽい名前にしなくても、おもむろにclass Pluginのstatic void call()を定義してしまったほうが書きやすいな?
ん、なんかMacだとDelayerがちゃんと処理されてない気がする
このコードLinuxに持っていって動くかちゃんと見たほうがいいな
add_eventが実装できたら、あとはコピペでadd_event_filterも実装できるから完璧にPluggaloidアプリですよ
This account is not set to public on notestock.
hogeインポート機能改修、のタブが横幅で切られてhogeインポになっていて大変よろしくない
わかて「Windows 10なんですね(よかったー7じゃなくて)」
PC「10 LTSB 1507です」
わかて(目から光が失われる)
そういえば10 1507のリリースを機にWindowsに帰ってたなあ
This account is not set to public on notestock.
そういえば高3の時に顧問から借りたPC、あれx86 Archだったから今だったらもうあれやね…
初任給かなりの割合が車で飛んだから記憶がないし絶対親孝行はしていない
そりゃ当時は群馬でしたから車なきゃ職場にもいけませんでしたよ
たまに交通の便が良いごく一部の地域の人がなくても生きれるとかイキってくるけど、基本要る
2〜3人くらいにインターネットでマウント取られたことある、エッジケースだろてめーらとしか思わんが
@akkiesoft 支払い自体は立て替えてもらってたけどね…
モルカーに乗ったあっきぃがEjectされるのか!?
This account is not set to public on notestock.
This account is not set to public on notestock.
filterでdocx透過的にバラしてコミットしたほうがgitにはやさしそう(人間のオペレーションにはやさしくない)
あれを使えばgit objとworking dirの間でやりたい放題できる
BIFF8もOOXMLもどの道コンテナがバイナリでVCSの弱点なんだから、これを上手くやるサービスにやらせるのは正しさの1つ
必要なのは${任意のVCS}ですか、版管理ですか?って話やな
せめてちゃんと発信されるかくらいは見てからマージしようかと、はい、思っております……
シャワー浴びて出てきたが服が乾いてないインシデントが発生した
パンもクソも無い上に狭小なところにデプロイされてる洗濯機なんなんだよ
まあ物件確定にあたって一番捨てたなと思ったポイントではある。次回は捨てない。
stash、GraphQLでデータ投げ入れできる感じなのかなこれは
やっぱなんかQtのイベントループの挙動がLinuxとMacで違うような気がするなあ
さて、今日はC++でもうちょっとmikutterらしく書いてみようね
rb_funcall()
rb_funcall2()
rb_funcall3()
なんかgtk抜いたらworldがロードされない怪異が発生した
なんか適当な場所でPlugin[:world].load_world叩いても本来無駄なロードが起きるだけだと思うんだけど、SEGVする
GCでSEGVするガラクタのソースコードをGitHubにバックアップした
shibafu528/mikutter_qt5: joke plugin
https://github.com/shibafu528/mikutter_qt5
今のところ、tab DSLに基づいてGUI上にタイムラインタブが生成されることと、メモリを破壊してるっぽくてWorldが正常にロードされない所まで確認しています。
C-extでQtで書いてるの、gtk plugin以外にもGUIプラグインの相棒にはなれるっていう証明をしたいだけであって、別にC++である必要もQtである必要もそんなになかった、単に慣れ
いくつか別の実装があると、あっできるんだ……ってなりそうだし
というか俺的には本命の手法があって、それをやるにはPluggaloidの進化を待たないといけないので
ext解禁してGUI書くなら何でやるのが楽そうか、どれだろうなぁ。
Rustはプレゼンテーション寄りだとダルいと思ってるんだけど。
楽しい!! ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
とりあえずVALUEがポインタサイズあるのをいいことに勝手にポインタ書き込んでた所はヤバそうなので直すかという感じ
やっていいのかなーと思ってやってしまったが、たぶんだめだろ
他にも問題ありそうな気はするが分からない あーでもVALUEはちゃんとどういうビット構造か読んだほうがいいな
あるいはRubyVMに明け渡した値で、C++スタック変数でも紛れてたか
mrubyと比べて真面目に勉強しないとマジカルすぎる作りなのでまだ分かってない
というか こういうときこそ Ruby Under a Microscope で CRuby まず勉強しろよっt(
Hashに生ポインタ直接ぶっこんでる場所があるから、たぶんマークフェーズでそれを読もうとしてSEGVしてるんじゃないかな
ってことはそこだけ雑にDataなり、ちゃんとTypedDataなりしてwrapすりゃOKじゃないかな
This account is not set to public on notestock.
LaravelができるとTissueのサーバーサイドいじれる
This account is not set to public on notestock.
This account is not set to public on notestock.
社Slackにparty_parrotがparrotとして登録されてたんだけど、いつの間にか標準shortcodeとコンフリクトして滅んでた
名前付けのセンスがないのがバレないようにすべてのページのURLがUUIDになっているWebアプリ
ちょろめ、やっぱり体感として物理メモリの空きがなくなってくると、OS問わずにタブをガシガシ捨て始めてる気がする
妹にでも聞けばモバの話してくれそうだけど俺は何も知らんなあ
ああやって深くぶっ刺してふっと消えて、二度とできない体験になるのは、媒体の有効活用だなとは思った
リアルタイムに展開していたことに意味があるから、あれはアーカイブがあっても完全な体験にならねーんだよなきっと
ミクがリツイートリツイート言いだしたからmohemoheかと思ったらおめーか
その語調で若者感出してくるの滅茶苦茶怖いよと思ったがこれ老化か…
SEGVでチェックインかなり無理があるだろ バックトレースとかレジスタダンプされたアレでか?
なぜ Segumentation Fault は SIGSEG'V' と表現するの? - ryosan-470 Blog
https://ryosan-470.github.io/posts/2020/06/28/sigsegv/
CRuby APIのnilかどうか判定するやつがNIL_P()なのすごい親近感がある
生ポインタをVALUEにキャストする悪行をやめてTypedData_Wrap_Structするように書き換えた結果、真っ当な落ち方をするようになった めでたい
あっ(dfreeコールバックでdouble-freeして死んだ顔)
dfreeをnullptrにしてQObjectは一切Rubyに面倒見させなければいい…か?
やったーYY-BOARDクライアントできたよー (^o^)
まず高速でメインループをポーリングするアーキじゃないとDelayerの遅延処理を発火できないという問題があって、これを解決するためにmruby-delayerからパッチを逆輸入した
あと、たぶんこれもDelayer周りの問題なんだけど、yybbsプラグインの現在の最新版では動作しない
@toshi_a worlds__addが発火できなくてねえ、謎
QTimerで250msごとにDelayer.run_once叩き起こす??
generate(:yybbs_appear, ...
も呼ばれてるな
Delayerと全面的に戦わないように組んだほうがいいんだが、Qtのイベントループを握る方法が分かってない
メインループを本来のmikutterと近い形にしたら、うーんyybbs動いちゃいましたね
Plugin::Qt5.mainloop(deadline = nil)
に変更し、deadlineにアレンを渡したらアレンms間イベントを処理するみたいな感じになった
鬼ポーリングするとやばいのでinstellEventFilterでイベントが来たらフラグ立てる感じのQObject用意したほうが上手く動きそうやな
あーいやだめだ、Qtはイベントループを回し続けないと動かない
mruby-delayerのregister_reserve_hook自体は別に本体にあっていい気がするしな
ア!? 鬼ポーリング版じゃないほうアレンタイマー動いてねえじゃん
stdoutで250msに1回出力し続ける程度にはうるさいのにCPU全然使ってへんな
何も画像ロードしてないからだと思うけど全然メモリ使ってねえな
アレンを雇った · shibafu528/mikutter_qt5@2edf7c5
https://github.com/shibafu528/mikutter_qt5/commit/2edf7c5c31b3bf503c9eb4324839a540b43c21c2
今は何もしてないからこそ普通に動いてるけど、ちゃんとDelayer.runする時に想定外の巻き戻しとか起きないようにrb_protect張るとかしたあたりで、stack rewinding barrierのことを思い出すんだろうなあ
やってることのやべーやつと発言の語調が強いやつがキャッキャしてるの見るのしんどいなということが分かりました、いかがでしたか
1しばふ(2019年初)でそんなことやれるのか、俺えらかったんだな
超ハイペースで進捗更新イベント積んだら死ぬQProgressDialog君のこと思い出してしまった
これは仕事で使う用事があるけど他アプリに転用したかったためにプライベートで書いたやつですね
https://github.com/shibafu528/NumberPicker-for-Preference-V7
今度から Java 書くときは com.smbc パッケージにすることで世界を震撼させていきたいと思います
俺某と同程度の年収帯にいたのにNDAブレイクしてなかったのでめっちゃ偉いなって気持ちと、一方で同格だったのかよという怒りが湧いてるが
いや〜でもコントロールできてるじゃん、キャンプファイヤーにこそなれど大したことないコードしか出てないんでしょ
インターネットキャンプファイヤーはキャンプファイヤー程度にしか燃えんからな
甘く見ている?まあそうですね、でも大抵の人達は忘れて次の火を囲んでますので…
Ridgepole、小さな新規プロジェクトをこねながらあーでもねーつっていじるには便利だが、本番入ったら二度と使いたくない
ORM最強はDoma2だと信じてるが使う機会無ければ周囲での支持もえせけんくらいしか聞かん
ギリギリまで寝てようと思ったら近所で工事が始まって全て終わった
アレンを雇った · shibafu528/mikutter_qt5@2edf7c5
https://github.com/shibafu528/mikutter_qt5/commit/2edf7c5c31b3bf503c9eb4324839a540b43c21c2
This account is not set to public on notestock.
専有的にイベントループを回せない状況でDelayer周りがおかしな感じなのなんとかしたいが、そもそも想定環境ではない…
コロナで休憩室が使えなくなったせいで昼の執務室がおわっとる
俺はRedux好きになったこと一度もないけど、こういうこともある
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
シンプルなものを組み合わせて使います→途中参加だと資料が分散したモノリスなのでタチが悪い
どっちも好きだが唐辛子は途中からただの拷問だと感じる傾向にある
この調子だとLinuxデスクトップ元年はやっぱり来そうにないか…
@toshi_a 因縁かな?まぁ正直俺1人でAllen殺せる気がしてない
Delayer::Extend#register_reserve_hook 実装したDelayerのforkをGitHubに上げたのでdelayer_hack.rbのロードが遅くてフックされてるのか怪しい現象回避できる
This account is not set to public on notestock.
GUIとかQtとか関係ないアレン検証プラグイン作った
shibafu528/mikutter_passive_mainloop
https://github.com/shibafu528/mikutter_passive_mainloop
Kソードマット回収してるからニトリの店まで来いというメールが切た
passive_mainloop、最近読んでたあるgemのおかげでこう書くという思い付きをした
IO.selectとか他人のコード読まなきゃ使い方分からんわ
> ピャーとかキキードンッとかヒヒィンとかデンカチャン!?とか言ってるばかりがシャニマスMADではない
> https://ch.nicovideo.jp/mekapi/blomaga/ar1987006
a, hai...
なんかOSC配信見に行ったら地獄になってたけどこれd250g2?
This account is not set to public on notestock.
起きて思い出したが今日無印良品からデカいブツが届いて部屋が終わる
GUIとかQtとか関係ないアレン検証プラグイン作った
shibafu528/mikutter_passive_mainloop
https://github.com/shibafu528/mikutter_passive_mainloop
しかも微妙に同期が取れてないので、スマホ側止めても追撃してくるから二度寝対策になっている…w
各管理サービスにてパッケージアップデートおよび再起動を実施します
shikorism.net, ertona.net が対象。
メカPのせいで久々にTHE ALFEEのアルバム流したくなってきたな
なんか昔リッピングしたやつ、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の処理キューが存在してないのか
そうだそうだ、Qtではスレッドごとにイベントループを持っているんだった
これで問題の1つは解決したが、まあアレンタイマーを消せないな
問題は2つあったんだな
1. アレンタイマーで何かしらYARVに処理をさせないとRuby管理下のスレッドのスイッチが起こせない
2. メインスレッド以外からDelayerのreserve_hookが呼ばれたときの実装が不適切だった
Rubyが主になっていてiowaitしてる例はいくらでもあるが、うーむ。それとも、QtのメインループをGVL解放で実行すればいいのか?そんなことあるか?
何かしらYARVから割り込み要求みたいなの発信されてないのかなあ
いや考えにくいな、割り込みが必要かはRubyのコードが走ることがないと分からなそう
じゃあruby-gnomeでマルチスレッドプログラミングした時はどうなっているのか…?
@toshi_a あれ秒精度だったんだ。ふーむ、そうするしかないかなあ……
4アレンタイマーで常にDelayerを蹴るなら、reserve_hookを追加しなくても結果的に実行されるから問題ないか
ruby-gnome glib2だとメインループにrb_thread_check_ints()を叩くだけのGSourceがアタッチされてるな
どうも関数名でググったらeventmachineとかでも使われてるっぽいが、はてさて
つーか、かつて存在したQtバインディングの実装見ればヒントありそうだな
中学で英語やったときから三人称のバリエーションバカすぎるだろと思ってたけど、その時はポリコレバトルロイヤルで当のメインユーザー共がアホやるとは想像つかんかった
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は即座に戻ってくるものなのか?
この絵フィリスちゃんの公式絵の中ではだいぶえっちな方だと思うので、これで隠せると?という感じがある
横に物おける棚ほしいな ニトリのアルミラックもう1つ買うか
@toshi_a こいつを拡張するのではなくて、/tmpとしてもうちょっと可動であったり机程度の高さのやつが必要
無印スチールラックにキャスターextensionでほっつき歩くスチールラックを作るとちょうどよさそうなんだよな
晩飯食ったら片付け再開や、寝床を確保するのがゴールなので最悪どかすだけでいい
今 retweet_user in ("lindwurm", "kb10uy", "tana3n") みたいな条件で「目の保養」タブに送ってるんだけど、まあ乳は目に良いから分ける必要ねえか…
まあKrile使ってたときはほたを「立川」タブに送ってたのと比べると全然ローコンテキストよ
This account is not set to public on notestock.
正解です、なぜならその後に作ったから。 (Krile StarryEyesはSQLiteに保存したツイートを抽出するシステムだから、DBから落ちなければ表示できるぞ!)
RubyからはFixnumを意識しなくなって久しいけど、CRubyのAPI触ってるとまだまだFixかどうかは意識が必要そうな雰囲気がありア
というかまあプリミティブなC型に落としこみたいならそりゃFixかどうかは重要なわけで
ある日目覚めたら - ニコニコ動画
https://www.nicovideo.jp/watch/sm38199015
ゲームをしないのにディスプレイの隣にはPS4とSwitchがあるんですよ、これ恐怖体験ですか?
あかんなmikutterがメモリ10GB食って動作が目に見えて鈍っとる
グラボ買える金でゲーム用のグラボとストレージとコントローラのセットを買ってると言えなくもない
いやでもみんなハイエンドばっかり買っとるしなあ、そこまで計算能力積んでたらまあ単体で価値あるだろうけど、それ求めないとなるとな……
C++じゃなくて他に書かないといかんもんあるんだけど、なにせ目に見えて不思議な踊りをするプログラムは相手してて楽しいもので