人が動く季節〜
去年の俺は何をしていましたか?→現職の内定ゲットだぜしてた
しかしMyに慣れてる人からは、十分な機能が積まれてるからいいじゃないっすかみたいな顔されるし、俺はわざわざMyを選ぶ理由無いんですがみたいな程度の感情レベルしか持ってないから、なんかな……
php.netいわくcaching_sha2_passwordはPHP 7.1.16〜, PHP 7.2.4〜らしいが……あれ……お前PHP 7.3でも使えた覚えねーぞ……
My互換ハイパフォーマンス、My5.xがクソガバだったから外部仕様として存在してない穴という穴を悪用しまくってるんじゃないかって思ってるんですが、どうなんですか
MySQL Workbench、いや〜人が多くて金も注がれてるとまあまあマシなGUIツールが公式で生えるんすね〜ってなる
VACCUM云々、リファレンスにはCent6に収録されてるバージョンにはとっくにAUTOでええって書かれてませんか 実際は知らんが
あ、ツールどれ使うに関してはpsqlかDataGripなので(JB信者)
俺は学生しなかったから学生ライセンスでウハウハできなかったんだよ殺すぞ
DataGrip契約維持するくらいの稼ぎはある見込みでしょ
何なら1年契約だけしてPerpetual License運用してもええんやで
手取り15万太郎でもJBライセンスは買った(頭がJBに侵食されている)
JetBrains製品ご検討の方は、合う合わないは強く確実にあるから、試用ちゃんとしような
まあそう思うならIntelephenseに金銭私怨でもするしか
使う機能はショートカットかインクリメンタルサーチから実行するし、メニューは本当にメニューですよ、品揃え見る用です
pre push lintでガードするのまあまあ悪くないですよ
尼の人がこれでElastic言うのクッソずるいわ、ひっでえww https://twitter.com/fushiroyama/status/1300582606958862357
後の自分のためにドキュメントしようとしている…… https://github.com/shibafu528/mruby-mix/blob/world/docs/world.md
このアカウントは、notestockで公開設定になっていません。
IME開発の難しさを理解しているのか心配だが(でもそれって自分たちが蒔いた種では?)
「Windows 10 May 2020 Update」の新しいIMEに問題、入力などさまざまなタスクに影響 - 窓の杜 https://forest.watch.impress.co.jp/docs/news/1274234.html
MSがIME開発ロクにできないのは分かってたけど、本当にロクにできなくなるとAPIが劣化してサードですらどうにもできない未来になりかねないからIMEエンジニアを雇用しろ
日本語とまで贅沢言わねえからWinの開発者全員中国語やっててほしい
さVPSの老朽対応メンテの時だけちゃんとメンテ告知をするTissue
このアカウントは、notestockで公開設定になっていません。
【初音ミク】Unfragment (2020 Remix)【オリジナル】 - ニコニコ動画
https://www.nicovideo.jp/watch/sm37449110
Into Piece-初音ミク for LamazeP - ニコニコ動画
https://www.nicovideo.jp/watch/sm37445997
神マクロを基にシステム化してほしいと言われた時、渡されたVBAがプロテクトされてた時の美しいクラック
https://stackoverflow.com/a/27508116
これで突破されるExcel側に問題がある、けど今更このままってことは最早わざとだろう
VirtualProtectとかRtlMoveMemoryを動員するプログラム、明らかにVBAでやることではない事からニコニコになれる
libobjc2をmakeして遊んでたが、いざリンクして使おうとしたらシステムに既に入ってたgnustep-baseと衝突事故起こしたのでやる気なくなった
今日はインターンの人がyarn installしたらgypがギエピーしたのを見て合掌した
gyp、どのようなツールか知られることなくとりあえず中指を立てられるプロダクトの一つ
mrb_init()した瞬間に全てのコアプラグインがロードされるの、普通に困るので遅延ロードの仕組みを入れた。
いつものPlugin.createをPlugin.autoloadにするだけでmiquireする瞬間まで評価が遅延される。
どれくらい困るって、まだホストプログラムから初期化処理を走らせてないのにPluggaloid collectionがrewindされたりする。
このautoload、すごくチープな仕組みで十分な働きをしていて良い
【台風第10号実況・予報 2020年09月02日 01:01】
台風第10号(ハイシェン)は、小笠原近海を1時間に10キロの速さで西南西に進んでいます。
#台風情報
痴呆なので抜いたかどうか忘れたけど、抜いてないことがTissueのおかげで分かりました
TraditionalBehavior、WorldだけじゃなくてMessageとUserも必要じゃん(絶望)
mruby-mixをPC上でちょっとしたアプリに組み込んで使ってみたいが、Cは書きたくないしC相互運用がしやすいの……何があるじゃろな
GUIでちょっとした丼クラみたいなの作ってサンドボックスにしたい
@rinsuki Swiftなあ、やっぱこいつこういう時有力候補になるのか…
Windowsを作業環境にすれば、もういっそC#/FormsでバチバチP/Invokeしたらいいみたいな悲惨な話が発生するんだよな
まあ今のmruby-mixは/dev/urandom依存なので動きませんが
アカウントスイッチ実装当初、使うと即座にbot疑いで一時凍結になったのクソ笑ったんだよな
plusminus.ioに登録申請したほうがいいかもしれん…
あーもうなんで昨日の俺はペヤングDual Core買ったんだ。多い。
ペヤングは麺塊がスケールするだけだからCore 2 DuoとCore 2 Quadがある
y4aのプラグイン発砲、Twitter基準の鍵垢は禁止なのでたなさんに野々村打てなかった(互換レイヤーがフォロー承認制フラグを鍵垢としてコンバートしてしまっている?)
「ピノキオピーのなんとかチョコレイトって曲名思い出せないんだけど…」
「恋と選挙とチョコレート?」
「それはエロゲや」
今日終わらせたかったけど脳内見積もりではあと1日かかる予定だからまだ舞える
一回スリープさせてすぐ叩き起こしたら普通に動いたんだけど、なにこれナルコレプシー?
@toshi_a 行ったことがあるかと言われれば行ったことある気持ちになります。行ったことないと言われれば言ってない気持ちにもなります。
Scroll ReverserとKensingtonWorksが同時に動作してスクロールをリバースさせた結果、スクロールがMac仕様に戻った
KensingtonWorks異様にインストール重かったんだけど、何してるのアイツは
突然Macでキーボード入力が反応しなくなってコンピューターサイエンスタイムになった
@shibafu528 うおおおおおおおおおおおおあああああああああああああああああああああああああああああああ!!!!!!!!!!! (ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブブゥゥゥゥッッッ!!!!!!!)
HTLのREST GETとコンテキストメニューからのブチミリ発砲まではやり方分かったので、ここからmrubyでブチミリ発砲できるように改造していきたい
Mastodon APIの呼出は前作ったShare2tのコードそのままコピペしてHTL取得だけ足した
このアカウントは、notestockで公開設定になっていません。
うっかりクロスコンパイルの時のノリでやってたけど、セルフコンパイルだとlibmruby.aにスタティックに固めてくれないがちなんだよな…
クロスコンパイルであると虚偽のビルド設定を書けばいいのかもしれんが
libmruby.aを適切にプロジェクトにリンクするための設定、もしかしてpodspecで動的にやったらよかったりせん?
なんらかのスクリプトで頑張って.frameworkにバンドルするとかさーなんかしらせんと実用厳しいな
今は動作確認用の環境作ってるだけだから、これ以上やらんでも良いのだが。
command DSLで登録されたコマンドを全部収集するC API欲しいな
やーでもPlugin.filtering(:command, {})するだけではあるんだよな
このアカウントは、notestockで公開設定になっていません。
Swift、コールバック関数としてそのままクロージャー渡せるのか
週間mikutterを作ろう
適当なCocoaアプリにmrubyで生やしたコマンドを見せるところまで。
やっぱり書くのに腕力が必要だからCレベルで取りやすい情報に一旦落としこむレイヤーが欲しいな
いちいちinternしてmrb_hash_getするのクッソだるいw
いやまあそこだけならCならマクロ、他でもなんかラッパー書けば十分か…
これSwiftで書いた方が良くなりそうな気がした (dynamic member access とかで楽しいことできそう)
お、Swiftにもそういうのあるんだ。ならmrubyのオブジェクトに対するプロキシ作成余裕やん
今なんとなくObjCで書いてる動機、C APIの呼び出しのための記述習得コストをゼロにできるただそれだけです
結局データモデルとのやりとりはそういう動的アクセスが容易になるやつを介してやるのが都合良くて、俺が今セットアップしないといけないのは他だなあという感じはある。ネイティブPluginのイベントハンドラ登録とかその辺のショートハンドとか?
まあそれも、なんか腕力でバインディング作りこむと割とどーでもよいというのは、yukari-exvoiceが示してるんだよな…
任意のオブジェクトに対してダイナミックな呼び出しになるようなのを作るのも……まあそれができる言語なら悪くはない。色々考えなくて済む未来がありそう。
まあmrubyからC世界に返ってきたオブジェクトは全て保守的にGC Protectされるぞという注意点があるが…
雑にやりすぎるとあらゆるネイティブからmruby VMへのコールで解放不能オブジェクトが生える
またyukari-exvoiceのコードとか読んでどこを楽にするか考えてみよう
例外を使った大域脱出、mruby-catch-throwで見た
mikutterのcommandエミュレーションのためにProcに何を渡さないといけないかは文書化したほうがいいな
会社のWi-Fiに繋がってるの忘れてTissueのリンク踏み抜いたので徳が下がった
designated initialization、 C++20 でやっと入るんだ…… (ところでヘーシャのツールチェインにはいつ降ってくるんですか?)
これのせいでFloraRPCは1クラス書き直す羽目にあったからな
(まあ特定のコンパイラがいつ対応するかは…見なかったことに…)
yukari-exvoice、前よりC++書けるようになったからC++で書き直すのもありだなあ
CのJNI APIは呼び出し方が半端にオブジェクティブできもい
あとLocalRefの管理がクソだるいからRAIIなり解放関数付きスマポなりで何とかしたい
孤独の粗食(チームメンバーがリモートばかりで飯メンバーが集まらない)
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
ボケ老人なので、数日前に買ってかばんに入れたきり食べてなかったお菓子をまた買いそうになった
Kernel.require呼んでるだけなので、関数名がだいぶ嘘
mrb->exc、触らないほうがいいとtake-cheeze氏が言及しているのを見かけてマジかーとなった
Q. ではどうするか?
A. mrb_protect()がある
マジか
ほーー、そもそもmruby内に例外が発生したらlongjmpできるようにする仕組みが備わってるのか。
どおりで例外発生時の処理にmrb->jmpとかいう不穏なメンバを触ってるのがあったわけだ。
あ、これ手が込んでるwww
MRB_ENABLE_CXX_EXCEPTIONをdefineしてビルドするとC++の例外機構使うようになってる
NSExceptionにしてもいいかも、まあ組み込み先処理系に合わせてラップして使うのが吉ですね
とてもじゃないけどCでもなければ、このまま使うのはだっるい
関数ポインタとvoidポインタを受けるコールバック機構、可能性が無限だけど無限のだるさを感じる
これもしかしてPromiseKitと組み合わせたら愉快なコードにできないか
headerとm間違えて生成したのをリネームしたらアイコンだけ両方mになったが
ObjC、もうこの先にこんなキモ言語は出てこねーだろうなという点で学ぶ価値がある。プロダクションで書きたくは……あまりないです
mrubyのコードは頑張ればまだ読める気がするけど、CRubyのコードは全然読める気がしないのですげーなーって思う
もしかしてmrubyはシンプルなので、CRubyのように蛮族がSymbol使いすぎてとうとうGCされるようになった世界線になっていないのでは……?
@toshi_a 古いブログ記事でそう書いてあったので今見てみたところ、シンボルテーブルに対するmrb_freeはmrb_close()の時しか実行されてなかった。GCないね。
ああでもパックして16bit程度に収まるsymbolならそもそもシンボルテーブルに登録しないのか
mikutterの中で暗に使われているオブジェクトを説明しないといけねーんだぞ
オブジェクトを生成するための説明をしているだけであって、この引数を満たすオブジェクトを全部作ってエミュレートするのは結局このライブラリを使う開発者の仕事。仕事は減ってない。
必要なオブジェクトを格納する構造体のメンバの説明でしかないという程度
でもこの構造自体はcommandプラグインを書く人は雰囲気では知っているはずなんだよな。特にmessagesだけは。
だから実は概念として面倒なのはwidgetエミュレーションだけだったり。
他はストレートに、MastodonがターゲットならStatusなりAccountをプロキシしてあげれば良いだけなので。
このアカウントは、notestockで公開設定になっていません。
event、mrb_symで受けるとちょっとくどいな。効率悪いけどconst char*で受けるか。
おっ、Cocoaからcommand proc経由でspell dispatchまでいけたわ
@MulticolorWorld@ap.jadiunr.net@ap.jadiunr.net うおおおおおおおおおおおおあああああああああああああああああああああああああああああああ!!!!!!!!!!! (ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブブゥゥゥゥッッッ!!!!!!!)
@mohemohe うおおおおおおおおおおおおあああああああああああああああああああああああああああああああ!!!!!!!!!!! (ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブブゥゥゥゥッッッ!!!!!!!)
しょぼいラッパー関数でも作るだけ作っておけば、後でmrubyの手続きを思い出すときに使えるなと思ったので躊躇わないでいきたい
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
chakuwikiで権限剥奪されるレベルの人間ってやべーな
家計簿に松屋って書こうとしたら予測変換で末代になった
前回支払い補完によって末代(¥600)になつた
弊社トイレ、ミリ音ライブ!という感じになってる、みんなつらいんやな
mruby-delayer-deferredのCAPIが生えたらめっちゃキモいなあって感情抱ける気がしてきた すぐにはやらん
ホストからSpellコールしたくなったら、deferredをハンドルできる必要があるんだよなぁ
Mac上のEmacsの設定、普段の環境よりも文字が小さいんだけど、案外いけるなあ。
このアカウントは、notestockで公開設定になっていません。
Delayer.reserveをした時にremain_hookを呼ぶべきか
@toshi_a remain_after_hook(after_secs)みたいなの別立てのほうがいいか
@toshi_a 何かしらで、少なくともどれくらい後くらいには実行してほしいみたいなのを伝達できないと一生Delayer.runできないからね…
@toshi_a tickで高頻度でポーリングするほどの処理も無い気がするんだよね。DelayedProcedure生成の時点からn秒後に頼む!って一旦ネイティブコールバックして、それをdispatch_after(Apple GCD)なり、Handler.postDelayed(Android)なりに丸投げするだけだと思うので
mruby-mixではKernel::HYDEを提供していますよ
register_remain_hookよく分かってなかった頃のコード
callTopLevelProc、今実装みたらちゃんとarena管理してあって、500ms毎にmrb vmにGCプロテクトされたオブジェクトが増えていくみたいな悪夢は発生してなかった
utils.rbにNumericのモンキーパッチでアレン単位変換入れて
Matzにっきみてたら、Ryzen 9 3900でmrubyビルドしてるらしくてオーバーキル感がすごい
当時はarenaスタックサイズは固定だったらしいが、今のデフォルトは自動拡張なのでoverflow errorはまず見ない。
ただ単にネイティブ側でmrb_value握ってる間はGCされないのを保証したかっただけ
参照カウントでやっていってる言語だとこの辺何とかするのは意識しやすくて良い。
Javaだとclose()とかdispose()みたいなの呼んでねみたいな雰囲気にしかならん。finalizerはハイコストだし実行タイミング予期できないからな。
スタッキングシェルフのmuji.net在庫復活してるわ
買うか
そういえばmrubyにrefinementsないの、まあ無くてもそりゃそうだろって感じだけど悲しい
Cocotodon、普通にこれくらいのシンプルなMac用クライアント欲しいんだが…になって変に腰入れそうでよくないなww
Delayerにremain_after_hookを生やす活動をしているが、テストケース考えるのがめんぢ
Reserve hook · shibafu528/mruby-delayer@b20de4b
https://github.com/shibafu528/mruby-delayer/commit/b20de4b3c6d6b3c2e86157fb51411f06ae6c0d6b
これdelayer gemでも使えるっちゃ使える気がするね
macOSのSafariのタブ一覧をiOSみたいに出すやつ、Appleのくせに閉じる時に特にアニメーションも何も無いからUI要素の移動を見失うことがあった
おー、rexmlとrssはbundled gem送りになるのか
これほしい
mix_plugin_call_arg0(mrb_state *mrb, mrb_sym event_name)
mix_plugin_call_arg1(mrb_state *mrb, mrb_sym event_name, mrb_value arg1)
mix_plugin_call_argv(mrb_state *mrb, mrb_sym event_name, mrb_int argc, mrb_value *argv)
Q. なぜバリエーションがほしいか
A. 1引数Plugin.callのためにローカル変数増やしてアドレス渡すのとかだるい
なんで沢登りの話を聞かされてるんですか? #rubykaigi
Unicodeの話するのかよwwwwwwwwww #rubykaigi
East Asian Ambiguousの話なのか、焚き火の話なのか分からん
Linux向けの手持ちのEmacs設定、JISキーボードの変換/無変換をショートカットとして活用してるので、Macに持ってくるとこの辺を既に英数/かな用にリマップしてるせいで生産性落ちる
無変換: magit-status
変換: ripgrepやprojectile-find-fileを呼ぶためのプレフィックス
みたいなマッピングしてるせいでなあ
magit-statusを一発で呼べないのがキツい、設定したときは使いこなせるか不安だったがもう戻れねえ
projectile系のコマンドは、元々のキーバインドが手数多すぎてこれもつらい。projectile-ripgrepがC-c p s fなの各々意味はあるけどアホでしょ
C-c p s iだった。訂正。
C-c
p(rojectile)
s(earch)
(r)i(pgrep)
って意味だろうけど、やっぱだるい
救いはせいぜい、この操作が左右交互の手の動きになること程度しかない
これはマクロ芸をパクってきたので、const char*じゃないと動かんはず
Cからだとブロック内で初期化も何も無いんだから、これ意味同じやんに今更なった
mix_plugin_autoload(mrb_state *mrb, const char *slug, mrb_func_t initializer, mrb_value *data)
みたいなのを定義して、遅延ロード可能にするみたいなのは、あるかもしれない
mrb_proc_new_cfunc_with_envとかいう気が重くなる関数〜
CにコールバックするProcで、変数キャプチャして使いたいならこれを学ぶしかない
これを使わなくても、必要なデータを封入するためのclassを作って #call でCにコールバックする実装にして、&method(:call)する手もあるとは思うんですが、まあ場所によるでしょう
ただのメソッドならレシーバ情報付きでCに普通にコールバックできるから、Proc周りだけが必要なくせに資料がなくてだるい感じになっている
mrb_closure_new_cfunc、これ何に使うんだろうな……
proc_new_cfuncと比べると、環境情報作成して要求されたサイズの変数スタックを初期化するけど、何も入れないみたいなよく分からん動きをする。よくわからん。
doxygenを試して遊んでいるけど、doxygenにはlibgrpc++のリファレンスでめちゃくちゃ迷った恨みがある
まあ俺が一番読み慣れてる自動生成ドキュメントはJavadocなので、はい…
お前らがWebしかやらねえから永遠にネイティブGUIフレームワークのプログラミングモデルが変わらないんだが?
Flutter昨日会社で推されて公式サイトのサンプル見て、なにこのJavaともJSともつかん言語でコンストラクタ波動拳してるフレームワークは…という感想になった
Apple文化圏で独自やってるのはまあキレられてもおかしくないけど、デスクトップはApple以外まともなデザイン観持ち合わせてないから別にマテリアルでもフーンで終わる
Win32のGDIテーマでレンダリングされて本当にきれいだと思うか?
Qt、Windows対応もmacOS対応もどっちも謎なのでKDE上で動かすしか100%の満足が得られん
「マルチプラットフォームを一つのコードで」というのはだいたい開発者が楽をして利用者に苦難を強いる
本当に楽できてるのか、まあできてる部分もあるけどできてない部分もあるよな…
日曜プログラムなら明らかに楽できてる部分のほうが多いんだけど
いいんですよ、これを解決するための全員の妥協案がWebを強くすることなので
開発リソースは限られているからできないことは何でもWebというサンドボックスのせいにすれば、みんなの虫の収まりがよくなる
Delayer.new(delay: sec)対応できたあ
Androidだって比較的近年に至るまで、ろくなレイアウト系コンポーネントなかったけどプリミティブなやつの組み合わせで何とか見栄えするUI作ってたわけだし
線形に並べるやつとZ軸方向に重ねるやつがあればだいたい何かしらは作れる (つらい)
Visual Studio Installerはマジでお前WPFでやれやクソボケカスってなってる
なんであの程度の機能のものにChromium使うかのほうが理解できねえよ
Windows Formsアプリ開発で楽しいこと、極端に新しい商用コンポーネントを買って配置するとそこだけデザインに金がかかってるのでめっちゃ浮く
むしろ今だとフラットっぽくするだろうしマシかも、Office 2007とかの頃の商用コンポーネントあんな感じに寄せたデザインにしてるやつだと笑えるで
突然部分的にテッカテカになる (でも当時はWinVista/7だからまだButtonもテカってるし、セーフか…)
週間mikutterを作る、進行が鈍化していることに気づく
mruby-mixのPlugin::GUI::EventがDiva化されてないことに気づいたのでやってる
あるいは、別にGUIとも限らないが現状はGUIしか発生させないし受け手もGUI::Eventが来ることしか考えてないのか?
だとするとcommandはpolyfill-gtkに合流ですらよいな
polyfill-gtkはpolyfillだけやってろよという別の話もある
gui pluginが抽象の定義とイベントの宣言をやって、そのイベントを購読してよしなにしたりするのがgtkなのだから、ああ、結局はmixにおいてはpolyfill-gtk+プラットフォーム実装にしかならないな
妙にcoreに食い込んでいたりするのは、core読書勢からすると不思議という感じ
このアカウントは、notestockで公開設定になっていません。