From 175bce00f3b6c34767ecf1ba531e527434677969 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Sun, 26 Jul 2026 21:21:17 -0400 Subject: [PATCH] docs(twitter): add 1737201090058219980 corpus (NOTimothyLottes logger + multi-session design) 3-post sibling to the 1736161886079533186 VK retrospective: same public- domain release context, Dec 2023. Covers the mmap-ring-buffer error logger and the multi-session rationale (crash auto-reload + log preservation, no debugger). --- .../media/1737200333338595330_1.png | Bin 0 -> 9484 bytes .../media/1737200333338595330_2.png | Bin 0 -> 22873 bytes docs/twitter/1737201090058219980/thread.md | 30 +++++++++ .../1737201090058219980/thread_data.json | 57 ++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 docs/twitter/1737201090058219980/media/1737200333338595330_1.png create mode 100644 docs/twitter/1737201090058219980/media/1737200333338595330_2.png create mode 100644 docs/twitter/1737201090058219980/thread.md create mode 100644 docs/twitter/1737201090058219980/thread_data.json diff --git a/docs/twitter/1737201090058219980/media/1737200333338595330_1.png b/docs/twitter/1737201090058219980/media/1737200333338595330_1.png new file mode 100644 index 0000000000000000000000000000000000000000..43f8c5cfe2d6c7f37d83e247f785227cff29c155 GIT binary patch literal 9484 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

