デバッグの方法が何も分からん
これ、mruby-delayer-deferredのバグだ。
バックトレースが出ないのを不審に思う
↓
少しでも手がかりを増やそうと、mrb_load_string()にファイル名のコンテキストを付けて回った
↓
なぜかクラッシュしなくなる
ずっと NoMethodError で first が無いという怒られ方をしていたのを思い出す
↓
バックトレース情報が増えたことで出なくなったということは、もしかしてcaller.first……?
↓
mruby-delayer-deferredが使ってた!!
さて、ここで不思議な話があります。これ、PC上のセルフコンパイル・セルフ実行では起きてないです。さーてなんでかな……
これが誤りで、実は原因が違うかもしれない余地が残っている……(つらい)
PC上でenable_debugを落としてmrubyをリビルド、実行してみたら再現できました。ハァ〜
yukari-exvoice、今更compatibilityをJava 8にした
当時過渡期でライブラリ側をJava 8にしてビルドを複雑にしたくなかったから耐えてたんだけど、今はすっかりdesugarがいい仕事してくれるので助かるね
yukari-exvoiceをいじるタイミングがなかったので何年も放置しちゃったけど。
y4aでVirtualWorldを定義して、world_currentでそれを返すようにして、あとはKotlinからdefspellできれば勝ちです
yukari-exvoiceのおかしい所、別にコンストラクタ内でaddEventListener()とか呼んでmrubyと繋ぎこめれば十分だったはずなのに、アノテーション対応しているところ
exvoiceにおいてannotationは速記でしかないので、protected void defspell(String spellName, Object... constraints)をまず作ることになる。そういえばconstraintsはクラスではなくてslugだから、Java Interfaceからmruby classを導出するみたいなこと考えなくていいな……!
ってことは、defspell(String spellName, String... constraints) で済む……あっこれ速攻で作れるやつでは
今、condition procについては意図的に見なかったことにしています
Android Studioがすねてgitの変更状況をトラックできなくなった
@toshi_a あれもなかなか、名付けで一気にしっくり来るセレクタになったり深いなって思う。
CocotodonのPostbox optionからの文構築はNSMutableStringに甘えたな
yukari-exvoiceのアノテーションの難点がひとつあるの思い出した。
あれ、速記として簡単に実装するのを取ったからランタイムでメソッド走査してバインディング処理をしてる。
Androidではランタイムアノテーションは(少なくとも昔)嫌われる傾向にあると思うので、コンパイルタイムでやりたい気持ちはちょっとあるよね。
まあy4a本体では既にコンパイルタイムのAPT処理を自前で書いてやってるので、それを基に書けなくもないが。
command(:report_toshia, name: "としぁを通報する")
筑波大学あたりにもっと精液臭いやついてほしい、北関東がクソみたいな論調にできるので
Discord NitroやNintendo Switch Onlineが思いがけず継続されていることに気づく
何を思ってかPCに入ってるAndroid Studioがクッソ古いんだけど、y4aはIDEA 2019.2ステイさせてるものの他では困ってないから最新に上げるか
Android Studio 3.5.3っていつのバージョンだよ
y4aも古いバージョンで開発するのやめたいが、腰据えてなんで上げられなかったかから検証するのがだっるい…
先日はディスクフルでbtrfs snapshotからの切り戻しという苦行をやるはめに遭いましたが、どうもめっちゃディスク容量を食ってるのはpacmanのパッケージキャッシュとyayのテンポラリということが分かった。
使ってるSSD、そんなに大きくはないのでこれでも致命傷になりえますね。
使ってねぇVMをエクスポートしてHDD送りにしとくのもしたほうがええな…
このアカウントは、notestockで公開設定になっていません。
昨日歯医者行ったわけですが、歯石取る器具がBig Brotherのイントロっぽいの奏でておったまげました(あさのあいさつ
茜ちゃんVS虚空 - ニコニコ動画
https://www.nicovideo.jp/watch/sm37509915
【初音ミク・結月ゆかり】サイコパスラヴ / cosMo@暴走P - ニコニコ動画
https://www.nicovideo.jp/watch/sm37502212
神経衰弱の仕様も、0匹エンカウントも知らんかったが…
FF2(GBA) RTA_3時間10分2秒_Part2/6 - ニコニコ動画
https://www.nicovideo.jp/watch/sm37491110
yukari-exvoice-runnableのAndroidX移行をやった。y4a本体は永遠に移行してないのに…
https://github.com/shibafu528/yukari-exvoice-runnable/commit/123bde1f16387faa210582fc4d1ac6961cb896e2
android.enableJetifierとかいうプロパティがあるの知っておったまげたね。クラス参照をsupport libからandroidxに書き換えるのかな。お前本当にバイトコード変換なんでもやるな。
このアカウントは、notestockで公開設定になっていません。
しかも引数のjobjectが何者かのインライン表示も増えとる…
NDK開発するにはIntelliJ Ultimateは使えなくてAndroid Studio使うしかねんだよなあ
しかし本当にいつからかNDKにちゃんと手入れるようになったよなあ。一時期はGradleベースのビルドシステムにずっと対応してなかったのに。
久々に読むとJNI、メソッドシグネチャのあたりとか全然読める気がしなくなってるな。
そういえばJavaはJNIでネイティブやるときすら、ひしだまさんのJavaメモが役に立つのであのサイトは恐ろしい。
JNIのLocalRef管理めんどいので、これをC++で改善できるならやりたいような
ファイルヘッダーにタイムスタンプかいてあったけど、これ2016年に書いたプログラムなのかー
ああ、JavaだからPostfix completionが使える、書きやすい!
IntelliJならだいたいに入ってそうな気がするけど、Java用の初期設定で慣れてるから微妙にキーワード違うと覚えられねんだよな
PHPだとPostfix completionよりも通常のスニペット展開のほうがよく使ってる
ついったーで最後にRTしたのがこれなので頻繁に目に入るんだけど結月ゆかりかわいいな https://twitter.com/GOD_Razor/status/1304078911513350146
String[]のソートってArrays.sort(Object[])で十分だっけ
んー、JNIにそのまま渡したいからString[]のほうが楽だな。
JNIにパスする前提だとCollectionは手数が増えて扱いにくい
Collection系は一般のJavaクラスなのであらゆる操作でメソッドIDを得て呼び出しをしないといけないが、配列はご存知の通り特別な存在なのでJNIにおいても操作用の専用関数がある
Java -> C -> mruby -> C -> Javaを書いてウワアアアアつってる
mruby -> C -> Javaでコールバック上げていく時に、Javaでmrubyに例外飛ばして巻き戻したい時にどうするか考えてなかった
Handler(Java) -> /JNI/ -> Delayer(mruby) -> Event(mruby) -> Spell call -> /JNI/ -> SpellListener(Java) みたいにスタックしていくわけですよ
これ、一旦Java例外からmruby例外に変換して、そっからさらにDelayer.run呼び出しでmruby例外が発生したとしてHandlerまでJava例外で巻き戻すことになるのか
さすがに一気にJava例外でジャンプは、たぶんできないしやったらmruby VMの状態がぶっこわれる
既存んコードの例外変換、あんまりちゃんとできてない雰囲気あるな
Plugin.call, Plugin.filteringはちゃんと処理入ってるな
そういえばLocalRefって解放しなくてもいいんですかね どうなんでしょう
最近のAndroidではLocalRefの同時使用数制限もなくなったらしいが
modelsの順序がおかしいの直さないといけないけど、これは大きな一歩だ
Javaとして自然になるようにdefspellのアノテーションと引数バインド仕様考えるのむずいなw
モデルは一般の引数で受ければいいものの、キーワード引数をどう受けるか。単純に残余引数としてMapで渡すにしても、何番目の引数に?それを明示的に期待するのか暗黙的に期待するのか?とか
名前情報のついたアノテーションをつけたら必須キーワード引数として、残余受け取り用のアノテーションをつけたら残りをすべてその引数に、みたいなのが自然かなと思っている
うわ、コミットコメントに@使ったらGitHubでメンションリンクになった…これ通知飛ぶやつ?
実装が大変なことになっていて、これをランタイムでやるのは端末に優しくないなという気持ちが少しある
https://github.com/shibafu528/yukari-exvoice/commit/5fec8e63149b180d6ee6c5e8b44574efad3e289e
というか引数名とか取るには新しめのAndroidが必要で、もうコンパイルタイムのAPTでやれよ状態がすごい
やっぱコンパイルタイムでやるか明示指定じゃねーとだめだな…
まあそりゃそうだよなあ、難読化とかもあるし、その手の情報が取れることを期待しちゃいかんよなあ。
Javaからspellを呼び出す手段を用意してなかったが、今のところ必要ないな
...InvocationTargetExceptionを握り潰していたのでここで消えていた
ランタイムでinvoke使ってるからこーなってるだけだが、そもそもこの辺を雑に潰してるの想定してなかった
InvocationTargetException.cause をちゃんと見るようにした…
見るというか、検査例外ならRuntimeExceptionでwrapしつつ再スローかけるだけだけど…
JNI DETECTED ERROR IN APPLICATIONの文字列の圧すごいよな。これ今はわざと起こしたから理由分かるしいいんだけど、想定してない時に引くとマジでだるい
代々木のアゲルヤ、やよい軒を葬ったあげくあっさり潰れたのマジ
んー、mruby上でjthrowableをグローバル参照で握る例外クラス作るか?
つまりこれが理想だな?
Java ↓ throw new RuntimeException()
JNI ↓ JNIEnv::ExceptionOccured() / mrb_exc_raise()
mruby ↓
JNI ↓ mrb_protect() / JNIEnv::Throw()
Java ↓ catch (Exception e) {}
>虚無<
別にpokemon catchしろってわけではなく、こう流れるようになってればどうにでもハンドルできる
mrubyのレイヤーでJavaの例外?いや知らんわグシャーつってrescueしてもいいし、Javaまで戻ってきてからゆっくりcatchしてもいい
mrubyでC関数でメソッド定義した時、superに相当する呼び出しってどうやるんだ…?
えっまじでmrubyのC関数からsuperコールどうやるんだ、mrb_method_searchでirep or 関数ポインタを得て自分でVMスタックいじって呼び出せっていってる?
レシーバは同じだけど、実行される関数をすげ替えないといけないわけだから、mrb_funcallではどうやっても到達できないんだよな
mruby-methodの Method#call の実装を見た感じだと、最低限mrb->c->ci->midを差し替えて実行することはできそうだけど、あの辺触りたくないしrubyで書こ…
midすげかえた上でmrb_yield_with_classとかいう見たこともない関数が呼ばれている
vm.cのOP_SUPERをみてもまあまあ似た処理をしてるけど、vm.cにベタ書きでAPIがない…
メソッドシグネチャのJNI表記を頑張って書かなくて……ええんか!!
Java Spellから例外が上がったときに適切にmruby例外として巻き戻せるよう改良したところ、はて何も起きないぞ?と思ったらサンプルmrubyコードにtrapかいてなかったです
Delayer::Deferred利用の罠、trapしわすれると例外が宙に浮く
信じられないスタックが積まれた状態でmrubyからJNI関数を呼ぼうとしてJavaのStackOverflowが発生して自殺するとかいう、よくわからん現象に見舞われている
あー、mrb->excクリアしないままなんかやろうとして死んでた
Delayer.run中にJavaにコールバックしたリスナー内例外が発生した場合、ユーザープログラムではなくYukariの問題であることが明らかなので例外をJavaに戻してクラッシュさせよう
mrubyのオブジェクトからjthrowableが拾い出せるとかいう
おさけーさんくーちゃん気に入ってるってことは、アメリカに戻る前に箱入り決定やな
JNI、Android Studioのサポートが強化されてるから前より書き易いのだけ幸いだな。
あーでも結局twitter-text-simpleidnが要る。URLの文字数が固定。
y4aいじる前にexvoiceいじりすぎて満足しかけてる節
目標までが遠すぎるんじゃ。まだTwitter互換Diva Model葬る作業もしてないんだぞ。
mruby-mixのアドオンとして移管したから、y4a側は消すとかがある
つかもっと妥当なDiva Modelを定義するべきっちゅーはなしもあり
y4aにlibexvoiceをリンクするところまで辿り着いてない
このアカウントは、notestockで公開設定になっていません。
ALFEEのライブはコント以外はソーシャルディスタンス保たれてるな…ということを思い出した
晩飯を買いにいくというタスクがDelayerに積まれたまま、一生runされてない
奇遇ですね今私もJenkinsfileに./gradlew cleanを追記したんですよ
ン〜〜〜これたぶんあれじゃな?CMakeListsでglob使ってるのが悪いのでは
yukari-exvoiceはお手元のMavenやGradleでBintrayから引っぱれるぞ(使い道がy4a以外にあるか…?)
https://bintray.com/shibafu528/maven/yukari-exvoice/20200913.220638
miquireのヘルパー関数をJavaにエクスポートするの忘れてたわ
JNIでmrb_stateのポインタを持ち回るときは、Javaのフィールド変数に持たせるならネイティブに下りる時は引数に持たせておくと便利
RevertのRevertが繰り返されてディスガイアの反撃システムみたいになってるPull Requestなら見たことある
mrb_rescue使って全てのJNIエントリでmrubyの例外のキャッチを保証したほうが良いきがしてきた
mrb_load_string()があれば何でもできる!ってのを改めて、ちゃんとJavaメソッドを作った
依存関係めっちゃ削ってあるyukari-exvoiceになんでguava入ってんやろって思ったら、どうもmrubyオブジェクトプロキシで呼出メソッド名をスネークケースに変換するために使っているだけだった
SocialMikutterHachuneNet refinementsだ
module SocialMikutterHachuneNet
refine Object do
def 出社
end
end
end
前職だと単純にタイミングがかぶって辛かったんだけど、現職だと人の数に対してトイレのスケールが足りてないから常時つらい
今のオフィスビルに入っている限りトイレのスケールアウトは困難なので…
お前隣席のオタクが苦しみだしたと思ったらうんこしてたら最悪やろが…流石によぉ…
あーもうexvoiceのx86ビルド、もうy4aからも参照してないしビルドから完全に外すか。ABIのかけ算でクリーンビルドの所要時間が伸びるの大変すぎる
ABIかけ算ビルド、一昔前の32bit並行時代のiOSとかどうだったのだろう
Spellアノテーションのリスナーの初期化と呼び出し処理がやたらデカくなっててPlugin.javaが読みづらくなったので、もうこれ別ファイルでええわ…つってラムダやめて普通にListenerインターフェースをimplementsしたクラスに切り出した。
小さな処理をわざわざ別に切り出すのは煩雑なので速記として便利だけども、ちゃんと物量とかで考えたほうがええやね、当然
これくらい作ったらいい加減y4aに取り込んで結合作業ができr...日付変わってるやん!
yukari-exvoiceでJNI触ってたおかげで、業務で客から渡されたSwingアプリが突然ネイティブクラッシュするのを原因特定してfixして報告しないことができたよ
たしかOracle JREでしか正常動作しなくて、OpenJDKだと死ぬみたいなやつだった。詳細は忘れた。
ライブラリバグでOpenJDKに刺さって死ぬという感じだったので、そのライブラリがOSSであることを突き止めてソース拾ってきてパッチしてリビルドした動いたわーいつって、でも金払ってるかも分からんJRE使ってるやつらに言う義理ねーわーつって終わりにした
JNI、Javaとの繋ぎこみが必要な時にしゃーなしに使うものであって、これを頼ってプログラミングすると常人のJavaプログラマは死んでしまう
そういえば会社でリモートになった人から借りて使ってる無接点充電器がなかなかよかったので、自分用買うか
あれのせいで仕事中にサボってMastodon見る時間が5分くらい増えた
JNIはまじでだるくて、だるさを緩和するあれそれも存在するんだけど、それをAndroidで使えるか自分のプロジェクトで使えるか検証して消耗するのを考えると、大人しく書くわ…になる
Java値とmrb値の相互変換、キャストオーバーロードでやりたい
今回はBEASTという情報しか得てなかったから初手火鳥にならずに済んだ
そういえばJNI関数にはNewObject, NewObjectA, NewObjectVみたいなバリエーションがいくつかに存在してるんだけど、俺はこれを久々に見て「あれ…JNIってWin32APIみたいな名前付けしてるんだっけ…」と誤解しかけました
なんかずっとFTL用タブに同じトゥートがいると思ったら、タイムスタンプが6時間後になってるやつがいる……
非mikutterユーザ向け解説
mikutterではTL着信順序とは関係なく、タイムスタンプでソートするので時計のズレたサーバ(例: 壊れた時のTwitter、半年前くらいのりんすき)がいるとたびたび大変なことになる
りんすきのサーバは時計遅れてて常に微妙に下に挿入されるみたいな感じだった気がする
[____] (:3 っ)=≡=-・∴
芝生のオストンチャレンジ!
↓
(:3 っ[____] (失敗:+60cm)ちょっとお腹が冷えそう
#shindanmaker
https://shindanmaker.com/362791
Cocoaがmrubyと統合するのにおあつらえ向きな環境すぎて、あれでプロトタイピングするの正解だけど失敗だな
ン〜みたらしの言葉を無視してねたほうがよかったんじゃないかw
そういえばsetting DSLでProcを握りつぶすようになってて、これはexvoiceで非対応を名言してたのを継いじゃったんだけど、Procは評価するまでは無害だったはずなので保持していいかもなあ
あ゛ー゛ー゛ー゛ー゛ー゛ー゛ー゛ー゛や゛だ゛や゛だ゛や゛だ゛や゛だ゛会゛社゛い゛き゛た゛く゛な゛い゛よ゛お゛お゛お゛お゛
Tissue、MetadataResolverで406引いた記録があるな…
うーむ可能性のありそうな場所の推測はあるんだけど、ちょっと考える余裕ないな
このアカウントは、notestockで公開設定になっていません。
まあ個人が使うパーソナルコンピュータのレベルで、個人が簡単に調達できる液冷なんてホビーでしかないでしょ。遊ぶには色々手が込んでて楽しいんかなー。
ミドルウェアの起動永遠に失敗して仕事できないんだがかえっていい?
docker-compose v1.27.0の変更、人によってはやばそうよ
- Merge 2.x and 3.x compose formats and align with COMPOSE_SPEC schema
なんでv3でナーフしてんじゃボケェ!って思ってた人には朗報です。
これも見るとよいよ
Merge V2 - V3 compose file formats (optional version field) · Issue #7588 · docker/compose https://github.com/docker/compose/pull/7588
mikutterコミットするには記憶失わないといけないのか
このアカウントは、notestockで公開設定になっていません。
正しいやり方 知らず(ろくに生きたドキュメントねぇじゃん!)
一応EL系でもpeclが使える程度の環境を作ればphpizeあるよな
俺がgRPCクライアントをどこにも宣伝せずに内輪で終わってる間に、GoとQMLとかいうガンギマリ構成で書かれたGUIクライアントが生まれてたらしい
QMLはJSとのキメラがキモいとかそういうことじゃなくて、Qt Widgetsの10年以上のノウハウを忘れている節を感じるのが不誠実で好かない
31starsついてるしawesome-grpcに書かれてるし、英語でやることと宣伝することの重要性感じちゃうわね
まあ俺もせめてQiitaに宣伝書けば6starsくらいは取れたんちゃうか
というか会社の同僚にはとっとと書けって言われまくったけど(
英語の説明もだるいが文字列リソースをなんとかするのもだるい
Rubyの? literal、予想通りtextbringerのdefine_keyで使うことができる
今日、定時内の半分をドッカーンした開発環境の復旧に費していたらしくてめそめそ泣いてる
ピポピポって言われると脳内でアマレココの録画再生SEが再生される謎の刷り込みがある
@shibafu528 何を言っているんだ、録画開始SEです
ふと母校のこと思い出してなんとなく公式サイト見たら、なんか2年前に教室Wi-Fi完備とか書いてあった。まぁ、生徒は使えへんやろなあ
このアカウントは、notestockで公開設定になっていません。
自分以外でAP取ってる人だいたいすごいと思っていて、俺は進学のための学習をせずにAPの学習にベットできたからやる気なくても取れました…
スト・マネ部門は取らされる社会人へのボーナス問題のようなものって高校の時恩師に教わりましたね
このアカウントは、notestockで公開設定になっていません。
インジェクションテロじゃなくてVariantによって単体攻撃してくるのが邪悪
そういえばけんこふっぽい応答を適当に送信するクソプラグインってないのか
@osa_k うおおおおおおおおおおおおあああああああああああああああああああああああああああああああ!!!!!!!!!!! (ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブブゥゥゥゥッッッ!!!!!!!)
このアカウントは、notestockで公開設定になっていません。
Androidあるある
昔書いた問題のあるクソ実装をだいぶ怒られる
Androidアプリ開発経験者であればAsyncTaskの使い方の問題を、mikutterをよく知る者であれば処理内容の問題を瞬時に指摘することができるであろう。
1. AsyncTaskを匿名クラスで生成して使うとメモリリークを起こす。
2. mikutterにstable releaseは存在しないため、このAPIリクエストそのものが無駄である。
ちなみにAsyncTaskは優れた非同期処理パターンが台頭したことにより、公式にDeprecatedとなりましたとさ。
あの頃はThread直でもThreadPoolでもなくAsyncTaskがナウいっつって頑張ったよな…
ウッッッワexvoiceの最新ビルドをy4aに入れたらツイート詳細開いていきなりSIGABRTした
昔よりは大人になったので、読みづれーよボケ大人しく拡張forにしとけって思った
これ処理系Java7時代のやつだからStream APIの代替実装使ってるなあ
require系の呼び出しを新しく作ったAPI経由にしたら状況が改善してJava例外になった。
MRubyException: undefined method 'register_reserve_hook' (NoMethodError)
んーこれがrequireAssetsの行で例外として報告されるのおかしいな。例外変換が甘い気がする
んあー理解した、これCI環境に異常に古いキャッシュがおるな
毎回mrbgemをcloneしなおすくらいにしたほうがマシやな、たぶん…
lockfile hashが変わったらパージするみたいな、そういうCI用のやつかあれ
んーやっぱmrubyの例外処理簡単にウカツ!になるので、mrb_protect()とかちゃんと使うのが間違いなさそうですね…
APIによってmrb->excに例外がセットされて全部の呼び出しをすり抜けるパターンと、abort()されるパターンがある。コード評価とかなら前者っぽいが、class_getみたいな操作だとabort()されるっぽそう
んで、mrb->excが既にセットされてる状態でclass_getをするとabort()に発展する
SIGABRTする桶屋いやですね、俺だって今嫌なエラーでそういう顔してるよ!
Androidでネイティブクラッシュされるとデバッガーで捕捉もできずにlogcatにゲロ吐いて終わるみたいなのがあって、とてもつらい顔になる
さっきからコミットするたびにBintrayにaarアップロードしてるんだけど、これ怒られない?
さっき1回だけurandom読取エラーを見てしまったのでやっぱりあのmrbgem捨てられるようにしないとアカンかも
やべ、mruby VMを破棄した後に呼び出し起こしてsegvぢた
Android久々すぎてIntentの構築手続すら忘れている
mruby-mixにcommand DSLのリファレンス実装が入った影響で、yukamiku.rbがdefdsl :commandするわけにいかなくなった。
元々yukamiku.rbはtwicca_actionっていうtwicca pluginのintentライクなDSLにcommandを横流ししてたので、これをfilterで実装しなおした。
twicca intentライクな構造にした理由、単にtwicca pluginには既に対応してたからその処理が使い回せるとかだったはずだが、真面目にmikutter pluginと互換したいなら普通にModelに落としこみたいところだな…
†Virtual World† https://github.com/shibafu528/Yukari/commit/6fb228c7f84c4ebd9fc892cf44110d5d060d8c86
ンーやっぱコンパイル時にAPTすれば、このSpellとかが未使用メソッド扱いされたりしないのに…という顔になってる
やっぱりちょっとした事でもJavaいじってCいじってみたいな手間が発生するの、Androidでmruby使う上での障壁だな
そういえばmrubyからy4aにin-reply-to上げるの、下手に変換かますと無理ゲーになるな。
y4a内部ではin-reply-toは { "url": String, "ids": { "mstdn.maud.io": 114514, "ertona.net": 1919 } } みたいなデータ構造(正しい名前は忘れた)になっていて、urlだけあってもリプライを成立させられないケースがある
鍵のローカルIDを一度喪失してしまうと取得が難しいことからこうしたはず
ベストを尽くすには、mruby側に渡すデータはある種のポインタにする必要があるのか…
寝る前にリプライIDだけシリアライズでもいいかなあとか思ったが、y4aのツイートActivityは返信先のStatusそのものを受ける必要があった…やっぱポインタにするしかねえか
そうなるとだんだんインターフェースからDiva Model起こすやつが欲しくなるな
「お気持ちを表明してください」placeholderとして良すぎる
個人の信教としてRSpecより(Mini)?Test::Unitのほうが好きなので、RSpecのトラブルシューティング嫌いなんだよな
このアカウントは、notestockで公開設定になっていません。
昔作ったシステムを何も考えずに売ってるだけのやつは金稼ぎの腕はあっても必要なシステムを導入する才能がない
街にいる清楚っぽい女の人を見て、う〜ん悪い男に騙された経験とかありそう!とかそういう思いを巡らせることに長けています。
moment.js送別会とかいう治安悪そうなイベントの開催通知が来ているな
このアカウントは、notestockで公開設定になっていません。
そうだ、クソプラグインからSpellでJavaに戻ってくることができたんだけど、In-Reply-Toの扱いに難があってリプライとして成立してなかったんだ
サブ端末にmrbプラグイン入れようと思ってファイルブラウザ開いたら、これさぁ…
JavaRefみたいなRubyクラスを作って、これがJavaに帰ってくる時は変に変換されずにそのまま戻ってくるみたいなのをやるべきか
んーtwicca_action DSL、obsoleteにするか
このアカウントは、notestockで公開設定になっていません。
Messageにモンキーパッチでfield.uri足そうとしたら生えなくて泣いてる
@shibafu528 今の精神状態では言葉の理解ができないので、右耳を集中させますので、もう一度お願いします
そしてexvoiceでプラグインからちゃんとin-reply-toを付けられるようになった
このアカウントは、notestockで公開設定になっていません。
Yukari Next 3.0.5.2137 (linkage 200915 6fb228c*)/exvoice arm64-v8a(Sep 13 2020 22:06:25)/Google/Pixel 3/10
今日の退勤トリガー「仕様書に書かれてるシステムメッセージが575にしか見えなくなった」
CONFIGURE SUCCESSFUL in 0s
Gradle project sync failed.
じゃねえんだよ
あーもAndroidここがクソ 結局Eclipse ADTよりは壊れにくいが壊れるときは壊れる
こういう時はgradleのキャッシュと.idea/librariesとかを雑に葬ってからIDEA再起動するとどうにかなったりならんかったりする
まあキャッシュ壊れてる程度だったら何とかなるから、ADTの毎日のようにぶっ壊れるよりはええわ
ADTとかいうマジモンのガラクタを知っているから全てを許せる寛容な心がうんぬん
なんとexvoiceのtickが500ms単位から1000ms単位になってCPUにやさしい!(????????????????)
どこがやさしいんだ、period eventなんか誰も使わねえんだからtick生成やめたほうがいい
Delayer::Deferredのネイティブ連携の方法は確立してるけど、今回まだJavaとの連携は確立してないです
ただy4aについてはSpellでJavaにコールバックしてもIntentを発行して終わりなので、とくにこれといって待ちがないというのが
Yukari Next 3.0.5.2139 (linkage 200915 7fca61e)/exvoice arm64-v8a(Sep 13 2020 22:06:25)/Google/Pixel 3/10
mruby plugin利用者向けアップデート。
* mikutter互換ランタイムライブラリをmruby-mixに変更
* compose spellに対応
* プラグインのディレクトリ管理に対応
デプゲ: https://dply.me/d7i2s6
リリースノート: https://github.com/shibafu528/Yukari/wiki/Release-Notes
プラグインのディレクトリ管理に対応、これはつまり今までy4aに.rbを読ませるにはplugin/に直置きするしかなかったのが、mikutter相当の置き方でOKということです
plugin/unkodeta/unkodeta.rb みたいに置いて認識される
ここ数回mruby関連の更新しかしてないけど、まあ面白いからやってるだけよ
最近ObjCのコードばっか眺めてたからか、GitHubのExploreにNextSpace勧められた
中学生だか高校生だかの頃にWindow Makerをいたく気にいって、今になってNeXTの子孫やObjCと出会ってるのはなんやろな
Cannaを使ってたのはRed Hat 9を使っていた小学生の時だけですよ!
GTKがそんな色環境で起動したら流石に他のことにリソース割けよってなる
GitHubのGNUstepのorg、意外とコミットがあるのがこわい
【シンデレラ】りんごろうマスコットコレクションが登場! | NEWS | 【公式】アイドルマスター OFFICIAL WEB(アイマス) https://idolmaster-official.jp/news/01_219.html
このアカウントは、notestockで公開設定になっていません。
地元の高校は数が減っているのにインターネットではクソ高校が増える
自分の中でEmacsはgitとripgrepのフロントエンドなのかもしれん
家に帰りたいと思いながら電話を取るあっきぃ「はい、お家です」
このアカウントは、notestockで公開設定になっていません。
カレンダーまともに見てないせいで見積り大事故しそうになったが
未だにWin95サポートする狂人各位いつもWin95で苦しんでる気がする
A系しかない上にIEバージョンによっては諸々のDLLがない…
Win95サポートが闇なの、Win95はOSRとコアなDLLの更新を伴うパッチやIEのインストール状況の組で別物なはずなので、98以降とは違うレベルで狂っている
comctl32とかshlwapiとかってIEバージョンで変わるんじゃなかったっけ
98SEもだいぶ違うはず(98SE未満を足切りにする製品もまああった記憶だし)だけど、無印時点でIE 4.0バンドルだから状況はだいぶマシよな
実家には95 OSR1と98無印とあって、95 OSR2と98SEが無かったから互換性検証遊びみたいなのやりにくく…
あーでも95 OSR1はIE 2.0なのでシェル統合前です。
スクロール可能なNSStackViewを作りたかったらNSScrollViewの中につっこめばいいんだよな?たぶん
新品の使い捨てマスクを手に持ってるおっさん、何がしたいんだ……?
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
Catalinaの壁紙、せっかくライブなんなら午前2時だけ不穏なもの映りこませておいてほしい
Safariも動き違うけどだめだな、Space押したタイミングで確定されてる
んーデグレなような気もするけど、どうだろう。記憶が定かでない。
そもそも普段はfcitx-skkなので、AquaSKK使ってどうなるかとか気づかん
ああ、そうだ define_singleton_method
CRubyだとdid_you_meanがあるから分かるんだけど
藤原竜也なのに設定キーがsteve_jobsなの、間違いなくクソプラグイン
enumerateObjectUsingBlock、補完では速攻出てくるから困らないけど普通に長いと思う
stringByAppendingStringに毒されてるだけなのではないか?
解決法
1. ObjCをやめる
2. LongestCocoaを読んでまだ短いと認識する
enumerateObjectUsingBlockはまだかわいいほうで、NSDictionaryのkeyとvalue両方取ってblock回すやつがアホ
つまようじのつまようじってつまようじサイズやろ、しってるで
このアカウントは、notestockで公開設定になっていません。
群馬で働いてた時まーじで往復合計100分をずっとFMぐんま聞いとったからな
そーいや前職の職場での会話デッキ、無難なカードとしてFMぐんまの話をするってのがありました
このアカウントは、notestockで公開設定になっていません。
バカタオルを後ろにかけてる車〜〜〜〜〜wwwwwwwww(群馬にあること)
FMぐんまのおすすめ要素、あーそういえば金曜19:00に内田彩の番組があるよな。15分枠だからかなりCMに圧迫されてるけど。
このアカウントは、notestockで公開設定になっていません。
気が大きくなってこのアイコン職場のSlackで使いたくなったが、さすがにそれはないな……
.m fileでselfとか使うと完全に予約語ハイライトされてあれ
コードで制約書こうとしてそもそもIB上でもなんもわかってねえよっつって爆死した
今日会社のフリーウィーフィーめっちゃ重いのでマスントドにはLTEつかお
登録してないサービスのスパムかと思ったらNetlifyがなんかのイベントのメール送ってただけやった…
fromのドメインでわかるものの、タイトルと送信者名で出元が分かりにくいやつはスパムにしか見えんから勘弁してほしい
Unsubscribeした
アイコン変えたら自己肯定感に包まれまくってるので仕事サボってマスントドしてえ
サービス終了のお知らせ | Qrunch(クランチ)
https://qrunch.net/@dev/entries/mad01egh8QmcuN3f
だめだったか……エクスポート忘れずにしないとMastodonの運用知見が消えてしまうな
このアカウントは、notestockで公開設定になっていません。
YFの設定、ミニビューけっこう使われてたでって言われたので試したら、完全に懐かしいあれという感じ
米Kensington、スクロールリングと40mmボールを採用したワイヤレス・トラックボールマウス「Orbit Fusion」を発売。 | AAPL Ch. https://applech2.com/archives/20200918-kensington-orbit-fusion-wireless-trackball.html
え、Kensingtonまたトラックボール新作かよ 頭打ったか?
中クリックしやすそうだし、スクロールリングがロットによってクソ重いみたいな欠陥が無いならアリやな
明日、iOS 14.0 を必須にした iMast 5.1 をリリースする予定です!
リリースノートはこちら。
https://github.com/cinderella-project/iMast/releases/tag/5.1
ちょっとだけ13系にステイする予定なのでしばらくは追いつけない
SKKでスリップダメージを受けるのは送りがな下手くそマンやで、俺みたいな
こればかりはどんなに辞書が優秀でもカバーできないからな、仕組み上
実はSKKで入力できない言葉、知ったかで使ってもそれはむしろ恥かくだけじゃねみたいなのある。
そりゃ造語とかキャラクター名とかはどうやっても無理だけど……
頻出送りがなミスを補正するエントリ、いくらか入ってますよね。どこに入ってるのかは忘れた。
辞書エントリなのか何らかの機能なのかすら記憶が定かではないけど、おそらく辞書エントリだろう…
送りがな補正であることを認識するために、まず注釈表示対応のSKK実装を使わないといけないのですっ
NSScrollViewの扱い方が分からなくて、オーバーフローするならスクロールさせたいのに勝手にWindowが拡張されている
楽しいチラシが投函されていて、楽しすぎるけど持ってると変な誤解されそうだから捨てるか迷ってる
思い通りになったー! レイアウト階層の途中のNSViewがTranslates Mask Into Constraintsになってて思った通りに設定されてなかったんが原因?
サンプルコードっぽいやつとViewのプロパティ見比べてなんとか気づけた
このサンプルコードが俺のMacにロードさせたSwiftプロジェクト、2つめだ
2020年にMac買ってXcodeを真っ先に入れるような人間がSwiftを書こうとしないという、あまり見られない事態
交際相手がNULL vs 交際相手がダングリングポインタ ファイッ
オタクアイドルコンテンツにお気持ちを表明する喪女とかいそう
そたえぬの中の人1回見てるはずなのに、それはそれとして32歳喪女であると流布したいんだよな
そんな女性歌手みたいな食いもん知らんぞって言いそうになった
👀
ISUCONの失敗から学ぶパフォーマンスチューニングの勘所 - セミナープログラム - オープンソースカンファレンス2020 Online/Hiroshima https://event.ospn.jp/osc2020-online-hiroshima/session/184422
YF見てNSDrawerにちょっと興味持ってたが、deprecatedなのか
rubyのバージョン上げたらdylibのロードエラー起こしたので涙のbundle install --redownload
なんか時々起動時にエラー吐いてレイアウトが無になるのが分からん
Failed to set (contentViewController) user defined inspected property on (NSWindow): -[NSApplication window]: unrecognized selector sent to instance 0x60000350c0b0
理解した、NSNbi instantiateWithOwner:topLevelObjects: で得られたtopLevelObjectsの中身のクラス判定ちゃんとしてなかった。
NSViewとかNSApplicationとかごちゃごちゃと順不同で入ってるのか。
やっぱこういう再利用部品をカスタビューで切り出すのやると、GUIプログラミングやってるなーって気分なる
GUIデザイナーでペタペタ貼るだけもGUIプログラミング感ある、カスタムビュー書きまくるのもGUIプログラミング感ある
init: を手書きするときは雑に if (self = [super init]) {...} を書くが、Xcodeのスニペットはちゃんと代入分割してるんだよな どっちにしような
WinFormsでTextBoxとButtonを撒き散らしたことないんか?
XAMLはまあ、グラフィカルなほうそんな触らんでもええな…
このアカウントは、notestockで公開設定になっていません。
昔Yukari for Desktopを書こうとしてCKも取ったことあったんだけど
Ghippos.Butimili.Form1 !?!?!?!?!?!?
li.butimiでAndroidアプリ書いてPlay Storeに出したすぎるでしょ
Twitterやってた悪いオタクの話題だから特に知る必要もない
chmodなのにお前の会社のファイルシステムUNIX Permission関係ねえじゃん
なんか知らんがブロックされてたシリーズ、ori_gamiとoffgaoくらいしか記憶にない
in-reply-toがないとき返信先ビューを非表示にするやつをやった
NSStackView、びみょーに使い勝手がなんともというか
一応スクショにはPublic, Unlistedしか載せていませんよ!!
みくぺたをObjCでやるならまずお絵描きじゃなくてAuto Layout気合組みをやるのでPainterではないやろなぁ…
Core Graphicsでソイヤするのはちょっと手を出したくないというか…
Cocotodon、mikutter pluginのmruby実行の試験台だからmikutter pluginが動くものの、実際UIでリスペクトしてるのP3:PeraPeraPrvとかTwitやからな…
Twit使ってた時はHome全通知運用だったよ、流量少なかったんで
Tween like普通にアプリ開発の題材としてちょうどいいじゃん
mikutterを知ったのはP3の死後ずっと後だったし、Linuxでツイクラ走らせるならP3一択って思ってたで
このアカウントは、notestockで公開設定になっていません。
俺は悪くない、Senzuri 2とかいうCK取ってたのはmumei_himazinや
P3、API 1.1を無理やり読ませることができるのは後に知って笑ったけどね
まあWebだってFlashの時代からHTML5の時代になあ、そらAirがいた場所はElectronにもなりますわ なっとくいくね
使ってたAirアプリ、TwhirlとSeesmicとニコ生アラートくらいかな
現代でObjCやるの、Swift読める力が求められるという逆転現象が発生しているな
元々Twhirl使ってHome全通知にいて、半透明の通知ウィンドウをいっぱい右下に出して追ってたんやけどなあ。買収されて消滅したからなあ。
これテキストフィールドにフォーカス入ってないとき全部無効になってるのどういう理屈なんだろ
Cocoaプログラミングそれなりにたのしいので暫くMacに引きこもりたいが、mikutterをまともに動かすにはX環境の整備が必要らしいというのと、GnuCashの動きがカスというのが生活上微妙に困る
なんかGnuCashはオートコンプリートが事故ってるのか、Win Mac Linuxの中では一番Macが動きが悪い
数学全然覚えてない上に商業高行ったからマジで数学全捨てって感じなんだよな…
入り口にちゃーしゅー落ちてるかと思ったが、よくみたら枯れ葉だった
iidxmapだけ帰りながらみてるけど、都会は店舗あたりの台数が多いな
このアカウントは、notestockで公開設定になっていません。
「AutoLayoutわかんない」
ObjC戦士「あんなAPI直接叩くのやめなさい、若いころは https://github.com/SnapKit/Masonry を使ったので今でも使えるかも」
「(名前空間がSnapKitや…)」
…(翌日)… 「ん?上下左右superviewにくっつけるだけなら全然API狂ってねぇからそのままいけるな…」
なんかConstraintを1つずつinitしていくやつは触りたくないですね、どっかで見たが
ObjCライブラリ情報、どこから探すのか分からないしそもそも消え始めてそう。
昨日飯食いながら、ObjCで生活はしたくないけど見て回るのは楽しいから、観光地みたいな言語だな〜って話をね
HTTPラッパーのAFNetworkingは今年4月にリリース出てる、JSONマッパーのMantleは昨日(!)にも出てる…
生き残ってるやつは確実にいる…しかしこれを見つけるルートがあるかというと…
Swiftで書かれたライブラリをブリッジするだけの虚無コード一度書いてみたいな
今日は何もわからんつってサンプルコード漁ったらバージョンの古いSwiftだったので、プロジェクト設定いじって祈りながらビルドする回が発生したのがつらかった
Swiftを知らないからコケたらどこで互換性壊れてるのは判断できないし祈りだった
コンパイルを通せる古い環境を用意する、みたいなのをこのためにやるのは不毛
これを全部作ればmikutterの設定画面をCocoaでやれるってマジですか
あと、やるならmikutter-cocoaでもブチ上げたほうがいい(?)
mikutter-cocoa、実現可能性はあるけどコアのGUI/Gtkの改良に伴う追従みたいな無限の苦行が発生するから誰もやらんし俺もやらん
Covid Goがmruby製クロスプラットフォームアプリになる未来はねえよ
そういえばCRubyのC extって.m fileもいけるのかしら
俺はただ、mrubyでアプリを作った異常者の伝説を模倣しようとしているだけだが…?
その気になればActivity.onCreate()でmrubyのProcを評価して、そこでButtonやらLinearLayoutやら作るという実装も認められているということです
Win32でCreateWindowExする実装があってもいいわけです
Gtk名前空間非依存が以前より推し進められているから、設定以外もmikutter以外で実装しやすくなってるんだよな
Gtkの気持ちになってエミュレートしないといけないのかー、からこのAPIの要求を満たす実装なら何でもOKなんや!っていう
settings内の入れ子settingsだけ実装完了してしまっている謎
いやーCocoaでやるならCRubyでやれよだし、そうじゃないならAndroidでやって成果物をy4aに入れろよみたいなのもあるんだけどね
input dslの実装はこんな感じ。変更のコールバックをまだ受けていない。
@toshi_a リストビューは明確に地獄だな。NSTableViewとバトらないといけなくなるので。
ファイルは……ファイル、どうだろう ちょっと試してみるか
fileselectの一族
- 手入力欄がある
- 参照ボタンがある
- photoならサムネも出る
NSButtonのtargetにaction処理用のオブジェクトつっこんで処理しようとしたら、これが弱参照なの忘れててメモリから一瞬で退場していた
しかしコードのコンテキスト的にコールバックさせる先のいいオブジェクトがない。カテゴリ拡張でNSButtonに直接持たせるしかないか?
SettingDSLのオブジェクトをMRB_TT_DATAにしてNSObjectを握らせるという手は無くもないですが
たぶん王道はMRB_TT_DATAにコールバック用Object握らせるほうだな。