`@MDwq zfMHqUwm<6hhd)0jHAL+aYB>FO=pA9gF=EfTls(m?4y}#{5X$B6jrKA>G!ZKp2zcTt z_KYKS?nH64Q)eBQM%fH{?;;P9=cmOP5Ym`t%5I>B@mPEqNUZ3~fS7xGXWa$cxL_)y zj)PsspWtskwXBN09E7|H0Q)~p_gM!I274B|O$f^Tm;T%Ydhag37jdGyCUOjV*|0SIX;;Hvobt2{I#nMjHD}m&I$#<8hxwJqOu(51^d`$ZzC`{BlrI9oGGS z%8>Dcy^_9G?D@207MRPTMRxr(ID6{f>+t6 zyK5MxQM^?5arXG~zGeE`p#-zHIt-xMa1~a>cBr6h=)WW3a@ymPU-X>__#{Qyp39&a zJ_d!$v12HZJ~uS3KONdS&)1SkR(F&Klkd+zB{F`g63Ul=7* zsVm?8jjE6JB9P~!5}kdD+$EH%AM|f-O=>^&38XylFiQF#{QhMw3_*^Y(c>&#hwUc< zLpy%TxAqIg1kJDCZ?9zBT-KaQjNZ?D;2kEm+t^$(yFNp5x=i^*f96+!7?B3%e{XQe z1!e+t$(=S<7*l#K+*4!yXUj#{^bF%%7l{&y%IVgbSMt}bMA4=s@LO)Ck1H0Qrv||K z^#8sZ$S3y(TRcR(!QfPdOQwCoGCHyn0_PCLGaE8;Y9Z(Jj|;J zN0NaF@aVS_>utbjHD`z`(DY^@+A=RHc}4N3sIIaT3tBExg36~&(6%?{mB_XE@n1Qt z*N32Pp}RwaBq_V!tCpJHZm%Ob@-`sWlpN5zeO@)r_U6nRLCYi0<|^UzX?DLQ*Yyul zzGbUoi2Bg!Wm!euW(5+2Po^CzY@{Nv$GvDhSO|(C8JfoK$=IA<#j3aW@+ant0`=t^@Cj(ncAK zZLNDOJ}&rD-jVqfPC>T&KZc9fU8?b5Gl?2|Q@9q7J8B00-mq`vMHj*m@OMg=!%rq) zm)?lNewTNXF%nai+}NB-Iiq*YhwzWr6DPA$17g?~|Es|Zs;fFsH-hdij8jQ9H>qUH z0Nb0-)rZXqIm=nWfl!js$0iMz`NGeg(`t@)&@SlJ`2cqI{;oMnSaQsx#LuS-IkY~5 zn{OMQ^`?2T7D{3Iq!W6uWXhOdVW?p6O=?#~dq;M4^u+N$xn>EiYR!7<*3bdilwt+u zZAPr&7Cy&?8Wxc6dxxst%PZ<-%PX#-Ud{K{1EWyBttaolcK&k2<;3?n~O zz~5{GK$V!)nFUGDy_w!&2=h$dCp}ZsqGtTi+%J`8sD5FPWpW~+=obkGm`A{u0-KD_ z(7&bG_CodiRu@GoyRYqFiHC8aPL)5AudCt4J1jC8glj{oC#fyl0p2?Qy;HTO5@M`T zFf^rGja)^KB6MFDD9LTAoItNvD3Q9fKwMycF#DgQ;N4FybD3oQj+*Q$2ygg^tDq6-0dbg_&rlB!>`S(W?O6 zkXvXLV4*$6v}Snl6X@LQax%<@r#>U_)CFwg&0>w+MJ8B7rJAoaPyV@;>KI>bqV#f_M* z*0DhL=F$~_kBDX+&v=n=ZNq%&7yRZ(T;a2`x#{}Ou_!n!at}N{dm|a;SXva%>ZO=}K+E5#DEZ3ogpEGuS{WwU9j*Wa`PEFq znbxgwt4Gd>EpuNI(>;8OaDNLymCx?L?kd!7RFEX;)u+}+&{Z?Mxq@@*mww@^fFd8s z{ouV<1KAsDT#-Q^GAaLBCXq#pp**`AtDDhU07aZJ(Tm5&*1=33pCvpu#A>(}^etyB zhn@t$;7h&B8F|lFh}NHuOzYqE#OGQTxjp?4Two9ffiy^ry^A=H4C5OuQVa}|UM&WG z{CV6bI`kn>&>9;>`5#jM#y)U+3lIU_hgkh(3I-4V|1$+C$hZMT5YUXV6BPZIgebe` zKYtBhW6#o}sIL<5%4Af58DQgO?~zd`n_sHTAXTdE>-GoL1?|1{SKI(s&F8v~SkIM6Hzo zs`~ZELvCzGoZ=hGV*}5C+-dX8BnQ?*eovX=wDi7ev-H9-Sfl8Nd4sw8T$LY<)15zY zH0n(^rePD!aA`5no?WwnuTr`e5#gvV@5gW${_Adbopn7E8;4x**d^Cbd{ z>4H9*4i#Sil+NE|IsnbhGkdJrJYs^Y$DcZ-?J_kzG!Gn4Z z`+2s}?X09BJcYada7Cey3O#cZv}>Ybyd@QhD{dDoG)f8}2#=KEMydG*!bUycmud~z zf9|uS%uD+W0O3NmIQUeu*|1FfBvidY^1dwmj`n<8o1Pta#k0r>C5vp~1QRGZ;}oI# zV*4sbx>W2h)V~raOVSw%+w)`Jiv*xl0qpfwGI6;V+URjnQa5Sd>>R!9AU;Tsff&%vlKS{BWQBaJD&Lci|N03b?fC;GHaT;m&RkujGgW;ywi+FJBNF0 zoI9y4xUWLJP0lh{>TaE=eBNBuO5OT(QTLPxt`KJ+q%2Y_gsBHXujeLedq%iY4K5G( zVGF)w$m)!cXJ@9p*tZ=zuJoBv+jC!*3iifnt)VwCEcnsQ=Xa&dy_)NpFUkpuv>O!a zxafWTW;&fW@?_YHmm5YM+MC)C-SJlnXQmlU*eHG?gv5on1}XBh2zZa0G+#;ISHX~@8a=b)>nUW% zdWLuv8%U)+lie~H51*?jVct&E&iW5l5S#{mcdG2n&@F(wG|fFmR>gYK!BCAR=;gU{ zjQFTi$zKN1wZeJmX>|4=uYL$RaaU5oo^fRTEV+47}Lrc|5fPysXv0| z8O5fY9@NLxY5Dx*oqQT9}9(xppPQQyz-?{u{(n!pEoYUOeRF`9cvs+XnUyg{%Fmg{1WDV&Dt2)zZ{uewc8@N zcr(g+zx|#+k}7^N!}le?&Qm&`^5Vd>COue2#co5`0L1}ef!UUErOR^?N+VGUMjhMF z1O0o+Ri*b@8M^5qFP?9hiaw!6{Hq>7&12j=nWIaLd^(&zE{#d$84K5?Hvgh7uQd^G zgMo|%E(<6P_?*3A&e^pCI-+xu(HX2qw@b{}Di&(?X9ih&q%2G2kwAI?bW(h}ceS;% zQE+@oF`g2`yxcq1D2ncP`$OmjqaFO4&g#6mXVVmsGR;;?_{@p337|>! z^sPoDBGPtnQk7LyC`9~=1e+X08?c&KoN6{T?${!ykt|fJ0daG-{gQ$FgagWam%YCr zt3j#;b6J?fpvkKr2h0?{rl z+q;zLaE})W+5pMwJOHJLN-ub>8=1kAh-%yP^7?jV=ze*2(eL&USF$Umta#32P`Ky) z9)M=P-w~Rqn*?Od&TLurw~D+4@Uo3_fWu*+D9{NLrA4VEy94S z--$U-VphCYX{%EQ0*ba9jZQi>Y44W8<9&u3t1GN|bMx<*TA;%~ivm#Kc1{2$w>(6u z=CEdw6lfGTFlkq*s=ci@uWjjZH$Xevovs_{1o~$Ft4|c@9WF+*+#h|S&{m|S0D|ue zJd)5rXscWflH7zu0WYt8(fc)aIZ4~^khZWVownkYES-Sp>3rAY|CFP;rRCx93eYbw zVEKEONmI-J0Z>YBh8t;E(6&|H=$5UI#txjPX$kuEV^;SxE91leYu%WJ%GIbTK?E@I zq_{V3n{w#>OzAJ!TUtwr%cKjGM`oykN~h(A*MZB#xYiC7`KYF*j zV9wyB;8WZc%#UeFbOuoEey29P$K2v0a!w6;ho@A z=FsNkNXkTIVSHcU&HMwlQ*(RG^AoOVvGyZU&3sLHLq}NTAC$fgxyZS3u4!Z;z3R87 z)y(O7o@y?DfcK^`!=j3iCdH?96q}46(abfmHT^>&hr-d1>2tG^=wZy-=O51FC0cVy z5cB3=uUo@uKIc>Or+1>W+J#{&>GU6SIg6p@_H^!#Y2^mv34LJDZ9O)Mf_jl~HkW(2 z)puuKqF5HOUslU7cF@?`AbSkD67 zf?fHzxr)kcD)bl)P-Qm*nUWux+>UMMt#}W&1UC-=&aB$k0p5+&acrg!@|;RX$^lIL z!UXS%dS`F0rhUOt5y)wUJopD`cfN6MiX;ZOpciA0fl=tkPGHokF7c_KY;B-kEIiqi z(Ohf16i5deagTtB`oNw2d-fIfo9-3;In>CXIGw6e)hE&y{G1Tv6nHmR2GSy@q@v(XI9E20rlcYOP&ymcS=HE)+C=A59k+8}%dImeq_H`G|S z%;HyCGrMM$f+?|ombgbc`Ck$g!$1*WpegGvfN`2n^j9{c^8_Yo`dCwfm4Cb3Q<#*@M*3_=017Pb``)I&~z+ul%?_vtpz%;4KQdI zhw+Bp^lyGB|9Zlt?J@ubc(+`B_;>O6@_)DTm+b7ekeIesjU2q%U6Z2!#NdZ4IIZM! zeashaOR%8wA;e?kv$0cq9ddwQ*Tyb5f`>2O>Ux*%*6L&vchCQ*RP_!2wHZFQo1KBB zYI8XFV3$RTR#Q;D;bK*&JUDd21>ea26ChQrA9F$&ug0vg&xdA2UU5PyD(>#ag6kdIq z{%R{ffHdSX#co{=Ee*^|5F~Df>UbRmOU}d@vWl{Mo@g-P8JwV|!vs{hC|`WZG@D{i zQ@YraejKCI%)KA(P$t6e!3BY+8?zyv=B6meK=Mv`u&HsDMl$g*qc6M4E zd3GL{;LV?#CG`B@1`@=(WABcmUUHh6Q@s=KLs(8@q>)%ppa9TT$7o=&N30(}{KdO{ zFDVu$c<;?UMKBi58np+~dNE<%L=R_Z?bdYz#ua9gjSj(IiN0aWXR{$x!}c z-%HZi6o}X!W?-@IpSRrzHGB9qiKx;ml~BXHyPYn>GZ@)UWbtPSo{9zL&94JfQrQFP zo61q*EZp{N`Tqsrat}7!B2=cEP!yY5?t{lYoN^?SVi%?Y%+om}N=(mgRtEHA zGMb>G1iArg6FAMp>(3vy<9F**R>qeAQYZmk`*Ufo!MVgD zZYJ1I7qEr%u%^n4@O*QmVe*u8JK3Y*O>QP7J=6%lC{2le#YL*4(kaB;R42*y(&>9e zw;^M{MkY!>$6B9ALpZa#hHLRkxYI774Q83un@7DckR}g%K5^{ozQaIcav~j zc)A0~3hNNFm42O7xlD_t9?l4@xRm|1D!A2(=Y`1NbQbG%PGs6$Mm(LL6)E;3X+}7l z!G0itg*7_e5D`L;V;}G_R7zr3Hci{~{j(Pd6!W$^5@3e7N6+Uab=56UqqnuBqEwIL z5rx~oc%n3gH|*XVLzHahf5hjDGPbroJfWN!fhqNy{54zhEYv|wH?-+ZQ4Y?&Dm`rd zH$+>VhkC4hz~PSWlnS(K;ep>v_&%jht7jv_l?Y7VqNnv6`M60)h_Zv%4b7%1f3_Vx zl^DhE^#~elyk-Fi#M6|Q32*n4AcZv=4TLi_L61CuQ3Ve_LDr5EOaYmg4mf}*w3bs^ zVBDr%E+x1GDev>daMI`H2jmqI0tUEvwKt=n-@2Gd_bp)gpdt_1UhO_F>1|TNm5T1Y zN+>rUdpBP`8exva&mbqyeZkcJf6S-2twQwh@-Zdq*}nl)U!HUTUGzpB7xD3`v!K5c zOj!;DZD-<^+^d+kwo*`h{oz7*)JgW2bb z5KguEup9?MkU&3cKtYnlk&p2d0=^gVPA_BFuOVdhvm5#StG+7);#Wl4#1%?WjDxN@RyDM!oYC^z*(YigXY1l2a} z6KGUYt?1d?q$-w_6lG|nERxQd4+}j12pOH((J!?$HT38h=vd$piM&yBG|;aWXHB!U z>7(uXrt~7g8w|{1mI7_114Db*42$p{=7$0isyu{>&75!ST=W@3`f9EbFSJq`Tx z4TqJ`F4q?cQ7XXpXB~eaB6i!J#`8JFQ7~M}oN>j48Yghf_%rR4dg1|!O{G5H8Fv6^ zZ|q78yZ{ar@L3rWr(?3~#(4=@^r#>zg|RL0&Nn~cc8O{LnxhNQmAZ8)92;DG;R6ii zZ$rFhX4@JzGTex+7?L4;nW76P&s(+#djW%dwVO0R+}bRheFq_#vnej(Ljp>9d{I1P z48UON7KAoZQKTSwmDwtw%scnF27G}TKkjeN^J-!k$pz5RaM=c1dyO=luD0~4%rL0>RLj`up2{DBV3 zq1Ox#m<4gS8ks2(CY5XLx3pO~uZYF3)gicvo>E*gK*PYWr99G*e+1U9MbTIILdS5u z1+?Xytd|xT8jvG7h>12yC25ESDhlxc69*`x$hNvECs4zq@cj#(ULA-e31d`d)8pgCeoQ~Uzt%nguwtNL*(bm8@)r?!}?RmZ4#eJ`=PHBevi9d z`}JYT%{g$T!{`%6c#}xar6jOFJMgp9iI~#yDk_qD$6O}cu~69_ z6@~YvqHpLv1V%N2qSVW;#{%uT{ThJ$040gQU+Ywr-mJhOQLGQ9Pt16842}GwEFs@G zSX|ILH+GKE!0?D$_;J=BDl}T=?RsipKJscb*Ht&X4A+$vX@mKH+PK!ZB-4HCOuO1A zrfHgX%*hP)jNOrOr&(E|d#uDVGi@sZUQQVTB9c04f@srZH&ez+ovbu3X@!6Z$WBEY zr_@qIynsqVYN?1yN`Q#SerWc&d^qn1KD-~`_r5&;=UM;tUu#u8DreSm@vjNMh3PU^ zx8?xFSak~>0^CL%}97Y?l_cI>=F)}Vx2DClR(_$d>EldPDEe<-oa>lkbCMUD?yI6>^?1XvuflpYG+7>(b6KN&^2gh0d zdx9ssk0Oz+?YD^Z2G1Se2wiF_S}-*cIS!J)=sh1CMqv8Pq{Nm$gxCR_^{~K^VX4hE zhZu5Zz^*JL0RBn??o0h4(N&uV+H(W8btgYxT0i>szb!T{ zU*h&D@1(B)Q3`G=aQh0}O8+zu!*qlrGb}Kh;U>7N8C$h>i>>DV?qD@fGgY_Y!rg31 zdX{_2#dnt58tt8`_Wieq_U9@AvEP6ee1ORUuOxjp#A-^Y^Q55M#_=W#!|W`^5tAD7 z#I9n=`-T2}FNt8_UEY+ld0}^-i4=f);Za>AEgZhtG`Da?Jj-u2vo5rB+MF0@+c?R2 zM3Ta!*~nk*%*i+@H{)Tzg9XDH<( z8z_Yqs9EB95)#-6vmG$s2+rnjGyeb?|JLnozv~i;FzEZ(XojzaD>_`%FC4UJVC+JU z@M~F^4d_V7^cN>QQChE!#rSiQc{4FFeFCo0ABYIh9o|^-t8+SSph(DmHgUx~>VPtmZCECvnfsuZf?2;p0FBp48TN7-_ogcb2BvT;H5c7cH>D@4qdn= zQSi6I&*(_Ou1Qff`XIkl)a^1bDtQkJf1^` z_cYfY&hYnV{y0-4Dm<;OyDzN%%UOhwNXQ0CrxygtkK)GhtiBQ88AWM?oV6QRd%5TH zF(+&eLGarDOn|8gx5U9aYB6{@oyp<=&cDY51ny%+Gd7WIO?*rLGOfS&M;Rk_*U8QOn$5FZ5Vzl z3XiJg4)HZg&61k`{iG^9zC&YF7eC+ocSvh&Nv2KG6Pjs`eo|1-c)5OL{?+_v9?NYW z?tcdWfaU#6{sE)@+^*`ge;+X*%437eC!@vv_%ls^1zQ$c~%K+iJJjOK%9w#r}wMFQoxCxG0(yogBh?lU|pgu1vG)5RZQ@NL>2Te`&@a^Bez5fGGqXwyFWbqvE!CVOUR0kUL-Fxd3`n=M5k%ow8h@na>_9&D! zwU39Fre)e@+qQ*%QMvbR(9JpXT=;G@cYOuQ7LGMy8QV}W_OxPi;Z7M{S}XI&CYR{B zo5q0$MN(Fo$x+HE%o~+SId|I);&pzNK>8N61&2Jw)0<^EhSv%nw<=0=D`aP0C$}OI?XwJShT>7=#Wz=MP>$3uF; zuSMY=l7Frm7;BTJD*$lf&c9ONPdbWOyhqXzVN9p2c`EN8qCJ$?L=K=$=E2aBIRL09 zxt59iIHd=n5;+B>%=y{hp5D(K^aVK8HcFi*yqZGSX9e-1q(_CFvYH|a7OQDY2YeOw zcl$N<9OD-evadR?!5-`lQR}*<$x(xb60e^t-?vc@B{#jt-V1?PzQE#BN(*Y1PcM0c zvVTxZv`iH_?F+eP`02X{fI6~Q;z+I19Imb8ns@c{HTSBC@=LsVJ6j;s1!$bD5^U7b znm-Eanf$gTd%iAZU(xW3dTB^vq#G9#iAjlYZZ$8B4DGfh%6u3Z0$oOR9dwL1G%4&@ z(1lLNDALNCUiY_T#Bm~K6*7IuAtTi%Z2*p!KvX#A1o8{KYlO~hG(<85s4?M{$Ss3A z6Eltp*N>KYXzO+|HjYo|OPMYV#vRl*Gs}_J7i=4l$+s!Mx(_!WR{mwhHbvDyaFArb z3G2)7G$e%%&S`Qi-Zz<@F~w);sypEv4AVJ=;+QKZrun~`z&(WX@l)cXf*=LgvYah- zGGXPxJeiw3Yx;7dU;I1k<{CYN|8BM51Pl!+13;NAQN{~CV9zyi$|YQxPb8%007XX9 zy}PVSFFAsEsT8!i6{8rAxgvS8$K2d8+A(u%3^;yj%AXi_N{`k;=?&9$F=cSpM8Cef z>2!Pen;3);vxgRRSkToN{izhf&=3vkwYRAK z`51LNlB;IFE^1R?UB6C!&R%;1T7fY&5+uPl&;kcM9wK%yQRR6{ujh_rO-$%dM{X&4 zEvMoGRQDW#{^!(c+;))iMWGB|Le)>vr`Lzd6-Nu{wXVMDGFL7ZFKkzS)I66rgNH!+ zd`A<{rKw#HLd^Q35(v58P>zfOsazPZb7(-mDZ6^3_O`4&wR(G(YkKc zOXcgvh$$;Rv`iB@opeW<6cF$k^7`S6&`BY9Gu3fAALK0r8F;XFUrTV(&myO(TToe` z1B@#X`OBx~op+O&!dyRRH$)vKw~cY_y;0f}ee%(g$L1qyLEdhlrk@Xc!dq=Q`HOBG zL_*2BaFMCuFR_6+z8#o<<1nN(Qr7s%X z^DX=2m)YDsevt7VoWbQC|LHLG-SQ7wbf%Nh9LGswsK<6gl}IzqV*cd zU$9>%gg&b5bFYXmlg3bmfjufUvolz|jqHgd8HY_d&;^@#rh|Q3mQ&IRT#9ca6tzD7 zW`Q^kw3||;pi;OvpiMl}n=lmB&XMUUPPXm^~#W}2<(0Xqa{|g zItoXjV~AW-1mHi`T08`?Y>M_`ltaibjwP zZ4?!zauCs;fI_!Fb?9sEPB(vlBlYzr;gls;Wnak4Tp$5`)KG$BzN6+biO`l1H{K8+ zu~YDCHd6;u&rqe0Q#uMFWRb>=o0f4nW5Kj92KiFy&^KB@bO@@wR*+6T#@2StPHxgY zs9a4NUMp}f>Es4UUQGqzx^+9nXn!&t1k8AG3J)Ril7T5SB}SN2|p|#`h2ot?%Z={lPZp#22pmS(Djd)Y!6=TfMy6|>D5ZHTslxT(IM zBC-ZW*s^>L%*-i?2W^lC@-Dw(>*Gu_|NTFqG9E*C0=UWs2RzXn+>?oGlc^cm&|0A| ziZpzM0LnuEphEMm7QVP9DP}E&LO4y`W6zJ>!Q;f^XoX)M!rk2kmZy7@+vd?ORG-I{ zrHoEp@4@;Mm&S^gVwHFiA;0OK@OYdUAHkiJYfPt2VGMhXTvW*_&?X)TNsmo;5KDXw z6$}(`K!Q@#n1=3f$_mSi`_i7IaZ%a&ENJ5$3wwKc_QSkcW%RsUQ!?cU>om<5nTlGx z*4_4Ny2_58DtuLK>jpsmmcjoQs!g2a=5C@L;487ytxjI*#uaup-V6pNR*mPwvSaTF zB_jP|-CV3dwU{EKJ-m|53friJYvPLzC=+OQs$FC1O3kHnjzOLpg zK-;Ix@#<-JU0M}teaTN2?G$sx>cL~48d;d?ASOOVBRLUSAs(%ZL-`OyB+5~cqdx>D>RzUIAX${-5=sP4ofYv z`tC4#ibM_%;v^aoZNpppE^l5@75)M=p9yf;4fxj-4i&OI9g){N-xm% zc3^|cD88QfM$se*Ie8YxE5S37wUjPz z>^I1ZqEhlf4|Hw%sfoJ|*!q-G{hk}Yv&h45RGVW|*^iG5jI2U-5KB|3Z+`BEJ`>&t zu}cdmkPHRnk;uio-Qv8R@yOn(JX0!OWN?OOkF_zaK`-$fM>7>EG5LRo(j7xKByCGx ziV;!qAL%+~oL{^)5n>5FaKR32zqXd-*>;+OPnk)_X#tRVIyoCAvGe%>qKG1$x;0K; zVHfG$exmq!B5K)rXPemH?ippmbK~cB)t~agKy$EWIK!G^mhb|XEF~NwXB!vu8j45) z6RUH7vO%CLP@I-Qk|?Yh!5|&y?OGc&vMPRIz3dLjN5=RWW|q}Kmk=d@L$y)*=ixy) zcW)hcCTEmQm_00??*G|F{G-sy*VjoUBFv-G^WbYeR)J~Q+snY@iXIzlQ?CaCsY;t= zz!%vItjS6K)F_GbM#}+1@sEplC+zG_+kRDa5O{-aJno|H1Kc?ax30+)9$)>{B*;kv P*O9}=4{^Q!>%zYP35lO^ literal 0 HcmV?d00001 diff --git a/docs/twitter/1737201090058219980/thread.md b/docs/twitter/1737201090058219980/thread.md new file mode 100644 index 00000000..b313e9cf --- /dev/null +++ b/docs/twitter/1737201090058219980/thread.md @@ -0,0 +1,30 @@ +--- +title: "Multi-session is nice, since the binary auto reloads in some cases (crash, etc)," +author: "NOTimothyLottes" +handle: "@NOTimothyLottes" +post_url: "https://x.com/NOTimothyLottes/status/1737201090058219980" +post_id: "1737201090058219980" +timestamp: "2023-12-19 19:59:50" +post_count: 3 +reply_count: 0 +repost_count: 0 +like_count: 3 +view_count: 742 +--- + +# @NOTimothyLottes — Multi-session is nice, since the binary auto reloads in some cases (crash, etc), + +## Post 1 (2023-12-19 19:51:05) + +Working towards a public-domain release of a cleaned version of my Win32 Vulkan NV+AMD compute graphics platform. What I used last for rapid prototyping (which is also IMO fine for releasable software). Won't call it an 'Engine' because it only provides tools to hang yourself ... + +## Post 2 (2023-12-19 19:56:49) — reply to Post 1 + +Simplified the error logger today. Memory mapped file is definitely the way to go, one atomic per message, log multiple sessions, fixed size file acts like a message ring buffer. Background thread keeps the last message updating the same line on the console (for easy debug). + +![Media 1](./media/1737200333338595330_1.png) +![Media 2](./media/1737200333338595330_2.png) + +## Post 3 (2023-12-19 19:59:50) — reply to Post 2 + +Multi-session is nice, since the binary auto reloads in some cases (crash, etc), want to see why the reload happened, so don't want to clear the log. Yes, I still don't use debuggers, this logger + runtime shader recompile is all I use personally for dev work. diff --git a/docs/twitter/1737201090058219980/thread_data.json b/docs/twitter/1737201090058219980/thread_data.json new file mode 100644 index 00000000..e60e35c4 --- /dev/null +++ b/docs/twitter/1737201090058219980/thread_data.json @@ -0,0 +1,57 @@ +{ + "root_post_id": "1737201090058219980", + "posts": [ + { + "post_id": "1737198887914377512", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "Working towards a public-domain release of a cleaned version of my Win32 Vulkan NV+AMD compute graphics platform. What I used last for rapid prototyping (which is also IMO fine for releasable software). Won't call it an 'Engine' because it only provides tools to hang yourself ...", + "timestamp": "2023-12-19 19:51:05", + "media_urls": [], + "reply_to_id": null, + "quote_of_id": null, + "metrics": { + "reply_count": 3, + "repost_count": 3, + "like_count": 47, + "view_count": 5186 + } + }, + { + "post_id": "1737200333338595330", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "Simplified the error logger today. Memory mapped file is definitely the way to go, one atomic per message, log multiple sessions, fixed size file acts like a message ring buffer. Background thread keeps the last message updating the same line on the console (for easy debug).", + "timestamp": "2023-12-19 19:56:49", + "media_urls": [ + "https://pbs.twimg.com/media/GBvFvOXXMAAFLXS?format=png&name=orig", + "https://pbs.twimg.com/media/GBvFvOWX0AAxSuU?format=png&name=orig" + ], + "reply_to_id": "1737198887914377512", + "quote_of_id": null, + "metrics": { + "reply_count": 1, + "repost_count": 1, + "like_count": 8, + "view_count": 1352 + } + }, + { + "post_id": "1737201090058219980", + "author": "NOTimothyLottes", + "handle": "NOTimothyLottes", + "text": "Multi-session is nice, since the binary auto reloads in some cases (crash, etc), want to see why the reload happened, so don't want to clear the log. Yes, I still don't use debuggers, this logger + runtime shader recompile is all I use personally for dev work.", + "timestamp": "2023-12-19 19:59:50", + "media_urls": [], + "reply_to_id": "1737200333338595330", + "quote_of_id": null, + "metrics": { + "reply_count": 0, + "repost_count": 0, + "like_count": 3, + "view_count": 742 + } + } + ], + "source_url": "https://x.com/NOTimothyLottes/status/1737201090058219980" +} \ No newline at end of file