From 880640d9358810f7664a96e754b084ac91a03d60 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Tue, 25 Aug 2026 15:03:12 -0400 Subject: [PATCH] render mentions on a separate line from the reply content. --- ...ad-multiple-line-stores-collecting-on-a.md | 184 +++++++++++++----- ...-its-going-to-be-much-slower-you-can-do.md | 8 +- .../index.md | 48 +++-- ...believe-im-still-writing-games-in-win32.md | 4 +- ...is-heaven-when-you-see-what-else-is-out.md | 4 +- ...entally-i-made-a-vulkan-wayland-compute.md | 4 +- ...-actually-prefer-wayland-because-if-you.md | 48 +++-- ...dows-makes-some-interesting-choices-lol.md | 4 +- ...-i-appreciate-about-wayland-is-that-its.md | 4 +- ...inux-apples-and-oranges-comparison-here.md | 4 +- .../2026-01-12-FoundryOfLies-its-kwin.md | 4 +- ...st-you-to-stick-with-glfw-if-youre-only.md | 4 +- .../2026-01-12-Oka7071-thread.md | 4 +- ...-well-win32-began-as-a-bad-api-and-then.md | 4 +- .../2026-01-12-Rami36217810-what-about-x11.md | 8 +- ...-12-SyntaxError2505-why-sdl-works-great.md | 4 +- .../2026-01-12-f82james-fuck-x11.md | 4 +- ...enough-with-how-old-the-wine-project-is.md | 4 +- ...x-elaborate-please-im-still-an-x11-user.md | 4 +- ...h-is-like-a-nightmare-but-real-it-is-so.md | 4 +- ...2026-01-12-ruminaik-and-let-us-say-amen.md | 4 +- ...-instead-if-youre-using-arch-btw-its-in.md | 4 +- .../index.md | 8 +- ...a-person-with-a-phd-that-might-disagree.md | 32 ++- ...ly-thing-on-many-levels-the-entire-arch.md | 4 +- ...04-24-matiasgoldberg-whats-the-value-of.md | 4 +- .../index.md | 68 +++++-- .../2022-11-04-rianflo-welcome-not-back.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- ...-see-these-return-still-have-any-of-the.md | 8 +- ...mber-watching-all-of-these-blog-entries.md | 4 +- ...uutensei-is-the-blog-still-up-somewhere.md | 12 +- ...rite-an-engine-called-atom-talked-about.md | 8 +- ...-all-those-fondly-i-also-remembered-the.md | 4 +- ...r-thesis-advisor-was-a-big-proponent-of.md | 12 +- ...hen-i-learned-about-your-work-and-found.md | 4 +- ...s-for-digging-those-up-great-stuff-very.md | 4 +- ...an-apu-a-way-to-have-the-storage-device.md | 12 +- .../2023-06-20-SheriefFYI-great-thread.md | 4 +- ...-nvidia-has-a-very-good-uvm-however-the.md | 4 +- ...-nice-to-talk-a-full-presentation-about.md | 8 +- ...n-a-while-people-need-to-be-reminded-to.md | 8 +- ...-this-given-i-never-write-code-any-more.md | 4 +- ...leonard_coder-4e71-if-you-know-you-know.md | 8 +- ...-a-language-beads-which-uses-a-graph-db.md | 4 +- ...-used-to-be-like-that-at-least-the-ones.md | 4 +- ...ing-it-disoriented-programming-just-the.md | 4 +- .../2023-07-01-SimonNordon-nop-is-ideal.md | 4 +- ...teach-it-in-abstinence-only-programming.md | 4 +- ...023-07-01-asparagiii-looks-like-a-koala.md | 4 +- ...are-is-absense-of-it-https-en-wikipedia.md | 4 +- .../2023-07-01-claudiogonzalo-c-to-c.md | 4 +- ...lks-theyre-calling-it-computer-oriented.md | 4 +- ...ter-https-github-com-wyattscarpenter-wu.md | 4 +- ...esting-crosstalk-from-voltage-inversion.md | 24 ++- ...quite-sure-what-do-you-mean-by-subpixel.md | 12 +- ...sses-do-you-need-to-produce-this-result.md | 8 +- ...sign-one-api-for-each-separate-use-case.md | 8 +- ...put-the-whole-game-logic-in-a-game-glsl.md | 4 +- ...int-six-seconds-d3d12createdevice-on-my.md | 20 +- ...-preallocating-every-type-of-descriptor.md | 32 ++- ...debuggers-should-be-debuggers-made-zero.md | 4 +- ...le-project-knowledge-well-worth-sharing.md | 4 +- ...AH-ha-that-wont-save-you-from-my-follow.md | 4 +- ...im-deep-in-optimising-shaders-in-an-aaa.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- ...h-line-is-63-spaces-followed-by-a-n-and.md | 16 +- ...ck-do-you-care-about-cache-lines-if-you.md | 28 ++- ...s-super-cool-but-why-map-a-file-and-not.md | 20 +- ...hy-you-memory-map-the-32-bit-counter-to.md | 12 +- ...le-in-your-experience-in-code-like-that.md | 32 ++- ...gileJebrim-shouldnt-uniform-be-a-scalar.md | 64 ++++-- ...are-its-really-curious-they-still-stick.md | 4 +- .../index.md | 20 +- ...gh-current-compilers-are-a-bloated-mess.md | 4 +- .../index.md | 16 +- ...ou-tried-using-the-intel-cache-controls.md | 12 +- ...ts-pretty-amazing-how-good-the-hastings.md | 4 +- ...ptimization-ideas-1-for-rdna2-simd-insn.md | 12 +- ...king-at-a-very-similar-problem-for-hemi.md | 4 +- ...s-similar-but-i-also-feel-that-a-lot-of.md | 12 +- ...framegen-was-just-an-offspring-of-mpeg2.md | 4 +- ...sualization-of-said-cold-caches-on-a-cs.md | 24 ++- ...raw-spatial-scaling-in-a-custom-resolve.md | 12 +- ...mindset-is-more-tuned-towards-rendering.md | 8 +- .../index.md | 48 +++-- .../2025-02-04-gelatinous-pixel-soup/index.md | 8 +- ...-shader-compiler-not-do-this-i-e-detect.md | 8 +- ...be-interested-to-see-a-concrete-example.md | 8 +- ...-cache-locality-and-memory-handling-are.md | 4 +- ...tandardized-documented-isa-that-enables.md | 32 ++- ...hnuke-and-people-think-c-is-the-optimal.md | 12 +- ...de-compilation-is-inherently-sequential.md | 12 +- .../2025-04-30-onatt0-simply-brilliant.md | 4 +- .../index.md | 28 ++- ...-thoughts-0-having-a-low-upper-bound-on.md | 36 +++- .../index.md | 4 +- ...s-the-restart-number-come-from-i-assume.md | 4 +- .../index.md | 36 +++- ...-given-up-on-trying-to-massage-frontend.md | 32 ++- ...-top-something-else-ive-been-out-of-the.md | 20 +- ...the-plan-is-to-have-the-data-read-write.md | 4 +- .../index.md | 16 +- ...ly-isnt-hard-its-just-platform-specific.md | 4 +- ...xy4MyGPU-it-was-never-hard-just-tedious.md | 4 +- ...en-writing-assembly-for-almost-40-years.md | 16 +- ...ed-but-i-would-also-love-a-look-at-your.md | 8 +- ...Drisc0ll-im-sure-it-would-be-invaluable.md | 4 +- ...-would-and-i-think-more-people-would-be.md | 4 +- ...ve-only-done-asm-on-amiga-with-devpac-i.md | 8 +- ...been-doing-assembly-a-bit-in-d-with-the.md | 8 +- ...-people-who-claim-assembly-is-hard-just.md | 4 +- ...0-im-learning-assembly-in-my-spare-time.md | 4 +- ...-31-biovf-i-would-definitely-watch-that.md | 4 +- ...-07-31-cyberbemon-id-love-to-watch-that.md | 4 +- ...are-a-lot-of-watch-me-write-this-app-in.md | 4 +- .../2025-07-31-furan-would-watch-though.md | 4 +- ...ot-a-blank-canvas-go-for-it-interfacing.md | 8 +- ...oing-assembly-as-hobby-68k-assembly-x64.md | 20 +- ...07-31-m6502-i-would-enjoy-watching-that.md | 4 +- ...if-one-is-ok-with-bottom-up-thinking-99.md | 4 +- ...tely-interested-in-anything-you-put-out.md | 4 +- ...-07-31-nullspector-i-would-so-love-that.md | 4 +- ...aying-maybe-for-vulkan-depending-on-how.md | 4 +- .../2025-07-31-opdroid1234-i-would.md | 4 +- ...sh-the-win32-api-was-better-designed-it.md | 12 +- ...025-07-31-plasmabitcoin-very-interested.md | 4 +- .../2025-07-31-pranksterware-thatd-rock.md | 4 +- ...2025-07-31-roasted6read-i-am-interested.md | 4 +- ...ery-interested-in-it-also-on-your-forth.md | 4 +- ...lex_fx-is-it-already-aprils-fools-again.md | 20 +- .../2025-07-31-ssh4net-please.md | 4 +- ...y-isnt-hard-its-tedious-no-abstractions.md | 4 +- ...tart-pretending-i-understood-everything.md | 4 +- ...25-08-01-AnshumanKhanna5-video-link-now.md | 4 +- ...nt-really-matter-what-language-you-call.md | 4 +- ...now-someone-whod-be-excited-opdroid1234.md | 4 +- ...zb589-i-would-watch-that-so-count-me-in.md | 4 +- ...on-the-cart-style-memory-model-i-assume.md | 24 ++- ...-08-01-joeyazf-sounds-super-interesting.md | 4 +- ...ooking-forward-to-it-what-do-i-bookmark.md | 4 +- ...lly-hope-you-do-this-find-your-posts-so.md | 4 +- ...t-i-do-one-pinned-thread-per-core-sched.md | 4 +- ...-works-well-only-if-your-program-is-the.md | 4 +- ...ave-a-source-from-which-one-could-learn.md | 28 ++- ...-ever-logged-or-some-agreement-that-its.md | 8 +- ...ed-the-video-and-one-thing-that-was-not.md | 8 +- .../index.md | 8 +- ...sed-is-a-significant-improvement-but-it.md | 4 +- ...-still-on-opengles-and-webgl-which-dont.md | 4 +- ...-had-real-depth-precision-issues-in-our.md | 4 +- ...e-far-doesnt-apply-to-ortho-and-many-of.md | 4 +- ...really-done-graphics-in-a-while-but-ive.md | 8 +- .../index.md | 4 +- .../2026-01-14-can-do-that/index.md | 4 +- ...-not-just-use-more-historical-frames-to.md | 8 +- ...nt-have-to-be-like-this-but-the-new-dma.md | 32 ++- ...to-see-how-the-gpu-side-audio-turns-out.md | 8 +- ...-seemingly-incorrect-due-to-its-use-for.md | 4 +- ...u-do-the-multiply-in-uint128-t-and-then.md | 12 +- ...i-am-still-debugging-by-looking-at-if-a.md | 8 +- ...-think-your-even-suppose-to-change-your.md | 8 +- ...e-is-this-thin-with-win11-right-now-but.md | 4 +- ...ing-to-me-how-this-challenge-would-have.md | 8 +- ...00-interesting-font-does-it-have-a-name.md | 4 +- .../index.md | 8 +- ...futex-impls-ive-seen-check-for-that-and.md | 8 +- ...c-implementation-would-do-that-i-bypass.md | 4 +- ...eep-0-will-sleep-for-the-timer-slack-mm.md | 8 +- ...-people-trying-to-push-high-frame-rates.md | 16 +- ...-do-a-gradual-sleeping-start-with-while.md | 12 +- ...an-use-camac-free-to-take-raw-photos-on.md | 8 +- ...-06-13-quiveron_x-why-are-you-using-crt.md | 8 +- ...ng-i-wonder-if-crts-can-be-changed-like.md | 4 +- ...-14-mayemayey-ohh-what-is-that-a-2070sb.md | 24 ++- ...n-crt-or-are-you-emulating-scanlines-in.md | 4 +- ...0-chance-you-actually-use-this-font-its.md | 16 +- ...06-15-sadhuIGI-also-this-font-is-cursed.md | 4 +- ...ecvmmsg-can-only-work-with-1024-packets.md | 20 +- ...k-at-http-lalists-stanford-edu-lad-2001.md | 4 +- ...actually-reached-out-to-said-developers.md | 16 +- ...ay-does-sndrv-pcm-ioctl-hw-params-ioctl.md | 12 +- ...-a-lot-of-old-news-around-1-wine-doesnt.md | 8 +- ...two-truths-ive-come-to-accept-in-life-a.md | 4 +- ...-about-to-say-i-recall-pulling-this-off.md | 4 +- ...c-you-could-pretend-to-be-an-audio-jack.md | 4 +- ...once-upon-a-time-wine-didnt-implement-a.md | 4 +- ...-neat-but-is-it-really-true-in-practice.md | 8 +- .../2026-07-09-BigP4P4Smurf-and-preempt-rt.md | 4 +- ...ou-can-also-set-nohz-so-theres-no-timer.md | 4 +- ...nk-this-is-simply-available-as-a-kmsdrm.md | 16 +- ...ing-a-stroke-what-is-this-font-it-feels.md | 4 +- .../2026-07-14-bkaradzic-much-clearer.md | 4 +- ...t-this-point-could-make-a-dsl-with-perl.md | 4 +- ...the-tangent-what-is-this-font-and-where.md | 12 +- ...-smaller-code-size-possible-with-custom.md | 4 +- ...instrs-are-anything-but-fast-and-if-you.md | 32 ++- .../index.md | 12 +- ...ho-cares-do-what-makes-you-happiest-and.md | 4 +- ...h-visual-studio-had-better-code-context.md | 4 +- ...-globals-defines-were-warm-members-blue.md | 12 +- ...-good-faith-reply-is-if-youre-a-systems.md | 4 +- ...wrong-with-new-tools-its-just-that-most.md | 4 +- ...on-some-large-corps-demand-that-we-have.md | 4 +- ...should-write-your-code-on-paper-by-hand.md | 4 +- ...ble-to-code-without-assistant-is-a-good.md | 4 +- ...mber-how-my-technical-school-assigned-a.md | 4 +- ...because-high-arrogance-low-intelligence.md | 4 +- ...and-ides-honestly-i-wouldnt-use-notepad.md | 12 +- ...much-agree-with-you-but-i-started-using.md | 4 +- ...4-05-03-IlyasHairline-to-flex-on-others.md | 4 +- ...mber-having-an-argument-with-one-of-the.md | 4 +- ...-thought-coding-seemed-cool-and-wrote-a.md | 4 +- ...eping-programming-and-thinking-it-makes.md | 4 +- ...ig-difference-between-being-able-to-and.md | 4 +- ...ve-a-superiority-complex-for-working-in.md | 4 +- ...-be-able-to-code-in-notepad-just-so-you.md | 4 +- ...gree-especially-if-youre-learning-a-new.md | 4 +- ...uldnt-have-to-code-this-way-for-serious.md | 4 +- ...2024-05-03-NeutralRational-hes-a-boomer.md | 4 +- ...the-point-is-that-you-should-be-able-to.md | 32 ++- ...024-05-03-OscarBR92-to-assert-dominance.md | 4 +- ...nothing-has-more-forever-a-junior-level.md | 4 +- ...st-another-it-twitter-bait-just-mute-or.md | 4 +- ...abudya-chill-bro-its-an-engagement-bait.md | 4 +- ...ts-available-use-it-though-in-my-case-i.md | 4 +- ...s-trying-to-act-like-their-depreciating.md | 4 +- ...-a-showcase-of-the-im-stronger-than-you.md | 4 +- ...or-the-first-few-months-of-my-first-web.md | 4 +- ...once-interviewed-where-they-asked-me-to.md | 4 +- ...to-consider-to-go-back-to-a-simple-text.md | 4 +- ...nt-actually-do-it-you-should-be-able-to.md | 4 +- ...ople-feel-scared-to-give-up-lower-level.md | 4 +- ...3-_Felipe-blue-check-farming-engagement.md | 4 +- ...key-word-is-able-how-many-people-cannot.md | 4 +- ...eme-from-a-person-who-posts-nothing-but.md | 4 +- .../2024-05-03-baris2c-its-bait.md | 4 +- ...oder-bravado-to-show-off-toy-algorithms.md | 4 +- ...e-signaling-but-its-like-being-proud-of.md | 4 +- ...use-when-you-have-to-fix-something-on-a.md | 4 +- ...should-be-able-to-code-with-punch-cards.md | 4 +- ...-is-not-about-when-you-dont-want-to-use.md | 4 +- ...nti-tooling-discourse-in-programming-is.md | 4 +- ...you-should-be-able-to-it-shows-that-you.md | 4 +- ...ogrammers-use-a-magnetized-needle-and-a.md | 4 +- ...lisense-is-just-a-faster-way-of-finding.md | 4 +- ...ted-in-notepad-now-i-use-vim-for-all-my.md | 4 +- ...that-at-an-interview-once-a-programming.md | 4 +- ...-in-an-interview-where-they-handed-me-a.md | 4 +- ...the-meme-works-infinitely-better-if-you.md | 4 +- ...-05-03-heyotetsuo-use-whatever-you-want.md | 4 +- ...eme-isnt-saying-you-shouldnt-use-it-its.md | 28 ++- ...thats-how-we-learned-and-you-should-too.md | 4 +- ...-telling-a-carpenter-you-should-be-able.md | 8 +- ...es-old-people-feel-cool-because-they-at.md | 4 +- ...n-intellisense-yourself-if-you-have-the.md | 4 +- ...-able-to-doesnt-mean-prefer-to-its-just.md | 12 +- .../2024-05-03-megaloid6-you-are-weak.md | 4 +- ...here-is-some-value-in-this-at-least-for.md | 4 +- ...t-about-wanting-its-about-being-able-to.md | 4 +- ...-to-do-that-but-to-be-able-to-if-unable.md | 20 +- ...t-gaslight-themselves-that-their-broken.md | 4 +- ...itors-tend-to-lead-to-other-bad-choices.md | 4 +- .../2024-05-03-sksauli-this.md | 4 +- ...rfpappa123-the-decel-mind-is-perplexing.md | 4 +- ...ocating-for-notepad-coding-is-much-like.md | 4 +- ...dev-to-prove-twitter-theyre-good-coders.md | 4 +- ...of-agree-but-im-so-often-forced-to-code.md | 4 +- ...vious-engagement-farming-rage-bait-just.md | 4 +- ...ire-to-appear-extraordinarily-competent.md | 4 +- ...-dont-want-the-distractions-i-dont-want.md | 4 +- ...ree-with-the-original-poster-you-should.md | 4 +- ...sed-notepad-for-my-shitty-terraria-mods.md | 4 +- ...k-people-should-be-able-to-code-without.md | 4 +- ...-an-argument-where-people-build-systems.md | 4 +- ...is-is-just-another-expression-of-the-if.md | 4 +- ...tekeeping-really-there-has-never-been-a.md | 4 +- ...y-a-lot-of-the-framework-and-transpiler.md | 4 +- ...we-are-limited-by-our-environment-which.md | 4 +- ...ke-you-should-only-code-without-support.md | 4 +- ...hy-do-they-teach-arithmetic-we-all-have.md | 4 +- ...ad-but-i-have-done-a-non-zero-amount-of.md | 4 +- ...ill-justify-programming-c-c-on-linux-on.md | 4 +- ...u-cant-code-tcl-using-vi-through-a-bash.md | 4 +- ...ld-say-you-should-code-in-a-way-that-is.md | 4 +- ...the-skill-issue-is-strong-with-this-one.md | 4 +- ...o-code-in-c-back-in-2011-and-my-teacher.md | 4 +- ...hen-there-is-no-tool-for-something-they.md | 4 +- ...know-when-a-time-machine-will-transport.md | 4 +- ...-about-gatekeeping-and-feeling-superior.md | 4 +- ...a-ctags-and-cscope-if-you-know-you-know.md | 4 +- ...ould-waste-time-do-things-in-more-error.md | 4 +- ..._devesh-legends-use-nano-or-vim-as-well.md | 4 +- .../2024-05-04-real7a-thread.md | 4 +- ...codeblocks-instead-of-visual-studio-for.md | 4 +- ...a-lot-of-professionals-who-cant-code-at.md | 4 +- ...-be-able-to-program-on-paper-thats-what.md | 4 +- ...high-school-memories-where-we-all-wrote.md | 4 +- ...uldnt-be-able-to-do-your-job-without-an.md | 4 +- ...t-could-be-a-good-idea-to-start-without.md | 4 +- ...its-about-leveraging-the-tools-to-be-as.md | 4 +- .../index.md | 24 ++- ...-this-is-a-super-important-question-imo.md | 132 +++++++++---- ...tips-or-existing-solutions-on-achieving.md | 52 +++-- .../index.md | 8 +- ...ause-based-arch-was-interesting-in-many.md | 24 ++- .../index.md | 4 +- ...l-crime-is-those-idiots-not-knowing-who.md | 4 +- ...t-do-you-mean-by-arguments-to-recursion.md | 4 +- ...ng-to-read-all-that-im-happy-for-you-or.md | 4 +- ...lemente-hizo-de-placa-base-pitando-para.md | 4 +- ...-is-an-s-tier-post-1-it-proves-non-slop.md | 4 +- ...u-i-understood-5-but-i-still-enjoyed-it.md | 4 +- .../2026-07-04-EttoreMariotti-thanks.md | 4 +- ...great-post-i-cant-pretend-that-i-really.md | 4 +- ...ought-you-had-ai-psychosis-but-the-fact.md | 4 +- ...-got-interested-in-bend-for-its-prosaic.md | 4 +- ...yed-reading-this-post-i-think-that-what.md | 4 +- ..._-i-once-implemented-a-type-checker-for.md | 4 +- ...026-07-04-LusciousPear-i-love-this-shit.md | 4 +- ...nely-sometimes-eh-im-excited-about-your.md | 4 +- ...-acham-que-s-eles-s-o-superinteligentes.md | 4 +- ...nators-dont-have-valid-types-so-you-are.md | 16 +- ...ibility-to-write-fast-interpreter-looks.md | 4 +- ...pproach-for-this-is-very-elegant-indeed.md | 4 +- ...-prefer-the-previous-angry-rhetoric-pls.md | 8 +- ...not-very-technical-did-you-mean-ai-good.md | 4 +- ...y-ones-always-get-attention-on-internet.md | 4 +- ...t-them-get-you-down-they-can-barely-see.md | 4 +- ...sting-and-ill-keep-reading-or-trying-to.md | 4 +- ...s-an-emergent-ai-psychosis-psychosis-in.md | 4 +- ...hink-this-is-a-super-legible-digestible.md | 4 +- ...nt-really-comprehend-what-bend2-will-be.md | 4 +- ...dont-hafta-grug-post-to-be-popular-with.md | 4 +- ...-ai-advances-the-more-we-need-very-high.md | 4 +- ...following-you-when-i-scrolled-across-an.md | 4 +- ...-mt-bem-escrito-ficou-bem-mais-f-cil-de.md | 4 +- ...s-the-problem-isnt-explaining-something.md | 4 +- ...07-04-altansukhbatbay-high-quality-post.md | 4 +- ...ig-fan-of-interaction-combinators-and-i.md | 4 +- ...his-is-so-cool-and-inspiring-not-that-i.md | 4 +- ...r-esse-post-timo-poder-ler-de-voc-essas.md | 4 +- ...not-study-lambda-calculus-in-college-or.md | 4 +- ...-have-no-idea-what-theyre-talking-about.md | 4 +- ...e-a-system-that-provably-must-terminate.md | 4 +- ...-good-example-this-is-happening-to-both.md | 4 +- ...4-fecklesstit-u-the-best-man-keep-it-up.md | 4 +- ...-a-very-naive-and-ignorant-question-but.md | 4 +- ...ue-brother-we-smart-people-are-alone-no.md | 4 +- ...stion-does-bend-have-an-unscoped-lambda.md | 4 +- ...-been-following-you-since-the-beginning.md | 4 +- ...e-up-was-really-well-done-thank-you-for.md | 4 +- ...-you-cant-understand-my-posts-of-course.md | 4 +- ...-cases-https-x-com-misterclayt0n-status.md | 4 +- ...s-long-post-version-of-yours-you-should.md | 4 +- ...e-the-issue-was-in-duplication-inside-0.md | 4 +- ...-you-allow-for-non-termination-on-total.md | 20 +- ...ous-what-comes-after-bend2-bend3-or-are.md | 16 +- ...ske-gpt-for-translating-your-hieroglyph.md | 4 +- ...ove-what-ur-doing-keep-going-one-of-the.md | 4 +- ...l-indeed-hard-but-important-to-pick-the.md | 4 +- .../2026-07-04-taxilogiker-russel-antinomy.md | 4 +- ...aid-he-had-ai-psychosis-for-a-while-and.md | 4 +- ...impressive-best-argument-on-the-quality.md | 4 +- ...w-many-likes-you-get-its-likes-from-who.md | 8 +- ...language-im-trying-to-do-termination-by.md | 4 +- .../2026-07-05-IanCSU-sure-i-read-all-that.md | 4 +- ...-07-05-JaredC1728-quality-over-quantity.md | 4 +- ...gree-on-the-consistency-is-enough-to-do.md | 4 +- ...y-to-read-and-i-think-i-understood-most.md | 4 +- ...26-07-05-Orbiter777-fable-is-educated-c.md | 4 +- ...-the-antidote-i-found-to-ai-psychosis-i.md | 4 +- ...re-languages-built-on-bend-incapable-of.md | 4 +- ...d-ur-rant-these-types-of-posts-deserves.md | 4 +- .../2026-07-05-SteveMoraco-legend.md | 4 +- ...reading-all-that-but-damn-hope-it-works.md | 4 +- ...stion-alert-in-bends-syntax-what-is-the.md | 4 +- ...s-like-the-precise-symbolic-analogue-of.md | 4 +- ...pect-id-read-all-of-this-but-i-did-cant.md | 4 +- ...omeone-who-doesnt-understand-the-actual.md | 4 +- ...o-market-yourself-youre-not-running-for.md | 4 +- ...-it-a-great-shot-thanks-for-an-engaging.md | 4 +- ...p-posting-like-you-do-one-day-well-have.md | 4 +- ...-want-to-be-able-to-copy-lambdas-though.md | 4 +- ...t-is-not-a-rebuttal-to-a-query-about-ai.md | 4 +- ...-entire-math-proofs-section-in-my-maths.md | 4 +- ...-SGuergachi-hopefully-useful-data-point.md | 4 +- ...-25-abductee_org-asimov-vibes-intensify.md | 4 +- ...-any-thoughts-on-how-agi-could-help-the.md | 4 +- ...was-curious-about-what-it-would-take-to.md | 20 +- ...-is-actually-a-fantastic-project-though.md | 4 +- ...e-have-too-much-time-for-hobby-projects.md | 52 +++-- ...-the-context-hilarious-but-forth-as-asm.md | 8 +- ...t-if-were-in-an-apocalypse-part-is-very.md | 8 +- .../index.md | 16 +- .../index.md | 12 +- .../index.md | 24 ++- ...is-how-much-overhead-of-course-even-not.md | 12 +- .../index.md | 32 ++- ...-common-problem-thin-wrapper-interfaces.md | 76 ++++++-- ...fly-discussed-this-topic-in-my-siggraph.md | 24 ++- ...e-i-abstract-at-a-higher-level-i-end-up.md | 4 +- ...-whatever-you-want-the-api-just-because.md | 4 +- ...t-disagree-but-the-reason-is-that-99-of.md | 4 +- ...r-pipeline-is-basically-a-full-piece-of.md | 4 +- ...xactly-that-my-abstraction-is-basically.md | 4 +- .../index.md | 4 +- ...is-is-not-timothy-lottes-then-who-is-it.md | 4 +- ...e-goes-a-bit-beyond-that-judging-by-the.md | 8 +- ...ldnt-this-make-working-with-arrays-more.md | 12 +- ...er-arithmetic-based-on-type-sizes-makes.md | 8 +- ...l-im-parsing-through-a-binary-array-and.md | 4 +- ...the-displeasure-of-being-exposed-to-hex.md | 4 +- ...tingly-if-you-try-to-write-rust-in-this.md | 4 +- .../index.md | 12 +- .../winning_tactic/2026-06-07-i-see/index.md | 4 +- notes/How threads are organized.md | 2 +- scripts/twitter/emit_archive.py | 68 ++++++- scripts/twitter/render.py | 32 ++- .../twitter/tests/test_reply_attribution.py | 54 ++++- 422 files changed, 2864 insertions(+), 920 deletions(-) diff --git a/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-NOTimothyLottes-3-if-you-had-multiple-line-stores-collecting-on-a.md b/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-NOTimothyLottes-3-if-you-had-multiple-line-stores-collecting-on-a.md index a0859ff..2a0f304 100644 --- a/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-NOTimothyLottes-3-if-you-had-multiple-line-stores-collecting-on-a.md +++ b/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-NOTimothyLottes-3-if-you-had-multiple-line-stores-collecting-on-a.md @@ -28,107 +28,157 @@ parent_post_id: "1869436199884222515" **1/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari (3.) If you had multiple line stores collecting on a given line with ECC, you'd have the same bottleneck as fire-and-forget atomics. A throughput of one line modification per clock. +@AgileJebrim @SebAaltonen @munohikari + +(3.) If you had multiple line stores collecting on a given line with ECC, you'd have the same bottleneck as fire-and-forget atomics. A throughput of one line modification per clock. **2/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari (4.) Note the prior assumes a read hit! +@AgileJebrim @SebAaltonen @munohikari + +(4.) Note the prior assumes a read hit! So at the point you get anti-atomic, you are also anti-store and anti-ECC, and anti-etc. It's the same pipelines with the same variability due to on-chip networking, different clock domain crossing, etc. **3/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari (5.) Good GPUs have multiple ALUs doing the atomic by the last level cache. So it scales very well as a function of line collisions. Meaning if all lanes access separate addresses on a cacheline, those go in parallel. +@AgileJebrim @SebAaltonen @munohikari + +(5.) Good GPUs have multiple ALUs doing the atomic by the last level cache. So it scales very well as a function of line collisions. Meaning if all lanes access separate addresses on a cacheline, those go in parallel. **4/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari (6.) Atomics and regular stores have the same memory controller base-camping behavior. If all SIMDs store to addresses that hash to the same last level cache partition, they will drop efficiency just like doing all atomics to the same address. +@AgileJebrim @SebAaltonen @munohikari + +(6.) Atomics and regular stores have the same memory controller base-camping behavior. If all SIMDs store to addresses that hash to the same last level cache partition, they will drop efficiency just like doing all atomics to the same address. **5/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari (7.) Anyway, while CPU atomics are serious design fail, GPU atomics on good GPUs are your best friend. They are actually a fantastic tool for getting more regular performance in many parallel algorithms. +@AgileJebrim @SebAaltonen @munohikari + +(7.) Anyway, while CPU atomics are serious design fail, GPU atomics on good GPUs are your best friend. They are actually a fantastic tool for getting more regular performance in many parallel algorithms. **6/** @SebAaltonen -@NOTimothyLottes @AgileJebrim @munohikari Indeed. Many CPU programmers have the wrong belief that GPU atomics are slow and unusable. They are fantastic. Bump allocator is your best friend on CPU side. On GPU you do atomic add to implement a bump allocator. As simple as that. It's super fast. +@NOTimothyLottes @AgileJebrim @munohikari + +Indeed. Many CPU programmers have the wrong belief that GPU atomics are slow and unusable. They are fantastic. Bump allocator is your best friend on CPU side. On GPU you do atomic add to implement a bump allocator. As simple as that. It's super fast. **7/** @AgileJebrim -@SebAaltonen @NOTimothyLottes @munohikari I know NVIDIA did a really good atomicAdd, especially if you don’t use the result of the atomicAdd(). If you use it, then it forces it down a significantly slower path. But it’s all implementation-specific and different vendors will do different things yes? +@SebAaltonen @NOTimothyLottes @munohikari + +I know NVIDIA did a really good atomicAdd, especially if you don’t use the result of the atomicAdd(). If you use it, then it forces it down a significantly slower path. But it’s all implementation-specific and different vendors will do different things yes? **8/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari Atomics come in two forms +@AgileJebrim @SebAaltonen @munohikari + +Atomics come in two forms (1.) fire-and-forget (aka you don't use the return) - the compiler will flag it for no-return, so it behaves like a store (2.) read the return - it behaves like a {store, and read} simultaneously with layout "coherent" **9/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari Good GPUs have address coalescing on writes and atomics. So a wave wide store is reduced to a cost that scales with the number of total cachelines all waves touch, with byte-write-mask so there is no read-modify-write +@AgileJebrim @SebAaltonen @munohikari + +Good GPUs have address coalescing on writes and atomics. So a wave wide store is reduced to a cost that scales with the number of total cachelines all waves touch, with byte-write-mask so there is no read-modify-write **10/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari ... atomics have the same but if any wave lane's addresses collide it will bump those to another request (for the same cacheline). Possible that some HW implements a HW reduction for collisions of some kinds of atomics locally before the requests go out, but don't assume that +@AgileJebrim @SebAaltonen @munohikari + +... atomics have the same but if any wave lane's addresses collide it will bump those to another request (for the same cacheline). Possible that some HW implements a HW reduction for collisions of some kinds of atomics locally before the requests go out, but don't assume that **11/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari ... it's more likely that some compilers try to fix stupid behavior by doing a wave-reduction in software, and that causes hell for those of us who already write good code +@AgileJebrim @SebAaltonen @munohikari + +... it's more likely that some compilers try to fix stupid behavior by doing a wave-reduction in software, and that causes hell for those of us who already write good code **12/** @AgileJebrim -@NOTimothyLottes @SebAaltonen @munohikari Thoughts on atomic compare exchange? I use similar functionality on CPUs to globally synchronize threads and I figured I’d give it a shot attempting to do that on GPUs. +@NOTimothyLottes @SebAaltonen @munohikari + +Thoughts on atomic compare exchange? I use similar functionality on CPUs to globally synchronize threads and I figured I’d give it a shot attempting to do that on GPUs. **13/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari Compare and exchange since it takes 2 values, it could have half the peak rate through on-chip network. Personally I have always used algorithms that do better things without the cmpswap atomic. You always can get the return (value pre-atomic), so cmpswap utility is less +@AgileJebrim @SebAaltonen @munohikari + +Compare and exchange since it takes 2 values, it could have half the peak rate through on-chip network. Personally I have always used algorithms that do better things without the cmpswap atomic. You always can get the return (value pre-atomic), so cmpswap utility is less **14/** @AgileJebrim -@NOTimothyLottes @SebAaltonen My CPU sync mechanism works by stalling each thread until it reaches a multiple of the total number of threads to be synced, only incrementing an integer (swapping) when it reaches its specific thread index. +@NOTimothyLottes @SebAaltonen + +My CPU sync mechanism works by stalling each thread until it reaches a multiple of the total number of threads to be synced, only incrementing an integer (swapping) when it reaches its specific thread index. **15/** @NOTimothyLottes -@AgileJebrim @SebAaltonen I assume you are using a futex then on Linux to block? But the GPU doesn't have such a thing exposed in software. Instead you'd be effectively polling using serial global memory atomic latency as your rate limiter and 'blocking' +@AgileJebrim @SebAaltonen + +I assume you are using a futex then on Linux to block? But the GPU doesn't have such a thing exposed in software. Instead you'd be effectively polling using serial global memory atomic latency as your rate limiter and 'blocking' **16/** @NOTimothyLottes -@AgileJebrim @SebAaltonen Serializing workgroups on the GPU in this way has a very high latency granularity. There is also the issue of preemption on PCs, there is no guarantee of forward progress due to no guarantee all workgroups get restored +@AgileJebrim @SebAaltonen + +Serializing workgroups on the GPU in this way has a very high latency granularity. There is also the issue of preemption on PCs, there is no guarantee of forward progress due to no guarantee all workgroups get restored **17/** @NOTimothyLottes -@AgileJebrim @SebAaltonen So you can deadlock post preemption if the workgroup that needs to do the atomic to unblock those spinning cannot get back on the machine +@AgileJebrim @SebAaltonen + +So you can deadlock post preemption if the workgroup that needs to do the atomic to unblock those spinning cannot get back on the machine **18/** @NOTimothyLottes -@AgileJebrim @SebAaltonen Now, the important part, there is one compromise rule that has the highest chance of being possible, that is an ask that if there is a partial restore, that it restores the oldest launched workgroups first ... +@AgileJebrim @SebAaltonen + +Now, the important part, there is one compromise rule that has the highest chance of being possible, that is an ask that if there is a partial restore, that it restores the oldest launched workgroups first ... **19/** @NOTimothyLottes -@AgileJebrim @SebAaltonen And with that you can have some forward progress if an algorithm only has dependencies on workgroups launched before it (like lower kernel global workgroup index), food for thought for algorithm design +@AgileJebrim @SebAaltonen + +And with that you can have some forward progress if an algorithm only has dependencies on workgroups launched before it (like lower kernel global workgroup index), food for thought for algorithm design **20/** @NOTimothyLottes -@AgileJebrim @SebAaltonen on the CPU side, you'd futex block to get the thread off being scheduled so the dependent one could get on the machine to avoid deadlock, it isn't efficient by any means but works, the GPU's exposed only voluntary method to get off the machine is to exit the workgroup ... +@AgileJebrim @SebAaltonen + +on the CPU side, you'd futex block to get the thread off being scheduled so the dependent one could get on the machine to avoid deadlock, it isn't efficient by any means but works, the GPU's exposed only voluntary method to get off the machine is to exit the workgroup ... **21/** @NOTimothyLottes -@AgileJebrim @SebAaltonen So if you uber-task, meaning just keep launching the same dispatch, and the workgroup finds what it needs to do (instead of working off kernel global index), then you can workaround preemption that way too ... +@AgileJebrim @SebAaltonen + +So if you uber-task, meaning just keep launching the same dispatch, and the workgroup finds what it needs to do (instead of working off kernel global index), then you can workaround preemption that way too ... **22/** @NOTimothyLottes -@AgileJebrim @SebAaltonen Blocking becomes just workgroup exit. And the next workgroup gets lower schedule priority than existing active workgroups which helps solve of the scheduling issues +@AgileJebrim @SebAaltonen + +Blocking becomes just workgroup exit. And the next workgroup gets lower schedule priority than existing active workgroups which helps solve of the scheduling issues **23/** @AgileJebrim -@NOTimothyLottes @SebAaltonen I’m not using a Linux futex. Could you look over my code here? +@NOTimothyLottes @SebAaltonen + +I’m not using a Linux futex. Could you look over my code here? **24/** @simplex_fx -@AgileJebrim @NOTimothyLottes @SebAaltonen Hey Jeb, have you considered hitting the funny L shaped button on the right of your keyboard more frequently? 😅 +@AgileJebrim @NOTimothyLottes @SebAaltonen + +Hey Jeb, have you considered hitting the funny L shaped button on the right of your keyboard more frequently? 😅 **25/** @AgileJebrim -@simplex_fx @NOTimothyLottes @SebAaltonen Enter? Nah +@simplex_fx @NOTimothyLottes @SebAaltonen + +Enter? Nah **26/** @simplex_fx @@ -138,89 +188,131 @@ So at the point you get anti-atomic, you are also anti-store and anti-ECC, and a **27/** @AgileJebrim -@simplex_fx @NOTimothyLottes @SebAaltonen If I don’t have to scroll right… +@simplex_fx @NOTimothyLottes @SebAaltonen + +If I don’t have to scroll right… **28/** @simplex_fx -@AgileJebrim @NOTimothyLottes @SebAaltonen Dude, stop with that WQHD bullshit, buy a proper tv and limit yourself to 80-120 +@AgileJebrim @NOTimothyLottes @SebAaltonen + +Dude, stop with that WQHD bullshit, buy a proper tv and limit yourself to 80-120 **29/** @AgileJebrim -@simplex_fx @NOTimothyLottes @SebAaltonen Nty. The hell do I need a tv for? I have several monitors. +@simplex_fx @NOTimothyLottes @SebAaltonen + +Nty. The hell do I need a tv for? I have several monitors. **30/** @simplex_fx -@AgileJebrim @NOTimothyLottes @SebAaltonen How big? +@AgileJebrim @NOTimothyLottes @SebAaltonen + +How big? **31/** @AgileJebrim -@simplex_fx @NOTimothyLottes @SebAaltonen Big enough to maximize a window on each. +@simplex_fx @NOTimothyLottes @SebAaltonen + +Big enough to maximize a window on each. **32/** @simplex_fx -@AgileJebrim @NOTimothyLottes @SebAaltonen If you go too wide, you will just kill your neck on the long run +@AgileJebrim @NOTimothyLottes @SebAaltonen + +If you go too wide, you will just kill your neck on the long run **33/** @AgileJebrim -@simplex_fx @NOTimothyLottes @SebAaltonen I have 4 monitors +@simplex_fx @NOTimothyLottes @SebAaltonen + +I have 4 monitors **34/** @simplex_fx -@AgileJebrim @NOTimothyLottes @SebAaltonen How big? +@AgileJebrim @NOTimothyLottes @SebAaltonen + +How big? **35/** @NOTimothyLottes -@simplex_fx @AgileJebrim @SebAaltonen Ideally one of these +@simplex_fx @AgileJebrim @SebAaltonen + +Ideally one of these ![](https://pbs.twimg.com/media/GfHntpaWYAAGnOk?format=png&name=orig) **36/** @AgileJebrim -@NOTimothyLottes @simplex_fx @SebAaltonen Not big enough. Evans & Sutherland still makes planetariums. We have smaller scale 360 degree domes. I think they’re about 14ft high. +@NOTimothyLottes @simplex_fx @SebAaltonen + +Not big enough. Evans & Sutherland still makes planetariums. We have smaller scale 360 degree domes. I think they’re about 14ft high. **37/** @SebAaltonen -@AgileJebrim @NOTimothyLottes Same is true for everything. All memory loads on GPUs are highly vendor specific. On GTX 1080 (Pascal) your memory load goes through sampler, which is around 85 cycles of latency. While on Turing your raw load is only 28 cycles of latency (CUDA benchmarks). +@AgileJebrim @NOTimothyLottes + +Same is true for everything. All memory loads on GPUs are highly vendor specific. On GTX 1080 (Pascal) your memory load goes through sampler, which is around 85 cycles of latency. While on Turing your raw load is only 28 cycles of latency (CUDA benchmarks). **38/** @AgileJebrim -@SebAaltonen @NOTimothyLottes For sure, but my focus is more on how deterministic and predictable these are. I’ll take 85 if it’s always 85 over something that might vary unpredictably between 28 and 100. +@SebAaltonen @NOTimothyLottes + +For sure, but my focus is more on how deterministic and predictable these are. I’ll take 85 if it’s always 85 over something that might vary unpredictably between 28 and 100. **39/** @SebAaltonen -@AgileJebrim @NOTimothyLottes Nvidia has big L1$, so they are more predictable. Texture samplers are shared with all waves running on the same compute unit. They are not really predictable. You wait until the unit is ready. There's quite a lot of fluctuation. That's why you have 8x-10x hyperthreading per CU. +@AgileJebrim @NOTimothyLottes + +Nvidia has big L1$, so they are more predictable. Texture samplers are shared with all waves running on the same compute unit. They are not really predictable. You wait until the unit is ready. There's quite a lot of fluctuation. That's why you have 8x-10x hyperthreading per CU. **40/** @SebAaltonen -@AgileJebrim @NOTimothyLottes The idea is to keep the SIMD running all the time. Wave execution time variance hasn't been a big optimization goal. There's always more work coming, so it's not a problem if some wave takes 10x time to execute compared to others. +@AgileJebrim @NOTimothyLottes + +The idea is to keep the SIMD running all the time. Wave execution time variance hasn't been a big optimization goal. There's always more work coming, so it's not a problem if some wave takes 10x time to execute compared to others. **41/** @SebAaltonen -@AgileJebrim @NOTimothyLottes Basically if the SIMD is executing instructions all the time, then your workload runs at predictable amount of instructions per cycle. The problem is barriers. You wait for longest wave to finish. You can't to batch barriers to avoid turning latency into real lost SIMD cycles. +@AgileJebrim @NOTimothyLottes + +Basically if the SIMD is executing instructions all the time, then your workload runs at predictable amount of instructions per cycle. The problem is barriers. You wait for longest wave to finish. You can't to batch barriers to avoid turning latency into real lost SIMD cycles. **42/** @AgileJebrim -@SebAaltonen @NOTimothyLottes If they all take the same amount of time then there shouldn’t be much idling of hardware for waiting on the longest wave. +@SebAaltonen @NOTimothyLottes + +If they all take the same amount of time then there shouldn’t be much idling of hardware for waiting on the longest wave. **43/** @SebAaltonen -@AgileJebrim @NOTimothyLottes That's true. But they don't take the same amount of time due to caches. That's where the 10x hyper-threading kicks in. As long as the SIMD is fed all the time, there's no visible issue with fluctuating wave lengths. Barriers make that visible. Minimal amount of barriers = good. +@AgileJebrim @NOTimothyLottes + +That's true. But they don't take the same amount of time due to caches. That's where the 10x hyper-threading kicks in. As long as the SIMD is fed all the time, there's no visible issue with fluctuating wave lengths. Barriers make that visible. Minimal amount of barriers = good. **44/** @AgileJebrim -@NOTimothyLottes @SebAaltonen @munohikari Would you implement a prefix sum compaction algorithm using atomicAdd? +@NOTimothyLottes @SebAaltonen @munohikari + +Would you implement a prefix sum compaction algorithm using atomicAdd? **45/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari Standard optimizations apply, like doing wave-reductions first. +@AgileJebrim @SebAaltonen @munohikari + +Standard optimizations apply, like doing wave-reductions first. **46/** @AgileJebrim -@NOTimothyLottes @SebAaltonen @munohikari Okay so you don’t just blanket throw an atomicAdd on it then. +@NOTimothyLottes @SebAaltonen @munohikari + +Okay so you don’t just blanket throw an atomicAdd on it then. **47/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari No. For things like scanning a 1-bit value, it's a wave masked bit count op in software, followed by predicating the atomic to just lane 0 of the wave. For scanning uint32s it's a log2 wave reduction, then predicating the add to lane 0. And so on +@AgileJebrim @SebAaltonen @munohikari + +No. For things like scanning a 1-bit value, it's a wave masked bit count op in software, followed by predicating the atomic to just lane 0 of the wave. For scanning uint32s it's a log2 wave reduction, then predicating the add to lane 0. And so on ## Related diff --git a/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-SebAaltonen-yes-but-its-going-to-be-much-slower-you-can-do.md b/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-SebAaltonen-yes-but-its-going-to-be-much-slower-you-can-do.md index fdbca46..ffd422f 100644 --- a/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-SebAaltonen-yes-but-its-going-to-be-much-slower-you-can-do.md +++ b/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-SebAaltonen-yes-but-its-going-to-be-much-slower-you-can-do.md @@ -28,13 +28,17 @@ parent_post_id: "1869424048607993895" **1/** @SebAaltonen -@AgileJebrim @NOTimothyLottes @munohikari Yes, but it's going to be MUCH slower. You can do sums and reductions in groupshared memory, but if that mobile GPU doesn't have real groupshared memory, it's going to be very slow. For example GMEM based groupshared is this slow on Qualcomm (and 730 is much better than 610): +@AgileJebrim @NOTimothyLottes @munohikari + +Yes, but it's going to be MUCH slower. You can do sums and reductions in groupshared memory, but if that mobile GPU doesn't have real groupshared memory, it's going to be very slow. For example GMEM based groupshared is this slow on Qualcomm (and 730 is much better than 610): ![](https://pbs.twimg.com/media/GfGISwfWgAI6UuY?format=jpg&name=orig) **2/** @SebAaltonen -@AgileJebrim @NOTimothyLottes @munohikari X1 is the brand new laptop chip. This architecture is only on latest mobile phones. Low end is Adreno 610 and similar. +@AgileJebrim @NOTimothyLottes @munohikari + +X1 is the brand new laptop chip. This architecture is only on latest mobile phones. Low end is Adreno 610 and similar. ## Related diff --git a/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/index.md b/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/index.md index d0980cc..de3d4c7 100644 --- a/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/index.md +++ b/archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/index.md @@ -27,55 +27,79 @@ in_reply_to: "" **1/** @AgileJebrim -@munohikari @SebAaltonen You left out the bit where I also said no graphics pipeline. :P +@munohikari @SebAaltonen + +You left out the bit where I also said no graphics pipeline. :P **2/** @SebAaltonen -@AgileJebrim @munohikari Computer shaders are a can of worms for old mobile GPUs too. Some have fast groupshared memory (could be tiny), some emulate it. Some have wave intrinsics, some don't. 64-bit atomic support is nonexistent (for MM Dreams / Native style Z+payload packing). +@AgileJebrim @munohikari + +Computer shaders are a can of worms for old mobile GPUs too. Some have fast groupshared memory (could be tiny), some emulate it. Some have wave intrinsics, some don't. 64-bit atomic support is nonexistent (for MM Dreams / Native style Z+payload packing). **3/** @SebAaltonen -@AgileJebrim @munohikari Also compute shader writes are not compressed (pixel shader framebuffer writes have HW lossless compressor). You pay full memory bandwidth cost, which causes phone to heat (drain battery) and eventually throttle. +@AgileJebrim @munohikari + +Also compute shader writes are not compressed (pixel shader framebuffer writes have HW lossless compressor). You pay full memory bandwidth cost, which causes phone to heat (drain battery) and eventually throttle. **4/** @AgileJebrim -@SebAaltonen @munohikari Alternative approach is to do all rendering in screen space in a fragment shader. +@SebAaltonen @munohikari + +Alternative approach is to do all rendering in screen space in a fragment shader. **5/** @SebAaltonen -@AgileJebrim @munohikari If you intend to do distance field ray-tracing using volume textures, worth noting that most mobile GPUs don't do proper 3d tiling layout for volume textures. Instead they use legacy 2d sliced layout, which results in significantly more L1$ trashing. Can 5x your mem BW use. +@AgileJebrim @munohikari + +If you intend to do distance field ray-tracing using volume textures, worth noting that most mobile GPUs don't do proper 3d tiling layout for volume textures. Instead they use legacy 2d sliced layout, which results in significantly more L1$ trashing. Can 5x your mem BW use. **6/** @AgileJebrim -@SebAaltonen @munohikari Raycasting, no bouncing, using cubic textured bricks that emulate voxel surfaces via a parallax occlusion map approach measuring distances to each voxel surface. +@SebAaltonen @munohikari + +Raycasting, no bouncing, using cubic textured bricks that emulate voxel surfaces via a parallax occlusion map approach measuring distances to each voxel surface. If I’m writing something for an avionics cockpit, I’d be either using an Arm Mali-G78AE or NVIDIA DRIVE AGX Thor GPU. **7/** @AgileJebrim -@SebAaltonen @munohikari I’d also be using Vulkan SC, which I believe disables atomics entirely. :P +@SebAaltonen @munohikari + +I’d also be using Vulkan SC, which I believe disables atomics entirely. :P **8/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari Disabling atomics is like chopping off both legs because someone thinks one tow has a blister when it actually doesn't. +@AgileJebrim @SebAaltonen @munohikari + +Disabling atomics is like chopping off both legs because someone thinks one tow has a blister when it actually doesn't. **9/** @AgileJebrim -@NOTimothyLottes @SebAaltonen @munohikari You can still implement a comparable feature yourself. +@NOTimothyLottes @SebAaltonen @munohikari + +You can still implement a comparable feature yourself. Branches: [[archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-SebAaltonen-yes-but-its-going-to-be-much-slower-you-can-do]] **10/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari No actually you cannot. No method of software (or even HW) implemented lock-line algorithm survives the kind of latency in the GPU memory system. There is a big reason atomics on GPUs are done right by the last level of cache (the coherent memory domain) +@AgileJebrim @SebAaltonen @munohikari + +No actually you cannot. No method of software (or even HW) implemented lock-line algorithm survives the kind of latency in the GPU memory system. There is a big reason atomics on GPUs are done right by the last level of cache (the coherent memory domain) **11/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari Something you really need to understand for your own benefit: +@AgileJebrim @SebAaltonen @munohikari + +Something you really need to understand for your own benefit: (1.) There are a lot of more expensive things happening in the GPU memory system than atomics. For instance DCC compression. It requires metadata access (to get the state of memory just to do the compression on store). **12/** @NOTimothyLottes -@AgileJebrim @SebAaltonen @munohikari (2.) Think of GPU atomics as a read-modify-write op. It's effectively the same behavior as a partial cacheline write-through STORE operation on HW using ECC. Because ECC eats the bits used for byte-write-mask. +@AgileJebrim @SebAaltonen @munohikari + +(2.) Think of GPU atomics as a read-modify-write op. It's effectively the same behavior as a partial cacheline write-through STORE operation on HW using ECC. Because ECC eats the bits used for byte-write-mask. Branches: [[archive/threads/AgileJebrim/2024-12-18-you-left-out-the-bit-where-i-also-said-no/2024-12-18-NOTimothyLottes-3-if-you-had-multiple-line-stores-collecting-on-a]] diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-Alecazam123-hard-to-believe-im-still-writing-games-in-win32.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-Alecazam123-hard-to-believe-im-still-writing-games-in-win32.md index 5d4048e..548c295 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-Alecazam123-hard-to-believe-im-still-writing-games-in-win32.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-Alecazam123-hard-to-believe-im-still-writing-games-in-win32.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @Alecazam123 -@Dispatch_Graph Hard to believe I’m still writing games in Win32 25 years later. But it runs on SteamOS, so can never be replaced now. +@Dispatch_Graph + +Hard to believe I’m still writing games in Win32 25 years later. But it runs on SteamOS, so can never be replaced now. ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-BowTiedTails-yep-win32-is-heaven-when-you-see-what-else-is-out.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-BowTiedTails-yep-win32-is-heaven-when-you-see-what-else-is-out.md index e83971e..42f5152 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-BowTiedTails-yep-win32-is-heaven-when-you-see-what-else-is-out.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-BowTiedTails-yep-win32-is-heaven-when-you-see-what-else-is-out.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @BowTiedTails -@Dispatch_Graph Yep. Win32 is heaven when you see what else is out there. +@Dispatch_Graph + +Yep. Win32 is heaven when you see what else is out there. ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-VPCOMPRESSB-coincidentally-i-made-a-vulkan-wayland-compute.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-VPCOMPRESSB-coincidentally-i-made-a-vulkan-wayland-compute.md index a6695b7..a294574 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-VPCOMPRESSB-coincidentally-i-made-a-vulkan-wayland-compute.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-VPCOMPRESSB-coincidentally-i-made-a-vulkan-wayland-compute.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @VPCOMPRESSB -@Dispatch_Graph coincidentally, i made a Vulkan Wayland compute engine yesterday in ~600 LoC. +@Dispatch_Graph + +coincidentally, i made a Vulkan Wayland compute engine yesterday in ~600 LoC. ![](https://pbs.twimg.com/media/G-ZM4-pWEAAN7YI?format=jpg&name=orig) diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-VPCOMPRESSB-yeah-i-actually-prefer-wayland-because-if-you.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-VPCOMPRESSB-yeah-i-actually-prefer-wayland-because-if-you.md index 900b761..03ea77e 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-VPCOMPRESSB-yeah-i-actually-prefer-wayland-because-if-you.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-VPCOMPRESSB-yeah-i-actually-prefer-wayland-because-if-you.md @@ -33,27 +33,37 @@ another problem with Win32 is that it modularizes too much, and make everything **2/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph You didn't get the true Wayland experience until you try interfacing to Wayland without the Wayland user-space library. Meaning do it with just the kernel calls required. Then you will have taken the gold off the poop, and understood how bad it actually is. +@VPCOMPRESSB @Dispatch_Graph + +You didn't get the true Wayland experience until you try interfacing to Wayland without the Wayland user-space library. Meaning do it with just the kernel calls required. Then you will have taken the gold off the poop, and understood how bad it actually is. **3/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph WIN32 base system DLLs are a substantially cleaner interface. I only do non-decorated full-screen (foreground or background) window. Majority of WIN32 code fits on screen grab with mostly comments. I'm not a fan of their "WndProc" but at least it is simple. +@VPCOMPRESSB @Dispatch_Graph + +WIN32 base system DLLs are a substantially cleaner interface. I only do non-decorated full-screen (foreground or background) window. Majority of WIN32 code fits on screen grab with mostly comments. I'm not a fan of their "WndProc" but at least it is simple. ![](https://pbs.twimg.com/media/G-Zd9wLWUAE9kZj?format=png&name=orig) **4/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph Some like to hate on X11, but for what it was designed to do (support both local and remote displays), it is at least very well documented and actually quite easy to roll an interface for with just Linux kernel calls (no external libraries). Docs here: https://x.org/releases/X11R7.7/doc/xproto/x11protocol.html +@VPCOMPRESSB @Dispatch_Graph + +Some like to hate on X11, but for what it was designed to do (support both local and remote displays), it is at least very well documented and actually quite easy to roll an interface for with just Linux kernel calls (no external libraries). Docs here: https://x.org/releases/X11R7.7/doc/xproto/x11protocol.html **5/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph Duckduckgo Wayland protocol and you get this garbage as documentation (below). Nothing there actually explains how it works, it's just high-level OOP obfustication speak. My vomit translator cannot even process this stuff. +@VPCOMPRESSB @Dispatch_Graph + +Duckduckgo Wayland protocol and you get this garbage as documentation (below). Nothing there actually explains how it works, it's just high-level OOP obfustication speak. My vomit translator cannot even process this stuff. ![](https://pbs.twimg.com/media/G-Zjy3uXgAETWbE?format=jpg&name=orig) **6/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph Lets continue. It's built over unix domain sockets and doesn't support remote rendering. Haha, WFT. Just because they want to transfer file descriptors between processes for "bulk data". Wayland looses network displays and is SLOWER (fail): https://www.dedoimedo.com/computers/plasma-6-4-performance-wayland-x11-power-cpu-kernel.html +@VPCOMPRESSB @Dispatch_Graph + +Lets continue. It's built over unix domain sockets and doesn't support remote rendering. Haha, WFT. Just because they want to transfer file descriptors between processes for "bulk data". Wayland looses network displays and is SLOWER (fail): https://www.dedoimedo.com/computers/plasma-6-4-performance-wayland-x11-power-cpu-kernel.html ![](https://pbs.twimg.com/media/G-Zk_VHW0AAFoC_?format=png&name=orig) ![](https://pbs.twimg.com/media/G-Zla8PXYAAdRoE?format=png&name=orig) @@ -61,33 +71,47 @@ another problem with Win32 is that it modularizes too much, and make everything **7/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph Don't understand why Linux people had to take what was working, X11, and instead of just improving it, they had to make something that {removed the remote desktop, made it slower, and forces an OOP garbage design}. There is nothing good here. +@VPCOMPRESSB @Dispatch_Graph + +Don't understand why Linux people had to take what was working, X11, and instead of just improving it, they had to make something that {removed the remote desktop, made it slower, and forces an OOP garbage design}. There is nothing good here. **8/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph Another great thing about X11, is that it was trivial to both write and use your own window manager, using the same stable system for DECADES. I had a 350 line minwm.c window manager. Dead easy. +@VPCOMPRESSB @Dispatch_Graph + +Another great thing about X11, is that it was trivial to both write and use your own window manager, using the same stable system for DECADES. I had a 350 line minwm.c window manager. Dead easy. ![](https://pbs.twimg.com/media/G-ZrxUJXwAAINS7?format=png&name=orig) **9/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph Unix was about KISS (keep it simple stupid) then Linux user-space people transformed that into MISC {make it stupid complex}. Seen this trend with Audio, from OSS to ALSA, and so on. +@VPCOMPRESSB @Dispatch_Graph + +Unix was about KISS (keep it simple stupid) then Linux user-space people transformed that into MISC {make it stupid complex}. Seen this trend with Audio, from OSS to ALSA, and so on. **10/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph I worked in the {SunOS,Solaris,HPUX,SGI,AXI,etc} workstation era and started on Linux before ELF and before pthreads. Meaning I build things based on fork() [instead of pthreads] and SHM (shared page mappings) when doing local-only interfaces (no high kernel call granularity). +@VPCOMPRESSB @Dispatch_Graph + +I worked in the {SunOS,Solaris,HPUX,SGI,AXI,etc} workstation era and started on Linux before ELF and before pthreads. Meaning I build things based on fork() [instead of pthreads] and SHM (shared page mappings) when doing local-only interfaces (no high kernel call granularity). **11/** @NOTimothyLottes -@VPCOMPRESSB @Dispatch_Graph If Linux people wanted to replace X11 with a local only interface, at a minimum it should have been simple SHM for the majority, and then only go outside SHM when needing to say kick a doorbell (make wake another process), etc. +@VPCOMPRESSB @Dispatch_Graph + +If Linux people wanted to replace X11 with a local only interface, at a minimum it should have been simple SHM for the majority, and then only go outside SHM when needing to say kick a doorbell (make wake another process), etc. **12/** @o__boga -@NOTimothyLottes @VPCOMPRESSB @Dispatch_Graph Obfuscation is the secret for its "security!"! +@NOTimothyLottes @VPCOMPRESSB @Dispatch_Graph + +Obfuscation is the secret for its "security!"! **13/** @VPCOMPRESSB -@NOTimothyLottes @Dispatch_Graph i've never actually used X11. this is much easier. +@NOTimothyLottes @Dispatch_Graph + +i've never actually used X11. this is much easier. ![](https://pbs.twimg.com/media/G-a43PTXMAAIaEO?format=png&name=orig) diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-hadal101dev-yea-windows-makes-some-interesting-choices-lol.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-hadal101dev-yea-windows-makes-some-interesting-choices-lol.md index 9cadc1e..0307163 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-hadal101dev-yea-windows-makes-some-interesting-choices-lol.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-hadal101dev-yea-windows-makes-some-interesting-choices-lol.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @hadal101dev -@Dispatch_Graph Yea windows makes some interesting choices lol. Calling CreateFile when you want to OPEN a file? very weird lol. +@Dispatch_Graph + +Yea windows makes some interesting choices lol. Calling CreateFile when you want to OPEN a file? very weird lol. Never worked with wayland. What are some of the big pain points? diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-smolus-one-thing-i-appreciate-about-wayland-is-that-its.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-smolus-one-thing-i-appreciate-about-wayland-is-that-its.md index 3f6b0b5..0898315 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-smolus-one-thing-i-appreciate-about-wayland-is-that-its.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-11-smolus-one-thing-i-appreciate-about-wayland-is-that-its.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @smolus -@Dispatch_Graph one thing I appreciate about wayland is that it's just a simple protocol spec so you are not married to any particular API/library but yeah it can be a lot of work to get basic things working +@Dispatch_Graph + +one thing I appreciate about wayland is that it's just a simple protocol spec so you are not married to any particular API/library but yeah it can be a lot of work to get basic things working ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Chris_Linux-apples-and-oranges-comparison-here.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Chris_Linux-apples-and-oranges-comparison-here.md index b1e9a7b..66e78ef 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Chris_Linux-apples-and-oranges-comparison-here.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Chris_Linux-apples-and-oranges-comparison-here.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @Chris_Linux -@Dispatch_Graph Apples and oranges comparison here +@Dispatch_Graph + +Apples and oranges comparison here ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-FoundryOfLies-its-kwin.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-FoundryOfLies-its-kwin.md index 856144f..04b0166 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-FoundryOfLies-its-kwin.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-FoundryOfLies-its-kwin.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @FoundryOfLies -@Dispatch_Graph It's KWin +@Dispatch_Graph + +It's KWin ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-JoaoBapt-i-suggest-you-to-stick-with-glfw-if-youre-only.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-JoaoBapt-i-suggest-you-to-stick-with-glfw-if-youre-only.md index 1bed4d5..5812192 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-JoaoBapt-i-suggest-you-to-stick-with-glfw-if-youre-only.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-JoaoBapt-i-suggest-you-to-stick-with-glfw-if-youre-only.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @JoaoBapt -@Dispatch_Graph I suggest you to stick with GLFW if you’re only doing Vulkan. +@Dispatch_Graph + +I suggest you to stick with GLFW if you’re only doing Vulkan. …and possibly use it in your D3D projects as well. diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Oka7071-thread.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Oka7071-thread.md index 584323b..8e69ff8 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Oka7071-thread.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Oka7071-thread.md @@ -34,7 +34,9 @@ parent_post_id: "2010303501851877740" **2/** @Dispatch_Graph -@Oka4902 if you give me 3 trillion dollars I can elaborate +@Oka4902 + +if you give me 3 trillion dollars I can elaborate ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-PervWizz-well-win32-began-as-a-bad-api-and-then.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-PervWizz-well-win32-began-as-a-bad-api-and-then.md index dff1315..374aa2e 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-PervWizz-well-win32-began-as-a-bad-api-and-then.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-PervWizz-well-win32-began-as-a-bad-api-and-then.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @PervWizz -@Dispatch_Graph Well. Win32 began as a bad API and then organically got reshaped into a worse one. Same goes for X11 +@Dispatch_Graph + +Well. Win32 began as a bad API and then organically got reshaped into a worse one. Same goes for X11 Wayland was designed as the worst version of itself from the get go. diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Rami36217810-what-about-x11.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Rami36217810-what-about-x11.md index 51e2204..7e0bd97 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Rami36217810-what-about-x11.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-Rami36217810-what-about-x11.md @@ -28,11 +28,15 @@ parent_post_id: "2010303501851877740" **1/** @Rami36217810 -@Dispatch_Graph What about x11 +@Dispatch_Graph + +What about x11 **2/** @Dispatch_Graph -@Rami36217810 its aight +@Rami36217810 + +its aight ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-SyntaxError2505-why-sdl-works-great.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-SyntaxError2505-why-sdl-works-great.md index ed74e51..41416dc 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-SyntaxError2505-why-sdl-works-great.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-SyntaxError2505-why-sdl-works-great.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @SyntaxError2505 -@Dispatch_Graph Why? Sdl works great +@Dispatch_Graph + +Why? Sdl works great ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-f82james-fuck-x11.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-f82james-fuck-x11.md index 6d6edda..539096f 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-f82james-fuck-x11.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-f82james-fuck-x11.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @f82james -@Dispatch_Graph fuck x11 +@Dispatch_Graph + +fuck x11 ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-linux_version-oddly-enough-with-how-old-the-wine-project-is.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-linux_version-oddly-enough-with-how-old-the-wine-project-is.md index 8ed7623..eaa69f9 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-linux_version-oddly-enough-with-how-old-the-wine-project-is.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-linux_version-oddly-enough-with-how-old-the-wine-project-is.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @linux_version -@Dispatch_Graph Oddly enough, with how old the wine project is, Win32 might be the most stable API on Linux. +@Dispatch_Graph + +Oddly enough, with how old the wine project is, Win32 might be the most stable API on Linux. ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-mizanyx-elaborate-please-im-still-an-x11-user.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-mizanyx-elaborate-please-im-still-an-x11-user.md index dc66de3..2aaa051 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-mizanyx-elaborate-please-im-still-an-x11-user.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-mizanyx-elaborate-please-im-still-an-x11-user.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @mizanyx -@Dispatch_Graph Elaborate please, I'm still an X11 user +@Dispatch_Graph + +Elaborate please, I'm still an X11 user ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-platonvin-windows-h-is-like-a-nightmare-but-real-it-is-so.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-platonvin-windows-h-is-like-a-nightmare-but-real-it-is-so.md index 28f2ac8..c78cd00 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-platonvin-windows-h-is-like-a-nightmare-but-real-it-is-so.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-platonvin-windows-h-is-like-a-nightmare-but-real-it-is-so.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @platonvin -@Dispatch_Graph windows.h is like a nightmare but real. It is so bad, that many people manually paste parts of it to avoid including entire thing +@Dispatch_Graph + +windows.h is like a nightmare but real. It is so bad, that many people manually paste parts of it to avoid including entire thing ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-ruminaik-and-let-us-say-amen.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-ruminaik-and-let-us-say-amen.md index cdadfe6..9b9aa0c 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-ruminaik-and-let-us-say-amen.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-ruminaik-and-let-us-say-amen.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @ruminaik -@Dispatch_Graph And let us say Amen +@Dispatch_Graph + +And let us say Amen ## Related diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-thedarkhog-get-xlibre-instead-if-youre-using-arch-btw-its-in.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-thedarkhog-get-xlibre-instead-if-youre-using-arch-btw-its-in.md index 9b265c1..7a36ab8 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-thedarkhog-get-xlibre-instead-if-youre-using-arch-btw-its-in.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/2026-01-12-thedarkhog-get-xlibre-instead-if-youre-using-arch-btw-its-in.md @@ -28,7 +28,9 @@ parent_post_id: "2010303501851877740" **1/** @thedarkhog -@Dispatch_Graph Get Xlibre instead. If you're using arch, btw., it's in the AUR. +@Dispatch_Graph + +Get Xlibre instead. If you're using arch, btw., it's in the AUR. Also KDE Plasma is poorly written and has the performance of Windoze. You'll be better off with something like XFCE. diff --git a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/index.md b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/index.md index a0a41ec..c6b3189 100644 --- a/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/index.md +++ b/archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-something-but-wow/index.md @@ -33,8 +33,12 @@ Branches: [[archive/threads/Dispatch_Graph/2026-01-11-ok-the-win32-api-sure-is-s **2/** @ocarina588 -@Dispatch_Graph 😂😂😂, what are you using? Hyprland ? +@Dispatch_Graph + +😂😂😂, what are you using? Hyprland ? **3/** @Dispatch_Graph -@ocarina588 KDE Plasma +@ocarina588 + +KDE Plasma diff --git a/archive/threads/FFmpeg/2025-01-29-ptx-is-a-form-of-assembly-language/2025-01-29-mu_chrinovic-i-know-a-person-with-a-phd-that-might-disagree.md b/archive/threads/FFmpeg/2025-01-29-ptx-is-a-form-of-assembly-language/2025-01-29-mu_chrinovic-i-know-a-person-with-a-phd-that-might-disagree.md index 0284b4a..5fe383b 100644 --- a/archive/threads/FFmpeg/2025-01-29-ptx-is-a-form-of-assembly-language/2025-01-29-mu_chrinovic-i-know-a-person-with-a-phd-that-might-disagree.md +++ b/archive/threads/FFmpeg/2025-01-29-ptx-is-a-form-of-assembly-language/2025-01-29-mu_chrinovic-i-know-a-person-with-a-phd-that-might-disagree.md @@ -28,27 +28,39 @@ parent_post_id: "1884730404587909544" **1/** @mu_chrinovic -@FFmpeg I know a person with a PhD that might disagree with you +@FFmpeg + +I know a person with a PhD that might disagree with you **2/** @NOTimothyLottes -@mu_chrinovic @FFmpeg Yeah PTX is not assembly, it's a mid level language that is closer to a 1:1 match for the HW ISA --- BUT --- the actual register allocation and management is still done by a high-level compiler ... +@mu_chrinovic @FFmpeg + +Yeah PTX is not assembly, it's a mid level language that is closer to a 1:1 match for the HW ISA --- BUT --- the actual register allocation and management is still done by a high-level compiler ... **3/** @janekm -@NOTimothyLottes @mu_chrinovic @FFmpeg That's almost semantics at this point though? If you're writing x86 assembly it gets translated to microcode in the CPU as well, and will do register remapping etc. Only difference in Nvidia case that's happening in the driver, right? +@NOTimothyLottes @mu_chrinovic @FFmpeg + +That's almost semantics at this point though? If you're writing x86 assembly it gets translated to microcode in the CPU as well, and will do register remapping etc. Only difference in Nvidia case that's happening in the driver, right? **4/** @NOTimothyLottes -@janekm @mu_chrinovic @FFmpeg Sounds like you are trying to claim software compiler register allocation is the same as HW runtime register renaming? No. CPU register renaming maps a small set of registers to a larger set to get IPC. Compiler GPU reg allocation maps a massive SSA mess to a small set. +@janekm @mu_chrinovic @FFmpeg + +Sounds like you are trying to claim software compiler register allocation is the same as HW runtime register renaming? No. CPU register renaming maps a small set of registers to a larger set to get IPC. Compiler GPU reg allocation maps a massive SSA mess to a small set. **5/** @janekm -@NOTimothyLottes @mu_chrinovic @FFmpeg Fair point, my argument was merely that both cases of assembly language are really an intermediate language that gets translated to the final instructions executed by the CPU/GPU. Feels quite pedantic to claim that PTX assembly is not assembly, merely because of reg allocation 🤷‍♂️ +@NOTimothyLottes @mu_chrinovic @FFmpeg + +Fair point, my argument was merely that both cases of assembly language are really an intermediate language that gets translated to the final instructions executed by the CPU/GPU. Feels quite pedantic to claim that PTX assembly is not assembly, merely because of reg allocation 🤷‍♂️ **6/** @NOTimothyLottes -@janekm @mu_chrinovic @FFmpeg SOFTWARE +@janekm @mu_chrinovic @FFmpeg + +SOFTWARE Assembler = human writes the physical HW instructions Compiler = program figures out the instructions from some other form ----DIFFERENT-THINGS---- @@ -58,11 +70,15 @@ Register renaming **7/** @janekm -@NOTimothyLottes @mu_chrinovic @FFmpeg We've been calling it Assembly since at least when JVM byte code was first a thing. Doesn't matter that a JIT compiler will still do register allocation. +@NOTimothyLottes @mu_chrinovic @FFmpeg + +We've been calling it Assembly since at least when JVM byte code was first a thing. Doesn't matter that a JIT compiler will still do register allocation. **8/** @NOTimothyLottes -@janekm @mu_chrinovic @FFmpeg Sure people have been incorrectly labeling stuff for a long time +@janekm @mu_chrinovic @FFmpeg + +Sure people have been incorrectly labeling stuff for a long time ## Related diff --git a/archive/threads/KostasAAA/2024-04-20-when-using-arrays-of-resources-bindless-its-worth/2024-04-24-jaap_null-its-a-silly-thing-on-many-levels-the-entire-arch.md b/archive/threads/KostasAAA/2024-04-20-when-using-arrays-of-resources-bindless-its-worth/2024-04-24-jaap_null-its-a-silly-thing-on-many-levels-the-entire-arch.md index 8837e74..d863d3f 100644 --- a/archive/threads/KostasAAA/2024-04-20-when-using-arrays-of-resources-bindless-its-worth/2024-04-24-jaap_null-its-a-silly-thing-on-many-levels-the-entire-arch.md +++ b/archive/threads/KostasAAA/2024-04-20-when-using-arrays-of-resources-bindless-its-worth/2024-04-24-jaap_null-its-a-silly-thing-on-many-levels-the-entire-arch.md @@ -28,7 +28,9 @@ parent_post_id: "1781724279798686001" **1/** @jaap_null -@KostasAAA It's a silly thing on many levels. The entire arch. limitation is awkward, then the way compilers deal (or not deal) with it is just broken. Sad to see it's still around. +@KostasAAA + +It's a silly thing on many levels. The entire arch. limitation is awkward, then the way compilers deal (or not deal) with it is just broken. Sad to see it's still around. ## Related diff --git a/archive/threads/KostasAAA/2024-04-20-when-using-arrays-of-resources-bindless-its-worth/2024-04-24-matiasgoldberg-whats-the-value-of.md b/archive/threads/KostasAAA/2024-04-20-when-using-arrays-of-resources-bindless-its-worth/2024-04-24-matiasgoldberg-whats-the-value-of.md index a513f4f..3aa7014 100644 --- a/archive/threads/KostasAAA/2024-04-20-when-using-arrays-of-resources-bindless-its-worth/2024-04-24-matiasgoldberg-whats-the-value-of.md +++ b/archive/threads/KostasAAA/2024-04-20-when-using-arrays-of-resources-bindless-its-worth/2024-04-24-matiasgoldberg-whats-the-value-of.md @@ -28,7 +28,9 @@ parent_post_id: "1781724279798686001" **1/** @matiasgoldberg -@KostasAAA What's the value of shaderSampledImageArrayDynamicIndexing? +@KostasAAA + +What's the value of shaderSampledImageArrayDynamicIndexing? I'm seeing an alarming number of reports (93%!!!) saying this is true, when that'd be a blatant lie. diff --git a/archive/threads/MyNameIsMJP/2024-04-23-apparently-uniformity-analysis-is-hard/index.md b/archive/threads/MyNameIsMJP/2024-04-23-apparently-uniformity-analysis-is-hard/index.md index bead6c8..f3d7372 100644 --- a/archive/threads/MyNameIsMJP/2024-04-23-apparently-uniformity-analysis-is-hard/index.md +++ b/archive/threads/MyNameIsMJP/2024-04-23-apparently-uniformity-analysis-is-hard/index.md @@ -27,71 +27,101 @@ in_reply_to: "" **1/** @MyNameIsMJP -@BelgianRenderer @KostasAAA @Nicolas_Lopez_ Apparently uniformity analysis is hard. 🙁 +@BelgianRenderer @KostasAAA @Nicolas_Lopez_ + +Apparently uniformity analysis is hard. 🙁 **2/** @KostasAAA -@MyNameIsMJP @BelgianRenderer @Nicolas_Lopez_ If uniformity can't be deduced, the compiler could be conservative and assume divergence. If it guessed wrong, the waterfall loop won't be executed and all threads will use the same index. Also, the shader author could help the compiler with a UniformResourceIndex qualifier. +@MyNameIsMJP @BelgianRenderer @Nicolas_Lopez_ + +If uniformity can't be deduced, the compiler could be conservative and assume divergence. If it guessed wrong, the waterfall loop won't be executed and all threads will use the same index. Also, the shader author could help the compiler with a UniformResourceIndex qualifier. **3/** @MyNameIsMJP -@KostasAAA @BelgianRenderer @Nicolas_Lopez_ Yeah I tend to agree that assuming non-uniformity by default for descriptor indexing would have been a better path, with some better language support for explicit tagging of uniform variables. Maybe in HLSL 2027. 🙂 +@KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +Yeah I tend to agree that assuming non-uniformity by default for descriptor indexing would have been a better path, with some better language support for explicit tagging of uniform variables. Maybe in HLSL 2027. 🙂 **4/** @NOTimothyLottes -@MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ Uniformity is the fast path, it would be horrible to tax the fast path for the sake of things designed to be slow (aka using resource divergence). The right thing to do is place in explicit uniform/nonuniform qualifiers into the languages so it's explicit. +@MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +Uniformity is the fast path, it would be horrible to tax the fast path for the sake of things designed to be slow (aka using resource divergence). The right thing to do is place in explicit uniform/nonuniform qualifiers into the languages so it's explicit. **5/** @JasperBekkers -@NOTimothyLottes @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ We do nuri for almost all our access (we sometimes turn it off because of badly readable Isa on amd). However the performance impact is in the noise, not all hw resolves this in the shader cores. +@NOTimothyLottes @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +We do nuri for almost all our access (we sometimes turn it off because of badly readable Isa on amd). However the performance impact is in the noise, not all hw resolves this in the shader cores. **6/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ NV doesn't advertise this: 32-byte sector size (even with 128-byte lines) mixed with per lane IPs (so you can pipeline latency of divergent accesses) is all about shifting the perf cliff of bad behavior enough to win benchmarks, it is still a cliff (look at ALU utilization) ... +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +NV doesn't advertise this: 32-byte sector size (even with 128-byte lines) mixed with per lane IPs (so you can pipeline latency of divergent accesses) is all about shifting the perf cliff of bad behavior enough to win benchmarks, it is still a cliff (look at ALU utilization) ... **7/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ AMD never invested in pipelining divergent latency, and their compiler compounds this by serializing a lot of other things that shouldn't be serialized ... +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +AMD never invested in pipelining divergent latency, and their compiler compounds this by serializing a lot of other things that shouldn't be serialized ... **8/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ If one is already into the perf cliff, it's easy on AMD to compound perf debt to the point something can never be optimized, and maybe that's ok if time-to-market/ease-of-use/etc is the primary goal ... +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +If one is already into the perf cliff, it's easy on AMD to compound perf debt to the point something can never be optimized, and maybe that's ok if time-to-market/ease-of-use/etc is the primary goal ... **9/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ There are cases where AMD's compiler is still failing hard on UNIFORM (aka wave coherent) multi-resource access: zero latency hiding -> every resource is a worst case serialization of {fetch descriptor, wait, sample} with zero pipelining ... example below +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +There are cases where AMD's compiler is still failing hard on UNIFORM (aka wave coherent) multi-resource access: zero latency hiding -> every resource is a worst case serialization of {fetch descriptor, wait, sample} with zero pipelining ... example below ![](https://pbs.twimg.com/media/GL7p5vJXUAECnVi?format=png&name=orig) **10/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ Or this case where the images get batched, but the descriptors accesses are serialized (below) ... so it's easy sometimes to assume NURI is not that expensive because the compiler already shot itself in the face (which is quite common in high complexity material shading). +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +Or this case where the images get batched, but the descriptors accesses are serialized (below) ... so it's easy sometimes to assume NURI is not that expensive because the compiler already shot itself in the face (which is quite common in high complexity material shading). ![](https://pbs.twimg.com/media/GL7rS7uWsAEebjc?format=png&name=orig) **11/** @JasperBekkers -@NOTimothyLottes @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ Most of the time for us the resource access is uniform, so the overhead is just a few waves to test this though. +@NOTimothyLottes @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +Most of the time for us the resource access is uniform, so the overhead is just a few waves to test this though. **12/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ If the whole shader coherently branches into uniform vs non-uniform material paths, sure that can work if the non-uniform path is almost never used, and the compiler doesn't choak on the register pressure of the non-uniform code path. +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +If the whole shader coherently branches into uniform vs non-uniform material paths, sure that can work if the non-uniform path is almost never used, and the compiler doesn't choak on the register pressure of the non-uniform code path. **13/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ At least for the sake of learnings for others, I'll continue down the compiler rabbit hole a little more ... even serialized latency of K$ (constant) HITs (all in the cache) will destroy shader perf (a single hit is like 30 some clocks). This pattern happens on AMD today still. +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +At least for the sake of learnings for others, I'll continue down the compiler rabbit hole a little more ... even serialized latency of K$ (constant) HITs (all in the cache) will destroy shader perf (a single hit is like 30 some clocks). This pattern happens on AMD today still. ![](https://pbs.twimg.com/media/GL7uT1wXoAA7CQj?format=png&name=orig) **14/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ And as for 'fixing' bad programmer behavior via the compiler, lets look at atomicAdd() behavior. First the compiler will burn the overhead to elect an active lane even when the compiler statically knows lane zero is active (simple example below). +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +And as for 'fixing' bad programmer behavior via the compiler, lets look at atomicAdd() behavior. First the compiler will burn the overhead to elect an active lane even when the compiler statically knows lane zero is active (simple example below). ![](https://pbs.twimg.com/media/GL7wLb8WgAEicQD?format=png&name=orig) **15/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ Try to out smart it like this, +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +Try to out smart it like this, int k=readOnlySsbo[1]; if(int(gl_LocalInvocationID.x)==0){atomicAdd(adr, k);} @@ -102,10 +132,14 @@ It fights back, and makes something even worse. [RED] ... see the multiply by ac **16/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ And sometimes it gets really squirrly and throws in a full wave reduction (see the DPP ops). When the good dev is just trying to do an already predicated to lane zero atomic ADD ... +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +And sometimes it gets really squirrly and throws in a full wave reduction (see the DPP ops). When the good dev is just trying to do an already predicated to lane zero atomic ADD ... ![](https://pbs.twimg.com/media/GL7yB5cXIAACo5E?format=png&name=orig) **17/** @NOTimothyLottes -@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ So if any solution depends on trusting a compiler to implicitly do the right thing, I'd be very very concerned, because they don't. Compiler size perf 'fixes' are brittle, break easy, and become massive nightmares for programmers who know what they are doing. +@JasperBekkers @MyNameIsMJP @KostasAAA @BelgianRenderer @Nicolas_Lopez_ + +So if any solution depends on trusting a compiler to implicitly do the right thing, I'd be very very concerned, because they don't. Compiler size perf 'fixes' are brittle, break easy, and become massive nightmares for programmers who know what they are doing. diff --git a/archive/threads/NOTimothyLottes/2022-11-04-vulkan-1500-lines-of-overhead-including-header/2022-11-04-rianflo-welcome-not-back.md b/archive/threads/NOTimothyLottes/2022-11-04-vulkan-1500-lines-of-overhead-including-header/2022-11-04-rianflo-welcome-not-back.md index 380c25c..66a3c6a 100644 --- a/archive/threads/NOTimothyLottes/2022-11-04-vulkan-1500-lines-of-overhead-including-header/2022-11-04-rianflo-welcome-not-back.md +++ b/archive/threads/NOTimothyLottes/2022-11-04-vulkan-1500-lines-of-overhead-including-header/2022-11-04-rianflo-welcome-not-back.md @@ -28,7 +28,9 @@ parent_post_id: "1588515348223254528" **1/** @rianflo -@NOTimothyLottes Welcome Not Back! 🤘🏻♥️ +@NOTimothyLottes + +Welcome Not Back! 🤘🏻♥️ ## Related diff --git a/archive/threads/NOTimothyLottes/2022-11-04-vulkan-1500-lines-of-overhead-including-header/index.md b/archive/threads/NOTimothyLottes/2022-11-04-vulkan-1500-lines-of-overhead-including-header/index.md index 7696b03..772ee6b 100644 --- a/archive/threads/NOTimothyLottes/2022-11-04-vulkan-1500-lines-of-overhead-including-header/index.md +++ b/archive/threads/NOTimothyLottes/2022-11-04-vulkan-1500-lines-of-overhead-including-header/index.md @@ -30,6 +30,8 @@ in_reply_to: "1588331007622930432" **1/** @NOTimothyLottes -@rianflo Vulkan: ~1500 lines of overhead (including header src, as I don't include) for complete hotrod bind-everything-only-once compute-only gfx engine. Not a fan of VK bloatware API complexity, but frankly it can be minimized, and exposes enough to do wonderfull things to the hardware. +@rianflo + +Vulkan: ~1500 lines of overhead (including header src, as I don't include) for complete hotrod bind-everything-only-once compute-only gfx engine. Not a fan of VK bloatware API complexity, but frankly it can be minimized, and exposes enough to do wonderfull things to the hardware. Branches: [[archive/threads/NOTimothyLottes/2022-11-04-vulkan-1500-lines-of-overhead-including-header/2022-11-04-rianflo-welcome-not-back]] diff --git a/archive/threads/NOTimothyLottes/2022-11-09-if-only-pc-vendors-with-open-isas/index.md b/archive/threads/NOTimothyLottes/2022-11-09-if-only-pc-vendors-with-open-isas/index.md index 728bc5c..2e60ee8 100644 --- a/archive/threads/NOTimothyLottes/2022-11-09-if-only-pc-vendors-with-open-isas/index.md +++ b/archive/threads/NOTimothyLottes/2022-11-09-if-only-pc-vendors-with-open-isas/index.md @@ -27,4 +27,6 @@ in_reply_to: "1590003266129383424" **1/** @NOTimothyLottes -@olson_dan If only PC vendors with open ISAs (AMD/Intel) would allow loading binary compute shaders in VK built using non-driver toolchains. If Valve enabled binary shaders on Steam Deck in Linux, that would be my new exclusive dev platform, instead of just a possible porting target +@olson_dan + +If only PC vendors with open ISAs (AMD/Intel) would allow loading binary compute shaders in VK built using non-driver toolchains. If Valve enabled binary shaders on Steam Deck in Linux, that would be my new exclusive dev platform, instead of just a possible porting target diff --git a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-BrianKaris-great-to-see-these-return-still-have-any-of-the.md b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-BrianKaris-great-to-see-these-return-still-have-any-of-the.md index e1370ad..53202cb 100644 --- a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-BrianKaris-great-to-see-these-return-still-have-any-of-the.md +++ b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-BrianKaris-great-to-see-these-return-still-have-any-of-the.md @@ -28,11 +28,15 @@ parent_post_id: "1653556990302470151" **1/** @BrianKaris -@NOTimothyLottes Great to see these return. Still have any of the videos? +@NOTimothyLottes + +Great to see these return. Still have any of the videos? **2/** @NOTimothyLottes -@BrianKaris I might, but will have to build a machine to attach the old drives. Too busy making new stuff +@BrianKaris + +I might, but will have to build a machine to attach the old drives. Too busy making new stuff ## Related diff --git a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-BrookeHodgman-i-remember-watching-all-of-these-blog-entries.md b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-BrookeHodgman-i-remember-watching-all-of-these-blog-entries.md index 418bc70..b0b1d50 100644 --- a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-BrookeHodgman-i-remember-watching-all-of-these-blog-entries.md +++ b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-BrookeHodgman-i-remember-watching-all-of-these-blog-entries.md @@ -28,7 +28,9 @@ parent_post_id: "1653556990302470151" **1/** @BrookeHodgman -@NOTimothyLottes I remember watching all of these blog entries fondly ❤ +@NOTimothyLottes + +I remember watching all of these blog entries fondly ❤ ## Related diff --git a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-Karyuutensei-is-the-blog-still-up-somewhere.md b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-Karyuutensei-is-the-blog-still-up-somewhere.md index 6423f95..b00e58b 100644 --- a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-Karyuutensei-is-the-blog-still-up-somewhere.md +++ b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-Karyuutensei-is-the-blog-still-up-somewhere.md @@ -28,15 +28,21 @@ parent_post_id: "1653556990302470151" **1/** @Karyuutensei -@NOTimothyLottes Is the blog still up somewhere? +@NOTimothyLottes + +Is the blog still up somewhere? **2/** @NOTimothyLottes -@Karyuutensei No but I have archives in pieces on old hard drives. So there is a chance I might restore it some day. +@Karyuutensei + +No but I have archives in pieces on old hard drives. So there is a chance I might restore it some day. **3/** @Karyuutensei -@NOTimothyLottes Speaking of archives, http://archive.org has some from the blogspot here https://web.archive.org/web/20160427173127/http://timothylottes.blogspot.com/ but basically nothing from the github page :S +@NOTimothyLottes + +Speaking of archives, http://archive.org has some from the blogspot here https://web.archive.org/web/20160427173127/http://timothylottes.blogspot.com/ but basically nothing from the github page :S ## Related diff --git a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-oconnorkg-did-you-write-an-engine-called-atom-talked-about.md b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-oconnorkg-did-you-write-an-engine-called-atom-talked-about.md index d075e60..714ca80 100644 --- a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-oconnorkg-did-you-write-an-engine-called-atom-talked-about.md +++ b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-oconnorkg-did-you-write-an-engine-called-atom-talked-about.md @@ -28,11 +28,15 @@ parent_post_id: "1653556990302470151" **1/** @oconnorkg -@NOTimothyLottes Did you write an engine called Atom? Talked about it on the http://OpenGL.org forum? +@NOTimothyLottes + +Did you write an engine called Atom? Talked about it on the http://OpenGL.org forum? **2/** @NOTimothyLottes -@oconnorkg There was also Atomontage or something like that by another person. I had a project called Atom, but I don't remember if I was on the OGL message board +@oconnorkg + +There was also Atomontage or something like that by another person. I had a project called Atom, but I don't remember if I was on the OGL message board ## Related diff --git a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-won3d-i-remember-all-those-fondly-i-also-remembered-the.md b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-won3d-i-remember-all-those-fondly-i-also-remembered-the.md index 7614355..eda1e26 100644 --- a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-won3d-i-remember-all-those-fondly-i-also-remembered-the.md +++ b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-won3d-i-remember-all-those-fondly-i-also-remembered-the.md @@ -28,7 +28,9 @@ parent_post_id: "1653556990302470151" **1/** @won3d -@NOTimothyLottes I remember all those fondly. I also remembered the trick you did to batch logical draw calls with branching in the shader +@NOTimothyLottes + +I remember all those fondly. I also remembered the trick you did to batch logical draw calls with branching in the shader ## Related diff --git a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-won3d-my-former-thesis-advisor-was-a-big-proponent-of.md b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-won3d-my-former-thesis-advisor-was-a-big-proponent-of.md index 8b7e4c3..85ba428 100644 --- a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-won3d-my-former-thesis-advisor-was-a-big-proponent-of.md +++ b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-03-won3d-my-former-thesis-advisor-was-a-big-proponent-of.md @@ -28,15 +28,21 @@ parent_post_id: "1653559205360553985" **1/** @won3d -@NOTimothyLottes My former thesis advisor was a big proponent of forth. Apparently SunOS used forth in preboot and you could do all sorts of wacky things. He interfaced with custom compute accelerators this way. I agree that concatenantive programming languages are underexplored +@NOTimothyLottes + +My former thesis advisor was a big proponent of forth. Apparently SunOS used forth in preboot and you could do all sorts of wacky things. He interfaced with custom compute accelerators this way. I agree that concatenantive programming languages are underexplored **2/** @NOTimothyLottes -@won3d I think it is less the exact form of the language but more 'the way to make things simple' that truely important now. +@won3d + +I think it is less the exact form of the language but more 'the way to make things simple' that truely important now. **3/** @won3d -@NOTimothyLottes There's something about Forth-style composition that is has a very nice appeal. It really seems to marry syntax and semantics very directly (but I can appreciate it at a distance, having not done any real work in it as you have) +@NOTimothyLottes + +There's something about Forth-style composition that is has a very nice appeal. It really seems to marry syntax and semantics very directly (but I can appreciate it at a distance, having not done any real work in it as you have) ## Related diff --git a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-04-Laxer3A-this-is-when-i-learned-about-your-work-and-found.md b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-04-Laxer3A-this-is-when-i-learned-about-your-work-and-found.md index 11ba58b..dbed188 100644 --- a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-04-Laxer3A-this-is-when-i-learned-about-your-work-and-found.md +++ b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-04-Laxer3A-this-is-when-i-learned-about-your-work-and-found.md @@ -28,7 +28,9 @@ parent_post_id: "1653570742762479620" **1/** @Laxer3A -@NOTimothyLottes This is when I learned about your work and found it incredible. Nowadays with 4K / 8K, people are really craving for a very good shader/model to emulate as close as possible the CRT feel for arcade / old console etc. (I am serious) +@NOTimothyLottes + +This is when I learned about your work and found it incredible. Nowadays with 4K / 8K, people are really craving for a very good shader/model to emulate as close as possible the CRT feel for arcade / old console etc. (I am serious) ## Related diff --git a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-06-arm1n-thanks-for-digging-those-up-great-stuff-very.md b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-06-arm1n-thanks-for-digging-those-up-great-stuff-very.md index 9303f43..876a100 100644 --- a/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-06-arm1n-thanks-for-digging-those-up-great-stuff-very.md +++ b/archive/threads/NOTimothyLottes/2023-05-03-found-some-of-my-old-blogs-thread-looking-back-an/2023-05-06-arm1n-thanks-for-digging-those-up-great-stuff-very.md @@ -28,7 +28,9 @@ parent_post_id: "1653556990302470151" **1/** @arm1n -@NOTimothyLottes Thanks for digging those up! Great stuff, very inspiring. +@NOTimothyLottes + +Thanks for digging those up! Great stuff, very inspiring. ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-NOTimothyLottes-or-for-an-apu-a-way-to-have-the-storage-device.md b/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-NOTimothyLottes-or-for-an-apu-a-way-to-have-the-storage-device.md index d2ac470..fc1b24e 100644 --- a/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-NOTimothyLottes-or-for-an-apu-a-way-to-have-the-storage-device.md +++ b/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-NOTimothyLottes-or-for-an-apu-a-way-to-have-the-storage-device.md @@ -217,15 +217,21 @@ Despite header docs which imply flag only works on DOMAIN_VRAM, using DOMAIN_GTT **37/** @DaveAirlie -@NOTimothyLottes the problem there is usually tiling, GPUs expect graphicy things in VRAM to be tiled in very specific ways, it's hard to have a storage device do that. Using a transfer engine that can tile/detile makes a lot more sense. +@NOTimothyLottes + +the problem there is usually tiling, GPUs expect graphicy things in VRAM to be tiled in very specific ways, it's hard to have a storage device do that. Using a transfer engine that can tile/detile makes a lot more sense. **38/** @NOTimothyLottes -@DaveAirlie The obvious elephant is an engine using only buffers for resource streaming and doing its own GPU-side decompression. This is practical NOW and portable too. But the lack of a bus master no-CPU direct storage transfer is a serious problem for throughput. +@DaveAirlie + +The obvious elephant is an engine using only buffers for resource streaming and doing its own GPU-side decompression. This is practical NOW and portable too. But the lack of a bus master no-CPU direct storage transfer is a serious problem for throughput. **39/** @NOTimothyLottes -@DaveAirlie See raw texture streaming (even with lossless compression) is way less interesting now given modern massive data tech direction, u want substantially better lossy compression simply to fit in launch constraints. So really, buffers are the way to go anyway :) +@DaveAirlie + +See raw texture streaming (even with lossless compression) is way less interesting now given modern massive data tech direction, u want substantially better lossy compression simply to fit in launch constraints. So really, buffers are the way to go anyway :) ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-SheriefFYI-great-thread.md b/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-SheriefFYI-great-thread.md index 5d7a2ee..f23332d 100644 --- a/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-SheriefFYI-great-thread.md +++ b/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-SheriefFYI-great-thread.md @@ -28,7 +28,9 @@ parent_post_id: "1671276990987370501" **1/** @SheriefFYI -@NOTimothyLottes Great thread! +@NOTimothyLottes + +Great thread! ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-never_released-on-linux-nvidia-has-a-very-good-uvm-however-the.md b/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-never_released-on-linux-nvidia-has-a-very-good-uvm-however-the.md index 6068575..2f18727 100644 --- a/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-never_released-on-linux-nvidia-has-a-very-good-uvm-however-the.md +++ b/archive/threads/NOTimothyLottes/2023-06-20-how-about-a-mega-thread-on-the-mechanics-of-cpu/2023-06-20-never_released-on-linux-nvidia-has-a-very-good-uvm-however-the.md @@ -28,7 +28,9 @@ parent_post_id: "1671276990987370501" **1/** @never_released -@NOTimothyLottes On Linux, NVIDIA has a very good UVM. +@NOTimothyLottes + +On Linux, NVIDIA has a very good UVM. However, the infrastructure for doing that on Windows is quite lacking to say the least... diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-SebAaltonen-would-be-nice-to-talk-a-full-presentation-about.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-SebAaltonen-would-be-nice-to-talk-a-full-presentation-about.md index c6ac7a9..5135c75 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-SebAaltonen-would-be-nice-to-talk-a-full-presentation-about.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-SebAaltonen-would-be-nice-to-talk-a-full-presentation-about.md @@ -28,13 +28,17 @@ parent_post_id: "1674757854471806977" **1/** @SebAaltonen -@NOTimothyLottes Would be nice to talk a full presentation about this topic, but people want me to show cool tech and pretty pixels instead. Maybe one day. +@NOTimothyLottes + +Would be nice to talk a full presentation about this topic, but people want me to show cool tech and pretty pixels instead. Maybe one day. I will save your image for that day (if I get approval to use it), since Twitter search is super bad. **2/** @NOTimothyLottes -@SebAaltonen "Approval", haha, sure it's covered under my favorite license +@SebAaltonen + +"Approval", haha, sure it's covered under my favorite license ![](https://pbs.twimg.com/media/Fz3_kb8WYAMXvcT?format=png&name=orig) ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-_spolsh-once-in-a-while-people-need-to-be-reminded-to.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-_spolsh-once-in-a-while-people-need-to-be-reminded-to.md index 68bf3ec..e51e968 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-_spolsh-once-in-a-while-people-need-to-be-reminded-to.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-_spolsh-once-in-a-while-people-need-to-be-reminded-to.md @@ -28,12 +28,16 @@ parent_post_id: "1674757854471806977" **1/** @_spolsh -@NOTimothyLottes Once in a while people need to be reminded to stop the bloat, understand the machine guts and be self aware about productive process +@NOTimothyLottes + +Once in a while people need to be reminded to stop the bloat, understand the machine guts and be self aware about productive process https://tonsky.me/blog/disenchantment/ **2/** @NOTimothyLottes -@_spolsh That was a fantastic read, thanks +@_spolsh + +That was a fantastic read, thanks ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-domipheus-i-like-this-given-i-never-write-code-any-more.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-domipheus-i-like-this-given-i-never-write-code-any-more.md index e35519b..04139a6 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-domipheus-i-like-this-given-i-never-write-code-any-more.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-domipheus-i-like-this-given-i-never-write-code-any-more.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @domipheus -@NOTimothyLottes I like this, given I never write code any more. +@NOTimothyLottes + +I like this, given I never write code any more. sadly i am still a grumpy git. ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-leonard_coder-4e71-if-you-know-you-know.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-leonard_coder-4e71-if-you-know-you-know.md index ffda9ea..d9dfd4a 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-leonard_coder-4e71-if-you-know-you-know.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-06-30-leonard_coder-4e71-if-you-know-you-know.md @@ -28,12 +28,16 @@ parent_post_id: "1674757854471806977" **1/** @leonard_coder -@NOTimothyLottes $4e71 +@NOTimothyLottes + +$4e71 if you know, you know **2/** @NOTimothyLottes -@leonard_coder ${EA, 1A, 3A, 5A, 7A, DA, or FA} +@leonard_coder + +${EA, 1A, 3A, 5A, 7A, DA, or FA} ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-CodingFiend-i-designed-a-language-beads-which-uses-a-graph-db.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-CodingFiend-i-designed-a-language-beads-which-uses-a-graph-db.md index 3fa191c..cba521c 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-CodingFiend-i-designed-a-language-beads-which-uses-a-graph-db.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-CodingFiend-i-designed-a-language-beads-which-uses-a-graph-db.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @CodingFiend -@NOTimothyLottes @Jonathan_Blow i designed a language Beads, which uses a graph DB, has no memory allocation, super modular, approaches this minimalism as close as humanly possible, but billable hour / job security seeking programmers refuse to try it +@NOTimothyLottes @Jonathan_Blow + +i designed a language Beads, which uses a graph DB, has no memory allocation, super modular, approaches this minimalism as close as humanly possible, but billable hour / job security seeking programmers refuse to try it ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-DefenceForceOrg-many-games-used-to-be-like-that-at-least-the-ones.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-DefenceForceOrg-many-games-used-to-be-like-that-at-least-the-ones.md index b7113fc..d5ef8fd 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-DefenceForceOrg-many-games-used-to-be-like-that-at-least-the-ones.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-DefenceForceOrg-many-games-used-to-be-like-that-at-least-the-ones.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @DefenceForceOrg -@NOTimothyLottes Many games used to be like that, at least the ones without dynamic content, mods, etc... +@NOTimothyLottes + +Many games used to be like that, at least the ones without dynamic content, mods, etc... Most of the stuff I worked on on PSX and Dreamcast basically just loads big files with everything pre-allocated and aligned properly at the final location, ready to use. diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-PierreTerdiman-i-was-calling-it-disoriented-programming-just-the.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-PierreTerdiman-i-was-calling-it-disoriented-programming-just-the.md index 177bccf..c077d0a 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-PierreTerdiman-i-was-calling-it-disoriented-programming-just-the.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-PierreTerdiman-i-was-calling-it-disoriented-programming-just-the.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @PierreTerdiman -@NOTimothyLottes I was calling it "disoriented programming" just the other day. +@NOTimothyLottes + +I was calling it "disoriented programming" just the other day. https://x.com/PierreTerdiman/status/1673389650172321813?s=20 diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-SimonNordon-nop-is-ideal.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-SimonNordon-nop-is-ideal.md index b4787d0..9036d56 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-SimonNordon-nop-is-ideal.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-SimonNordon-nop-is-ideal.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @SimonNordon -@NOTimothyLottes NOP is ideal. +@NOTimothyLottes + +NOP is ideal. ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-TimSweeneyEpic-can-teach-it-in-abstinence-only-programming.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-TimSweeneyEpic-can-teach-it-in-abstinence-only-programming.md index d68ac16..7ce0395 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-TimSweeneyEpic-can-teach-it-in-abstinence-only-programming.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-TimSweeneyEpic-can-teach-it-in-abstinence-only-programming.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @TimSweeneyEpic -@NOTimothyLottes Can teach it in abstinence-only programming classes! +@NOTimothyLottes + +Can teach it in abstinence-only programming classes! ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-asparagiii-looks-like-a-koala.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-asparagiii-looks-like-a-koala.md index 1f9c388..66631cf 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-asparagiii-looks-like-a-koala.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-asparagiii-looks-like-a-koala.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @asparagiii -@NOTimothyLottes Looks like a koala +@NOTimothyLottes + +Looks like a koala ![](https://pbs.twimg.com/media/Fz88Bk0WAAApDzL?format=jpg&name=orig) ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-azeke1984-best-software-is-absense-of-it-https-en-wikipedia.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-azeke1984-best-software-is-absense-of-it-https-en-wikipedia.md index e453d9c..6929677 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-azeke1984-best-software-is-absense-of-it-https-en-wikipedia.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-azeke1984-best-software-is-absense-of-it-https-en-wikipedia.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @azeke1984 -@NOTimothyLottes Best software is absense of it: +@NOTimothyLottes + +Best software is absense of it: https://en.wikipedia.org/wiki/The_Mythical_Man-Month diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-claudiogonzalo-c-to-c.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-claudiogonzalo-c-to-c.md index 4080173..eb26b37 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-claudiogonzalo-c-to-c.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-claudiogonzalo-c-to-c.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @claudiogonzalo -@NOTimothyLottes c++ to √c +@NOTimothyLottes + +c++ to √c ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-helpful_signage-folks-theyre-calling-it-computer-oriented.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-helpful_signage-folks-theyre-calling-it-computer-oriented.md index d67be85..ead010c 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-helpful_signage-folks-theyre-calling-it-computer-oriented.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-01-helpful_signage-folks-theyre-calling-it-computer-oriented.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @helpful_signage -@NOTimothyLottes Folks, they're calling it "computer oriented programming". It's where you stop trying to impress peers and just tell the computer the best way to do things +@NOTimothyLottes + +Folks, they're calling it "computer oriented programming". It's where you stop trying to impress peers and just tell the computer the best way to do things ## Related diff --git a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-09-wyattscarpenter-https-github-com-wyattscarpenter-wu.md b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-09-wyattscarpenter-https-github-com-wyattscarpenter-wu.md index f5694c1..7c753ca 100644 --- a/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-09-wyattscarpenter-https-github-com-wyattscarpenter-wu.md +++ b/archive/threads/NOTimothyLottes/2023-06-30-nothing-oriented-programming-nop/2023-07-09-wyattscarpenter-https-github-com-wyattscarpenter-wu.md @@ -28,7 +28,9 @@ parent_post_id: "1674757854471806977" **1/** @wyattscarpenter -@NOTimothyLottes https://github.com/wyattscarpenter/wu +@NOTimothyLottes + +https://github.com/wyattscarpenter/wu ## Related diff --git a/archive/threads/NOTimothyLottes/2023-08-07-crt-emulation-on-lcds-can-be-hard/2023-08-10-BlurBusters-very-interesting-crosstalk-from-voltage-inversion.md b/archive/threads/NOTimothyLottes/2023-08-07-crt-emulation-on-lcds-can-be-hard/2023-08-10-BlurBusters-very-interesting-crosstalk-from-voltage-inversion.md index 0341d61..bbdfba9 100644 --- a/archive/threads/NOTimothyLottes/2023-08-07-crt-emulation-on-lcds-can-be-hard/2023-08-10-BlurBusters-very-interesting-crosstalk-from-voltage-inversion.md +++ b/archive/threads/NOTimothyLottes/2023-08-07-crt-emulation-on-lcds-can-be-hard/2023-08-10-BlurBusters-very-interesting-crosstalk-from-voltage-inversion.md @@ -28,33 +28,45 @@ parent_post_id: "1688491417109196800" **1/** @BlurBusters -@NOTimothyLottes Very interesting "crosstalk from voltage inversion" artifact. Some repeating patterns or flicker patterns can trigger crosstalk artifacts too. Behavior varies a lot between TN, IPS, and VA, but all of them have to alternate voltage polarity spatially and temporally. +@NOTimothyLottes + +Very interesting "crosstalk from voltage inversion" artifact. Some repeating patterns or flicker patterns can trigger crosstalk artifacts too. Behavior varies a lot between TN, IPS, and VA, but all of them have to alternate voltage polarity spatially and temporally. ![](https://pbs.twimg.com/media/F3I8AZmW0AEy6jn?format=png&name=orig) ![](https://pbs.twimg.com/media/F3I8BVlXoAAnuJB?format=png&name=orig) **2/** @BlurBusters -@NOTimothyLottes Related reads: +@NOTimothyLottes + +Related reads: https://www.lagom.nl/lcd-test/inversion.php https://forums.blurbusters.com/viewtopic.php?t=7539 http://www.techmind.org/lcd/#:~:text=Inversion **3/** @NOTimothyLottes -@BlurBusters I appreciate the links. Came to the same conclusion, for LCDs when doing low scaling like 1:2x2 'CRT' emulation, I'll have to do a stylized blue noise phosphor pattern instead. +@BlurBusters + +I appreciate the links. Came to the same conclusion, for LCDs when doing low scaling like 1:2x2 'CRT' emulation, I'll have to do a stylized blue noise phosphor pattern instead. **4/** @Ak4115x -@NOTimothyLottes @BlurBusters "VCOM inversion" -if wasn't line2line but frame2frame that'd "flicker" instead at half the refresh rate so that's why it's preferred& there's also another peculiarity of this scheme. Worth looking into, spent a few hours afternoon,it's late evening now maybe share another time. +@NOTimothyLottes @BlurBusters + +"VCOM inversion" -if wasn't line2line but frame2frame that'd "flicker" instead at half the refresh rate so that's why it's preferred& there's also another peculiarity of this scheme. Worth looking into, spent a few hours afternoon,it's late evening now maybe share another time. **5/** @BlurBusters -@Ak4115x @NOTimothyLottes Inversion algorithm is both spatial and temporal on all of them, regardless of spatial pattern of voltage inversion. Line to line is also frame to frame. (lines swaps voltage polarity in next frame) +@Ak4115x @NOTimothyLottes + +Inversion algorithm is both spatial and temporal on all of them, regardless of spatial pattern of voltage inversion. Line to line is also frame to frame. (lines swaps voltage polarity in next frame) **6/** @Ak4115x -@BlurBusters @NOTimothyLottes LCOS has singular VCOM there's no pattern to it and no such artifact. +@BlurBusters @NOTimothyLottes + +LCOS has singular VCOM there's no pattern to it and no such artifact. ## Related diff --git a/archive/threads/NOTimothyLottes/2023-08-18-spc-crt-shader-on-the-deck/2023-08-18-tomcr2100-i-am-not-quite-sure-what-do-you-mean-by-subpixel.md b/archive/threads/NOTimothyLottes/2023-08-18-spc-crt-shader-on-the-deck/2023-08-18-tomcr2100-i-am-not-quite-sure-what-do-you-mean-by-subpixel.md index 6e5c105..1ecf8db 100644 --- a/archive/threads/NOTimothyLottes/2023-08-18-spc-crt-shader-on-the-deck/2023-08-18-tomcr2100-i-am-not-quite-sure-what-do-you-mean-by-subpixel.md +++ b/archive/threads/NOTimothyLottes/2023-08-18-spc-crt-shader-on-the-deck/2023-08-18-tomcr2100-i-am-not-quite-sure-what-do-you-mean-by-subpixel.md @@ -28,15 +28,21 @@ parent_post_id: "1692560907988029769" **1/** @tomcr2100 -@NOTimothyLottes i am not quite sure what do you mean by subpixel scan? do you override the normal (refresh) scanout process? +@NOTimothyLottes + +i am not quite sure what do you mean by subpixel scan? do you override the normal (refresh) scanout process? **2/** @NOTimothyLottes -@tomcr2100 It's like "clear-type" font rendering where if you know the LCD sub-pixel configuration for the RGB components of a pixel, you can do a much better job of computing and outputing the value at the specific RGB sub-pixel element. So i'm doing this for CRT-like emulation on the Deck +@tomcr2100 + +It's like "clear-type" font rendering where if you know the LCD sub-pixel configuration for the RGB components of a pixel, you can do a much better job of computing and outputing the value at the specific RGB sub-pixel element. So i'm doing this for CRT-like emulation on the Deck **3/** @tomcr2100 -@NOTimothyLottes just curious, i started doing something similar, but this year i have focused more on rest&recover. i went with a trilinear style aperture grill approximation, and just allow prim components to leak into the two others. +@NOTimothyLottes + +just curious, i started doing something similar, but this year i have focused more on rest&recover. i went with a trilinear style aperture grill approximation, and just allow prim components to leak into the two others. ## Related diff --git a/archive/threads/NOTimothyLottes/2023-08-18-spc-last-crt-shader-was-broken/2023-08-18-Karyuutensei-how-many-passes-do-you-need-to-produce-this-result.md b/archive/threads/NOTimothyLottes/2023-08-18-spc-last-crt-shader-was-broken/2023-08-18-Karyuutensei-how-many-passes-do-you-need-to-produce-this-result.md index 838adbd..d53f280 100644 --- a/archive/threads/NOTimothyLottes/2023-08-18-spc-last-crt-shader-was-broken/2023-08-18-Karyuutensei-how-many-passes-do-you-need-to-produce-this-result.md +++ b/archive/threads/NOTimothyLottes/2023-08-18-spc-last-crt-shader-was-broken/2023-08-18-Karyuutensei-how-many-passes-do-you-need-to-produce-this-result.md @@ -28,11 +28,15 @@ parent_post_id: "1692397318471926054" **1/** @Karyuutensei -@NOTimothyLottes How many passes do you need to produce this result? +@NOTimothyLottes + +How many passes do you need to produce this result? **2/** @NOTimothyLottes -@Karyuutensei 1 pass: 12 fetches/outpix, in 2 batches. I use 6 gather4's to grab a 4-wide(x)2-line region for the {R,G,B} channels. Then 6 more fetches to do energy conserving computation of output for each {nearest 2 lines}x{R,G,B} channel based {intensity, position vertically on scan}. +@Karyuutensei + +1 pass: 12 fetches/outpix, in 2 batches. I use 6 gather4's to grab a 4-wide(x)2-line region for the {R,G,B} channels. Then 6 more fetches to do energy conserving computation of output for each {nearest 2 lines}x{R,G,B} channel based {intensity, position vertically on scan}. ## Related diff --git a/archive/threads/NOTimothyLottes/2023-12-15-long-thread/2023-12-15-SebAaltonen-they-design-one-api-for-each-separate-use-case.md b/archive/threads/NOTimothyLottes/2023-12-15-long-thread/2023-12-15-SebAaltonen-they-design-one-api-for-each-separate-use-case.md index 9f7b688..2f9d810 100644 --- a/archive/threads/NOTimothyLottes/2023-12-15-long-thread/2023-12-15-SebAaltonen-they-design-one-api-for-each-separate-use-case.md +++ b/archive/threads/NOTimothyLottes/2023-12-15-long-thread/2023-12-15-SebAaltonen-they-design-one-api-for-each-separate-use-case.md @@ -28,11 +28,15 @@ parent_post_id: "1735631826427732305" **1/** @SebAaltonen -@NOTimothyLottes They design one API for each separate use case instead of making general purpose flexible SIMD hardware and API for the developers to implement what ever algorithm they need. CPU side got this right. PS2 had correct design, but Nvidia choose hardware T&L for desktop :( +@NOTimothyLottes + +They design one API for each separate use case instead of making general purpose flexible SIMD hardware and API for the developers to implement what ever algorithm they need. CPU side got this right. PS2 had correct design, but Nvidia choose hardware T&L for desktop :( **2/** @SebAaltonen -@NOTimothyLottes I kind of understand hardware T&L back then because it was a new field and programmable hardware didn't exist. But now we have massive amount of wide SIMDs and bandwidth and big caches too. We can do better! +@NOTimothyLottes + +I kind of understand hardware T&L back then because it was a new field and programmable hardware didn't exist. But now we have massive amount of wide SIMDs and bandwidth and big caches too. We can do better! ## Related diff --git a/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2023-12-17-AgileJebrim-yep-put-the-whole-game-logic-in-a-game-glsl.md b/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2023-12-17-AgileJebrim-yep-put-the-whole-game-logic-in-a-game-glsl.md index 7dcb24e..3bee52f 100644 --- a/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2023-12-17-AgileJebrim-yep-put-the-whole-game-logic-in-a-game-glsl.md +++ b/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2023-12-17-AgileJebrim-yep-put-the-whole-game-logic-in-a-game-glsl.md @@ -28,7 +28,9 @@ parent_post_id: "1736157335058300999" **1/** @AgileJebrim -@NOTimothyLottes Yep put the whole game logic in a game.glsl compute shader. +@NOTimothyLottes + +Yep put the whole game logic in a game.glsl compute shader. **2/** @AgileJebrim diff --git a/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2023-12-17-SheriefFYI-two-point-six-seconds-d3d12createdevice-on-my.md b/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2023-12-17-SheriefFYI-two-point-six-seconds-d3d12createdevice-on-my.md index 456209d..85c6193 100644 --- a/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2023-12-17-SheriefFYI-two-point-six-seconds-d3d12createdevice-on-my.md +++ b/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2023-12-17-SheriefFYI-two-point-six-seconds-d3d12createdevice-on-my.md @@ -28,25 +28,35 @@ parent_post_id: "1736147815829565624" **1/** @SheriefFYI -@NOTimothyLottes two point six seconds?!! D3D12CreateDevice() on my machine is ~300ms.. +@NOTimothyLottes + +two point six seconds?!! D3D12CreateDevice() on my machine is ~300ms.. **2/** @NOTimothyLottes -@SheriefFYI Yeah and that's a warm second run too. I dev on crippled laptops so when the handicaps are removed the stuff really flies. +@SheriefFYI + +Yeah and that's a warm second run too. I dev on crippled laptops so when the handicaps are removed the stuff really flies. **3/** @SheriefFYI -@NOTimothyLottes still that sounds like a lot, what specs / driver? Any weird vk layers loading? +@NOTimothyLottes + +still that sounds like a lot, what specs / driver? Any weird vk layers loading? **4/** @NOTimothyLottes -@SheriefFYI Ok, yeah just reprofiled, and it's down to 269 ms. Best part of the Win10 experience, never know what is actually happening in the background. +@SheriefFYI + +Ok, yeah just reprofiled, and it's down to 269 ms. Best part of the Win10 experience, never know what is actually happening in the background. ![](https://pbs.twimg.com/media/GBhSG-XXMAAT0FS?format=png&name=orig) **5/** @SheriefFYI -@NOTimothyLottes *whew* that sounds more normal +@NOTimothyLottes + +*whew* that sounds more normal ## Related diff --git a/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2025-08-08-VPCOMPRESSB-so-youre-preallocating-every-type-of-descriptor.md b/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2025-08-08-VPCOMPRESSB-so-youre-preallocating-every-type-of-descriptor.md index 628053f..ac77a14 100644 --- a/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2025-08-08-VPCOMPRESSB-so-youre-preallocating-every-type-of-descriptor.md +++ b/archive/threads/NOTimothyLottes/2023-12-16-inspecting-my-old-vk-engines/2025-08-08-VPCOMPRESSB-so-youre-preallocating-every-type-of-descriptor.md @@ -28,13 +28,17 @@ parent_post_id: "1736154923408953499" **1/** @VPCOMPRESSB -@NOTimothyLottes so you're preallocating every type of descriptor to a max count and aliasing them with various qualifiers/attributes? all that in a single memory layout? +@NOTimothyLottes + +so you're preallocating every type of descriptor to a max count and aliasing them with various qualifiers/attributes? all that in a single memory layout? if this is the case, the program identifier makes sense. you can just swap out the code, leaving the data untouched. **2/** @NOTimothyLottes -@VPCOMPRESSB I use the layout aliasing to choose things like {read-only K$ reads, vs read-write texture cache access} for buffers, for making sure GLC=1 (write through to coherent cache domain) is enabled for stores (image and buffer), as well as selecting the texel format for image access :) +@VPCOMPRESSB + +I use the layout aliasing to choose things like {read-only K$ reads, vs read-write texture cache access} for buffers, for making sure GLC=1 (write through to coherent cache domain) is enabled for stores (image and buffer), as well as selecting the texel format for image access :) **3/** @VPCOMPRESSB @@ -50,27 +54,39 @@ aliasing supports this even further, with explicit intentions for resources. **4/** @NOTimothyLottes -@VPCOMPRESSB On modern desktop GPUs it is very efficient to have everything bound all the time (bind everything once/frame). On AMD on use the descriptor is loaded into SGPRs. You only pay for what is used. And ideally group descriptors used together near so they share same cache lines. +@VPCOMPRESSB + +On modern desktop GPUs it is very efficient to have everything bound all the time (bind everything once/frame). On AMD on use the descriptor is loaded into SGPRs. You only pay for what is used. And ideally group descriptors used together near so they share same cache lines. **5/** @NOTimothyLottes -@VPCOMPRESSB Merging independent shaders is then easy. Merging dependent shaders is more complex. You can both do it an unsafe way or a safe way (too long for one tweet)... +@VPCOMPRESSB + +Merging independent shaders is then easy. Merging dependent shaders is more complex. You can both do it an unsafe way or a safe way (too long for one tweet)... **6/** @NOTimothyLottes -@VPCOMPRESSB The unsafe way: launch a N+M sized 1D dispatch. Bank on having enough work in N such that when the dependent M starts that enough of N is finished in practice. This can work when early M depends on only early N workgroups. +@VPCOMPRESSB + +The unsafe way: launch a N+M sized 1D dispatch. Bank on having enough work in N such that when the dependent M starts that enough of N is finished in practice. This can work when early M depends on only early N workgroups. **7/** @NOTimothyLottes -@VPCOMPRESSB There are various safe ways. For instance if the dependent work isn't done, one can conditionally duplicate the work. Or conditionally use a fallback. Or only use the pre task if it had finished to accelerate the second, for example hierarchical empty space skipping ... +@VPCOMPRESSB + +There are various safe ways. For instance if the dependent work isn't done, one can conditionally duplicate the work. Or conditionally use a fallback. Or only use the pre task if it had finished to accelerate the second, for example hierarchical empty space skipping ... **8/** @NOTimothyLottes -@VPCOMPRESSB The challenge of course is that the obvious stuff like spin waiting isn't safe because of bad API and driver design : no forward progress guarantee (on preemption, etc) +@VPCOMPRESSB + +The challenge of course is that the obvious stuff like spin waiting isn't safe because of bad API and driver design : no forward progress guarantee (on preemption, etc) **9/** @NOTimothyLottes -@VPCOMPRESSB Quite literally they just need to put in a guarantee that workgroups with lower coords in scan order are launched first and restored first in a partial preemption restore. Then you could safely spin on work in a prior numbered workgroup +@VPCOMPRESSB + +Quite literally they just need to put in a guarantee that workgroups with lower coords in scan order are launched first and restored first in a partial preemption restore. Then you could safely spin on work in a prior numbered workgroup ## Related diff --git a/archive/threads/NOTimothyLottes/2024-01-04-debug-for-majority-gpu-side-game-dev-run-time/2024-01-05-kenpex-its-what-debuggers-should-be-debuggers-made-zero.md b/archive/threads/NOTimothyLottes/2024-01-04-debug-for-majority-gpu-side-game-dev-run-time/2024-01-05-kenpex-its-what-debuggers-should-be-debuggers-made-zero.md index e7e2c25..4364c0b 100644 --- a/archive/threads/NOTimothyLottes/2024-01-04-debug-for-majority-gpu-side-game-dev-run-time/2024-01-05-kenpex-its-what-debuggers-should-be-debuggers-made-zero.md +++ b/archive/threads/NOTimothyLottes/2024-01-04-debug-for-majority-gpu-side-game-dev-run-time/2024-01-05-kenpex-its-what-debuggers-should-be-debuggers-made-zero.md @@ -28,7 +28,9 @@ parent_post_id: "1742743018929557805" **1/** @kenpex -@NOTimothyLottes It's what debuggers should be. Debuggers made zero progress in the last decade, but fundamentally they patch running code... just they are limited to patch an interrupt instead of allowing us to do... anything. Even tracepoints, while nice, are a castrated version of livecode. +@NOTimothyLottes + +It's what debuggers should be. Debuggers made zero progress in the last decade, but fundamentally they patch running code... just they are limited to patch an interrupt instead of allowing us to do... anything. Even tracepoints, while nice, are a castrated version of livecode. ## Related diff --git a/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-06-MartinJIFuller-a-worthwhile-project-knowledge-well-worth-sharing.md b/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-06-MartinJIFuller-a-worthwhile-project-knowledge-well-worth-sharing.md index ae06d96..1b4a011 100644 --- a/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-06-MartinJIFuller-a-worthwhile-project-knowledge-well-worth-sharing.md +++ b/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-06-MartinJIFuller-a-worthwhile-project-knowledge-well-worth-sharing.md @@ -28,7 +28,9 @@ parent_post_id: "1776597200073568623" **1/** @MartinJIFuller -@NOTimothyLottes @SebAaltonen A worthwhile project, knowledge well worth sharing, but is a book the right format? Perhaps yes, just thinking out loud. +@NOTimothyLottes @SebAaltonen + +A worthwhile project, knowledge well worth sharing, but is a book the right format? Perhaps yes, just thinking out loud. ## Related diff --git a/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-08-RickyAH-ha-that-wont-save-you-from-my-follow.md b/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-08-RickyAH-ha-that-wont-save-you-from-my-follow.md index 6739134..647d073 100644 --- a/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-08-RickyAH-ha-that-wont-save-you-from-my-follow.md +++ b/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-08-RickyAH-ha-that-wont-save-you-from-my-follow.md @@ -28,7 +28,9 @@ parent_post_id: "1776597200073568623" **1/** @RickyAH -@NOTimothyLottes @SebAaltonen @MartinJIFuller Ha! That won’t save you from my follow +@NOTimothyLottes @SebAaltonen @MartinJIFuller + +Ha! That won’t save you from my follow ## Related diff --git a/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-09-BenSimsTech-oh-sick-im-deep-in-optimising-shaders-in-an-aaa.md b/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-09-BenSimsTech-oh-sick-im-deep-in-optimising-shaders-in-an-aaa.md index a3c9d94..f545c0e 100644 --- a/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-09-BenSimsTech-oh-sick-im-deep-in-optimising-shaders-in-an-aaa.md +++ b/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-09-BenSimsTech-oh-sick-im-deep-in-optimising-shaders-in-an-aaa.md @@ -28,7 +28,9 @@ parent_post_id: "1776597200073568623" **1/** @BenSimsTech -@NOTimothyLottes @SebAaltonen @MartinJIFuller Oh sick, I'm deep in optimising shaders in an AAA game for GCN hardware right now (You can probably guess the platform(s)) so this is super relevant to me. 😅 +@NOTimothyLottes @SebAaltonen @MartinJIFuller + +Oh sick, I'm deep in optimising shaders in an AAA game for GCN hardware right now (You can probably guess the platform(s)) so this is super relevant to me. 😅 Going to give it all a thorough read, I'm after all the GCN info I can find right now. ## Related diff --git a/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/index.md b/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/index.md index f3d701f..e6c51e5 100644 --- a/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/index.md +++ b/archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/index.md @@ -29,7 +29,9 @@ in_reply_to: "1776518700230721688" **1/** @NOTimothyLottes -@MartinJIFuller @SebAaltonen On https://mastodon.gamedev.place/@NOTimothyLottes I'm collecting posts with AMD GPU disassembly dumps for a book on everything the shader compiler 'isn't doing'. Constant AMD GPU compiler perf bug SPAM is a key part of my online strategy to keep a low follower count. +@MartinJIFuller @SebAaltonen + +On https://mastodon.gamedev.place/@NOTimothyLottes I'm collecting posts with AMD GPU disassembly dumps for a book on everything the shader compiler 'isn't doing'. Constant AMD GPU compiler perf bug SPAM is a key part of my online strategy to keep a low follower count. ![](https://pbs.twimg.com/media/GKe8HDtXYAAOrfj?format=jpg&name=orig) Branches: [[archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-06-MartinJIFuller-a-worthwhile-project-knowledge-well-worth-sharing]], [[archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-08-RickyAH-ha-that-wont-save-you-from-my-follow]], [[archive/threads/NOTimothyLottes/2024-04-06-on-https-mastodon-gamedev-place-notimothylottes/2024-04-09-BenSimsTech-oh-sick-im-deep-in-optimising-shaders-in-an-aaa]] diff --git a/archive/threads/NOTimothyLottes/2024-05-04-it-was-only-later-when-systems-forced-c-abi/index.md b/archive/threads/NOTimothyLottes/2024-05-04-it-was-only-later-when-systems-forced-c-abi/index.md index c7e0b6f..d4420cd 100644 --- a/archive/threads/NOTimothyLottes/2024-05-04-it-was-only-later-when-systems-forced-c-abi/index.md +++ b/archive/threads/NOTimothyLottes/2024-05-04-it-was-only-later-when-systems-forced-c-abi/index.md @@ -27,4 +27,6 @@ in_reply_to: "" **1/** @NOTimothyLottes -@Nerfoxingaround @SebAaltonen It was only later when systems forced C ABI library interfaces with it's stacks and junk that things got messy and only because of the C. Then C++ happened and things got much worse. Pure ASM is easy, its interfacing with the bloat world that got hard. +@Nerfoxingaround @SebAaltonen + +It was only later when systems forced C ABI library interfaces with it's stacks and junk that things got messy and only because of the C. Then C++ happened and things got much worse. Pure ASM is easy, its interfacing with the bloat world that got hard. diff --git a/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-bmcnett-so-each-line-is-63-spaces-followed-by-a-n-and.md b/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-bmcnett-so-each-line-is-63-spaces-followed-by-a-n-and.md index 99a8533..e3a2883 100644 --- a/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-bmcnett-so-each-line-is-63-spaces-followed-by-a-n-and.md +++ b/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-bmcnett-so-each-line-is-63-spaces-followed-by-a-n-and.md @@ -28,19 +28,27 @@ parent_post_id: "1857813028349128825" **1/** @bmcnett -@NOTimothyLottes So each line is 63 spaces followed by a \n, and those 63 spaces get replaced by printable characters dynamically? I have long dreamed of a text format with a fixed 128 byte line width, and cache line size is gradually switching over from 64 to 128 +@NOTimothyLottes + +So each line is 63 spaces followed by a \n, and those 63 spaces get replaced by printable characters dynamically? I have long dreamed of a text format with a fixed 128 byte line width, and cache line size is gradually switching over from 64 to 128 **2/** @NOTimothyLottes -@bmcnett Yes fixed character[63]='\n', string fills until then or spaces out. I did 128-char once, but still sometimes use small VGA resolutions. Also written a source editor a few times with this fixed line size, makes for a very simple implementation ... +@bmcnett + +Yes fixed character[63]='\n', string fills until then or spaces out. I did 128-char once, but still sometimes use small VGA resolutions. Also written a source editor a few times with this fixed line size, makes for a very simple implementation ... **3/** @bmcnett -@NOTimothyLottes Variable line width ASCII text files made a lot of sense when storage was 100KB or 100MB or 100GB, but now that it's in the terabytes, why even bother +@NOTimothyLottes + +Variable line width ASCII text files made a lot of sense when storage was 100KB or 100MB or 100GB, but now that it's in the terabytes, why even bother **4/** @NOTimothyLottes -@bmcnett That line of thinking is universal solution to most self-inflicted problems of the modern era. +@bmcnett + +That line of thinking is universal solution to most self-inflicted problems of the modern era. ## Related diff --git a/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-datenwolf-why-the-heck-do-you-care-about-cache-lines-if-you.md b/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-datenwolf-why-the-heck-do-you-care-about-cache-lines-if-you.md index 244252d..08bfc96 100644 --- a/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-datenwolf-why-the-heck-do-you-care-about-cache-lines-if-you.md +++ b/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-datenwolf-why-the-heck-do-you-care-about-cache-lines-if-you.md @@ -28,32 +28,46 @@ parent_post_id: "1857805438151983120" **1/** @datenwolf -@NOTimothyLottes Why the heck do you care about cache lines, if you write to a mmaped file? Of course there's overhead: TLBs aren't free. And TLBs matter… at lot in fact. When you map the file, initially the kernel marks some address space, but doesn't populate it with pages. 1/ +@NOTimothyLottes + +Why the heck do you care about cache lines, if you write to a mmaped file? Of course there's overhead: TLBs aren't free. And TLBs matter… at lot in fact. When you map the file, initially the kernel marks some address space, but doesn't populate it with pages. 1/ **2/** @datenwolf -@NOTimothyLottes On the first write to a non-faulted page, the kernel has to find a free page in memory, associate it in the page table, all the while keeping an eye on all threads process, since changes to a process virtual address space must appear atomic. 2/ +@NOTimothyLottes + +On the first write to a non-faulted page, the kernel has to find a free page in memory, associate it in the page table, all the while keeping an eye on all threads process, since changes to a process virtual address space must appear atomic. 2/ **3/** @datenwolf -@NOTimothyLottes Memory maps aren't free. Simple writes to a file will easily outperform and cause less overhead, than naively implemented mmaped I/O. 3/ +@NOTimothyLottes + +Memory maps aren't free. Simple writes to a file will easily outperform and cause less overhead, than naively implemented mmaped I/O. 3/ **4/** @NOTimothyLottes -@datenwolf BTW, I pre-fault my mapped files. Just like I pre-fault the binary and data segments too. But sure the pre-fault could go stale. And yes TLBs are a system perf issue, but atlas you need admin priv on Windows to play 2 MiB pages for data, so it's off the table +@datenwolf + +BTW, I pre-fault my mapped files. Just like I pre-fault the binary and data segments too. But sure the pre-fault could go stale. And yes TLBs are a system perf issue, but atlas you need admin priv on Windows to play 2 MiB pages for data, so it's off the table **5/** @NOTimothyLottes -@datenwolf Why cacheline aligned and sized on the CPU? In theory store the entire line in a short enough timeframe and your Read-Modify-Write becomes just a Write! CPU doesn't have byte-write-mask (I think). If SW+HW is good. And threads keeping to isolated lines means no false sharing. Etc +@datenwolf + +Why cacheline aligned and sized on the CPU? In theory store the entire line in a short enough timeframe and your Read-Modify-Write becomes just a Write! CPU doesn't have byte-write-mask (I think). If SW+HW is good. And threads keeping to isolated lines means no false sharing. Etc **6/** @datenwolf -@NOTimothyLottes (That cacheline remark was meant rhetorically; between cache misses and page faults, a page fault will largely overshadow a cache miss in performance overhead. +@NOTimothyLottes + +(That cacheline remark was meant rhetorically; between cache misses and page faults, a page fault will largely overshadow a cache miss in performance overhead. But yes, if you prefault, then that problem is mitigated.) **7/** @NOTimothyLottes -@datenwolf 'Smart' people keep trying to impose (aka force) their will on others through poor system APIs, like not being able to pre-pin pages. Good look buddy, I'll just run a background task that continuously touch walks the pages I want pinned anyway. +@datenwolf + +'Smart' people keep trying to impose (aka force) their will on others through poor system APIs, like not being able to pre-pin pages. Good look buddy, I'll just run a background task that continuously touch walks the pages I want pinned anyway. ## Related diff --git a/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-static_assert_0-this-is-super-cool-but-why-map-a-file-and-not.md b/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-static_assert_0-this-is-super-cool-but-why-map-a-file-and-not.md index 1965152..39ea9b8 100644 --- a/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-static_assert_0-this-is-super-cool-but-why-map-a-file-and-not.md +++ b/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-16-static_assert_0-this-is-super-cool-but-why-map-a-file-and-not.md @@ -28,15 +28,21 @@ parent_post_id: "1857803914604618029" **1/** @static_assert_0 -@NOTimothyLottes This is super cool, but why map a file and not just stdout? +@NOTimothyLottes + +This is super cool, but why map a file and not just stdout? **2/** @vodangkhoa873 -@static_assert_0 @NOTimothyLottes The writes can be done concurrently from many threads? +@static_assert_0 @NOTimothyLottes + +The writes can be done concurrently from many threads? **3/** @NOTimothyLottes -@vodangkhoa873 @static_assert_0 Yes, one 'atomicAdd(atomAdr,1)&65535' to get the line number (window of 65536 max lines) then write the line individually. Only contention is on that atomicAdd CPU instruction which is as minimal as possible. +@vodangkhoa873 @static_assert_0 + +Yes, one 'atomicAdd(atomAdr,1)&65535' to get the line number (window of 65536 max lines) then write the line individually. Only contention is on that atomicAdd CPU instruction which is as minimal as possible. I do the atomic add instruction using simple inline ASM (below) @@ -44,11 +50,15 @@ I do the atomic add instruction using simple inline ASM (below) **4/** @static_assert_0 -@NOTimothyLottes @vodangkhoa873 I love this, but are you not able to get that codegen with intrinsics or just normal C? +@NOTimothyLottes @vodangkhoa873 + +I love this, but are you not able to get that codegen with intrinsics or just normal C? **5/** @NOTimothyLottes -@static_assert_0 @vodangkhoa873 I've been hand rolling intrinsics CPU-side in GCC with inline asm since the dawn of support for that. So haven't kept up with the high-level-lang mess fire since. +@static_assert_0 @vodangkhoa873 + +I've been hand rolling intrinsics CPU-side in GCC with inline asm since the dawn of support for that. So haven't kept up with the high-level-lang mess fire since. ## Related diff --git a/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-17-HerrUppoHoppa-curious-why-you-memory-map-the-32-bit-counter-to.md b/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-17-HerrUppoHoppa-curious-why-you-memory-map-the-32-bit-counter-to.md index 1785bbb..78bfbc7 100644 --- a/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-17-HerrUppoHoppa-curious-why-you-memory-map-the-32-bit-counter-to.md +++ b/archive/threads/NOTimothyLottes/2024-11-16-0-what-a-horrible-term-printf-debugging/2024-11-17-HerrUppoHoppa-curious-why-you-memory-map-the-32-bit-counter-to.md @@ -28,15 +28,21 @@ parent_post_id: "1857804669994565771" **1/** @HerrUppoHoppa -@NOTimothyLottes Curious why you memory map the 32 bit counter to the file. Also why does it get half the file as opposed to just the end of the mapped region? +@NOTimothyLottes + +Curious why you memory map the 32 bit counter to the file. Also why does it get half the file as opposed to just the end of the mapped region? **2/** @NOTimothyLottes -@HerrUppoHoppa It's pow2 message lines so fixing wrap is AND(cnt,lines-1). Counter after that and needs to take a page minimum. So yes I could make the size slightly smaller, but just lazy. Counter in file because then multiple runs accumulate in the file for comparison. +@HerrUppoHoppa + +It's pow2 message lines so fixing wrap is AND(cnt,lines-1). Counter after that and needs to take a page minimum. So yes I could make the size slightly smaller, but just lazy. Counter in file because then multiple runs accumulate in the file for comparison. **3/** @HerrUppoHoppa -@NOTimothyLottes Ah I see, interesting solution! +@NOTimothyLottes + +Ah I see, interesting solution! ## Related diff --git a/archive/threads/NOTimothyLottes/2024-11-20-0-been-wanting-to-do-this-for-a-long-time-a/2024-11-20-AgileJebrim-how-reliable-in-your-experience-in-code-like-that.md b/archive/threads/NOTimothyLottes/2024-11-20-0-been-wanting-to-do-this-for-a-long-time-a/2024-11-20-AgileJebrim-how-reliable-in-your-experience-in-code-like-that.md index dbb3396..bf958a2 100644 --- a/archive/threads/NOTimothyLottes/2024-11-20-0-been-wanting-to-do-this-for-a-long-time-a/2024-11-20-AgileJebrim-how-reliable-in-your-experience-in-code-like-that.md +++ b/archive/threads/NOTimothyLottes/2024-11-20-0-been-wanting-to-do-this-for-a-long-time-a/2024-11-20-AgileJebrim-how-reliable-in-your-experience-in-code-like-that.md @@ -28,35 +28,51 @@ parent_post_id: "1859369992355021246" **1/** @AgileJebrim -@NOTimothyLottes How reliable in your experience in code like that is the compilation to avoid branches? +@NOTimothyLottes + +How reliable in your experience in code like that is the compilation to avoid branches? **2/** @NOTimothyLottes -@AgileJebrim Lots of stuff can get mapped by the compiler to V_CNDMASK_B32 instead of branching by using mix(a,b,bool) syntax. I rarely use branching because of how horrible the code generation is. No way to express that the common path stay code linear either, etc. +@AgileJebrim + +Lots of stuff can get mapped by the compiler to V_CNDMASK_B32 instead of branching by using mix(a,b,bool) syntax. I rarely use branching because of how horrible the code generation is. No way to express that the common path stay code linear either, etc. **3/** @AgileJebrim -@NOTimothyLottes I know in CUDA-land that it likes to create branches for ternaries if it contains more than 4 total instructions in a statement. +@NOTimothyLottes + +I know in CUDA-land that it likes to create branches for ternaries if it contains more than 4 total instructions in a statement. **4/** @NOTimothyLottes -@AgileJebrim But the real problem is lacking of explicit controls, and lacking implicit branch hints (wave-uniform/non-uniform, expected branch hit rate, etc). Better if we could just do explicit ASM style branch instructions and labels. +@AgileJebrim + +But the real problem is lacking of explicit controls, and lacking implicit branch hints (wave-uniform/non-uniform, expected branch hit rate, etc). Better if we could just do explicit ASM style branch instructions and labels. **5/** @AgileJebrim -@NOTimothyLottes Well I seek to ban branches entirely, so that’s the exact opposite of what I want. +@NOTimothyLottes + +Well I seek to ban branches entirely, so that’s the exact opposite of what I want. **6/** @NOTimothyLottes -@AgileJebrim If your shader I$ is say 32 KiB and your instructions average say 8-bytes. You have 4 K instructions before you are streaming the program not just the data. Code size is actually important. And while micro level unroll is needed, macro level duplication is a problem with tiny I$ +@AgileJebrim + +If your shader I$ is say 32 KiB and your instructions average say 8-bytes. You have 4 K instructions before you are streaming the program not just the data. Code size is actually important. And while micro level unroll is needed, macro level duplication is a problem with tiny I$ **7/** @AgileJebrim -@NOTimothyLottes I avoid the duplication of instruction patterns too. I feel it’s a failure to properly parallelize if you’re repeating the same instructions instead of data parallelizing further. +@NOTimothyLottes + +I avoid the duplication of instruction patterns too. I feel it’s a failure to properly parallelize if you’re repeating the same instructions instead of data parallelizing further. **8/** @AgileJebrim -@NOTimothyLottes One more reason why I avoid functions. +@NOTimothyLottes + +One more reason why I avoid functions. ## Related diff --git a/archive/threads/NOTimothyLottes/2024-11-22-sometimes-you-only-want-to-wave-coherent-branch/2024-11-22-AgileJebrim-shouldnt-uniform-be-a-scalar.md b/archive/threads/NOTimothyLottes/2024-11-22-sometimes-you-only-want-to-wave-coherent-branch/2024-11-22-AgileJebrim-shouldnt-uniform-be-a-scalar.md index 96566be..394c75d 100644 --- a/archive/threads/NOTimothyLottes/2024-11-22-sometimes-you-only-want-to-wave-coherent-branch/2024-11-22-AgileJebrim-shouldnt-uniform-be-a-scalar.md +++ b/archive/threads/NOTimothyLottes/2024-11-22-sometimes-you-only-want-to-wave-coherent-branch/2024-11-22-AgileJebrim-shouldnt-uniform-be-a-scalar.md @@ -28,45 +28,65 @@ parent_post_id: "1859791162091110754" **1/** @AgileJebrim -@NOTimothyLottes Shouldn’t uniform be a scalar? +@NOTimothyLottes + +Shouldn’t uniform be a scalar? **2/** @NOTimothyLottes -@AgileJebrim Well 'uniform' in GLSL is a storage qualifier, "Uniforms are so named because they DO NOT CHANGE from one shader invocation to the next within a particular rendering cal" so you probably want another term for SGPR to avoid aliasing qualifiers +@AgileJebrim + +Well 'uniform' in GLSL is a storage qualifier, "Uniforms are so named because they DO NOT CHANGE from one shader invocation to the next within a particular rendering cal" so you probably want another term for SGPR to avoid aliasing qualifiers **3/** @AgileJebrim -@NOTimothyLottes Within ISPC, uniform means scalar and varying means vector. +@NOTimothyLottes + +Within ISPC, uniform means scalar and varying means vector. **4/** @AgileJebrim -@NOTimothyLottes Looking deeper into the definition of SGPRs. They’re uniform just across each wavefront, rather than the entire dispatch yeah? +@NOTimothyLottes + +Looking deeper into the definition of SGPRs. They’re uniform just across each wavefront, rather than the entire dispatch yeah? **5/** @NOTimothyLottes -@AgileJebrim Yes it's a separate register file and logic unit that is per-wave instead of per-lane. Since it's introduction in Turing, NV calls them "URX for uniform registers" while AMD calls them SGPRs (scalar general purpose registers) +@AgileJebrim + +Yes it's a separate register file and logic unit that is per-wave instead of per-lane. Since it's introduction in Turing, NV calls them "URX for uniform registers" while AMD calls them SGPRs (scalar general purpose registers) **6/** @AgileJebrim -@NOTimothyLottes Almost sounding like we need an alternative IR to SPIR-V. One with predicated instructions and these wavefront-uniform registers/instructions. Maybe a PTX -> RDNA backend compiler? +@NOTimothyLottes + +Almost sounding like we need an alternative IR to SPIR-V. One with predicated instructions and these wavefront-uniform registers/instructions. Maybe a PTX -> RDNA backend compiler? **7/** @NOTimothyLottes -@AgileJebrim As history goes, most re-writes fall into nearly the same problem as before. I'd rather have the fixes be applied to the existing stuff first (fix SPIR-V and GLSL, etc) +@AgileJebrim + +As history goes, most re-writes fall into nearly the same problem as before. I'd rather have the fixes be applied to the existing stuff first (fix SPIR-V and GLSL, etc) **8/** @AgileJebrim -@NOTimothyLottes Perhaps. That existing PTX Vulkan extension does come to mind though. +@NOTimothyLottes + +Perhaps. That existing PTX Vulkan extension does come to mind though. **9/** @CodePotrick -@AgileJebrim @NOTimothyLottes Its kinda annoying to put sgpr like logic in an ir tho as they have very specific limitations on each platform. +@AgileJebrim @NOTimothyLottes + +Its kinda annoying to put sgpr like logic in an ir tho as they have very specific limitations on each platform. Generalizing them in an ir might actually be a pessimisation. **10/** @CodePotrick -@AgileJebrim @NOTimothyLottes Amd for example can't do float ops on sgprs, so when you would allow float ops in the ir, amd has to move them to a vgpr, perform float op, move them back to sgpr for each ir-sgpr float op. +@AgileJebrim @NOTimothyLottes + +Amd for example can't do float ops on sgprs, so when you would allow float ops in the ir, amd has to move them to a vgpr, perform float op, move them back to sgpr for each ir-sgpr float op. There are other examples for this. @@ -74,25 +94,35 @@ And nvidias have even other constrains. **11/** @AgileJebrim -@CodePotrick @NOTimothyLottes And what’s the alternative right now? Just keep it all in a VGPR all the time? +@CodePotrick @NOTimothyLottes + +And what’s the alternative right now? Just keep it all in a VGPR all the time? **12/** @CodePotrick -@AgileJebrim @NOTimothyLottes Ideally you'd avoid any float ops as long as you can to keep things in sgprs if you need to save registers/want the uniformity. +@AgileJebrim @NOTimothyLottes + +Ideally you'd avoid any float ops as long as you can to keep things in sgprs if you need to save registers/want the uniformity. If you need float ops on that var its probably best to keep it in vgprs if the alternative would be to transfer between sgpr and vgpr a lot **13/** @AgileJebrim -@CodePotrick @NOTimothyLottes I wish I could work solely with integers all the time but if I did that on NV hardware, I’d be losing half the available ALUs. +@CodePotrick @NOTimothyLottes + +I wish I could work solely with integers all the time but if I did that on NV hardware, I’d be losing half the available ALUs. **14/** @AgileJebrim -@CodePotrick @NOTimothyLottes I haven’t looked closely at AMD hardware since I don’t work with it much. +@CodePotrick @NOTimothyLottes + +I haven’t looked closely at AMD hardware since I don’t work with it much. **15/** @CodePotrick -@AgileJebrim @NOTimothyLottes they have their actual isa public and inspectable which is really nice to know whats actually happening. +@AgileJebrim @NOTimothyLottes + +they have their actual isa public and inspectable which is really nice to know whats actually happening. Rga is also really good. Feels like im more in control with amd compared to nvidia. @@ -100,7 +130,9 @@ Maybe thats just the low level gremlin in my speaking tho ;). **16/** @AgileJebrim -@CodePotrick @NOTimothyLottes I do have access to some of NVIDIA’s NDA documentation and tools… +@CodePotrick @NOTimothyLottes + +I do have access to some of NVIDIA’s NDA documentation and tools… ## Related diff --git a/archive/threads/NOTimothyLottes/2024-12-15-buffer-zoo-is-more-about-the-silly-season-of/2024-12-16-axelgneiting-im-well-aware-its-really-curious-they-still-stick.md b/archive/threads/NOTimothyLottes/2024-12-15-buffer-zoo-is-more-about-the-silly-season-of/2024-12-16-axelgneiting-im-well-aware-its-really-curious-they-still-stick.md index 005ef09..861c2c0 100644 --- a/archive/threads/NOTimothyLottes/2024-12-15-buffer-zoo-is-more-about-the-silly-season-of/2024-12-16-axelgneiting-im-well-aware-its-really-curious-they-still-stick.md +++ b/archive/threads/NOTimothyLottes/2024-12-15-buffer-zoo-is-more-about-the-silly-season-of/2024-12-16-axelgneiting-im-well-aware-its-really-curious-they-still-stick.md @@ -28,7 +28,9 @@ parent_post_id: "1868492851170205803" **1/** @axelgneiting -@NOTimothyLottes @kechogarcia I'm well aware. It's really curious they still stick to this design after so many years. +@NOTimothyLottes @kechogarcia + +I'm well aware. It's really curious they still stick to this design after so many years. ## Related diff --git a/archive/threads/NOTimothyLottes/2024-12-15-buffer-zoo-is-more-about-the-silly-season-of/index.md b/archive/threads/NOTimothyLottes/2024-12-15-buffer-zoo-is-more-about-the-silly-season-of/index.md index 05d6209..e02d18a 100644 --- a/archive/threads/NOTimothyLottes/2024-12-15-buffer-zoo-is-more-about-the-silly-season-of/index.md +++ b/archive/threads/NOTimothyLottes/2024-12-15-buffer-zoo-is-more-about-the-silly-season-of/index.md @@ -33,25 +33,35 @@ in_reply_to: "" **2/** @kechogarcia -@NOTimothyLottes Dxc hlsl sm 6.5 lets you index into ResourceDescriptorHeap directly and cast to whatever resource type. That and mutable vulkan descriptors, you wouldn't need to go the buffer Zoo route.... But then dxc spirv ... +@NOTimothyLottes + +Dxc hlsl sm 6.5 lets you index into ResourceDescriptorHeap directly and cast to whatever resource type. That and mutable vulkan descriptors, you wouldn't need to go the buffer Zoo route.... But then dxc spirv ... **3/** @NOTimothyLottes -@kechogarcia Read<32,64,128>(uint64_t base, uint32_t offset, uint32_t immediate, uint32_t cacheControl, uint32_t format); +@kechogarcia + +Read<32,64,128>(uint64_t base, uint32_t offset, uint32_t immediate, uint32_t cacheControl, uint32_t format); And be done with this stupid mess **4/** @axelgneiting -@NOTimothyLottes @kechogarcia NVidia can't just do random format conversions without it being a texture descriptor I thought? +@NOTimothyLottes @kechogarcia + +NVidia can't just do random format conversions without it being a texture descriptor I thought? **5/** @NOTimothyLottes -@axelgneiting @kechogarcia Can get the non-conversion {signed/unsigned short/int/long and half/float/double, of {1-4} components}. Which is good enough to start the interface. Then yes for NV you'd need to alias via a storage_texel_buffer to get {10:11:11,10:10:10:2,norm*} +@axelgneiting @kechogarcia + +Can get the non-conversion {signed/unsigned short/int/long and half/float/double, of {1-4} components}. Which is good enough to start the interface. Then yes for NV you'd need to alias via a storage_texel_buffer to get {10:11:11,10:10:10:2,norm*} **6/** @NOTimothyLottes -@axelgneiting @kechogarcia Then there are rough edges to TEXEL_BUFFER +@axelgneiting @kechogarcia + +Then there are rough edges to TEXEL_BUFFER 9-bit shared 5-bit E -> read only NV, no AMD sRGB -> yes NV, no AMD diff --git a/archive/threads/NOTimothyLottes/2024-12-16-so-i-dont-know-that-spir-v-vs-optypeint-24/2024-12-16-AgileJebrim-fair-enough-current-compilers-are-a-bloated-mess.md b/archive/threads/NOTimothyLottes/2024-12-16-so-i-dont-know-that-spir-v-vs-optypeint-24/2024-12-16-AgileJebrim-fair-enough-current-compilers-are-a-bloated-mess.md index ecc10e2..627a265 100644 --- a/archive/threads/NOTimothyLottes/2024-12-16-so-i-dont-know-that-spir-v-vs-optypeint-24/2024-12-16-AgileJebrim-fair-enough-current-compilers-are-a-bloated-mess.md +++ b/archive/threads/NOTimothyLottes/2024-12-16-so-i-dont-know-that-spir-v-vs-optypeint-24/2024-12-16-AgileJebrim-fair-enough-current-compilers-are-a-bloated-mess.md @@ -28,7 +28,9 @@ parent_post_id: "1868716773937414589" **1/** @AgileJebrim -@NOTimothyLottes @GustavSterbrant Fair enough. Current compilers are a bloated mess anyways and you’d get much faster times with your own assembler. +@NOTimothyLottes @GustavSterbrant + +Fair enough. Current compilers are a bloated mess anyways and you’d get much faster times with your own assembler. ## Related diff --git a/archive/threads/NOTimothyLottes/2024-12-16-so-i-dont-know-that-spir-v-vs-optypeint-24/index.md b/archive/threads/NOTimothyLottes/2024-12-16-so-i-dont-know-that-spir-v-vs-optypeint-24/index.md index 02c104a..ce18ee4 100644 --- a/archive/threads/NOTimothyLottes/2024-12-16-so-i-dont-know-that-spir-v-vs-optypeint-24/index.md +++ b/archive/threads/NOTimothyLottes/2024-12-16-so-i-dont-know-that-spir-v-vs-optypeint-24/index.md @@ -27,18 +27,26 @@ in_reply_to: "" **1/** @NOTimothyLottes -@GustavSterbrant So I don't know that SPIR-V vs OpTypeInt 24 question, but if someone didn't write tests for that it's likely never been setup to be pattern matched. Most of the problems I see cannot be fixed just by bypassing GLSL and doing SPIR-V directly. So not yet tempted to write a new SL +@GustavSterbrant + +So I don't know that SPIR-V vs OpTypeInt 24 question, but if someone didn't write tests for that it's likely never been setup to be pattern matched. Most of the problems I see cannot be fixed just by bypassing GLSL and doing SPIR-V directly. So not yet tempted to write a new SL **2/** @AgileJebrim -@NOTimothyLottes @GustavSterbrant If you’re targeting a console with AMD hardware, why don’t you just rewrite the backend compiler? I assume you have the source for it too, so it’s more tweaking an existing compiler than anything else? +@NOTimothyLottes @GustavSterbrant + +If you’re targeting a console with AMD hardware, why don’t you just rewrite the backend compiler? I assume you have the source for it too, so it’s more tweaking an existing compiler than anything else? **3/** @NOTimothyLottes -@AgileJebrim @GustavSterbrant At-home stuff (aka non-employer) targets Vulkan Windows mostly (unfortunately). No interface in AMD's Windows driver to load binary shaders into Vulkan. If SteamOS ever fully took over PC gaming, then certainly I'd just go direct to the AMD kernel driver and bypass user-mode VK +@AgileJebrim @GustavSterbrant + +At-home stuff (aka non-employer) targets Vulkan Windows mostly (unfortunately). No interface in AMD's Windows driver to load binary shaders into Vulkan. If SteamOS ever fully took over PC gaming, then certainly I'd just go direct to the AMD kernel driver and bypass user-mode VK **4/** @NOTimothyLottes -@AgileJebrim @GustavSterbrant Also I wouldn't just modify an existing compiler, I'd just write an assembler specific for GCN/RDNA/whateversNext family. +@AgileJebrim @GustavSterbrant + +Also I wouldn't just modify an existing compiler, I'd just write an assembler specific for GCN/RDNA/whateversNext family. Branches: [[archive/threads/NOTimothyLottes/2024-12-16-so-i-dont-know-that-spir-v-vs-optypeint-24/2024-12-16-AgileJebrim-fair-enough-current-compilers-are-a-bloated-mess]] diff --git a/archive/threads/NOTimothyLottes/2024-12-21-hopefully-with-this-last-atomic-workaround-im/2024-12-21-AgileJebrim-have-you-tried-using-the-intel-cache-controls.md b/archive/threads/NOTimothyLottes/2024-12-21-hopefully-with-this-last-atomic-workaround-im/2024-12-21-AgileJebrim-have-you-tried-using-the-intel-cache-controls.md index 56e59dc..fbbc9ac 100644 --- a/archive/threads/NOTimothyLottes/2024-12-21-hopefully-with-this-last-atomic-workaround-im/2024-12-21-AgileJebrim-have-you-tried-using-the-intel-cache-controls.md +++ b/archive/threads/NOTimothyLottes/2024-12-21-hopefully-with-this-last-atomic-workaround-im/2024-12-21-AgileJebrim-have-you-tried-using-the-intel-cache-controls.md @@ -28,15 +28,21 @@ parent_post_id: "1870343645926224197" **1/** @AgileJebrim -@NOTimothyLottes Have you tried using the Intel cache controls extension I shared earlier to see if they work on AMD? +@NOTimothyLottes + +Have you tried using the Intel cache controls extension I shared earlier to see if they work on AMD? **2/** @NOTimothyLottes -@AgileJebrim Not enough free time. Given that AMD's compiler has some serious correctness bugs ignoring memory qualifiers, I doubt they implemented the Intel extension. +@AgileJebrim + +Not enough free time. Given that AMD's compiler has some serious correctness bugs ignoring memory qualifiers, I doubt they implemented the Intel extension. **3/** @NOTimothyLottes -@AgileJebrim Will say though that if they ever implement a WMMA access extension (I don't know if they did or didn't yet), and they don't have streaming memory qualifier support they are just shooting their own AI stock$$$ gold rush foot off. +@AgileJebrim + +Will say though that if they ever implement a WMMA access extension (I don't know if they did or didn't yet), and they don't have streaming memory qualifier support they are just shooting their own AI stock$$$ gold rush foot off. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-04-marc_b_reynolds-its-pretty-amazing-how-good-the-hastings.md b/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-04-marc_b_reynolds-its-pretty-amazing-how-good-the-hastings.md index 8b8ee98..0df8ba7 100644 --- a/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-04-marc_b_reynolds-its-pretty-amazing-how-good-the-hastings.md +++ b/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-04-marc_b_reynolds-its-pretty-amazing-how-good-the-hastings.md @@ -28,7 +28,9 @@ parent_post_id: "1875589737282679108" **1/** @marc_b_reynolds -@NOTimothyLottes It's pretty amazing how good the Hastings approximations still are. I'd note that they are designed for minimizing absolute error which isn't what you'd want for general purpose usage but it's the right answer for "all angles are equally important" problems. +@NOTimothyLottes + +It's pretty amazing how good the Hastings approximations still are. I'd note that they are designed for minimizing absolute error which isn't what you'd want for general purpose usage but it's the right answer for "all angles are equally important" problems. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-06-JBrooksBSI-some-optimization-ideas-1-for-rdna2-simd-insn.md b/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-06-JBrooksBSI-some-optimization-ideas-1-for-rdna2-simd-insn.md index 7e4b481..34e80a2 100644 --- a/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-06-JBrooksBSI-some-optimization-ideas-1-for-rdna2-simd-insn.md +++ b/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-06-JBrooksBSI-some-optimization-ideas-1-for-rdna2-simd-insn.md @@ -28,7 +28,9 @@ parent_post_id: "1875583660545732960" **1/** @JBrooksBSI -@NOTimothyLottes Some optimization ideas: +@NOTimothyLottes + +Some optimization ideas: 1) For RDNA2 simd, insn-dependency stalls make it unlikely to achieve 100% VALU utilization. Try unrolling 2x or 4x @@ -38,11 +40,15 @@ parent_post_id: "1875583660545732960" **2/** @NOTimothyLottes -@JBrooksBSI Lack of ABS modifiers on V_PK ops basically kills FP16 benefit here unfortunately. I do unroll when not VGPR limited (favorite optimization). Wary though of SALU/VALU crossings due to latency + scheduling behavior (loss of operand cache, etc). VCC probably has special forwarding +@JBrooksBSI + +Lack of ABS modifiers on V_PK ops basically kills FP16 benefit here unfortunately. I do unroll when not VGPR limited (favorite optimization). Wary though of SALU/VALU crossings due to latency + scheduling behavior (loss of operand cache, etc). VCC probably has special forwarding **3/** @JBrooksBSI -@NOTimothyLottes I did an approx equal-area mapping to a 2D texture in 2018 +@NOTimothyLottes + +I did an approx equal-area mapping to a 2D texture in 2018 Approach was to map sphere to Archimedean solid rhombicuboctahedron (triangles and squares) packed into a 2D texture diff --git a/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-06-pixelmager-i-was-looking-at-a-very-similar-problem-for-hemi.md b/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-06-pixelmager-i-was-looking-at-a-very-similar-problem-for-hemi.md index 096f1d3..f09fe50 100644 --- a/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-06-pixelmager-i-was-looking-at-a-very-similar-problem-for-hemi.md +++ b/archive/threads/NOTimothyLottes/2025-01-04-for-the-love-of-octahedrons-https-fileadmin-cs/2025-01-06-pixelmager-i-was-looking-at-a-very-similar-problem-for-hemi.md @@ -28,7 +28,9 @@ parent_post_id: "1875589737282679108" **1/** @pixelmager -@NOTimothyLottes I was looking at a very similar problem for hemi-octahedrons recently. I definitely need to revisit in the context of this EAM paper, I ended up with a pretty slow polar-coordinate-remapping instead to move precision to the horizon https://www.shadertoy.com/view/wsBXzD +@NOTimothyLottes + +I was looking at a very similar problem for hemi-octahedrons recently. I definitely need to revisit in the context of this EAM paper, I ended up with a pretty slow polar-coordinate-remapping instead to move precision to the horizon https://www.shadertoy.com/view/wsBXzD ## Related diff --git a/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-26-bmcnett-my-take-is-similar-but-i-also-feel-that-a-lot-of.md b/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-26-bmcnett-my-take-is-similar-but-i-also-feel-that-a-lot-of.md index ad55028..fd0e08c 100644 --- a/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-26-bmcnett-my-take-is-similar-but-i-also-feel-that-a-lot-of.md +++ b/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-26-bmcnett-my-take-is-similar-but-i-also-feel-that-a-lot-of.md @@ -28,15 +28,21 @@ parent_post_id: "1883580512171942335" **1/** @bmcnett -@NOTimothyLottes My take is similar, but I also feel that a lot of processing is best done predictively in parallel across multiple future frames, one SIMD lane per future frame +@NOTimothyLottes + +My take is similar, but I also feel that a lot of processing is best done predictively in parallel across multiple future frames, one SIMD lane per future frame **2/** @NOTimothyLottes -@bmcnett Don't necessarily want to store all predictions raw though. One of the advantages of say simple things like baked directional lightmaps is that one keeps the data for multiple "frames" (or views) in a compressed form until just right before usage, and it's mis-predict safe +@bmcnett + +Don't necessarily want to store all predictions raw though. One of the advantages of say simple things like baked directional lightmaps is that one keeps the data for multiple "frames" (or views) in a compressed form until just right before usage, and it's mis-predict safe **3/** @bmcnett -@NOTimothyLottes Yeah, you need to store many prediction outputs in compressed form, with the time dimension being one over which you compress, in addition to whatever spatial dimensions are relevant +@NOTimothyLottes + +Yeah, you need to store many prediction outputs in compressed form, with the time dimension being one over which you compress, in addition to whatever spatial dimensions are relevant Limited hw support for that, sadly diff --git a/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-26-noop_dev-i-thought-framegen-was-just-an-offspring-of-mpeg2.md b/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-26-noop_dev-i-thought-framegen-was-just-an-offspring-of-mpeg2.md index 434b8fd..5efe5d1 100644 --- a/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-26-noop_dev-i-thought-framegen-was-just-an-offspring-of-mpeg2.md +++ b/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-26-noop_dev-i-thought-framegen-was-just-an-offspring-of-mpeg2.md @@ -28,7 +28,9 @@ parent_post_id: "1883591956598845661" **1/** @noop_dev -@NOTimothyLottes I thought framegen was just an offspring of mpeg2 motion prediction, at least how it was in TVs for 15 years. +@NOTimothyLottes + +I thought framegen was just an offspring of mpeg2 motion prediction, at least how it was in TVs for 15 years. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-27-Varaquilex-a-visualization-of-said-cold-caches-on-a-cs.md b/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-27-Varaquilex-a-visualization-of-said-cold-caches-on-a-cs.md index 8256045..25e3784 100644 --- a/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-27-Varaquilex-a-visualization-of-said-cold-caches-on-a-cs.md +++ b/archive/threads/NOTimothyLottes/2025-01-26-often-overlooked-aspect-of-gpu-perf-scaling/2025-01-27-Varaquilex-a-visualization-of-said-cold-caches-on-a-cs.md @@ -28,29 +28,41 @@ parent_post_id: "1883569959286313322" **1/** @Varaquilex -@NOTimothyLottes A visualization of said cold caches on a CS workload from Timothy's GDC 2018 Engine Optimization Hot Lap slides: https://gpuopen.com/wp-content/uploads/2018/05/gdc_2018_sponsored_engine_optimization_hot_lap.pptx +@NOTimothyLottes + +A visualization of said cold caches on a CS workload from Timothy's GDC 2018 Engine Optimization Hot Lap slides: https://gpuopen.com/wp-content/uploads/2018/05/gdc_2018_sponsored_engine_optimization_hot_lap.pptx ![](https://pbs.twimg.com/media/GiVPBdfbAAAhqJ8?format=jpg&name=orig) **2/** @NOTimothyLottes -@Varaquilex Amazingly unfortunate that AMD still doesn't release the tool that those instruction trace captures had been visualized on. It's the best and most useful tool period I've ever seen at any company in the industry. +@Varaquilex + +Amazingly unfortunate that AMD still doesn't release the tool that those instruction trace captures had been visualized on. It's the best and most useful tool period I've ever seen at any company in the industry. **3/** @NOTimothyLottes -@Varaquilex If they did choose to release it, I'd teach the world how to use it well, for free. For hardcore optimization it is close to ideal. RGP doesn't start to really show you what you need to know to make good hardcore engineering decisions on AMD hardware. +@Varaquilex + +If they did choose to release it, I'd teach the world how to use it well, for free. For hardcore optimization it is close to ideal. RGP doesn't start to really show you what you need to know to make good hardcore engineering decisions on AMD hardware. **4/** @NOTimothyLottes -@Varaquilex This is a hint for someone like Valve who could take their RADV SQTT (https://www.phoronix.com/news/RADV-SQTT-Profiling-Support) interface and build something truly transformative for GPU shader engineering +@Varaquilex + +This is a hint for someone like Valve who could take their RADV SQTT (https://www.phoronix.com/news/RADV-SQTT-Profiling-Support) interface and build something truly transformative for GPU shader engineering **5/** @NOTimothyLottes -@Varaquilex Mix that kind of visualization tool with a good shader compiler (and HW intrinsics) and basically it's the kind of crack a serious GPU shader dev cannot say no too +@Varaquilex + +Mix that kind of visualization tool with a good shader compiler (and HW intrinsics) and basically it's the kind of crack a serious GPU shader dev cannot say no too **6/** @Varaquilex -@NOTimothyLottes That tool was one of the most insightful tools I have ever used. I do miss it. It would really be awesome to see it released to the public. +@NOTimothyLottes + +That tool was one of the most insightful tools I have ever used. I do miss it. It would really be awesome to see it released to the public. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/2025-01-28-NOTimothyLottes-just-raw-spatial-scaling-in-a-custom-resolve.md b/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/2025-01-28-NOTimothyLottes-just-raw-spatial-scaling-in-a-custom-resolve.md index 13cfbd9..45efaf2 100644 --- a/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/2025-01-28-NOTimothyLottes-just-raw-spatial-scaling-in-a-custom-resolve.md +++ b/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/2025-01-28-NOTimothyLottes-just-raw-spatial-scaling-in-a-custom-resolve.md @@ -59,17 +59,23 @@ Note one can inline something like CAS/RCAS (what I did at AMD) into the custom **6/** @dankbaker -@NOTimothyLottes Is there an example shader that does that custom resolve? +@NOTimothyLottes + +Is there an example shader that does that custom resolve? **7/** @NOTimothyLottes -@dankbaker Probably not in the config you are interested in (I'm assuming spatial with no scaling?) Feel free to DM me. Most of these things need adaption specific to the config. Last one I did was huge spatial scaling for a CRT-styled scalar using this kernel, +@dankbaker + +Probably not in the config you are interested in (I'm assuming spatial with no scaling?) Feel free to DM me. Most of these things need adaption specific to the config. Last one I did was huge spatial scaling for a CRT-styled scalar using this kernel, ![](https://pbs.twimg.com/media/GiZv5SFWYAAyv2W?format=jpg&name=orig) **8/** @NOTimothyLottes -@dankbaker My project is monochome so the kernel blending logic is single channel, and the content is designed to handle a huge amount of negative lobe well so I don't constrain ringing (BLUE, replace with 'm.y*RINGING'), and everything in linear of course ... but it should provide an idea +@dankbaker + +My project is monochome so the kernel blending logic is single channel, and the content is designed to handle a huge amount of negative lobe well so I don't constrain ringing (BLUE, replace with 'm.y*RINGING'), and everything in linear of course ... but it should provide an idea ![](https://pbs.twimg.com/media/GiZxt_6X0AARcFR?format=png&name=orig) diff --git a/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/2025-01-28-NOTimothyLottes-my-mindset-is-more-tuned-towards-rendering.md b/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/2025-01-28-NOTimothyLottes-my-mindset-is-more-tuned-towards-rendering.md index f8fdb02..e0da2b1 100644 --- a/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/2025-01-28-NOTimothyLottes-my-mindset-is-more-tuned-towards-rendering.md +++ b/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/2025-01-28-NOTimothyLottes-my-mindset-is-more-tuned-towards-rendering.md @@ -28,11 +28,15 @@ parent_post_id: "1884360689093091618" **1/** @NOTimothyLottes -@MichalDrobot My mindset is more tuned towards rendering without minSampleShading and using the temporal component to get the shading resolution up since base frame rate will be high anyway. So no soft VRS in my line of thinking either (other than whatever falls out of 8xMSAA render) +@MichalDrobot + +My mindset is more tuned towards rendering without minSampleShading and using the temporal component to get the shading resolution up since base frame rate will be high anyway. So no soft VRS in my line of thinking either (other than whatever falls out of 8xMSAA render) **2/** @MichalDrobot -@NOTimothyLottes That’s pretty much exactly the mindset and what ended up shipping in Killzone Shadow Fall (4xMSAA -> 2x scaling + TAA) and in FarCry4 8xMSAA FMask only + analytical resolve + TAA +@NOTimothyLottes + +That’s pretty much exactly the mindset and what ended up shipping in Killzone Shadow Fall (4xMSAA -> 2x scaling + TAA) and in FarCry4 8xMSAA FMask only + analytical resolve + TAA Doing sub samples in FC4 was challenging due to all that AT foliage. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/index.md b/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/index.md index ba99198..0378871 100644 --- a/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/index.md +++ b/archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/index.md @@ -33,57 +33,81 @@ Branches: [[archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really **2/** @MichalDrobot -@NOTimothyLottes Hey that’s literally what our VRS is doing with all those tricks and more. We just don’t call it an upsampler ; ) +@NOTimothyLottes + +Hey that’s literally what our VRS is doing with all those tricks and more. We just don’t call it an upsampler ; ) On PC we resolve MSAA to texture2DArray to retain plane separation benefits for bandwidth and coherency **3/** @NOTimothyLottes -@MichalDrobot Larger differences are +@MichalDrobot + +Larger differences are (1.) Your VRS is PSL'ing to a regular grid? (need the actual 8x pattern for what I'm suggesting) (2.) Sounds like you are getting benefit from FMASK due to the soft VRS, but for what I'm suggesting the NV flat+DCC layout is way better **4/** @MichalDrobot -@NOTimothyLottes 1) it’s 4xMSAA but we DRS only on X axis which is matching your case I believe. Similar how it was done it Killzone Shadowfall. +@NOTimothyLottes + +1) it’s 4xMSAA but we DRS only on X axis which is matching your case I believe. Similar how it was done it Killzone Shadowfall. 8xMSAA we could explore XY scaling 2) depends. On PC it’s flat /w DCC. On gen8 it’s fmask packed. Gen9 is FMask with DCC plane0/1 **5/** @MichalDrobot -@NOTimothyLottes But sure I agree that 8x is the way to go for 4K. Our challenge is that we still have gen8 with 1k target and at those resolutions 8x scales really sub linear due to quad occupancy +@NOTimothyLottes + +But sure I agree that 8x is the way to go for 4K. Our challenge is that we still have gen8 with 1k target and at those resolutions 8x scales really sub linear due to quad occupancy **6/** @NOTimothyLottes -@MichalDrobot I guess the question then is if you implement variable spatial scaling in the custom resolve, is the 8xMSAA loss something that can easily be covered by increased spatial scale on the low end HW? 8x area scaling at 8xMSAA is still likely good for 3xAA on edges at spatial-only +@MichalDrobot + +I guess the question then is if you implement variable spatial scaling in the custom resolve, is the 8xMSAA loss something that can easily be covered by increased spatial scale on the low end HW? 8x area scaling at 8xMSAA is still likely good for 3xAA on edges at spatial-only Branches: [[archive/threads/NOTimothyLottes/2025-01-28-so-we-the-industry-really-ever-went-back-to-the/2025-01-28-NOTimothyLottes-my-mindset-is-more-tuned-towards-rendering]] **7/** @MichalDrobot -@NOTimothyLottes If low end hw is decent with MSAA AND you can control triangle density effectively to combat quad occupancy loss (we can’t) - that’s the best there is imo. +@NOTimothyLottes + +If low end hw is decent with MSAA AND you can control triangle density effectively to combat quad occupancy loss (we can’t) - that’s the best there is imo. FWIW that’s why we use stencil even for geo edges for MSAA - because we get too many interior edges that don’t do anything **8/** @NOTimothyLottes -@MichalDrobot I see, yes once authoring pushes tri/pix density then what makes sense changes. I was thinking more of the way things had been authored in the relief mapping era. +@MichalDrobot + +I see, yes once authoring pushes tri/pix density then what makes sense changes. I was thinking more of the way things had been authored in the relief mapping era. **9/** @MichalDrobot -@NOTimothyLottes Then you need invest heavily into visbuffer for “simple draws” and pay setup price to compensate those deficiencies. involved pipeline that is not portable +@NOTimothyLottes + +Then you need invest heavily into visbuffer for “simple draws” and pay setup price to compensate those deficiencies. involved pipeline that is not portable I can totally see your plan working for specific art styles or more retro gaming. There is a huge Indy market for this **10/** @NOTimothyLottes -@MichalDrobot If tri/pix density is high, even if there are some huge triangles left, without substantially good multi-scale LOD (meaning cluster count scaling), I think soft culling alone falls off the !/$ curve for scaling - hints perhaps past the crossover for non-triangle rendering +@MichalDrobot + +If tri/pix density is high, even if there are some huge triangles left, without substantially good multi-scale LOD (meaning cluster count scaling), I think soft culling alone falls off the !/$ curve for scaling - hints perhaps past the crossover for non-triangle rendering **11/** @NOTimothyLottes -@MichalDrobot At that stage I'd have transitioned to direct final view reconstruction from object space domain. Walking object space, atomicMin(MSB{z,ref}LSB) at some good enough density into the final projected space, then use a neighborhood of 'refs' to get back to object space neighborhoods +@MichalDrobot + +At that stage I'd have transitioned to direct final view reconstruction from object space domain. Walking object space, atomicMin(MSB{z,ref}LSB) at some good enough density into the final projected space, then use a neighborhood of 'refs' to get back to object space neighborhoods **12/** @NOTimothyLottes -@MichalDrobot ... for the filtering. One can effectively cancel atomics per lane based on local projected screen-space density to deal with domain stretch (skinning), so it gets to be highly scalable. +@MichalDrobot + +... for the filtering. One can effectively cancel atomics per lane based on local projected screen-space density to deal with domain stretch (skinning), so it gets to be highly scalable. **13/** @NOTimothyLottes -@MichalDrobot The TAA reconstructions all crossed that threshold of cost where it's easy to swap in reconstruction from something other than screen-space. And with no disocclusion trouble, object space is much less of a challenge to go from. +@MichalDrobot + +The TAA reconstructions all crossed that threshold of cost where it's easy to swap in reconstruction from something other than screen-space. And with no disocclusion trouble, object space is much less of a challenge to go from. diff --git a/archive/threads/NOTimothyLottes/2025-02-04-gelatinous-pixel-soup/index.md b/archive/threads/NOTimothyLottes/2025-02-04-gelatinous-pixel-soup/index.md index b0ac1a0..d2c83fa 100644 --- a/archive/threads/NOTimothyLottes/2025-02-04-gelatinous-pixel-soup/index.md +++ b/archive/threads/NOTimothyLottes/2025-02-04-gelatinous-pixel-soup/index.md @@ -130,8 +130,12 @@ I think ultimately those in the industry who don't like the current status quo, **17/** @0xpatrickhan -@NOTimothyLottes What are some problem areas you think need to be tackled? I’ve read some of what you’ve written in response to some of the gripes of modern day temporal supersampling/AA. What else? Anything that IHVs would be uniquely positioned to do? +@NOTimothyLottes + +What are some problem areas you think need to be tackled? I’ve read some of what you’ve written in response to some of the gripes of modern day temporal supersampling/AA. What else? Anything that IHVs would be uniquely positioned to do? **18/** @NOTimothyLottes -@0xpatrickhan There is a laundry list of things IHVs dont expose or expose very poorly for basic compute shaders, making it quite difficult or impossible to get a compiler to do the right thing. Fix those and devs like myself could easily build better than AI tech options +@0xpatrickhan + +There is a laundry list of things IHVs dont expose or expose very poorly for basic compute shaders, making it quite difficult or impossible to get a compiler to do the right thing. Fix those and devs like myself could easily build better than AI tech options diff --git a/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-BoganBits-could-a-shader-compiler-not-do-this-i-e-detect.md b/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-BoganBits-could-a-shader-compiler-not-do-this-i-e-detect.md index a60fad5..3c9b929 100644 --- a/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-BoganBits-could-a-shader-compiler-not-do-this-i-e-detect.md +++ b/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-BoganBits-could-a-shader-compiler-not-do-this-i-e-detect.md @@ -28,11 +28,15 @@ parent_post_id: "1912477061467304351" **1/** @BoganBits -@NOTimothyLottes Could a shader compiler not do this? i.e. detect such inefficient code, and "re-vectorise" it, so to speak i.e. have each shader instance do 2 at once, interleaved +@NOTimothyLottes + +Could a shader compiler not do this? i.e. detect such inefficient code, and "re-vectorise" it, so to speak i.e. have each shader instance do 2 at once, interleaved **2/** @NOTimothyLottes -@BoganBits This is something to be done at the dispatch level, not something a compiler knows about +@BoganBits + +This is something to be done at the dispatch level, not something a compiler knows about ## Related diff --git a/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-BoganBits-i-would-be-interested-to-see-a-concrete-example.md b/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-BoganBits-i-would-be-interested-to-see-a-concrete-example.md index e7a7312..1a1c337 100644 --- a/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-BoganBits-i-would-be-interested-to-see-a-concrete-example.md +++ b/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-BoganBits-i-would-be-interested-to-see-a-concrete-example.md @@ -28,12 +28,16 @@ parent_post_id: "1912477061467304351" **1/** @BoganBits -@NOTimothyLottes I would be interested to see a concrete example of this +@NOTimothyLottes + +I would be interested to see a concrete example of this ideally with a benchmark to show the improvement **2/** @NOTimothyLottes -@BoganBits Early STP had a mode to pipeline the dependent passes, that was back when it was being developed out of Unity. That mode was way faster. But later it was removed because Unity wouldn't allow resources bound for read+write at the same time = fail. +@BoganBits + +Early STP had a mode to pipeline the dependent passes, that was back when it was being developed out of Unity. That mode was way faster. But later it was removed because Unity wouldn't allow resources bound for read+write at the same time = fail. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-DjMolehill-branching-cache-locality-and-memory-handling-are.md b/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-DjMolehill-branching-cache-locality-and-memory-handling-are.md index eb8fa59..c73436c 100644 --- a/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-DjMolehill-branching-cache-locality-and-memory-handling-are.md +++ b/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-DjMolehill-branching-cache-locality-and-memory-handling-are.md @@ -28,7 +28,9 @@ parent_post_id: "1912484261321392231" **1/** @DjMolehill -@NOTimothyLottes branching, cache locality, and memory handling are key 🔥 +@NOTimothyLottes + +branching, cache locality, and memory handling are key 🔥 ## Related diff --git a/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-JBrooksBSI-id-add-standardized-documented-isa-that-enables.md b/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-JBrooksBSI-id-add-standardized-documented-isa-that-enables.md index 418e372..9d65292 100644 --- a/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-JBrooksBSI-id-add-standardized-documented-isa-that-enables.md +++ b/archive/threads/NOTimothyLottes/2025-04-16-cs-optimization-brain-dumping/2025-04-16-JBrooksBSI-id-add-standardized-documented-isa-that-enables.md @@ -28,7 +28,9 @@ parent_post_id: "1912483968563269946" **1/** @JBrooksBSI -@NOTimothyLottes I'd add: +@NOTimothyLottes + +I'd add: Standardized, documented ISA that enables compatibility across multiple GPU generations (& max 256 VGPRs). @@ -36,25 +38,35 @@ WGP (WorkGroup Processor) mode which doubles the # of SIMD units executing a sin **2/** @NOTimothyLottes -@JBrooksBSI Personally I still don't like the WGP+wave32 stuff. Limited dual issue instructions with less operand flexibility (wave64 back to back issue IMO is better, just HW dual pipe transcendentals). WGP's two L0 cache and related resource split issues. +@JBrooksBSI + +Personally I still don't like the WGP+wave32 stuff. Limited dual issue instructions with less operand flexibility (wave64 back to back issue IMO is better, just HW dual pipe transcendentals). WGP's two L0 cache and related resource split issues. **3/** @JBrooksBSI -@NOTimothyLottes WGP mode and wave32 are separate features. WGP mode schedules waves within a threadgroup across both CUs (4x SIMDs) in each WGP instead of limiting waves to a single CU (2x SIMD). +@NOTimothyLottes + +WGP mode and wave32 are separate features. WGP mode schedules waves within a threadgroup across both CUs (4x SIMDs) in each WGP instead of limiting waves to a single CU (2x SIMD). **4/** @NOTimothyLottes -@JBrooksBSI Yeah so it's more the wave32 that I don't like +@JBrooksBSI + +Yeah so it's more the wave32 that I don't like **5/** @JBrooksBSI -@NOTimothyLottes I'd like to discuss this in more detail, as I have found wave32 to be faster than wave64 for everything except some vertex shaders. +@NOTimothyLottes + +I'd like to discuss this in more detail, as I have found wave32 to be faster than wave64 for everything except some vertex shaders. I think the reason wave64 can be faster for vertex shaders is that only half the VS waves get launched, so more occupancy for PS/CS waves per WGP. **6/** @JBrooksBSI -@NOTimothyLottes The reasons Wave64 has been slower for me: +@NOTimothyLottes + +The reasons Wave64 has been slower for me: 1) More VGPR pressure = less occupancy 2) More GL0/LDS pressure = more stalls 3) 64-lane scalar logic is slower than scalar 32 @@ -64,7 +76,9 @@ I spot-unroll 2x-4x for more intra-wave parallelism as needed. **7/** @NOTimothyLottes -@JBrooksBSI Re +@JBrooksBSI + +Re 1) With what I do, high occupancy is often slower 2) I rarely use LDS 3) It's half the K$ loads for wave64 @@ -72,7 +86,9 @@ I spot-unroll 2x-4x for more intra-wave parallelism as needed. **8/** @JBrooksBSI -@NOTimothyLottes Wow, that is wildly different from what I do. +@NOTimothyLottes + +Wow, that is wildly different from what I do. Why is high occupancy slower? (VGPR pressure? Cache pressure?) diff --git a/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-holy-truthnuke-and-people-think-c-is-the-optimal.md b/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-holy-truthnuke-and-people-think-c-is-the-optimal.md index 509a0ba..e31538e 100644 --- a/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-holy-truthnuke-and-people-think-c-is-the-optimal.md +++ b/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-holy-truthnuke-and-people-think-c-is-the-optimal.md @@ -28,17 +28,23 @@ parent_post_id: "1917652589358858332" **1/** @onatt0 -@NOTimothyLottes holy truthnuke - and people think C is the optimal state of possible runtimes when it's a very limited runtime to have state mixed call/data-stacks +@NOTimothyLottes + +holy truthnuke - and people think C is the optimal state of possible runtimes when it's a very limited runtime to have state mixed call/data-stacks not only you have to keep the whole stack around with replicated state, it limits to serialized execution instead of parallel **2/** @NOTimothyLottes -@onatt0 I laugh when people say C is like assembly, they are missing what we actually did in assembly back then, which was all registers and globals and gotos, no stacks. It's radically different than good assembly. +@onatt0 + +I laugh when people say C is like assembly, they are missing what we actually did in assembly back then, which was all registers and globals and gotos, no stacks. It's radically different than good assembly. **3/** @onatt0 -@NOTimothyLottes when C became *the* execution model, it restricted all future hardware, HW gets built with how the C compiler will compile to it instead of what's ultimately a good design and a malleable macro-lang to map to HW +@NOTimothyLottes + +when C became *the* execution model, it restricted all future hardware, HW gets built with how the C compiler will compile to it instead of what's ultimately a good design and a malleable macro-lang to map to HW ofc a lot of people want portability so we went the boring route diff --git a/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-imo-code-compilation-is-inherently-sequential.md b/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-imo-code-compilation-is-inherently-sequential.md index 4f56386..eba90e8 100644 --- a/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-imo-code-compilation-is-inherently-sequential.md +++ b/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-imo-code-compilation-is-inherently-sequential.md @@ -28,17 +28,23 @@ parent_post_id: "1917646466417381426" **1/** @onatt0 -@NOTimothyLottes IMO code compilation is inherently sequential+ "execution contextual", dynamic logic execution to get the binary as the essence vs a static lang +@NOTimothyLottes + +IMO code compilation is inherently sequential+ "execution contextual", dynamic logic execution to get the binary as the essence vs a static lang codegen with execution on GPU could work as 2-items(vreg)/stack and 32K cells per lane for AI to map code to data instead of weights? **2/** @NOTimothyLottes -@onatt0 So for x86 I've many times written code gen with extra nop-prefix padding to fix all instructions to a multiple of known 32-bits. Which means you know in advance sizing of everything, then you can easily do parallel code generation. So need not necessarily all be serial +@onatt0 + +So for x86 I've many times written code gen with extra nop-prefix padding to fix all instructions to a multiple of known 32-bits. Which means you know in advance sizing of everything, then you can easily do parallel code generation. So need not necessarily all be serial **3/** @NOTimothyLottes -@onatt0 However I'm often building then instantly using code while generating a baked binary to use later, so that regard much is inherently serially dependent. This bootstrapping technique is perhaps one the great things to learn from things like color forth IMO. +@onatt0 + +However I'm often building then instantly using code while generating a baked binary to use later, so that regard much is inherently serially dependent. This bootstrapping technique is perhaps one the great things to learn from things like color forth IMO. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-simply-brilliant.md b/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-simply-brilliant.md index 7608ff6..998ad60 100644 --- a/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-simply-brilliant.md +++ b/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-simply-brilliant.md @@ -28,7 +28,9 @@ parent_post_id: "1917653265329594372" **1/** @onatt0 -@NOTimothyLottes simply brilliant! +@NOTimothyLottes + +simply brilliant! ## Related diff --git a/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/index.md b/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/index.md index 258aa19..315d5b0 100644 --- a/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/index.md +++ b/archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/index.md @@ -27,17 +27,23 @@ in_reply_to: "" **1/** @NOTimothyLottes -@onatt0 [3] I got side tracked by building a language that could be assembled from on the GPU in SIMD. However now I ask myself if that is just adding "complexity", because if programs are bounded in size, why not just focus on CPU non-parallel nested factoring (aka the forth-like way) +@onatt0 + +[3] I got side tracked by building a language that could be assembled from on the GPU in SIMD. However now I ask myself if that is just adding "complexity", because if programs are bounded in size, why not just focus on CPU non-parallel nested factoring (aka the forth-like way) Branches: [[archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-imo-code-compilation-is-inherently-sequential]] **2/** @NOTimothyLottes -@onatt0 [4] 2-item data stack is an interesting compromise. Something I never considered. I left off ripping out the data stack completely. +@onatt0 + +[4] 2-item data stack is an interesting compromise. Something I never considered. I left off ripping out the data stack completely. **3/** @NOTimothyLottes -@onatt0 [5] Can do this instead, +@onatt0 + +[5] Can do this instead, a. Track a "top" register (number) b. Use symbols to override top register c. Have push (store) just advance top to next reg (in circular queue) @@ -45,20 +51,28 @@ Gets to easy unnamed arguments **4/** @NOTimothyLottes -@onatt0 [6] You mentioned VK is most "form filling" which I think is an accurate description. For most "C" like APIs I like to just lay out all the arguments in memory like a tape drive in the order that functions get called and source that tape at runtime for the calls ... +@onatt0 + +[6] You mentioned VK is most "form filling" which I think is an accurate description. For most "C" like APIs I like to just lay out all the arguments in memory like a tape drive in the order that functions get called and source that tape at runtime for the calls ... **5/** @NOTimothyLottes -@onatt0 [7] They key concept here is that "common" arguments like the device are pushed onto the tape using store duplication when they are known (after device creation). So it's preemptive scatter, so later at call time there is no argument gather. +@onatt0 + +[7] They key concept here is that "common" arguments like the device are pushed onto the tape using store duplication when they are known (after device creation). So it's preemptive scatter, so later at call time there is no argument gather. **6/** @NOTimothyLottes -@onatt0 [8] Likely the majority of C/C++/OOP/bloatware is just shuffling data around in argument gather to support the concept of data stacks on HW that has no physical data stack. +@onatt0 + +[8] Likely the majority of C/C++/OOP/bloatware is just shuffling data around in argument gather to support the concept of data stacks on HW that has no physical data stack. Branches: [[archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-holy-truthnuke-and-people-think-c-is-the-optimal]] **7/** @NOTimothyLottes -@onatt0 [9] Could just pre-layout call arguments in order of usage, leverage data compression at init-time to unpack into memory before run-time. No more code to shuffle arguments, or set registers to immediates, etc. Just a common (cached) pre-call to consume args from the "tape" +@onatt0 + +[9] Could just pre-layout call arguments in order of usage, leverage data compression at init-time to unpack into memory before run-time. No more code to shuffle arguments, or set registers to immediates, etc. Just a common (cached) pre-call to consume args from the "tape" Branches: [[archive/threads/NOTimothyLottes/2025-04-30-3-i-got-side-tracked-by-building-a-language-that/2025-04-30-onatt0-simply-brilliant]] diff --git a/archive/threads/NOTimothyLottes/2025-04-30-i-laugh-when-people-say-c-is-like-assembly-they/2025-04-30-NOTimothyLottes-related-thoughts-0-having-a-low-upper-bound-on.md b/archive/threads/NOTimothyLottes/2025-04-30-i-laugh-when-people-say-c-is-like-assembly-they/2025-04-30-NOTimothyLottes-related-thoughts-0-having-a-low-upper-bound-on.md index ff7a460..8efc679 100644 --- a/archive/threads/NOTimothyLottes/2025-04-30-i-laugh-when-people-say-c-is-like-assembly-they/2025-04-30-NOTimothyLottes-related-thoughts-0-having-a-low-upper-bound-on.md +++ b/archive/threads/NOTimothyLottes/2025-04-30-i-laugh-when-people-say-c-is-like-assembly-they/2025-04-30-NOTimothyLottes-related-thoughts-0-having-a-low-upper-bound-on.md @@ -28,28 +28,40 @@ parent_post_id: "1917613300902146419" **1/** @NOTimothyLottes -@onatt0 Related thoughts/ +@onatt0 + +Related thoughts/ [0] Having a low upper bound on the maximum complexity allowed in a program enables so much simplification. One can always move complexity into data, while keeping tight codebases. **2/** @NOTimothyLottes -@onatt0 [1] Seems like you group symbols into pages where each page can have a string (shared with all symbols in the page), which when pared with limited fixed maximum symbol string size, is an elegant way of effectively supporting larger naming [I'll probably steal that idea next time] +@onatt0 + +[1] Seems like you group symbols into pages where each page can have a string (shared with all symbols in the page), which when pared with limited fixed maximum symbol string size, is an elegant way of effectively supporting larger naming [I'll probably steal that idea next time] **3/** @NOTimothyLottes -@onatt0 [2] I'm also a big fan of how you used 16:9 aspect to auto render all the debug info, symbol tables, disassembly, etc, alongside the source. I think many people are probably lost in the speed at which you can manipulate and test ideas while working on the source +@onatt0 + +[2] I'm also a big fan of how you used 16:9 aspect to auto render all the debug info, symbol tables, disassembly, etc, alongside the source. I think many people are probably lost in the speed at which you can manipulate and test ideas while working on the source **4/** @NOTimothyLottes -@onatt0 [3] I got side tracked by building a language that could be assembled from on the GPU in SIMD. However now I ask myself if that is just adding "complexity", because if programs are bounded in size, why not just focus on CPU non-parallel nested factoring (aka the forth-like way) +@onatt0 + +[3] I got side tracked by building a language that could be assembled from on the GPU in SIMD. However now I ask myself if that is just adding "complexity", because if programs are bounded in size, why not just focus on CPU non-parallel nested factoring (aka the forth-like way) **5/** @NOTimothyLottes -@onatt0 [4] 2-item data stack is an interesting compromise. Something I never considered. I left off ripping out the data stack completely. +@onatt0 + +[4] 2-item data stack is an interesting compromise. Something I never considered. I left off ripping out the data stack completely. **6/** @NOTimothyLottes -@onatt0 [5] Can do this instead, +@onatt0 + +[5] Can do this instead, a. Track a "top" register (number) b. Use symbols to override top register c. Have push (store) just advance top to next reg (in circular queue) @@ -57,15 +69,21 @@ Gets to easy unnamed arguments **7/** @NOTimothyLottes -@onatt0 [6] You mentioned VK is most "form filling" which I think is an accurate description. For most "C" like APIs I like to just lay out all the arguments in memory like a tape drive in the order that functions get called and source that tape at runtime for the calls ... +@onatt0 + +[6] You mentioned VK is most "form filling" which I think is an accurate description. For most "C" like APIs I like to just lay out all the arguments in memory like a tape drive in the order that functions get called and source that tape at runtime for the calls ... **8/** @NOTimothyLottes -@onatt0 [7] They key concept here is that "common" arguments like the device are pushed onto the tape using store duplication when they are known (after device creation). So it's preemptive scatter, so later at call time there is no argument gather. +@onatt0 + +[7] They key concept here is that "common" arguments like the device are pushed onto the tape using store duplication when they are known (after device creation). So it's preemptive scatter, so later at call time there is no argument gather. **9/** @NOTimothyLottes -@onatt0 [8] Likely the majority of C/C++/OOP/bloatware is just shuffling data around in argument gather to support the concept of data stacks on HW that has no physical data stack. +@onatt0 + +[8] Likely the majority of C/C++/OOP/bloatware is just shuffling data around in argument gather to support the concept of data stacks on HW that has no physical data stack. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-04-30-i-laugh-when-people-say-c-is-like-assembly-they/index.md b/archive/threads/NOTimothyLottes/2025-04-30-i-laugh-when-people-say-c-is-like-assembly-they/index.md index e0dd334..e8700b9 100644 --- a/archive/threads/NOTimothyLottes/2025-04-30-i-laugh-when-people-say-c-is-like-assembly-they/index.md +++ b/archive/threads/NOTimothyLottes/2025-04-30-i-laugh-when-people-say-c-is-like-assembly-they/index.md @@ -27,4 +27,6 @@ in_reply_to: "1917653631651729876" **1/** @NOTimothyLottes -@onatt0 I laugh when people say C is like assembly, they are missing what we actually did in assembly back then, which was all registers and globals and gotos, no stacks. It's radically different than good assembly. +@onatt0 + +I laugh when people say C is like assembly, they are missing what we actually did in assembly back then, which was all registers and globals and gotos, no stacks. It's radically different than good assembly. diff --git a/archive/threads/NOTimothyLottes/2025-07-23-nobody-self-includes-with-defines-to-reorder-c/2025-07-23-Karyuutensei-where-does-the-restart-number-come-from-i-assume.md b/archive/threads/NOTimothyLottes/2025-07-23-nobody-self-includes-with-defines-to-reorder-c/2025-07-23-Karyuutensei-where-does-the-restart-number-come-from-i-assume.md index 1dc4ebb..9c8e333 100644 --- a/archive/threads/NOTimothyLottes/2025-07-23-nobody-self-includes-with-defines-to-reorder-c/2025-07-23-Karyuutensei-where-does-the-restart-number-come-from-i-assume.md +++ b/archive/threads/NOTimothyLottes/2025-07-23-nobody-self-includes-with-defines-to-reorder-c/2025-07-23-Karyuutensei-where-does-the-restart-number-come-from-i-assume.md @@ -28,7 +28,9 @@ parent_post_id: "1948009807161721332" **1/** @Karyuutensei -@NOTimothyLottes Where does the restart number come from? I assume this is how many times you exited the code and started again automatically using your batch script? +@NOTimothyLottes + +Where does the restart number come from? I assume this is how many times you exited the code and started again automatically using your batch script? **2/** diff --git a/archive/threads/NOTimothyLottes/2025-07-23-nobody-self-includes-with-defines-to-reorder-c/index.md b/archive/threads/NOTimothyLottes/2025-07-23-nobody-self-includes-with-defines-to-reorder-c/index.md index 93963ad..aa7f88e 100644 --- a/archive/threads/NOTimothyLottes/2025-07-23-nobody-self-includes-with-defines-to-reorder-c/index.md +++ b/archive/threads/NOTimothyLottes/2025-07-23-nobody-self-includes-with-defines-to-reorder-c/index.md @@ -33,44 +33,62 @@ in_reply_to: "" **2/** @Karyuutensei -@NOTimothyLottes Do you also automatically generate the include files or do you just write them yourself? +@NOTimothyLottes + +Do you also automatically generate the include files or do you just write them yourself? **3/** @NOTimothyLottes -@Karyuutensei I only include __FILE__ (self). For WIN32 and VK even, I recreate the parts of external headers I need (use) inside the 'one source file', typically with structural type changes to switch back to simple types like 64 bit intergers instead of pointers. Trying to get to C-- +@Karyuutensei + +I only include __FILE__ (self). For WIN32 and VK even, I recreate the parts of external headers I need (use) inside the 'one source file', typically with structural type changes to switch back to simple types like 64 bit intergers instead of pointers. Trying to get to C-- **4/** @NOTimothyLottes -@Karyuutensei One side effect, even with C code the compilation is perceptually instant for the whole program. The other thing I do is mix the GLSL and C all in the same file, so I share defines. I do have one external include for the compiled SPIR-V ... +@Karyuutensei + +One side effect, even with C code the compilation is perceptually instant for the whole program. The other thing I do is mix the GLSL and C all in the same file, so I share defines. I do have one external include for the compiled SPIR-V ... **5/** @NOTimothyLottes -@Karyuutensei For the SPIR-V, I also have one program, but I use specialization constants set at PSO generation to select the code path for a specific 'shader'. This requires spriv opt as a pre-processor else the IHV compilers tend to be 10x or more slower. +@Karyuutensei + +For the SPIR-V, I also have one program, but I use specialization constants set at PSO generation to select the code path for a specific 'shader'. This requires spriv opt as a pre-processor else the IHV compilers tend to be 10x or more slower. **6/** @NOTimothyLottes -@Karyuutensei During dev time I use 2 terminals each with their own shell scripts. The first is to just loop and keep regenerating the SPIR-V if anything in the 'one file' changes. This is unfortunately a mess to do in a batch file (below) +@Karyuutensei + +During dev time I use 2 terminals each with their own shell scripts. The first is to just loop and keep regenerating the SPIR-V if anything in the 'one file' changes. This is unfortunately a mess to do in a batch file (below) ![](https://pbs.twimg.com/media/Gwi1pOOW4AEZDE5?format=png&name=orig) **7/** @NOTimothyLottes -@Karyuutensei The second does the same for the C program, loops recompiling and running the program. So when I'm editing source I can just fast exit the program and it restarts [with instant restart/reload it is quite fast to restart] +@Karyuutensei + +The second does the same for the C program, loops recompiling and running the program. So when I'm editing source I can just fast exit the program and it restarts [with instant restart/reload it is quite fast to restart] ![](https://pbs.twimg.com/media/Gwi23Q9WMAI4Grm?format=png&name=orig) **8/** @NOTimothyLottes -@Karyuutensei I'm using GCC on Windows, because why bother with having to install Visual Studio or it's compiler tool chain mess. I just do MINGW64 and be done with it. My debugger is the instant restart for C code, and shader reload for GLSL +@Karyuutensei + +I'm using GCC on Windows, because why bother with having to install Visual Studio or it's compiler tool chain mess. I just do MINGW64 and be done with it. My debugger is the instant restart for C code, and shader reload for GLSL **9/** @NOTimothyLottes -@Karyuutensei I don't use standard C libs or anything like that. I just write my own stuff. For 'printf' style debugging I have macros that write to a memory mapped log file. They give {[restartNumber]|[msSinceLaunch]|[sourceLine]|[hex]|[dec]|[comment]}. Keeping multiple restarts in same log +@Karyuutensei + +I don't use standard C libs or anything like that. I just write my own stuff. For 'printf' style debugging I have macros that write to a memory mapped log file. They give {[restartNumber]|[msSinceLaunch]|[sourceLine]|[hex]|[dec]|[comment]}. Keeping multiple restarts in same log ![](https://pbs.twimg.com/media/Gwi4H27WgAAIgMN?format=png&name=orig) **10/** @NOTimothyLottes -@Karyuutensei That log example is a simple test program, it starts in 0.3 ms for that run. The log tells all about how it pipelines start up {doing memory page warming, kart load, window setup, VK setup in parallel, getting to PSO gen as fast as possible [get layout done first]} +@Karyuutensei + +That log example is a simple test program, it starts in 0.3 ms for that run. The log tells all about how it pipelines start up {doing memory page warming, kart load, window setup, VK setup in parallel, getting to PSO gen as fast as possible [get layout done first]} ![](https://pbs.twimg.com/media/Gwi47owXQAEa2Ar?format=png&name=orig) diff --git a/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-07-31-AgileJebrim-spir-v-ive-given-up-on-trying-to-massage-frontend.md b/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-07-31-AgileJebrim-spir-v-ive-given-up-on-trying-to-massage-frontend.md index 7da6aa4..1cb3d34 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-07-31-AgileJebrim-spir-v-ive-given-up-on-trying-to-massage-frontend.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-07-31-AgileJebrim-spir-v-ive-given-up-on-trying-to-massage-frontend.md @@ -28,35 +28,51 @@ parent_post_id: "1950935464149483683" **1/** @AgileJebrim -@NOTimothyLottes SPIR-V. I’ve given up on trying to massage frontend compilers to do exactly what I want. I’m just letting others write in whatever shader language they want and then taking the SPIR-V it generates and reoptimizing it the way I want it. +@NOTimothyLottes + +SPIR-V. I’ve given up on trying to massage frontend compilers to do exactly what I want. I’m just letting others write in whatever shader language they want and then taking the SPIR-V it generates and reoptimizing it the way I want it. **2/** @AgileJebrim -@NOTimothyLottes One of the motivating factors is the fact that people already have a bunch of existing code, so the less work needed on their part to rewrite it, the better. +@NOTimothyLottes + +One of the motivating factors is the fact that people already have a bunch of existing code, so the less work needed on their part to rewrite it, the better. **3/** @NOTimothyLottes -@AgileJebrim If IHV compilers all handled well the case where the SPIR-V skips most SSA and leverages OpLoad/Store to global shader data (as in registers not memory), it might be a lot more tractable to go direct to SPIR-V. +@AgileJebrim + +If IHV compilers all handled well the case where the SPIR-V skips most SSA and leverages OpLoad/Store to global shader data (as in registers not memory), it might be a lot more tractable to go direct to SPIR-V. **4/** @AgileJebrim -@NOTimothyLottes I’m forcing the case where each invocation has access to a full 256 registers, which should hopefully limit the whole SSA/register spill problem. I haven’t tried intentionally breaking SSA though. Even if I did, there’s no way such UB would ever be certifiable. +@NOTimothyLottes + +I’m forcing the case where each invocation has access to a full 256 registers, which should hopefully limit the whole SSA/register spill problem. I haven’t tried intentionally breaking SSA though. Even if I did, there’s no way such UB would ever be certifiable. **5/** @NOTimothyLottes -@AgileJebrim I don't know of any case where 256 registers had acceptable performance. And that includes IHV hand assembly. Full unrolling on GCN needed at least 2 waves/SIMD (128 regs max). And I personally target around 64 for anything going through a compiler. +@AgileJebrim + +I don't know of any case where 256 registers had acceptable performance. And that includes IHV hand assembly. Full unrolling on GCN needed at least 2 waves/SIMD (128 regs max). And I personally target around 64 for anything going through a compiler. **6/** @NOTimothyLottes -@AgileJebrim Note on some newer AMD GPUs they increased the regfile by 50% I think, which would be a 96 max reg target +@AgileJebrim + +Note on some newer AMD GPUs they increased the regfile by 50% I think, which would be a 96 max reg target **7/** @NOTimothyLottes -@AgileJebrim Some of the larger problems with compilers is common sub-expression elimination. Meaning they will take out intentional recoputation or reloads and add register pressure. Often one has to fake a different value by ORing to a dynamic loaded zero (not known at compiler time) +@AgileJebrim + +Some of the larger problems with compilers is common sub-expression elimination. Meaning they will take out intentional recoputation or reloads and add register pressure. Often one has to fake a different value by ORing to a dynamic loaded zero (not known at compiler time) **8/** @NOTimothyLottes -@AgileJebrim Meaning at medium levels of complexity the compilers are always going way over the register budget you'd target with hand written ASM. SSA ensures this. There are no aliasing hints in the IR. +@AgileJebrim + +Meaning at medium levels of complexity the compilers are always going way over the register budget you'd target with hand written ASM. SSA ensures this. There are no aliasing hints in the IR. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-08-01-olson_dan-whats-the-top-something-else-ive-been-out-of-the.md b/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-08-01-olson_dan-whats-the-top-something-else-ive-been-out-of-the.md index be30fa8..7d8839d 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-08-01-olson_dan-whats-the-top-something-else-ive-been-out-of-the.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-08-01-olson_dan-whats-the-top-something-else-ive-been-out-of-the.md @@ -28,23 +28,33 @@ parent_post_id: "1950935464149483683" **1/** @olson_dan -@NOTimothyLottes What's the top "something else"? I've been out of the space for a while. +@NOTimothyLottes + +What's the top "something else"? I've been out of the space for a while. **2/** @NOTimothyLottes -@olson_dan Wanting to build something that effectively loads/stores a 'cart' file which contains all the 'code+data' of the game in a restartable package. The code cannot be GLSL because I'm not going to link in a huge compiler. Leaves something that generates SPIR-V on the fly. New lang +@olson_dan + +Wanting to build something that effectively loads/stores a 'cart' file which contains all the 'code+data' of the game in a restartable package. The code cannot be GLSL because I'm not going to link in a huge compiler. Leaves something that generates SPIR-V on the fly. New lang **3/** @EskilSteenberg -@NOTimothyLottes @olson_dan For a long time i have contemplated writing a small GLSL->SPIR-V compiler. I think you could get away with something very simple, if you are conservative with your language use. +@NOTimothyLottes @olson_dan + +For a long time i have contemplated writing a small GLSL->SPIR-V compiler. I think you could get away with something very simple, if you are conservative with your language use. **4/** @NOTimothyLottes -@EskilSteenberg @olson_dan Have a crazy idea for GPU shader dev inspired by a C64 SID tracker where you have a 'pattern' for the 'instrument' which shows SID fx changing over time, along with the standard multi-channel pattern nestily using the instrument ... +@EskilSteenberg @olson_dan + +Have a crazy idea for GPU shader dev inspired by a C64 SID tracker where you have a 'pattern' for the 'instrument' which shows SID fx changing over time, along with the standard multi-channel pattern nestily using the instrument ... **5/** @NOTimothyLottes -@EskilSteenberg @olson_dan ... Effectively a macro assembly language style thing where defines can be played back interleaved for things like ILP or loop unrolling etc. But programmer controlling interleaving, and register offsets, etc. Then ultimately output to SPIR-V direct (no GLSL step). +@EskilSteenberg @olson_dan + +... Effectively a macro assembly language style thing where defines can be played back interleaved for things like ILP or loop unrolling etc. But programmer controlling interleaving, and register offsets, etc. Then ultimately output to SPIR-V direct (no GLSL step). ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-08-02-NOTimothyLottes-so-far-the-plan-is-to-have-the-data-read-write.md b/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-08-02-NOTimothyLottes-so-far-the-plan-is-to-have-the-data-read-write.md index e906523..fa7896e 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-08-02-NOTimothyLottes-so-far-the-plan-is-to-have-the-data-read-write.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/2025-08-02-NOTimothyLottes-so-far-the-plan-is-to-have-the-data-read-write.md @@ -28,7 +28,9 @@ parent_post_id: "1951591243328135279" **1/** @NOTimothyLottes -@onatt0 @EskilSteenberg @olson_dan So far the plan is to have the data read/write from the GPU, but still use the CPU to do the SPIR-V generation from said data. +@onatt0 @EskilSteenberg @olson_dan + +So far the plan is to have the data read/write from the GPU, but still use the CPU to do the SPIR-V generation from said data. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/index.md b/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/index.md index d36535a..36d1c32 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/index.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-been-on-the-fence-on-writing-shader-interfaces-in/index.md @@ -37,15 +37,21 @@ Meaning I write using macros that are mostly a 1:1 mapping to AMDs GCN/RDNA ISA. **3/** @JBrooksBSI -@NOTimothyLottes Sounds like an RDNA->SPIRV asm converter tool would be the way to go +@NOTimothyLottes + +Sounds like an RDNA->SPIRV asm converter tool would be the way to go **4/** @NOTimothyLottes -@JBrooksBSI I part tried to GLSL once. Using a global uint4 array as registers. But the wrapping of bit aliasing typecasts around operations is loaded with compiler perf bugs. Esp with packed 16-bit. So making it usable in practice is quite hard. +@JBrooksBSI + +I part tried to GLSL once. Using a global uint4 array as registers. But the wrapping of bit aliasing typecasts around operations is loaded with compiler perf bugs. Esp with packed 16-bit. So making it usable in practice is quite hard. **5/** @JBrooksBSI -@NOTimothyLottes What I do for console dev is write RDNA2 asm on PS5 (via wrapped shader intrinsics). +@NOTimothyLottes + +What I do for console dev is write RDNA2 asm on PS5 (via wrapped shader intrinsics). On Xbox I have the wrappers implement C versions of the intrinsics (or HLSL intrinsics where available). @@ -55,4 +61,6 @@ This is a technique I have been using since 2006, for PS3 SPU coding: **6/** @NOTimothyLottes -@JBrooksBSI Eventually I ended up the same way (writing via instruction defines). Originally when I did FXAA it was a 1:1 line mapping to NV ISA. But without factoring through a define. But it's really the custom register allocation that I wish was universally expressible today. +@JBrooksBSI + +Eventually I ended up the same way (writing via instruction defines). Originally when I did FXAA it was a 1:1 line mapping to NV ISA. But without factoring through a define. But it's really the custom register allocation that I wish was universally expressible today. diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-0x44_-assembly-isnt-hard-its-just-platform-specific.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-0x44_-assembly-isnt-hard-its-just-platform-specific.md index e9fbd26..844bc38 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-0x44_-assembly-isnt-hard-its-just-platform-specific.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-0x44_-assembly-isnt-hard-its-just-platform-specific.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @0x44_ -@NOTimothyLottes Assembly isn't hard, it's just platform specific, which makes it tedious. +@NOTimothyLottes + +Assembly isn't hard, it's just platform specific, which makes it tedious. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-2Sexy4MyGPU-it-was-never-hard-just-tedious.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-2Sexy4MyGPU-it-was-never-hard-just-tedious.md index 0b21596..7c795e2 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-2Sexy4MyGPU-it-was-never-hard-just-tedious.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-2Sexy4MyGPU-it-was-never-hard-just-tedious.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @2Sexy4MyGPU -@NOTimothyLottes It was never hard, just tedious. +@NOTimothyLottes + +It was never hard, just tedious. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-CUDAHandbook-i-have-been-writing-assembly-for-almost-40-years.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-CUDAHandbook-i-have-been-writing-assembly-for-almost-40-years.md index d272512..bdb3d9a 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-CUDAHandbook-i-have-been-writing-assembly-for-almost-40-years.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-CUDAHandbook-i-have-been-writing-assembly-for-almost-40-years.md @@ -28,15 +28,21 @@ parent_post_id: "1950860870818439202" **1/** @CUDAHandbook -@NOTimothyLottes I have been writing assembly for almost 40 years. The reason we say it is hard, is because it takes more effort to write than higher-level languages like C. Of course it’s doable, but portability between CPU architecture alone makes assembly only worth doing when warranted. +@NOTimothyLottes + +I have been writing assembly for almost 40 years. The reason we say it is hard, is because it takes more effort to write than higher-level languages like C. Of course it’s doable, but portability between CPU architecture alone makes assembly only worth doing when warranted. **2/** @NOTimothyLottes -@CUDAHandbook I'm hoping to show how to make it less tedious than C +@CUDAHandbook + +I'm hoping to show how to make it less tedious than C **3/** @Alleycatsphinx -@NOTimothyLottes @CUDAHandbook My major problem with programming is the tedium. +@NOTimothyLottes @CUDAHandbook + +My major problem with programming is the tedium. GLSL Sandbox is still the best IDE I've ever used... @@ -44,7 +50,9 @@ Live code with instant update, simple automatic version control, cross platform **4/** @NOTimothyLottes -@Alleycatsphinx @CUDAHandbook I love live systems as "the IDE". This time probably with function keys as a pallet of 'save/restore' points (snapshot the entire project, as one file). +@Alleycatsphinx @CUDAHandbook + +I love live systems as "the IDE". This time probably with function keys as a pallet of 'save/restore' points (snapshot the entire project, as one file). ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-Karyuutensei-unrelated-but-i-would-also-love-a-look-at-your.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-Karyuutensei-unrelated-but-i-would-also-love-a-look-at-your.md index 5bf7526..013b435 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-Karyuutensei-unrelated-but-i-would-also-love-a-look-at-your.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-Karyuutensei-unrelated-but-i-would-also-love-a-look-at-your.md @@ -28,11 +28,15 @@ parent_post_id: "1950860870818439202" **1/** @Karyuutensei -@NOTimothyLottes Unrelated, but I would also love a look at your CRTs and how you use them in everyday stuff. +@NOTimothyLottes + +Unrelated, but I would also love a look at your CRTs and how you use them in everyday stuff. **2/** @NOTimothyLottes -@Karyuutensei Showing that setup would be fun. Most of my active CRTs are hooked up to vintage consoles though. +@Karyuutensei + +Showing that setup would be fun. Most of my active CRTs are hooked up to vintage consoles though. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-NickDrisc0ll-im-sure-it-would-be-invaluable.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-NickDrisc0ll-im-sure-it-would-be-invaluable.md index a93d443..63a6b3a 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-NickDrisc0ll-im-sure-it-would-be-invaluable.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-NickDrisc0ll-im-sure-it-would-be-invaluable.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @NickDrisc0ll -@NOTimothyLottes I'm sure it would be invaluable +@NOTimothyLottes + +I'm sure it would be invaluable ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-PunteroCrudo-i-would-and-i-think-more-people-would-be.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-PunteroCrudo-i-would-and-i-think-more-people-would-be.md index 1eb23b5..1b4b354 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-PunteroCrudo-i-would-and-i-think-more-people-would-be.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-PunteroCrudo-i-would-and-i-think-more-people-would-be.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @PunteroCrudo -@NOTimothyLottes I would, and I think more people would be interested. +@NOTimothyLottes + +I would, and I think more people would be interested. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-SquaredApe-given-ive-only-done-asm-on-amiga-with-devpac-i.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-SquaredApe-given-ive-only-done-asm-on-amiga-with-devpac-i.md index 52e22ac..a2fb8e7 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-SquaredApe-given-ive-only-done-asm-on-amiga-with-devpac-i.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-SquaredApe-given-ive-only-done-asm-on-amiga-with-devpac-i.md @@ -28,11 +28,15 @@ parent_post_id: "1950860870818439202" **1/** @SquaredApe -@NOTimothyLottes Given I've only done ASM on Amiga with Devpac, I guess it's probably a limited take, but I enjoyed it and didn't find it harder than say something like C, mostly because the problems I solved back then were 2D domain and the hardware was pretty simple... but not too hard? +@NOTimothyLottes + +Given I've only done ASM on Amiga with Devpac, I guess it's probably a limited take, but I enjoyed it and didn't find it harder than say something like C, mostly because the problems I solved back then were 2D domain and the hardware was pretty simple... but not too hard? **2/** @NOTimothyLottes -@SquaredApe ASM could be a pain when mixing with high level languages due to the constant manual register and stack shuffling, but with what I have in mind will factor that out. +@SquaredApe + +ASM could be a pain when mixing with high level languages due to the constant manual register and stack shuffling, but with what I have in mind will factor that out. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-Stererence-ive-been-doing-assembly-a-bit-in-d-with-the.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-Stererence-ive-been-doing-assembly-a-bit-in-d-with-the.md index 3a2283e..6c091c5 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-Stererence-ive-been-doing-assembly-a-bit-in-d-with-the.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-Stererence-ive-been-doing-assembly-a-bit-in-d-with-the.md @@ -28,11 +28,15 @@ parent_post_id: "1950860870818439202" **1/** @Stererence -@NOTimothyLottes I've been doing assembly a bit in D with the inline assembler and it's very fun to the point where it's too distracting for me, I don't really get why people are so averse to it generally. +@NOTimothyLottes + +I've been doing assembly a bit in D with the inline assembler and it's very fun to the point where it's too distracting for me, I don't really get why people are so averse to it generally. **2/** @NOTimothyLottes -@Stererence Inline assembly in GCC has been a cornerstone of my C code for a long time. +@Stererence + +Inline assembly in GCC has been a cornerstone of my C code for a long time. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-VicThorDev6-a-lot-of-people-who-claim-assembly-is-hard-just.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-VicThorDev6-a-lot-of-people-who-claim-assembly-is-hard-just.md index d2e375a..4258e8a 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-VicThorDev6-a-lot-of-people-who-claim-assembly-is-hard-just.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-VicThorDev6-a-lot-of-people-who-claim-assembly-is-hard-just.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @VicThorDev6 -@NOTimothyLottes A lot of people who claim assembly is hard just never did any themselves. In my opinion reading or even programming things in assembly isn't very hard but actually doing some of the optimizations compilers might do seems a lot harder +@NOTimothyLottes + +A lot of people who claim assembly is hard just never did any themselves. In my opinion reading or even programming things in assembly isn't very hard but actually doing some of the optimizations compilers might do seems a lot harder ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-_naf_90-im-learning-assembly-in-my-spare-time.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-_naf_90-im-learning-assembly-in-my-spare-time.md index 65c9163..533a6c1 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-_naf_90-im-learning-assembly-in-my-spare-time.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-_naf_90-im-learning-assembly-in-my-spare-time.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @_naf_90 -@NOTimothyLottes I’m learning assembly in my spare time +@NOTimothyLottes + +I’m learning assembly in my spare time ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-biovf-i-would-definitely-watch-that.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-biovf-i-would-definitely-watch-that.md index 9bcaf54..fa40aa7 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-biovf-i-would-definitely-watch-that.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-biovf-i-would-definitely-watch-that.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @biovf -@NOTimothyLottes I would definitely watch that 🙂 +@NOTimothyLottes + +I would definitely watch that 🙂 ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-cyberbemon-id-love-to-watch-that.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-cyberbemon-id-love-to-watch-that.md index f9e9aa2..669916a 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-cyberbemon-id-love-to-watch-that.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-cyberbemon-id-love-to-watch-that.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @cyberbemon -@NOTimothyLottes I'd love to watch that. +@NOTimothyLottes + +I'd love to watch that. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-furan-there-are-a-lot-of-watch-me-write-this-app-in.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-furan-there-are-a-lot-of-watch-me-write-this-app-in.md index 0131ae4..2f85277 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-furan-there-are-a-lot-of-watch-me-write-this-app-in.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-furan-there-are-a-lot-of-watch-me-write-this-app-in.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @furan -@NOTimothyLottes There are a lot of "watch me write this app in assembly" yt videos +@NOTimothyLottes + +There are a lot of "watch me write this app in assembly" yt videos ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-furan-would-watch-though.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-furan-would-watch-though.md index 86960b0..619110f 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-furan-would-watch-though.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-furan-would-watch-though.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @furan -@NOTimothyLottes would watch though +@NOTimothyLottes + +would watch though ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-konigssohne-if-youre-got-a-blank-canvas-go-for-it-interfacing.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-konigssohne-if-youre-got-a-blank-canvas-go-for-it-interfacing.md index ebb8072..6d37c25 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-konigssohne-if-youre-got-a-blank-canvas-go-for-it-interfacing.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-konigssohne-if-youre-got-a-blank-canvas-go-for-it-interfacing.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @konigssohne -@NOTimothyLottes If you're got a blank `canvas` go for it. +@NOTimothyLottes + +If you're got a blank `canvas` go for it. Interfacing to a kernel interrupt is one thing, hooking up to a toolkit ui is another I haven't ever seen, in asm. That leaves it all to command lines. @@ -36,7 +38,9 @@ And meh. **2/** @NOTimothyLottes -@konigssohne Look at the older music trackers. All ASM and quite good UIs from a workflow efficiency perspective. They don't emulate a 'windowing system UI' for good reason, it wouldn't ever be as good as what they did do. +@konigssohne + +Look at the older music trackers. All ASM and quite good UIs from a workflow efficiency perspective. They don't emulate a 'windowing system UI' for good reason, it wouldn't ever be as good as what they did do. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-leonard_coder-im-still-doing-assembly-as-hobby-68k-assembly-x64.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-leonard_coder-im-still-doing-assembly-as-hobby-68k-assembly-x64.md index e9ec6af..8c41ae7 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-leonard_coder-im-still-doing-assembly-as-hobby-68k-assembly-x64.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-leonard_coder-im-still-doing-assembly-as-hobby-68k-assembly-x64.md @@ -28,25 +28,35 @@ parent_post_id: "1950860870818439202" **1/** @leonard_coder -@NOTimothyLottes I'm still doing assembly as hobby :) ( 68k assembly, x64 assembly is not as fun to write). +@NOTimothyLottes + +I'm still doing assembly as hobby :) ( 68k assembly, x64 assembly is not as fun to write). I'm interested to see such a tutorial, but please change a bit your font size and coding style :) **2/** @NOTimothyLottes -@leonard_coder I think people get confused with my screen gabs because they are on 4k panels and I run low res CRTs (so the bitmap fonts are not small for me). Also I think most of my strange C syntax is to make it more assembly like, so won't all be there in ASM +@leonard_coder + +I think people get confused with my screen gabs because they are on 4k panels and I run low res CRTs (so the bitmap fonts are not small for me). Also I think most of my strange C syntax is to make it more assembly like, so won't all be there in ASM **3/** @leonard_coder -@NOTimothyLottes oh you're on low res CRT? that explain a lot, I was always really surprised by your 3x5 pixels look-alike font :) +@NOTimothyLottes + +oh you're on low res CRT? that explain a lot, I was always really surprised by your 3x5 pixels look-alike font :) But yeah Vulkan triangle setup code in assembly is something, I'm in! **4/** @NOTimothyLottes -@leonard_coder Oh, yeah, I should disclose, no triangles will be harmed or even used in this project, it's PS-free, or CS-only. All gfx generated the vintage PC way, just on compute GPUs, in human crafted logic instead of fixed function HW. +@leonard_coder + +Oh, yeah, I should disclose, no triangles will be harmed or even used in this project, it's PS-free, or CS-only. All gfx generated the vintage PC way, just on compute GPUs, in human crafted logic instead of fixed function HW. **5/** @leonard_coder -@NOTimothyLottes it's even better! (at least to me) +@NOTimothyLottes + +it's even better! (at least to me) ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-m6502-i-would-enjoy-watching-that.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-m6502-i-would-enjoy-watching-that.md index 70ce0a9..c84fd11 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-m6502-i-would-enjoy-watching-that.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-m6502-i-would-enjoy-watching-that.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @m6502 -@NOTimothyLottes I would enjoy watching that. +@NOTimothyLottes + +I would enjoy watching that. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-mmalex-i-agree-if-one-is-ok-with-bottom-up-thinking-99.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-mmalex-i-agree-if-one-is-ok-with-bottom-up-thinking-99.md index fb18931..fc4b9ce 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-mmalex-i-agree-if-one-is-ok-with-bottom-up-thinking-99.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-mmalex-i-agree-if-one-is-ok-with-bottom-up-thinking-99.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @mmalex -@NOTimothyLottes i agree, if one is ok with 'bottom up' thinking. 99% of my self taught early programming was asm, from demos to music editors (trackers) & it was a joy to work so directly with the machine. im convinced it still underlies my preference/prejudice for straightforward style of code +@NOTimothyLottes + +i agree, if one is ok with 'bottom up' thinking. 99% of my self taught early programming was asm, from demos to music editors (trackers) & it was a joy to work so directly with the machine. im convinced it still underlies my preference/prejudice for straightforward style of code ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-mu_chrinovic-definitely-interested-in-anything-you-put-out.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-mu_chrinovic-definitely-interested-in-anything-you-put-out.md index e667b89..a9c3dff 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-mu_chrinovic-definitely-interested-in-anything-you-put-out.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-mu_chrinovic-definitely-interested-in-anything-you-put-out.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @mu_chrinovic -@NOTimothyLottes definitely interested in anything you put out +@NOTimothyLottes + +definitely interested in anything you put out ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-nullspector-i-would-so-love-that.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-nullspector-i-would-so-love-that.md index 3484400..2b89dce 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-nullspector-i-would-so-love-that.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-nullspector-i-would-so-love-that.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @nullspector -@NOTimothyLottes I would so love that! +@NOTimothyLottes + +I would so love that! ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-o__boga-im-staying-maybe-for-vulkan-depending-on-how.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-o__boga-im-staying-maybe-for-vulkan-depending-on-how.md index 895eed8..60524fb 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-o__boga-im-staying-maybe-for-vulkan-depending-on-how.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-o__boga-im-staying-maybe-for-vulkan-depending-on-how.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @o__boga -@NOTimothyLottes I'm staying maybe for Vulkan, depending on how manageable it gets to me. (Assembly or not) +@NOTimothyLottes + +I'm staying maybe for Vulkan, depending on how manageable it gets to me. (Assembly or not) ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-opdroid1234-i-would.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-opdroid1234-i-would.md index 6ccc870..51b60c8 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-opdroid1234-i-would.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-opdroid1234-i-would.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @opdroid1234 -@NOTimothyLottes i would! +@NOTimothyLottes + +i would! ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-philthistweet-i-just-wish-the-win32-api-was-better-designed-it.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-philthistweet-i-just-wish-the-win32-api-was-better-designed-it.md index 2dbcafd..7241576 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-philthistweet-i-just-wish-the-win32-api-was-better-designed-it.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-philthistweet-i-just-wish-the-win32-api-was-better-designed-it.md @@ -28,11 +28,15 @@ parent_post_id: "1950866703342088407" **1/** @philthistweet -@NOTimothyLottes I just wish the win32 API was better designed. It would essentially be perfect for cross dev then. +@NOTimothyLottes + +I just wish the win32 API was better designed. It would essentially be perfect for cross dev then. **2/** @NOTimothyLottes -@philthistweet Certainly it could be, but as is, it's easy to use and not strictly limiting. Id be curious what people don't like about it. Maybe the winproc interface? +@philthistweet + +Certainly it could be, but as is, it's easy to use and not strictly limiting. Id be curious what people don't like about it. Maybe the winproc interface? **3/** @philthistweet @@ -49,7 +53,9 @@ Honestly, I may start a wrapper project though, because it's the only stable API **4/** @NOTimothyLottes -@philthistweet Clone is nicer and having ability to own cores should be great. But at least you get affinity and schedule priority. Yeah agree the file interface is poor, but I just memmap and manually page warm to bypass most of that. +@philthistweet + +Clone is nicer and having ability to own cores should be great. But at least you get affinity and schedule priority. Yeah agree the file interface is poor, but I just memmap and manually page warm to bypass most of that. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-plasmabitcoin-very-interested.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-plasmabitcoin-very-interested.md index 38a17cd..3df9e5f 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-plasmabitcoin-very-interested.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-plasmabitcoin-very-interested.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @plasmabitcoin -@NOTimothyLottes Very interested! +@NOTimothyLottes + +Very interested! ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-pranksterware-thatd-rock.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-pranksterware-thatd-rock.md index 8379085..a195b98 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-pranksterware-thatd-rock.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-pranksterware-thatd-rock.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @pranksterware -@NOTimothyLottes That'd rock! +@NOTimothyLottes + +That'd rock! ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-roasted6read-i-am-interested.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-roasted6read-i-am-interested.md index 791ec39..03851ec 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-roasted6read-i-am-interested.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-roasted6read-i-am-interested.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @roasted6read -@NOTimothyLottes I am interested +@NOTimothyLottes + +I am interested ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-ruben_cabaco-would-be-very-interested-in-it-also-on-your-forth.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-ruben_cabaco-would-be-very-interested-in-it-also-on-your-forth.md index bb38417..b68672c 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-ruben_cabaco-would-be-very-interested-in-it-also-on-your-forth.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-ruben_cabaco-would-be-very-interested-in-it-also-on-your-forth.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @ruben_cabaco -@NOTimothyLottes Would be very interested in it! Also on your Forth inspired languages and the whole mental approach to simplify problem solving with efficiency in mind. Hard to find materials on this, and from what I gather your old projects/thoughts are no longer online. +@NOTimothyLottes + +Would be very interested in it! Also on your Forth inspired languages and the whole mental approach to simplify problem solving with efficiency in mind. Hard to find materials on this, and from what I gather your old projects/thoughts are no longer online. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-simplex_fx-is-it-already-aprils-fools-again.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-simplex_fx-is-it-already-aprils-fools-again.md index 57a6796..d9db9b0 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-simplex_fx-is-it-already-aprils-fools-again.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-simplex_fx-is-it-already-aprils-fools-again.md @@ -28,23 +28,33 @@ parent_post_id: "1950860870818439202" **1/** @simplex_fx -@NOTimothyLottes Is it already april’s fools again? +@NOTimothyLottes + +Is it already april’s fools again? **2/** @NOTimothyLottes -@simplex_fx Would it be interesting any other way +@simplex_fx + +Would it be interesting any other way **3/** @simplex_fx -@NOTimothyLottes Worst part of this is not even the asm, but the choice of Vulkan 🤣 +@NOTimothyLottes + +Worst part of this is not even the asm, but the choice of Vulkan 🤣 **4/** @NOTimothyLottes -@simplex_fx Vulkan for compute is a lot better than say DX12. Because VK has a working pipelinable API construct: VkEvents, where in contrast DX12's pipeline barriers are serializing in the drivers. Also GL has no pipelining. So VK wins by virtue of no other option. +@simplex_fx + +Vulkan for compute is a lot better than say DX12. Because VK has a working pipelinable API construct: VkEvents, where in contrast DX12's pipeline barriers are serializing in the drivers. Also GL has no pipelining. So VK wins by virtue of no other option. **5/** @simplex_fx -@NOTimothyLottes Highly depends on one’s goals. +@NOTimothyLottes + +Highly depends on one’s goals. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-ssh4net-please.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-ssh4net-please.md index 18e4c17..30f6b7f 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-ssh4net-please.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-ssh4net-please.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @ssh4net -@NOTimothyLottes Please! +@NOTimothyLottes + +Please! ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-thecolemanthe-assembly-isnt-hard-its-tedious-no-abstractions.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-thecolemanthe-assembly-isnt-hard-its-tedious-no-abstractions.md index 232d62e..514ebcb 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-thecolemanthe-assembly-isnt-hard-its-tedious-no-abstractions.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-07-31-thecolemanthe-assembly-isnt-hard-its-tedious-no-abstractions.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @thecolemanthe -@NOTimothyLottes Assembly isn't hard, it's tedious. No abstractions, only the raw building blocks of computing. A lot of people just aren't ready or willing to deal with what the reality of an if or string concatenation much less the horrors of what their overly abstract oop code actually is. +@NOTimothyLottes + +Assembly isn't hard, it's tedious. No abstractions, only the raw building blocks of computing. A lot of people just aren't ready or willing to deal with what the reality of an if or string concatenation much less the horrors of what their overly abstract oop code actually is. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-AnshumanKhanna5-im-gonna-start-pretending-i-understood-everything.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-AnshumanKhanna5-im-gonna-start-pretending-i-understood-everything.md index fd8428b..abf4d9f 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-AnshumanKhanna5-im-gonna-start-pretending-i-understood-everything.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-AnshumanKhanna5-im-gonna-start-pretending-i-understood-everything.md @@ -28,7 +28,9 @@ parent_post_id: "1950868863836410096" **1/** @AnshumanKhanna5 -@NOTimothyLottes I'm gonna start pretending I understood everything you said +@NOTimothyLottes + +I'm gonna start pretending I understood everything you said ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-AnshumanKhanna5-video-link-now.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-AnshumanKhanna5-video-link-now.md index f60582a..8639ece 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-AnshumanKhanna5-video-link-now.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-AnshumanKhanna5-video-link-now.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @AnshumanKhanna5 -@NOTimothyLottes VIDEO LINK NOW +@NOTimothyLottes + +VIDEO LINK NOW ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-John31625320803-it-doesnt-really-matter-what-language-you-call.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-John31625320803-it-doesnt-really-matter-what-language-you-call.md index 7968859..1e83f88 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-John31625320803-it-doesnt-really-matter-what-language-you-call.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-John31625320803-it-doesnt-really-matter-what-language-you-call.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @John31625320803 -@NOTimothyLottes It doesn't really matter what language you call Vulkan from, the pain is all in the API... +@NOTimothyLottes + +It doesn't really matter what language you call Vulkan from, the pain is all in the API... ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-_vkaku-i-know-someone-whod-be-excited-opdroid1234.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-_vkaku-i-know-someone-whod-be-excited-opdroid1234.md index 448ce22..a29a072 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-_vkaku-i-know-someone-whod-be-excited-opdroid1234.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-_vkaku-i-know-someone-whod-be-excited-opdroid1234.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @_vkaku -@NOTimothyLottes I know someone who'd be excited @opdroid1234 +@NOTimothyLottes + +I know someone who'd be excited @opdroid1234 ## Related diff --git a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-schulzb589-i-would-watch-that-so-count-me-in.md b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-schulzb589-i-would-watch-that-so-count-me-in.md index e6c0bd1..074f610 100644 --- a/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-schulzb589-i-would-watch-that-so-count-me-in.md +++ b/archive/threads/NOTimothyLottes/2025-07-31-people-claim-assembly-is-hard/2025-08-01-schulzb589-i-would-watch-that-so-count-me-in.md @@ -28,7 +28,9 @@ parent_post_id: "1950860870818439202" **1/** @schulzb589 -@NOTimothyLottes I would watch that. So, count me in. +@NOTimothyLottes + +I would watch that. So, count me in. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-VPCOMPRESSB-elaborate-on-the-cart-style-memory-model-i-assume.md b/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-VPCOMPRESSB-elaborate-on-the-cart-style-memory-model-i-assume.md index 5c9593b..908b0dd 100644 --- a/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-VPCOMPRESSB-elaborate-on-the-cart-style-memory-model-i-assume.md +++ b/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-VPCOMPRESSB-elaborate-on-the-cart-style-memory-model-i-assume.md @@ -36,29 +36,41 @@ saving the game would then just be copying a region to disk contiguously—zero **2/** @NOTimothyLottes -@VPCOMPRESSB There is a Vulkan extension on PC that enables one to take a mapped file (aka the page cache) and access it from the GPU directly. +@VPCOMPRESSB + +There is a Vulkan extension on PC that enables one to take a mapped file (aka the page cache) and access it from the GPU directly. **3/** @AgileJebrim -@NOTimothyLottes @VPCOMPRESSB @VPCOMPRESSB I believe the benefit here is that it avoids an extra copy. +@NOTimothyLottes @VPCOMPRESSB @VPCOMPRESSB + +I believe the benefit here is that it avoids an extra copy. https://registry.khronos.org/vulkan/specs/latest/man/html/VK_EXT_external_memory_host.html **4/** @VPCOMPRESSB -@AgileJebrim @NOTimothyLottes that API seems very opaque. how can a person tell/preset the size and behavior of the page cache? would i just need to manage it similar to managing the CPU's cache? +@AgileJebrim @NOTimothyLottes + +that API seems very opaque. how can a person tell/preset the size and behavior of the page cache? would i just need to manage it similar to managing the CPU's cache? **5/** @AgileJebrim -@VPCOMPRESSB @NOTimothyLottes There’s a win32 version too but yeah I would just generally assume that pages are 4096 bytes unless I have reason to believe otherwise. Apparently the intent that Timothy had is to use CreateFileMappingA() as well. +@VPCOMPRESSB @NOTimothyLottes + +There’s a win32 version too but yeah I would just generally assume that pages are 4096 bytes unless I have reason to believe otherwise. Apparently the intent that Timothy had is to use CreateFileMappingA() as well. **6/** @NOTimothyLottes -@AgileJebrim @VPCOMPRESSB In an ideal world the OS would allow pinning the file's pages. Since there is no guarantee, I can walk (read) the first cache line of the 4 kb pages periodically to try to force pinned behavior. +@AgileJebrim @VPCOMPRESSB + +In an ideal world the OS would allow pinning the file's pages. Since there is no guarantee, I can walk (read) the first cache line of the 4 kb pages periodically to try to force pinned behavior. **7/** @AgileJebrim -@NOTimothyLottes @VPCOMPRESSB VirtualLock()? +@NOTimothyLottes @VPCOMPRESSB + +VirtualLock()? ## Related diff --git a/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-joeyazf-sounds-super-interesting.md b/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-joeyazf-sounds-super-interesting.md index b6c979d..4e3ccb1 100644 --- a/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-joeyazf-sounds-super-interesting.md +++ b/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-joeyazf-sounds-super-interesting.md @@ -28,7 +28,9 @@ parent_post_id: "1951347512088088657" **1/** @joeyazf -@NOTimothyLottes Sounds super interesting! +@NOTimothyLottes + +Sounds super interesting! ## Related diff --git a/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-snk_xed-looking-forward-to-it-what-do-i-bookmark.md b/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-snk_xed-looking-forward-to-it-what-do-i-bookmark.md index e3ec2d1..2eefaea 100644 --- a/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-snk_xed-looking-forward-to-it-what-do-i-bookmark.md +++ b/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-01-snk_xed-looking-forward-to-it-what-do-i-bookmark.md @@ -28,7 +28,9 @@ parent_post_id: "1951347512088088657" **1/** @snk_xed -@NOTimothyLottes Looking forward to it, what do I bookmark? +@NOTimothyLottes + +Looking forward to it, what do I bookmark? ## Related diff --git a/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-02-whereisratman-really-hope-you-do-this-find-your-posts-so.md b/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-02-whereisratman-really-hope-you-do-this-find-your-posts-so.md index 28375e5..18c4b6d 100644 --- a/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-02-whereisratman-really-hope-you-do-this-find-your-posts-so.md +++ b/archive/threads/NOTimothyLottes/2025-08-01-at-least-for-my-next-at-home-project-i-think-the/2025-08-02-whereisratman-really-hope-you-do-this-find-your-posts-so.md @@ -28,7 +28,9 @@ parent_post_id: "1951345967795675161" **1/** @whereisratman -@NOTimothyLottes Really hope you do this! Find your posts so interesting but usually fly over my head. +@NOTimothyLottes + +Really hope you do this! Find your posts so interesting but usually fly over my head. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-10-AgileJebrim-thats-what-i-do-one-pinned-thread-per-core-sched.md b/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-10-AgileJebrim-thats-what-i-do-one-pinned-thread-per-core-sched.md index 445b1f8..6a68fce 100644 --- a/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-10-AgileJebrim-thats-what-i-do-one-pinned-thread-per-core-sched.md +++ b/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-10-AgileJebrim-thats-what-i-do-one-pinned-thread-per-core-sched.md @@ -28,7 +28,9 @@ parent_post_id: "1976637149387587994" **1/** @AgileJebrim -@NOTimothyLottes That’s what I do. One pinned thread per core. SCHED_FIFO, highest priority, and reconfigure various settings within the OS to avoid preemptions/interrupts/hyperthreading. +@NOTimothyLottes + +That’s what I do. One pinned thread per core. SCHED_FIFO, highest priority, and reconfigure various settings within the OS to avoid preemptions/interrupts/hyperthreading. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-11-lectem-pinning-works-well-only-if-your-program-is-the.md b/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-11-lectem-pinning-works-well-only-if-your-program-is-the.md index 3984f5e..ee810e2 100644 --- a/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-11-lectem-pinning-works-well-only-if-your-program-is-the.md +++ b/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-11-lectem-pinning-works-well-only-if-your-program-is-the.md @@ -28,7 +28,9 @@ parent_post_id: "1976637149387587994" **1/** @lectem -@NOTimothyLottes Pinning works well only if your program is the only one working. Any modern computer most likely have things running in the background. If any thread gets preempted in the middle of an execution block (that happens even with job stealing) you're screwed. +@NOTimothyLottes + +Pinning works well only if your program is the only one working. Any modern computer most likely have things running in the background. If any thread gets preempted in the middle of an execution block (that happens even with job stealing) you're screwed. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-11-techno_bog-do-you-have-a-source-from-which-one-could-learn.md b/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-11-techno_bog-do-you-have-a-source-from-which-one-could-learn.md index e1a1f10..6c501b5 100644 --- a/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-11-techno_bog-do-you-have-a-source-from-which-one-could-learn.md +++ b/archive/threads/NOTimothyLottes/2025-10-10-thread-about-this-from-rfleury-https-www-rfleury/2025-10-11-techno_bog-do-you-have-a-source-from-which-one-could-learn.md @@ -28,31 +28,45 @@ parent_post_id: "1976637149387587994" **1/** @techno_bog -@NOTimothyLottes Do you have a source from which one could learn how to achieve the equivalent flexibility by following this approach? Sometimes on gaming devices you only have a handful of threads to deal with unlike on PCs. +@NOTimothyLottes + +Do you have a source from which one could learn how to achieve the equivalent flexibility by following this approach? Sometimes on gaming devices you only have a handful of threads to deal with unlike on PCs. **2/** @NOTimothyLottes -@techno_bog Oh my conclusion was to abandon using the CPU for anything other than program init-time work and some IO processing, move everything else to the GPU where one has access to a good parallel programming model. Also enable CPU to power down so GPU gets {power,thermal,bandwidth} +@techno_bog + +Oh my conclusion was to abandon using the CPU for anything other than program init-time work and some IO processing, move everything else to the GPU where one has access to a good parallel programming model. Also enable CPU to power down so GPU gets {power,thermal,bandwidth} **3/** @techno_bog -@NOTimothyLottes That’s not what you say in the post? Regardless, re the GPU, I struggle to understand how I’d do that within reasonable time. Ryan’s approach seems to be ergonomic enough to apply generically. +@NOTimothyLottes + +That’s not what you say in the post? Regardless, re the GPU, I struggle to understand how I’d do that within reasonable time. Ryan’s approach seems to be ergonomic enough to apply generically. **4/** @NOTimothyLottes -@techno_bog Oh Ryan's approach isn't bad per say, it's way better than what most people do, it just wasn't something that yielded guaranteed quality of service that I was looking for. Nothing on the CPU running Windows can do that.. +@techno_bog + +Oh Ryan's approach isn't bad per say, it's way better than what most people do, it just wasn't something that yielded guaranteed quality of service that I was looking for. Nothing on the CPU running Windows can do that.. **5/** @techno_bog -@NOTimothyLottes Then it must be going completely over my head. What are you criticizing exactly? Programming using the CPU in general? Why pick Ryan's post specifically then? +@NOTimothyLottes + +Then it must be going completely over my head. What are you criticizing exactly? Programming using the CPU in general? Why pick Ryan's post specifically then? **6/** @NOTimothyLottes -@techno_bog Criticizing the Windows lack of allowing pined exclusive core use for the foreground application. If I play a PC game, as the user, I don't want background garbage to preempt what I'm playing. Ryan's post because it is a smart way to approach the best one can do on Windows today +@techno_bog + +Criticizing the Windows lack of allowing pined exclusive core use for the foreground application. If I play a PC game, as the user, I don't want background garbage to preempt what I'm playing. Ryan's post because it is a smart way to approach the best one can do on Windows today **7/** @techno_bog -@NOTimothyLottes OK, I definitely had a reading comprehension issue here. Very new to this, thanks for clarifying. +@NOTimothyLottes + +OK, I definitely had a reading comprehension issue here. Very new to this, thanks for clarifying. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/2025-10-13-questorInter-no-floats-ever-logged-or-some-agreement-that-its.md b/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/2025-10-13-questorInter-no-floats-ever-logged-or-some-agreement-that-its.md index d70acf3..780f341 100644 --- a/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/2025-10-13-questorInter-no-floats-ever-logged-or-some-agreement-that-its.md +++ b/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/2025-10-13-questorInter-no-floats-ever-logged-or-some-agreement-that-its.md @@ -28,11 +28,15 @@ parent_post_id: "1977570893309321268" **1/** @questorInter -@NOTimothyLottes no floats ever logged? or some "agreement" that it's always multiplied by 100000 or something like that? besides, interesting (low-level) ideas I really like :) +@NOTimothyLottes + +no floats ever logged? or some "agreement" that it's always multiplied by 100000 or something like that? besides, interesting (low-level) ideas I really like :) **2/** @NOTimothyLottes -@questorInter If I need to see a float, I scale it, then convert to an interger and print that. If it is the exact value, I just bit alias as 32-bit int and print that. Problem solved :) Similar if I need to see a 64-bit pointer, I write the hi and lo as two lines, etc. +@questorInter + +If I need to see a float, I scale it, then convert to an interger and print that. If it is the exact value, I just bit alias as 32-bit int and print that. Problem solved :) Similar if I need to see a 64-bit pointer, I write the hi and lo as two lines, etc. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/2025-10-17-Karyuutensei-i-watched-the-video-and-one-thing-that-was-not.md b/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/2025-10-17-Karyuutensei-i-watched-the-video-and-one-thing-that-was-not.md index f663dd8..5b4e2e5 100644 --- a/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/2025-10-17-Karyuutensei-i-watched-the-video-and-one-thing-that-was-not.md +++ b/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/2025-10-17-Karyuutensei-i-watched-the-video-and-one-thing-that-was-not.md @@ -28,11 +28,15 @@ parent_post_id: "1977570893309321268" **1/** @Karyuutensei -@NOTimothyLottes I watched the video and one thing that was not clear to me is why is half of the file wasted. Aren’t you using all upper 16 bits of the counter for the lines? Also, what do you mean with “no retries”? +@NOTimothyLottes + +I watched the video and one thing that was not clear to me is why is half of the file wasted. Aren’t you using all upper 16 bits of the counter for the lines? Also, what do you mean with “no retries”? **2/** @NOTimothyLottes -@Karyuutensei Could have just used pow2 pages + 1 page for counter, but I got lazy. Yes could use more than 16-bits for line counter too. Reload counter could be 4-bits. Lock-free typically implies a retry-loop (non-wait-free). This however is wait-free (no retry-loop). +@Karyuutensei + +Could have just used pow2 pages + 1 page for counter, but I got lazy. Yes could use more than 16-bits for line counter too. Reload counter could be 4-bits. Lock-free typically implies a retry-loop (non-wait-free). This however is wait-free (no retry-loop). ## Related diff --git a/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/index.md b/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/index.md index ffd4e22..84547a2 100644 --- a/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/index.md +++ b/archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cpu-side-debugging-without/index.md @@ -33,8 +33,12 @@ Branches: [[archive/threads/NOTimothyLottes/2025-10-13-short-talk-on-how-i-do-cp **2/** @AgileJebrim -@NOTimothyLottes No retries - you should call it wait-free too. +@NOTimothyLottes + +No retries - you should call it wait-free too. **3/** @NOTimothyLottes -@AgileJebrim Good point, I'm going to adopt that 'wait-free' term moving forward :) +@AgileJebrim + +Good point, I'm going to adopt that 'wait-free' term moving forward :) diff --git a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-AgileJebrim-reversed-is-a-significant-improvement-but-it.md b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-AgileJebrim-reversed-is-a-significant-improvement-but-it.md index b05e6e5..2c9ec1c 100644 --- a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-AgileJebrim-reversed-is-a-significant-improvement-but-it.md +++ b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-AgileJebrim-reversed-is-a-significant-improvement-but-it.md @@ -32,7 +32,9 @@ Reversed is a significant improvement but it still has its limitations when doin **2/** @NOTimothyLottes -@AgileJebrim Yes for my non-tri stuff I'm log depth already. This is just for games, not simulation. +@AgileJebrim + +Yes for my non-tri stuff I'm log depth already. This is just for games, not simulation. **3/** @AgileJebrim diff --git a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-bgolus-many-are-still-on-opengles-and-webgl-which-dont.md b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-bgolus-many-are-still-on-opengles-and-webgl-which-dont.md index a64acad..a91f9f5 100644 --- a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-bgolus-many-are-still-on-opengles-and-webgl-which-dont.md +++ b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-bgolus-many-are-still-on-opengles-and-webgl-which-dont.md @@ -28,7 +28,9 @@ parent_post_id: "1990260050485797063" **1/** @bgolus -@NOTimothyLottes Many are still on OpenGLES and WebGL, which don’t properly support inverse depth due to still using a -1 to 1 clip space. Not really a problem for inverse depth in its own, but does cause problems for infinite far depth. +@NOTimothyLottes + +Many are still on OpenGLES and WebGL, which don’t properly support inverse depth due to still using a -1 to 1 clip space. Not really a problem for inverse depth in its own, but does cause problems for infinite far depth. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-terekhov_de-ive-never-had-real-depth-precision-issues-in-our.md b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-terekhov_de-ive-never-had-real-depth-precision-issues-in-our.md index 160fc0e..b101e3d 100644 --- a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-terekhov_de-ive-never-had-real-depth-precision-issues-in-our.md +++ b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-17-terekhov_de-ive-never-had-real-depth-precision-issues-in-our.md @@ -28,7 +28,9 @@ parent_post_id: "1990260050485797063" **1/** @terekhov_de -@NOTimothyLottes I've never had real depth precision issues in our game ports but I guess I'd better just adopt and get used to reversed infinite projection cause it's objectively better. Promise to try it for our next project :) +@NOTimothyLottes + +I've never had real depth precision issues in our game ports but I guess I'd better just adopt and get used to reversed infinite projection cause it's objectively better. Promise to try it for our next project :) ## Related diff --git a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-18-Alecazam123-infinite-far-doesnt-apply-to-ortho-and-many-of.md b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-18-Alecazam123-infinite-far-doesnt-apply-to-ortho-and-many-of.md index 2438717..601a677 100644 --- a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-18-Alecazam123-infinite-far-doesnt-apply-to-ortho-and-many-of.md +++ b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-18-Alecazam123-infinite-far-doesnt-apply-to-ortho-and-many-of.md @@ -28,7 +28,9 @@ parent_post_id: "1990260050485797063" **1/** @Alecazam123 -@NOTimothyLottes Infinite far doesn’t apply to ortho, and many of editors/engines need to switch camera viewports. But it’s great for persp. Also too much code handing modeInv for normals, which is wrong and unneeded. +@NOTimothyLottes + +Infinite far doesn’t apply to ortho, and many of editors/engines need to switch camera viewports. But it’s great for persp. Also too much code handing modeInv for normals, which is wrong and unneeded. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-19-stainless_code-i-havent-really-done-graphics-in-a-while-but-ive.md b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-19-stainless_code-i-havent-really-done-graphics-in-a-while-but-ive.md index 58e3a81..48a754a 100644 --- a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-19-stainless_code-i-havent-really-done-graphics-in-a-while-but-ive.md +++ b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/2025-11-19-stainless_code-i-havent-really-done-graphics-in-a-while-but-ive.md @@ -28,12 +28,16 @@ parent_post_id: "1990260050485797063" **1/** @stainless_code -@NOTimothyLottes I haven't really done graphics in a while, but I've never heard about infinite far nor reversed z, where can I read up on it more? +@NOTimothyLottes + +I haven't really done graphics in a while, but I've never heard about infinite far nor reversed z, where can I read up on it more? Some cursory googling didn't return anything useful on this topic. **2/** @NOTimothyLottes -@stainless_code I put some docs (based on an old blog post) on projection matrix stuff inside STP source: https://github.com/Unity-Technologies/Graphics/blob/master/Packages/com.unity.render-pipelines.core/Runtime/STP/Stp.hlsl - Documents the maths to take depth and 2 projections and get a static reprojection vector for example. +@stainless_code + +I put some docs (based on an old blog post) on projection matrix stuff inside STP source: https://github.com/Unity-Technologies/Graphics/blob/master/Packages/com.unity.render-pipelines.core/Runtime/STP/Stp.hlsl - Documents the maths to take depth and 2 projections and get a static reprojection vector for example. ## Related diff --git a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/index.md b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/index.md index 809242f..a758ae1 100644 --- a/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/index.md +++ b/archive/threads/NOTimothyLottes/2025-11-17-i-wish-everyone-would-just-adopt-reversed-with/index.md @@ -39,7 +39,9 @@ Reversed is a significant improvement but it still has its limitations when doin **3/** @NOTimothyLottes -@AgileJebrim Yes for my non-tri stuff I'm log depth already. This is just for games, not simulation. +@AgileJebrim + +Yes for my non-tri stuff I'm log depth already. This is just for games, not simulation. **4/** @AgileJebrim diff --git a/archive/threads/NOTimothyLottes/2026-01-14-can-do-that/index.md b/archive/threads/NOTimothyLottes/2026-01-14-can-do-that/index.md index 70718e2..7f6b65c 100644 --- a/archive/threads/NOTimothyLottes/2026-01-14-can-do-that/index.md +++ b/archive/threads/NOTimothyLottes/2026-01-14-can-do-that/index.md @@ -31,4 +31,6 @@ in_reply_to: "2011353617102741593" **1/** @NOTimothyLottes -@VPCOMPRESSB Can do that. But at least these kinds of systems are already faster than human response time (excluding when they have external dependencies on say on some other kernel like Linux). I'll be able to recompile all binary code (including GPU-side) in a tiny fraction of frame time. +@VPCOMPRESSB + +Can do that. But at least these kinds of systems are already faster than human response time (excluding when they have external dependencies on say on some other kernel like Linux). I'll be able to recompile all binary code (including GPU-side) in a tiny fraction of frame time. diff --git a/archive/threads/NOTimothyLottes/2026-03-08-ill-add-one-conspiracy-theory-for-everyone/2026-03-08-gindi4711-did-they-not-just-use-more-historical-frames-to.md b/archive/threads/NOTimothyLottes/2026-03-08-ill-add-one-conspiracy-theory-for-everyone/2026-03-08-gindi4711-did-they-not-just-use-more-historical-frames-to.md index 818a332..93e3ec5 100644 --- a/archive/threads/NOTimothyLottes/2026-03-08-ill-add-one-conspiracy-theory-for-everyone/2026-03-08-gindi4711-did-they-not-just-use-more-historical-frames-to.md +++ b/archive/threads/NOTimothyLottes/2026-03-08-ill-add-one-conspiracy-theory-for-everyone/2026-03-08-gindi4711-did-they-not-just-use-more-historical-frames-to.md @@ -28,11 +28,15 @@ parent_post_id: "2030722033286328426" **1/** @gindi4711 -@NOTimothyLottes Did they not just use more historical frames to get their samples and have a better model to compensate for the side effects? +@NOTimothyLottes + +Did they not just use more historical frames to get their samples and have a better model to compensate for the side effects? **2/** @NOTimothyLottes -@gindi4711 Costs went up a lot so maybe. But cannot really add frames of context without getting costly. Secondary option is to store extra data in feedback sideband. +@gindi4711 + +Costs went up a lot so maybe. But cannot really add frames of context without getting costly. Secondary option is to store extra data in feedback sideband. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-05-29-the_geeko1-this-doesnt-have-to-be-like-this-but-the-new-dma.md b/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-05-29-the_geeko1-this-doesnt-have-to-be-like-this-but-the-new-dma.md index 1a18f2b..d24b31c 100644 --- a/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-05-29-the_geeko1-this-doesnt-have-to-be-like-this-but-the-new-dma.md +++ b/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-05-29-the_geeko1-this-doesnt-have-to-be-like-this-but-the-new-dma.md @@ -28,35 +28,51 @@ parent_post_id: "2060198133905199300" **1/** @the_geeko1 -@NOTimothyLottes this doesn't have to be like this .. but the new DMA-buf changes are not upstreamed yet on linux .. if that's done I would love to upstream my changes to the AMD KMD so u can have actual physical addresses of VRAM exported. +@NOTimothyLottes + +this doesn't have to be like this .. but the new DMA-buf changes are not upstreamed yet on linux .. if that's done I would love to upstream my changes to the AMD KMD so u can have actual physical addresses of VRAM exported. **2/** @the_geeko1 -@NOTimothyLottes on the other side u could assign vfio-pci driver to the other device and write the drivers on user-space on both CPU/GPU and cut out the kernel drivers out the picture which is quite nice. +@NOTimothyLottes + +on the other side u could assign vfio-pci driver to the other device and write the drivers on user-space on both CPU/GPU and cut out the kernel drivers out the picture which is quite nice. **3/** @NOTimothyLottes -@the_geeko1 This reminds me, I don't actually know how GPU audio (HDMI out) works, but I've always assumed it was a private onboard memory where regular shader load/store doesn't have access. The bandwidth though is tiny, so that round trip through the CPU is mostly just a latency concern +@the_geeko1 + +This reminds me, I don't actually know how GPU audio (HDMI out) works, but I've always assumed it was a private onboard memory where regular shader load/store doesn't have access. The bandwidth though is tiny, so that round trip through the CPU is mostly just a latency concern **4/** @NOTimothyLottes -@the_geeko1 And by latency, it's mostly a question of how to get a consistent small workload through the GPU at a periodic schedule (feed the data to the CPU right before it's needed for the copy back to the GPU) +@the_geeko1 + +And by latency, it's mostly a question of how to get a consistent small workload through the GPU at a periodic schedule (feed the data to the CPU right before it's needed for the copy back to the GPU) **5/** @NOTimothyLottes -@the_geeko1 Networking is interesting, in that one could do a SALU/SMEM approach to processing packets, or one could do something like work with only fixed size UDP packets and process them using VALU/VMEM, in which case the CPU could interleave/deinterleave the dwords for good GPU access +@the_geeko1 + +Networking is interesting, in that one could do a SALU/SMEM approach to processing packets, or one could do something like work with only fixed size UDP packets and process them using VALU/VMEM, in which case the CPU could interleave/deinterleave the dwords for good GPU access **6/** @NOTimothyLottes -@the_geeko1 With the SALU/SMEM approach, having direct communication with the network card could be nice, but I doubt the linux folks want to allow raw UDP header/payload DMA scatter/gather bypassing all the OS layers +@the_geeko1 + +With the SALU/SMEM approach, having direct communication with the network card could be nice, but I doubt the linux folks want to allow raw UDP header/payload DMA scatter/gather bypassing all the OS layers **7/** @the_geeko1 -@NOTimothyLottes It's always an option to drop the kernel driver and assign the vfio-pci driver and write a custom driver on user space .. also there some NICs with a programmable chip on them .. they could be programmed to DMA some packets into CPU memory like normal and some into the GPU +@NOTimothyLottes + +It's always an option to drop the kernel driver and assign the vfio-pci driver and write a custom driver on user space .. also there some NICs with a programmable chip on them .. they could be programmed to DMA some packets into CPU memory like normal and some into the GPU **8/** @the_geeko1 -@NOTimothyLottes Nvidia calls them DPU I think ? those are also useful for GPUs to share data if on the same network .. and I think that is the main driver behind Nvidia's work on restructuring how the DMA-bufs work on linux. +@NOTimothyLottes + +Nvidia calls them DPU I think ? those are also useful for GPUs to share data if on the same network .. and I think that is the main driver behind Nvidia's work on restructuring how the DMA-bufs work on linux. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-05-30-nicbarkeragain-very-keen-to-see-how-the-gpu-side-audio-turns-out.md b/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-05-30-nicbarkeragain-very-keen-to-see-how-the-gpu-side-audio-turns-out.md index 042974e..c209462 100644 --- a/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-05-30-nicbarkeragain-very-keen-to-see-how-the-gpu-side-audio-turns-out.md +++ b/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-05-30-nicbarkeragain-very-keen-to-see-how-the-gpu-side-audio-turns-out.md @@ -28,11 +28,15 @@ parent_post_id: "2060186437820010850" **1/** @nicbarkeragain -@NOTimothyLottes Very keen to see how the GPU side audio turns out! +@NOTimothyLottes + +Very keen to see how the GPU side audio turns out! **2/** @NOTimothyLottes -@nicbarkeragain To get the low latency Im looking for will require chunking up all work on the GPU and interleaving slots for audio processing. Lower bound on processing granularity is 32 stereo samples in a 64 wave, so less than a millisecond of representative time +@nicbarkeragain + +To get the low latency Im looking for will require chunking up all work on the GPU and interleaving slots for audio processing. Lower bound on processing granularity is 32 stereo samples in a 64 wave, so less than a millisecond of representative time ## Related diff --git a/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-06-27-mrsteyk1-its-seemingly-incorrect-due-to-its-use-for.md b/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-06-27-mrsteyk1-its-seemingly-incorrect-due-to-its-use-for.md index dfec17e..3cc0675 100644 --- a/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-06-27-mrsteyk1-its-seemingly-incorrect-due-to-its-use-for.md +++ b/archive/threads/NOTimothyLottes/2026-05-29-took-perhaps-a-5-month-vacation-from-at-home/2026-06-27-mrsteyk1-its-seemingly-incorrect-due-to-its-use-for.md @@ -28,7 +28,9 @@ parent_post_id: "2060190230838223346" **1/** @mrsteyk1 -@NOTimothyLottes It's seemingly incorrect due to it's use for NtWaitForAlertByThreadId. Internal implementation is a hash table [128] indexed by (a1>>5)&0x7f inside PEB. Default spin value (v4) for my build is 10240 shared for similar type of functions (SRWLocks etc). +@NOTimothyLottes + +It's seemingly incorrect due to it's use for NtWaitForAlertByThreadId. Internal implementation is a hash table [128] indexed by (a1>>5)&0x7f inside PEB. Default spin value (v4) for my build is 10240 shared for similar type of functions (SRWLocks etc). ![](https://pbs.twimg.com/media/HL1JKE7bIAAHEGc?format=png&name=orig) diff --git a/archive/threads/NOTimothyLottes/2026-05-30-renovating-cpu-clock-code/2026-05-31-FUZxxl-if-you-do-the-multiply-in-uint128-t-and-then.md b/archive/threads/NOTimothyLottes/2026-05-30-renovating-cpu-clock-code/2026-05-31-FUZxxl-if-you-do-the-multiply-in-uint128-t-and-then.md index eb1908c..416929a 100644 --- a/archive/threads/NOTimothyLottes/2026-05-30-renovating-cpu-clock-code/2026-05-31-FUZxxl-if-you-do-the-multiply-in-uint128-t-and-then.md +++ b/archive/threads/NOTimothyLottes/2026-05-30-renovating-cpu-clock-code/2026-05-31-FUZxxl-if-you-do-the-multiply-in-uint128-t-and-then.md @@ -28,15 +28,21 @@ parent_post_id: "2060730425929080874" **1/** @FUZxxl -@NOTimothyLottes If you do the multiply in uint128_t and then right-shift by 64 places, the compiler should do the right thing. +@NOTimothyLottes + +If you do the multiply in uint128_t and then right-shift by 64 places, the compiler should do the right thing. **2/** @NOTimothyLottes -@FUZxxl “Should” is exactly why I prefer the actual instruction instrinsics or just inline asm (which is what I use on C CPU land) +@FUZxxl + +“Should” is exactly why I prefer the actual instruction instrinsics or just inline asm (which is what I use on C CPU land) **3/** @FUZxxl -@NOTimothyLottes Have fun with a solution that the compiler optimises worse and that is not portable. +@NOTimothyLottes + +Have fun with a solution that the compiler optimises worse and that is not portable. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-05-31-no-debugger-debug-console-printf-style-prior/2026-05-31-retrotink2-here-i-am-still-debugging-by-looking-at-if-a.md b/archive/threads/NOTimothyLottes/2026-05-31-no-debugger-debug-console-printf-style-prior/2026-05-31-retrotink2-here-i-am-still-debugging-by-looking-at-if-a.md index 5e02497..d9c1e18 100644 --- a/archive/threads/NOTimothyLottes/2026-05-31-no-debugger-debug-console-printf-style-prior/2026-05-31-retrotink2-here-i-am-still-debugging-by-looking-at-if-a.md +++ b/archive/threads/NOTimothyLottes/2026-05-31-no-debugger-debug-console-printf-style-prior/2026-05-31-retrotink2-here-i-am-still-debugging-by-looking-at-if-a.md @@ -28,11 +28,15 @@ parent_post_id: "2061123768429211767" **1/** @retrotink2 -@NOTimothyLottes Here I am still debugging by looking at if a single LED turns on. +@NOTimothyLottes + +Here I am still debugging by looking at if a single LED turns on. **2/** @NOTimothyLottes -@retrotink2 That plus an oscilloscope … this is the way +@retrotink2 + +That plus an oscilloscope … this is the way ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-01-windows-thread-priority/2026-06-02-iamwhosiam-i-dont-think-your-even-suppose-to-change-your.md b/archive/threads/NOTimothyLottes/2026-06-01-windows-thread-priority/2026-06-02-iamwhosiam-i-dont-think-your-even-suppose-to-change-your.md index c0b6039..39196b3 100644 --- a/archive/threads/NOTimothyLottes/2026-06-01-windows-thread-priority/2026-06-02-iamwhosiam-i-dont-think-your-even-suppose-to-change-your.md +++ b/archive/threads/NOTimothyLottes/2026-06-01-windows-thread-priority/2026-06-02-iamwhosiam-i-dont-think-your-even-suppose-to-change-your.md @@ -28,11 +28,15 @@ parent_post_id: "2061416116694442141" **1/** @iamwhosiam -@NOTimothyLottes I don’t think your even suppose to change your thread’s priority in general anymore, it just messes with scheduling. +@NOTimothyLottes + +I don’t think your even suppose to change your thread’s priority in general anymore, it just messes with scheduling. **2/** @NOTimothyLottes -@iamwhosiam Try using low latency pro audio tools and disabling the app’s authorization for high priority scheduling +@iamwhosiam + +Try using low latency pro audio tools and disabling the app’s authorization for high priority scheduling ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-10-so-im-on-linux-now-but-obviously-i-cheated/2026-06-11-RouaniJihad-my-patience-is-this-thin-with-win11-right-now-but.md b/archive/threads/NOTimothyLottes/2026-06-10-so-im-on-linux-now-but-obviously-i-cheated/2026-06-11-RouaniJihad-my-patience-is-this-thin-with-win11-right-now-but.md index ed61570..2b8a7f6 100644 --- a/archive/threads/NOTimothyLottes/2026-06-10-so-im-on-linux-now-but-obviously-i-cheated/2026-06-11-RouaniJihad-my-patience-is-this-thin-with-win11-right-now-but.md +++ b/archive/threads/NOTimothyLottes/2026-06-10-so-im-on-linux-now-but-obviously-i-cheated/2026-06-11-RouaniJihad-my-patience-is-this-thin-with-win11-right-now-but.md @@ -28,7 +28,9 @@ parent_post_id: "2064858927829745887" **1/** @RouaniJihad -@NOTimothyLottes My patience is this 🤏 thin with win11 right now, but Linux sounds like too much work, Mac is probably easier with more native software +@NOTimothyLottes + +My patience is this 🤏 thin with win11 right now, but Linux sounds like too much work, Mac is probably easier with more native software ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-10-so-im-on-linux-now-but-obviously-i-cheated/2026-06-11-mcnabbd-fascinating-to-me-how-this-challenge-would-have.md b/archive/threads/NOTimothyLottes/2026-06-10-so-im-on-linux-now-but-obviously-i-cheated/2026-06-11-mcnabbd-fascinating-to-me-how-this-challenge-would-have.md index d0b90cb..853354f 100644 --- a/archive/threads/NOTimothyLottes/2026-06-10-so-im-on-linux-now-but-obviously-i-cheated/2026-06-11-mcnabbd-fascinating-to-me-how-this-challenge-would-have.md +++ b/archive/threads/NOTimothyLottes/2026-06-10-so-im-on-linux-now-but-obviously-i-cheated/2026-06-11-mcnabbd-fascinating-to-me-how-this-challenge-would-have.md @@ -28,11 +28,15 @@ parent_post_id: "2064858927829745887" **1/** @mcnabbd -@NOTimothyLottes fascinating to me how this challenge would have captivated me a couple decades ago but now i just wanna run away +@NOTimothyLottes + +fascinating to me how this challenge would have captivated me a couple decades ago but now i just wanna run away **2/** @NOTimothyLottes -@mcnabbd Similar feelings. Used to build linux from scratch in the BIOS era, also ran FreeBSD/etc, just for fun. But things had been easier then. Now years of technical debt later, all my tolerance for complexity has been fully exhausted. +@mcnabbd + +Similar feelings. Used to build linux from scratch in the BIOS era, also ran FreeBSD/etc, just for fun. But things had been easier then. Now years of technical debt later, all my tolerance for complexity has been fully exhausted. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-13-cross-compilation-is-up/2026-06-13-tomcr2100-interesting-font-does-it-have-a-name.md b/archive/threads/NOTimothyLottes/2026-06-13-cross-compilation-is-up/2026-06-13-tomcr2100-interesting-font-does-it-have-a-name.md index 7943483..9954a4a 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-cross-compilation-is-up/2026-06-13-tomcr2100-interesting-font-does-it-have-a-name.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-cross-compilation-is-up/2026-06-13-tomcr2100-interesting-font-does-it-have-a-name.md @@ -28,7 +28,9 @@ parent_post_id: "2065832746757341482" **1/** @tomcr2100 -@NOTimothyLottes Interesting font, does it have a name? +@NOTimothyLottes + +Interesting font, does it have a name? ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-13-cross-compilation-is-up/index.md b/archive/threads/NOTimothyLottes/2026-06-13-cross-compilation-is-up/index.md index d2f8dd0..a157784 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-cross-compilation-is-up/index.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-cross-compilation-is-up/index.md @@ -40,7 +40,9 @@ Found my first of perhaps many Wine “fix me”s looks like they didn’t emula **3/** @never_released -@NOTimothyLottes Intriguingly Microsoft documentation has this bit +@NOTimothyLottes + +Intriguingly Microsoft documentation has this bit The bit that worries me specifically is the non-guarantee "across live migration of virtual machines", although I don't expect games to care all that much about _that_? @@ -50,4 +52,6 @@ https://learn.microsoft.com/en-us/windows/win32/sysinfo/acquiring-high-resolutio **4/** @NOTimothyLottes -@never_released It will be a sad day when we have to be concerned about VM migration while playing a game on a local machine +@never_released + +It will be a sad day when we have to be concerned about VM migration while playing a game on a local machine diff --git a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-BonbliStar-most-futex-impls-ive-seen-check-for-that-and.md b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-BonbliStar-most-futex-impls-ive-seen-check-for-that-and.md index 5399599..1c16a7f 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-BonbliStar-most-futex-impls-ive-seen-check-for-that-and.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-BonbliStar-most-futex-impls-ive-seen-check-for-that-and.md @@ -28,11 +28,15 @@ parent_post_id: "2065840191340707905" **1/** @BonbliStar -@NOTimothyLottes most futex impls i've seen check for that and early return before the syscall, but you likely already knew that +@NOTimothyLottes + +most futex impls i've seen check for that and early return before the syscall, but you likely already knew that **2/** @NOTimothyLottes -@BonbliStar Yes, the comment was more the point of designing for the worst case, the limit of possibly blocking calls that interact with the scheduling. +@BonbliStar + +Yes, the comment was more the point of designing for the worst case, the limit of possibly blocking calls that interact with the scheduling. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-NOTimothyLottes-the-glibc-implementation-would-do-that-i-bypass.md b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-NOTimothyLottes-the-glibc-implementation-would-do-that-i-bypass.md index 2deb516..c9037e2 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-NOTimothyLottes-the-glibc-implementation-would-do-that-i-bypass.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-NOTimothyLottes-the-glibc-implementation-would-do-that-i-bypass.md @@ -28,7 +28,9 @@ parent_post_id: "2065851939917906296" **1/** @NOTimothyLottes -@axelgneiting The glibc implementation would do that. I bypass libc and just do it manually with perf_event_open syscall and mmap. +@axelgneiting + +The glibc implementation would do that. I bypass libc and just do it manually with perf_event_open syscall and mmap. ![](https://pbs.twimg.com/media/HKtzz5RXcAA6CIX?format=jpg&name=orig) diff --git a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-raggi-nanosleep-0-will-sleep-for-the-timer-slack-mm.md b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-raggi-nanosleep-0-will-sleep-for-the-timer-slack-mm.md index 770a05a..9aadc47 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-raggi-nanosleep-0-will-sleep-for-the-timer-slack-mm.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-raggi-nanosleep-0-will-sleep-for-the-timer-slack-mm.md @@ -28,13 +28,17 @@ parent_post_id: "2065840191340707905" **1/** @raggi -@NOTimothyLottes nanosleep(0) will sleep for the timer slack +@NOTimothyLottes + +nanosleep(0) will sleep for the timer slack _mm_pause() if you want to avoid a context switch and keep your scheduler quantum **2/** @NOTimothyLottes -@raggi I do that via inline asm to save power. This was more a comment on the cost of actually using the futex system call, need to be careful about the call frequency +@raggi + +I do that via inline asm to save power. This was more a comment on the cost of actually using the futex system call, need to be careful about the call frequency ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-rflaherty71-seems-like-people-trying-to-push-high-frame-rates.md b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-rflaherty71-seems-like-people-trying-to-push-high-frame-rates.md index dd01197..4c7363f 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-rflaherty71-seems-like-people-trying-to-push-high-frame-rates.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-rflaherty71-seems-like-people-trying-to-push-high-frame-rates.md @@ -28,19 +28,27 @@ parent_post_id: "2065840191340707905" **1/** @rflaherty71 -@NOTimothyLottes Seems like people trying to push high frame rates would be perfectly fine with just busy spinning at that point +@NOTimothyLottes + +Seems like people trying to push high frame rates would be perfectly fine with just busy spinning at that point **2/** @NOTimothyLottes -@rflaherty71 Not exactly true, the larger problem is getting context switched at a bad time, so getting non-blocking bound comes with another set of dangers (higher bad preemption risk) +@rflaherty71 + +Not exactly true, the larger problem is getting context switched at a bad time, so getting non-blocking bound comes with another set of dangers (higher bad preemption risk) **3/** @AgileJebrim -@NOTimothyLottes @rflaherty71 All the more reason to go GPU-side where that can’t occur. +@NOTimothyLottes @rflaherty71 + +All the more reason to go GPU-side where that can’t occur. **4/** @NOTimothyLottes -@AgileJebrim @rflaherty71 Consumer GPU side is littered with junk these days, starting with multi display compositors. +@AgileJebrim @rflaherty71 + +Consumer GPU side is littered with junk these days, starting with multi display compositors. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-winning_tactic-why-not-do-a-gradual-sleeping-start-with-while.md b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-winning_tactic-why-not-do-a-gradual-sleeping-start-with-while.md index 0b987b7..4317a00 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-winning_tactic-why-not-do-a-gradual-sleeping-start-with-while.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-interesting-how-on-this-linux-box-scheduling-nops/2026-06-13-winning_tactic-why-not-do-a-gradual-sleeping-start-with-while.md @@ -41,7 +41,9 @@ But I've never considered a write to a dummy file as a legitimate yield/wait tri **2/** @NOTimothyLottes -@winning_tactic I don’t design around waiting for a specific point in time, I do other things, but talk about them when I can easily show the results +@winning_tactic + +I don’t design around waiting for a specific point in time, I do other things, but talk about them when I can easily show the results **3/** @winning_tactic @@ -51,11 +53,15 @@ But I've got to work on the power stuff and steal your idea of course. **4/** @NOTimothyLottes -@winning_tactic Ahh the illusion of nonblocking execution on consumer devices. The moment the os decides to preempt your thread, there no longer exists a non blocking interface. A single thread never gets a guarantee of execution, so waiting for some exact point in time is failed design +@winning_tactic + +Ahh the illusion of nonblocking execution on consumer devices. The moment the os decides to preempt your thread, there no longer exists a non blocking interface. A single thread never gets a guarantee of execution, so waiting for some exact point in time is failed design **5/** @winning_tactic -@NOTimothyLottes It's green threads multiplexed on pinned threads both cooperatively and preemptively. I beg your pardon!~ +@NOTimothyLottes + +It's green threads multiplexed on pinned threads both cooperatively and preemptively. I beg your pardon!~ https://gitlab.com/qsrc.net/Lampyr/-/blob/dev/rt/task.c?ref_type=heads But, that particular version is a WIP, multiple impl and messy. diff --git a/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-eternalclassic_-you-can-use-camac-free-to-take-raw-photos-on.md b/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-eternalclassic_-you-can-use-camac-free-to-take-raw-photos-on.md index 2f2ef35..a88f2a5 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-eternalclassic_-you-can-use-camac-free-to-take-raw-photos-on.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-eternalclassic_-you-can-use-camac-free-to-take-raw-photos-on.md @@ -28,11 +28,15 @@ parent_post_id: "2065804972378243476" **1/** @eternalclassic_ -@NOTimothyLottes you can use camac (free) to take raw photos on iphone without post-processing shit +@NOTimothyLottes + +you can use camac (free) to take raw photos on iphone without post-processing shit **2/** @NOTimothyLottes -@eternalclassic_ Will have to try that thanks +@eternalclassic_ + +Will have to try that thanks ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-quiveron_x-why-are-you-using-crt.md b/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-quiveron_x-why-are-you-using-crt.md index b9f5204..792e7ef 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-quiveron_x-why-are-you-using-crt.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-quiveron_x-why-are-you-using-crt.md @@ -28,11 +28,15 @@ parent_post_id: "2065804972378243476" **1/** @quiveron_x -@NOTimothyLottes Why are you using CRT +@NOTimothyLottes + +Why are you using CRT **2/** @NOTimothyLottes -@quiveron_x Still the best display technology IMO. Low persistence, analog, variable resolution, smooth continuous blended signal, deep blacks, great contrast, etc. +@quiveron_x + +Still the best display technology IMO. Low persistence, analog, variable resolution, smooth continuous blended signal, deep blacks, great contrast, etc. **3/** @quiveron_x diff --git a/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-winning_tactic-hz-sharing-i-wonder-if-crts-can-be-changed-like.md b/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-winning_tactic-hz-sharing-i-wonder-if-crts-can-be-changed-like.md index 921b18f..06b2f04 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-winning_tactic-hz-sharing-i-wonder-if-crts-can-be-changed-like.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-13-winning_tactic-hz-sharing-i-wonder-if-crts-can-be-changed-like.md @@ -28,7 +28,9 @@ parent_post_id: "2065804972378243476" **1/** @winning_tactic -@NOTimothyLottes Hz sharing? I wonder if CRTs can be changed like 60 -> 59 Hz, and if that would correct it? I do not know whether any is correct, but I'd betcha there's some kinda thing there about that. Why would the iphone has .. no it's not mechanical, so I have no clue but that is a puzzle +@NOTimothyLottes + +Hz sharing? I wonder if CRTs can be changed like 60 -> 59 Hz, and if that would correct it? I do not know whether any is correct, but I'd betcha there's some kinda thing there about that. Why would the iphone has .. no it's not mechanical, so I have no clue but that is a puzzle ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-14-mayemayey-ohh-what-is-that-a-2070sb.md b/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-14-mayemayey-ohh-what-is-that-a-2070sb.md index 01d1c33..b7bbdee 100644 --- a/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-14-mayemayey-ohh-what-is-that-a-2070sb.md +++ b/archive/threads/NOTimothyLottes/2026-06-13-nanorc-done-and-back-to-actual-programming-with/2026-06-14-mayemayey-ohh-what-is-that-a-2070sb.md @@ -28,27 +28,39 @@ parent_post_id: "2065804972378243476" **1/** @mayemayey -@NOTimothyLottes ohh what is that? a 2070SB? +@NOTimothyLottes + +ohh what is that? a 2070SB? **2/** @NOTimothyLottes -@mayemayey FP2141SB +@mayemayey + +FP2141SB **3/** @mayemayey -@NOTimothyLottes yep. that's a rebranded 2070sb haha. there's an hsync/vsync (~152khz, 254hz) overclocking tutorial if you ever feel daring enough to. 😉 +@NOTimothyLottes + +yep. that's a rebranded 2070sb haha. there's an hsync/vsync (~152khz, 254hz) overclocking tutorial if you ever feel daring enough to. 😉 **4/** @NOTimothyLottes -@mayemayey Those crazy refresh rates are long past diminishing returns though due to the fixed phosphor decay. Great display, only big flaw is the vertical nonlinearity at the extreme top and bottom. +@mayemayey + +Those crazy refresh rates are long past diminishing returns though due to the fixed phosphor decay. Great display, only big flaw is the vertical nonlinearity at the extreme top and bottom. **5/** @mayemayey -@NOTimothyLottes do you have any blurriness in the corners? +@NOTimothyLottes + +do you have any blurriness in the corners? **6/** @NOTimothyLottes -@mayemayey It might if I ran it at peak resolutions but I mostly stick to higher refresh rates instead, so wouldn’t notice. +@mayemayey + +It might if I ran it at peak resolutions but I mostly stick to higher refresh rates instead, so wouldn’t notice. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-14-Social_Vulture-running-in-crt-or-are-you-emulating-scanlines-in.md b/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-14-Social_Vulture-running-in-crt-or-are-you-emulating-scanlines-in.md index 1b3ddaf..7b7991a 100644 --- a/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-14-Social_Vulture-running-in-crt-or-are-you-emulating-scanlines-in.md +++ b/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-14-Social_Vulture-running-in-crt-or-are-you-emulating-scanlines-in.md @@ -28,7 +28,9 @@ parent_post_id: "2066184005632786736" **1/** @Social_Vulture -@NOTimothyLottes Running in CRT or are you emulating scanlines in your editor? +@NOTimothyLottes + +Running in CRT or are you emulating scanlines in your editor? ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-15-GrowlerEnjooyer-there-is-0-chance-you-actually-use-this-font-its.md b/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-15-GrowlerEnjooyer-there-is-0-chance-you-actually-use-this-font-its.md index b2b0e17..f4cc626 100644 --- a/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-15-GrowlerEnjooyer-there-is-0-chance-you-actually-use-this-font-its.md +++ b/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-15-GrowlerEnjooyer-there-is-0-chance-you-actually-use-this-font-its.md @@ -28,19 +28,27 @@ parent_post_id: "2066184005632786736" **1/** @GrowlerEnjooyer -@NOTimothyLottes There is 0 chance you actually use this font. It's for the meme, right? +@NOTimothyLottes + +There is 0 chance you actually use this font. It's for the meme, right? **2/** @NOTimothyLottes -@GrowlerEnjooyer Oh I definitely use this font, was designed to be extremely easy to visually parse for code. +@GrowlerEnjooyer + +Oh I definitely use this font, was designed to be extremely easy to visually parse for code. **3/** @GrowlerEnjooyer -@NOTimothyLottes Bravo, well played Mr troll +@NOTimothyLottes + +Bravo, well played Mr troll **4/** @NOTimothyLottes -@GrowlerEnjooyer Not trolling, actually do use the font for my terminals on that dev box +@GrowlerEnjooyer + +Not trolling, actually do use the font for my terminals on that dev box ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-15-sadhuIGI-also-this-font-is-cursed.md b/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-15-sadhuIGI-also-this-font-is-cursed.md index 8f1b594..e46e8a3 100644 --- a/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-15-sadhuIGI-also-this-font-is-cursed.md +++ b/archive/threads/NOTimothyLottes/2026-06-14-on-linux-i-do-speculative-pinning-of-cpu-memory/2026-06-15-sadhuIGI-also-this-font-is-cursed.md @@ -28,7 +28,9 @@ parent_post_id: "2066184005632786736" **1/** @sadhuIGI -@NOTimothyLottes Also this font is cursed +@NOTimothyLottes + +Also this font is cursed ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-26-quick-summary-of-why-not-pselect-ppoll-epoll/2026-06-26-AgileJebrim-sendmmsg-recvmmsg-can-only-work-with-1024-packets.md b/archive/threads/NOTimothyLottes/2026-06-26-quick-summary-of-why-not-pselect-ppoll-epoll/2026-06-26-AgileJebrim-sendmmsg-recvmmsg-can-only-work-with-1024-packets.md index 7e3a4f6..b37cc7b 100644 --- a/archive/threads/NOTimothyLottes/2026-06-26-quick-summary-of-why-not-pselect-ppoll-epoll/2026-06-26-AgileJebrim-sendmmsg-recvmmsg-can-only-work-with-1024-packets.md +++ b/archive/threads/NOTimothyLottes/2026-06-26-quick-summary-of-why-not-pselect-ppoll-epoll/2026-06-26-AgileJebrim-sendmmsg-recvmmsg-can-only-work-with-1024-packets.md @@ -32,23 +32,33 @@ sendmmsg/recvmmsg can only work with 1024 packets at a time unfortunately. You **2/** @NOTimothyLottes -@AgileJebrim Yes 1024 max, so best case 1/1024 the syscall count (well factored). As for overhead, for a co-located server you could always hijack the network card driver and just move your server into it and run kernel side if you really wanted to. +@AgileJebrim + +Yes 1024 max, so best case 1/1024 the syscall count (well factored). As for overhead, for a co-located server you could always hijack the network card driver and just move your server into it and run kernel side if you really wanted to. **3/** @AgileJebrim -@NOTimothyLottes If you want to be locked in to a particular NIC yeah. +@NOTimothyLottes + +If you want to be locked in to a particular NIC yeah. **4/** @aepau2 -@AgileJebrim @NOTimothyLottes You can use eBPF as a poor man's kernel bypass. +@AgileJebrim @NOTimothyLottes + +You can use eBPF as a poor man's kernel bypass. **5/** @NOTimothyLottes -@aepau2 @AgileJebrim Not that any of my source would pass their nanny tester. When I was younger and running my own business, I used to host my business website off of a really old laptop running an in-kernel web server that I wrote. It wasn’t that hard to do long ago. +@aepau2 @AgileJebrim + +Not that any of my source would pass their nanny tester. When I was younger and running my own business, I used to host my business website off of a really old laptop running an in-kernel web server that I wrote. It wasn’t that hard to do long ago. **6/** @AgileJebrim -@NOTimothyLottes @aepau2 eBPF doesn’t support SIMD lol +@NOTimothyLottes @aepau2 + +eBPF doesn’t support SIMD lol ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-26-quick-summary-of-why-not-pselect-ppoll-epoll/2026-06-26-BigP4P4Smurf-take-a-look-at-http-lalists-stanford-edu-lad-2001.md b/archive/threads/NOTimothyLottes/2026-06-26-quick-summary-of-why-not-pselect-ppoll-epoll/2026-06-26-BigP4P4Smurf-take-a-look-at-http-lalists-stanford-edu-lad-2001.md index 977dde2..b94c7d7 100644 --- a/archive/threads/NOTimothyLottes/2026-06-26-quick-summary-of-why-not-pselect-ppoll-epoll/2026-06-26-BigP4P4Smurf-take-a-look-at-http-lalists-stanford-edu-lad-2001.md +++ b/archive/threads/NOTimothyLottes/2026-06-26-quick-summary-of-why-not-pselect-ppoll-epoll/2026-06-26-BigP4P4Smurf-take-a-look-at-http-lalists-stanford-edu-lad-2001.md @@ -28,7 +28,9 @@ parent_post_id: "2070337342854832468" **1/** @BigP4P4Smurf -@NOTimothyLottes Take a look at http://lalists.stanford.edu/lad/2001/Nov/0248.html +@NOTimothyLottes + +Take a look at http://lalists.stanford.edu/lad/2001/Nov/0248.html ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-29-alsa-hell-month-continues-remember-it-might-be/2026-06-29-AlexABPerson-have-you-actually-reached-out-to-said-developers.md b/archive/threads/NOTimothyLottes/2026-06-29-alsa-hell-month-continues-remember-it-might-be/2026-06-29-AlexABPerson-have-you-actually-reached-out-to-said-developers.md index 5379809..ffbe15f 100644 --- a/archive/threads/NOTimothyLottes/2026-06-29-alsa-hell-month-continues-remember-it-might-be/2026-06-29-AlexABPerson-have-you-actually-reached-out-to-said-developers.md +++ b/archive/threads/NOTimothyLottes/2026-06-29-alsa-hell-month-continues-remember-it-might-be/2026-06-29-AlexABPerson-have-you-actually-reached-out-to-said-developers.md @@ -28,19 +28,27 @@ parent_post_id: "2071706805114216559" **1/** @AlexABPerson -@NOTimothyLottes Have you actually reached out to said developers and offered to start a documentation effort/ask them some questions about things? It seems a little unfair to be rage posting about this all the time when the point is you (and me, and everyone) have the power to make it better. +@NOTimothyLottes + +Have you actually reached out to said developers and offered to start a documentation effort/ask them some questions about things? It seems a little unfair to be rage posting about this all the time when the point is you (and me, and everyone) have the power to make it better. **2/** @NOTimothyLottes -@AlexABPerson Haha I could start that with an email: hello godly ALSA dev, as a vintage pee-on programmer from the stone age, I was trying to ignore your advice about using the user-space API and thus needing GPL, and instead using the undocumented IOCTLs of the kernel driver directly ... +@AlexABPerson + +Haha I could start that with an email: hello godly ALSA dev, as a vintage pee-on programmer from the stone age, I was trying to ignore your advice about using the user-space API and thus needing GPL, and instead using the undocumented IOCTLs of the kernel driver directly ... **3/** @NOTimothyLottes -@AlexABPerson But on a serious note, I mostly shit post for the entertainment, because once in a while I actually learn something from a response. And often documenting the process might help someone else too ... +@AlexABPerson + +But on a serious note, I mostly shit post for the entertainment, because once in a while I actually learn something from a response. And often documenting the process might help someone else too ... **4/** @AlexABPerson -@NOTimothyLottes That's fair, thank you for the honest reply! It *is* interesting to see a lot of these sorts of inner workings, and I definitely sympathise with the "I can't believe it works like this" feeling 😂 Stuff does have a tendency to get like that huh +@NOTimothyLottes + +That's fair, thank you for the honest reply! It *is* interesting to see a lot of these sorts of inner workings, and I definitely sympathise with the "I can't believe it works like this" feeling 😂 Stuff does have a tendency to get like that huh ## Related diff --git a/archive/threads/NOTimothyLottes/2026-06-29-alsa-hell-month-continues-remember-it-might-be/2026-06-30-mrsteyk1-tinyplay-does-sndrv-pcm-ioctl-hw-params-ioctl.md b/archive/threads/NOTimothyLottes/2026-06-29-alsa-hell-month-continues-remember-it-might-be/2026-06-30-mrsteyk1-tinyplay-does-sndrv-pcm-ioctl-hw-params-ioctl.md index ed3f8d0..447c23c 100644 --- a/archive/threads/NOTimothyLottes/2026-06-29-alsa-hell-month-continues-remember-it-might-be/2026-06-30-mrsteyk1-tinyplay-does-sndrv-pcm-ioctl-hw-params-ioctl.md +++ b/archive/threads/NOTimothyLottes/2026-06-29-alsa-hell-month-continues-remember-it-might-be/2026-06-30-mrsteyk1-tinyplay-does-sndrv-pcm-ioctl-hw-params-ioctl.md @@ -28,17 +28,23 @@ parent_post_id: "2071725181576319370" **1/** @mrsteyk1 -@NOTimothyLottes tinyplay does SNDRV_PCM_IOCTL_HW_PARAMS ioctl (referenced in the article alongside REFINE) +@NOTimothyLottes + +tinyplay does SNDRV_PCM_IOCTL_HW_PARAMS ioctl (referenced in the article alongside REFINE) ![](https://pbs.twimg.com/media/HMBrjrxbkAAID_C?format=png&name=orig) **2/** @NOTimothyLottes -@mrsteyk1 I believe the method the ALSA people wanted users to go by was to first REFINE to grab the full PCM limits, then iteratively make changes (via REFINE ioctl) until it converges to one configuration, at which point the HW_PARAMS ioctl is used to finalize that config. +@mrsteyk1 + +I believe the method the ALSA people wanted users to go by was to first REFINE to grab the full PCM limits, then iteratively make changes (via REFINE ioctl) until it converges to one configuration, at which point the HW_PARAMS ioctl is used to finalize that config. **3/** @NOTimothyLottes -@mrsteyk1 Maybe it works sometimes to just use HW_PARAMs directly, but I have not got that working. I also cannot seem to get the refinement process to work either. And I don't get error returns, so still no idea what is wrong yet. +@mrsteyk1 + +Maybe it works sometimes to just use HW_PARAMs directly, but I have not got that working. I also cannot seem to get the refinement process to work either. And I don't get error returns, so still no idea what is wrong yet. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-01-never_released-theres-a-lot-of-old-news-around-1-wine-doesnt.md b/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-01-never_released-theres-a-lot-of-old-news-around-1-wine-doesnt.md index 6a529da..2bf6d7b 100644 --- a/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-01-never_released-theres-a-lot-of-old-news-around-1-wine-doesnt.md +++ b/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-01-never_released-theres-a-lot-of-old-news-around-1-wine-doesnt.md @@ -28,7 +28,9 @@ parent_post_id: "2072447378242552093" **1/** @never_released -@NOTimothyLottes There's a lot of old news around. +@NOTimothyLottes + +There's a lot of old news around. 1) Wine doesn't only run on Linux 2) on x86_64 Linux, Wine nowadays explicitly traps syscalls: https://www.phoronix.com/news/Wine-11.5-Released @@ -37,7 +39,9 @@ This explicitly blocks this trick. Please do not use it **2/** @NOTimothyLottes -@never_released Well they could put it on a command line toggle. Or have some other back door. Today I’m blocked on wine ntdll compatibility with bugs filed. So Im still looking for workarounds, going direct to Linux syscalls would have been the best and easiest option. +@never_released + +Well they could put it on a command line toggle. Or have some other back door. Today I’m blocked on wine ntdll compatibility with bugs filed. So Im still looking for workarounds, going direct to Linux syscalls would have been the best and easiest option. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-01-opdroid1234-the-two-truths-ive-come-to-accept-in-life-a.md b/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-01-opdroid1234-the-two-truths-ive-come-to-accept-in-life-a.md index 68e383f..0614698 100644 --- a/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-01-opdroid1234-the-two-truths-ive-come-to-accept-in-life-a.md +++ b/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-01-opdroid1234-the-two-truths-ive-come-to-accept-in-life-a.md @@ -28,7 +28,9 @@ parent_post_id: "2072445315370590266" **1/** @opdroid1234 -@NOTimothyLottes the two truths ive come to accept in life +@NOTimothyLottes + +the two truths ive come to accept in life a. theres to trick that unravels chess's complexity b. theres no trick that unavaels the existing software stacks complexity into something elegant diff --git a/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-02-SheriefFYI-i-was-just-about-to-say-i-recall-pulling-this-off.md b/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-02-SheriefFYI-i-was-just-about-to-say-i-recall-pulling-this-off.md index d6dc28d..ddda25a 100644 --- a/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-02-SheriefFYI-i-was-just-about-to-say-i-recall-pulling-this-off.md +++ b/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-02-SheriefFYI-i-was-just-about-to-say-i-recall-pulling-this-off.md @@ -28,7 +28,9 @@ parent_post_id: "2072447378242552093" **1/** @SheriefFYI -@NOTimothyLottes I was just about to say I recall pulling this off before for _reasons_ +@NOTimothyLottes + +I was just about to say I recall pulling this off before for _reasons_ ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-02-winning_tactic-you-could-pretend-to-be-an-audio-jack.md b/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-02-winning_tactic-you-could-pretend-to-be-an-audio-jack.md index 693cb47..cfbb363 100644 --- a/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-02-winning_tactic-you-could-pretend-to-be-an-audio-jack.md +++ b/archive/threads/NOTimothyLottes/2026-07-01-haha-damn-i-thought-i-had-a-great-idea-for-wine/2026-07-02-winning_tactic-you-could-pretend-to-be-an-audio-jack.md @@ -28,7 +28,9 @@ parent_post_id: "2072445315370590266" **1/** @winning_tactic -@NOTimothyLottes You could pretend to be an audio jack implementation? If impersonating wine doesn't work. +@NOTimothyLottes + +You could pretend to be an audio jack implementation? If impersonating wine doesn't work. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-04-oh-no-maybe-another-wine-bug-error-photo-im-also/2026-07-05-mrsteyk1-once-upon-a-time-wine-didnt-implement-a.md b/archive/threads/NOTimothyLottes/2026-07-04-oh-no-maybe-another-wine-bug-error-photo-im-also/2026-07-05-mrsteyk1-once-upon-a-time-wine-didnt-implement-a.md index 231e157..84e6aa7 100644 --- a/archive/threads/NOTimothyLottes/2026-07-04-oh-no-maybe-another-wine-bug-error-photo-im-also/2026-07-05-mrsteyk1-once-upon-a-time-wine-didnt-implement-a.md +++ b/archive/threads/NOTimothyLottes/2026-07-04-oh-no-maybe-another-wine-bug-error-photo-im-also/2026-07-05-mrsteyk1-once-upon-a-time-wine-didnt-implement-a.md @@ -28,7 +28,9 @@ parent_post_id: "2073539101320417502" **1/** @mrsteyk1 -@NOTimothyLottes Once upon a time Wine didn’t implement a particular cryptography path and game broke when trying to verify file integrity, had to patch it out. It was so bad that Valve made a Proton Hotfix version (I think it ignored integrity check and returned success regardless). +@NOTimothyLottes + +Once upon a time Wine didn’t implement a particular cryptography path and game broke when trying to verify file integrity, had to patch it out. It was so bad that Valve made a Proton Hotfix version (I think it ignored integrity check and returned success regardless). ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-06-vulkan-starts-with-the-ping-pong-between-getting/2026-07-08-nullspector-thats-very-neat-but-is-it-really-true-in-practice.md b/archive/threads/NOTimothyLottes/2026-07-06-vulkan-starts-with-the-ping-pong-between-getting/2026-07-08-nullspector-thats-very-neat-but-is-it-really-true-in-practice.md index 78c5d91..22702ef 100644 --- a/archive/threads/NOTimothyLottes/2026-07-06-vulkan-starts-with-the-ping-pong-between-getting/2026-07-08-nullspector-thats-very-neat-but-is-it-really-true-in-practice.md +++ b/archive/threads/NOTimothyLottes/2026-07-06-vulkan-starts-with-the-ping-pong-between-getting/2026-07-08-nullspector-thats-very-neat-but-is-it-really-true-in-practice.md @@ -28,11 +28,15 @@ parent_post_id: "2074108624553554387" **1/** @nullspector -@NOTimothyLottes That's very neat, but is it really true in practice that the max distance between symbols can't exceed 4GB? I think it would be a sane guarantee that it can't, but I assumed the worst and got scared off from the idea... +@NOTimothyLottes + +That's very neat, but is it really true in practice that the max distance between symbols can't exceed 4GB? I think it would be a sane guarantee that it can't, but I assumed the worst and got scared off from the idea... **2/** @NOTimothyLottes -@nullspector It’s working thus far, if I find a case it doesn’t work I’ll change it. I keep a different base per library, so likely safe enough. +@nullspector + +It’s working thus far, if I find a case it doesn’t work I’ll change it. I keep a different base per library, so likely safe enough. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-09-BigP4P4Smurf-and-preempt-rt.md b/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-09-BigP4P4Smurf-and-preempt-rt.md index 964085f..02fb334 100644 --- a/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-09-BigP4P4Smurf-and-preempt-rt.md +++ b/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-09-BigP4P4Smurf-and-preempt-rt.md @@ -28,7 +28,9 @@ parent_post_id: "2075107966018105449" **1/** @BigP4P4Smurf -@NOTimothyLottes And PREEMPT_RT +@NOTimothyLottes + +And PREEMPT_RT ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-09-idoccor-you-can-also-set-nohz-so-theres-no-timer.md b/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-09-idoccor-you-can-also-set-nohz-so-theres-no-timer.md index 663682c..189777a 100644 --- a/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-09-idoccor-you-can-also-set-nohz-so-theres-no-timer.md +++ b/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-09-idoccor-you-can-also-set-nohz-so-theres-no-timer.md @@ -28,7 +28,9 @@ parent_post_id: "2075107966018105449" **1/** @idoccor -@NOTimothyLottes You can also set nohz so there's no timer interrupts on the isolated cores + set up transparent huge pages (or manually use them) +@NOTimothyLottes + +You can also set nohz so there's no timer interrupts on the isolated cores + set up transparent huge pages (or manually use them) ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-10-darrellprograms-i-think-this-is-simply-available-as-a-kmsdrm.md b/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-10-darrellprograms-i-think-this-is-simply-available-as-a-kmsdrm.md index 5b64301..f1e1f66 100644 --- a/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-10-darrellprograms-i-think-this-is-simply-available-as-a-kmsdrm.md +++ b/archive/threads/NOTimothyLottes/2026-07-09-so-most-run-linux-from-a-graphical-login-i-still/2026-07-10-darrellprograms-i-think-this-is-simply-available-as-a-kmsdrm.md @@ -28,19 +28,27 @@ parent_post_id: "2075107519588933655" **1/** @darrellprograms -@NOTimothyLottes I think this is simply available as a KMSDRM option in SDL for essentially zero development effort (if your game is built with SDL). +@NOTimothyLottes + +I think this is simply available as a KMSDRM option in SDL for essentially zero development effort (if your game is built with SDL). **2/** @NOTimothyLottes -@darrellprograms Never really understood the desire for zero development effort. As a developer I'm here to practice the art, ideally by pushing the state of the art. But will take looking at SDL source as a good reference if I get lost in the process. +@darrellprograms + +Never really understood the desire for zero development effort. As a developer I'm here to practice the art, ideally by pushing the state of the art. But will take looking at SDL source as a good reference if I get lost in the process. **3/** @darrellprograms -@NOTimothyLottes I respect that, as long as you know what wheels you're reinventing. Note that you can keep Wayland or X11 running (or both, for that matter) for your dev environment, and just do control-alt-fN switching to test Wayland/X11-independent KMSDRM stuff. +@NOTimothyLottes + +I respect that, as long as you know what wheels you're reinventing. Note that you can keep Wayland or X11 running (or both, for that matter) for your dev environment, and just do control-alt-fN switching to test Wayland/X11-independent KMSDRM stuff. **4/** @NOTimothyLottes -@darrellprograms Oh I probably have a lot to learn here, building from scratch = understanding deeply. For example I wonder if VT switching fully pages out to clean VRAM, exclusive GPU ownership state. +@darrellprograms + +Oh I probably have a lot to learn here, building from scratch = understanding deeply. For example I wonder if VT switching fully pages out to clean VRAM, exclusive GPU ownership state. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-11-rethinking-vulkan-queue-choice/2026-07-11-konrad_kubacki_-am-i-having-a-stroke-what-is-this-font-it-feels.md b/archive/threads/NOTimothyLottes/2026-07-11-rethinking-vulkan-queue-choice/2026-07-11-konrad_kubacki_-am-i-having-a-stroke-what-is-this-font-it-feels.md index ef22ff9..30fdcd2 100644 --- a/archive/threads/NOTimothyLottes/2026-07-11-rethinking-vulkan-queue-choice/2026-07-11-konrad_kubacki_-am-i-having-a-stroke-what-is-this-font-it-feels.md +++ b/archive/threads/NOTimothyLottes/2026-07-11-rethinking-vulkan-queue-choice/2026-07-11-konrad_kubacki_-am-i-having-a-stroke-what-is-this-font-it-feels.md @@ -28,7 +28,9 @@ parent_post_id: "2075769880092037309" **1/** @konrad_kubacki_ -@NOTimothyLottes Am I having a stroke? What is this font? It feels like reading a captcha. Is it only me? +@NOTimothyLottes + +Am I having a stroke? What is this font? It feels like reading a captcha. Is it only me? ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-13-going-all-in-to-only-if-goto-but-through-better/2026-07-14-bkaradzic-much-clearer.md b/archive/threads/NOTimothyLottes/2026-07-13-going-all-in-to-only-if-goto-but-through-better/2026-07-14-bkaradzic-much-clearer.md index 1caacbd..adfb74f 100644 --- a/archive/threads/NOTimothyLottes/2026-07-13-going-all-in-to-only-if-goto-but-through-better/2026-07-14-bkaradzic-much-clearer.md +++ b/archive/threads/NOTimothyLottes/2026-07-13-going-all-in-to-only-if-goto-but-through-better/2026-07-14-bkaradzic-much-clearer.md @@ -28,7 +28,9 @@ parent_post_id: "2076833886827376782" **1/** @bkaradzic -@NOTimothyLottes Much clearer... 🤣 +@NOTimothyLottes + +Much clearer... 🤣 ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-13-going-all-in-to-only-if-goto-but-through-better/2026-07-14-noop_dev-at-this-point-could-make-a-dsl-with-perl.md b/archive/threads/NOTimothyLottes/2026-07-13-going-all-in-to-only-if-goto-but-through-better/2026-07-14-noop_dev-at-this-point-could-make-a-dsl-with-perl.md index 14a5624..a3c7639 100644 --- a/archive/threads/NOTimothyLottes/2026-07-13-going-all-in-to-only-if-goto-but-through-better/2026-07-14-noop_dev-at-this-point-could-make-a-dsl-with-perl.md +++ b/archive/threads/NOTimothyLottes/2026-07-13-going-all-in-to-only-if-goto-but-through-better/2026-07-14-noop_dev-at-this-point-could-make-a-dsl-with-perl.md @@ -28,7 +28,9 @@ parent_post_id: "2076833886827376782" **1/** @noop_dev -@NOTimothyLottes At this point could make a DSL with Perl.. +@NOTimothyLottes + +At this point could make a DSL with Perl.. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-17-oh-f-it-the-urge-to-drop-the-c-baggage-was-too/2026-07-18-furan-sorry-for-the-tangent-what-is-this-font-and-where.md b/archive/threads/NOTimothyLottes/2026-07-17-oh-f-it-the-urge-to-drop-the-c-baggage-was-too/2026-07-18-furan-sorry-for-the-tangent-what-is-this-font-and-where.md index eccea82..f6d1a55 100644 --- a/archive/threads/NOTimothyLottes/2026-07-17-oh-f-it-the-urge-to-drop-the-c-baggage-was-too/2026-07-18-furan-sorry-for-the-tangent-what-is-this-font-and-where.md +++ b/archive/threads/NOTimothyLottes/2026-07-17-oh-f-it-the-urge-to-drop-the-c-baggage-was-too/2026-07-18-furan-sorry-for-the-tangent-what-is-this-font-and-where.md @@ -28,15 +28,21 @@ parent_post_id: "2078257788732461389" **1/** @furan -@NOTimothyLottes sorry for the tangent - what is this font and where can I get it? +@NOTimothyLottes + +sorry for the tangent - what is this font and where can I get it? **2/** @NOTimothyLottes -@furan It’s one of mine (bitmap front for 640x480 resolution CRT) if I ever figure out some good web hosting again I could put up +@furan + +It’s one of mine (bitmap front for 640x480 resolution CRT) if I ever figure out some good web hosting again I could put up **3/** @furan -@NOTimothyLottes or github, I host a bunch of bitmap fonts here: https://github.com/ianhan/bitmapfonts +@NOTimothyLottes + +or github, I host a bunch of bitmap fonts here: https://github.com/ianhan/bitmapfonts ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-18-all-0-6-argument-syscall-options-in-32-bytes/2026-07-18-noop_dev-even-smaller-code-size-possible-with-custom.md b/archive/threads/NOTimothyLottes/2026-07-18-all-0-6-argument-syscall-options-in-32-bytes/2026-07-18-noop_dev-even-smaller-code-size-possible-with-custom.md index 098c5c6..64dfa3b 100644 --- a/archive/threads/NOTimothyLottes/2026-07-18-all-0-6-argument-syscall-options-in-32-bytes/2026-07-18-noop_dev-even-smaller-code-size-possible-with-custom.md +++ b/archive/threads/NOTimothyLottes/2026-07-18-all-0-6-argument-syscall-options-in-32-bytes/2026-07-18-noop_dev-even-smaller-code-size-possible-with-custom.md @@ -28,7 +28,9 @@ parent_post_id: "2078349730204078527" **1/** @noop_dev -@NOTimothyLottes Even smaller code size possible with custom compression scheme, where you design bytecode not for immediate execution but to be decompressed on load. +@NOTimothyLottes + +Even smaller code size possible with custom compression scheme, where you design bytecode not for immediate execution but to be decompressed on load. ## Related diff --git a/archive/threads/NOTimothyLottes/2026-07-19-probably-shouldnt-consider-this-but-apparently/2026-07-19-noop_dev-these-instrs-are-anything-but-fast-and-if-you.md b/archive/threads/NOTimothyLottes/2026-07-19-probably-shouldnt-consider-this-but-apparently/2026-07-19-noop_dev-these-instrs-are-anything-but-fast-and-if-you.md index a9905ac..afebb0f 100644 --- a/archive/threads/NOTimothyLottes/2026-07-19-probably-shouldnt-consider-this-but-apparently/2026-07-19-noop_dev-these-instrs-are-anything-but-fast-and-if-you.md +++ b/archive/threads/NOTimothyLottes/2026-07-19-probably-shouldnt-consider-this-but-apparently/2026-07-19-noop_dev-these-instrs-are-anything-but-fast-and-if-you.md @@ -28,35 +28,51 @@ parent_post_id: "2078729662021111958" **1/** @noop_dev -@NOTimothyLottes These instrs are anything but fast and if you want both "fast" and compact you run a separate decoding pass where you expand custom bytecode into target instructions that suck less. +@NOTimothyLottes + +These instrs are anything but fast and if you want both "fast" and compact you run a separate decoding pass where you expand custom bytecode into target instructions that suck less. **2/** @NOTimothyLottes -@noop_dev Basic truth: if the program is tiny and dependency free (ie intrinsically not just glue for libraries) it’s probably already fast even if the machine isn’t. And for the things that need perf there is always assembly +@noop_dev + +Basic truth: if the program is tiny and dependency free (ie intrinsically not just glue for libraries) it’s probably already fast even if the machine isn’t. And for the things that need perf there is always assembly **3/** @noop_dev -@NOTimothyLottes Anyway, I am trying you to sell the idea of bytecode-driven macroassembler that expands "macros" on load. Like I did with 4K atari 2600 emu ~20 years ago.. some demosceners I knew also adopted the idea.. +@NOTimothyLottes + +Anyway, I am trying you to sell the idea of bytecode-driven macroassembler that expands "macros" on load. Like I did with 4K atari 2600 emu ~20 years ago.. some demosceners I knew also adopted the idea.. **4/** @NOTimothyLottes -@noop_dev Many of my other systems had been such that interpreted source generates raw code then executes the code (all at once after code is fully processed). Effectively forth as a macro language and instruction generator, runtime assembler. +@noop_dev + +Many of my other systems had been such that interpreted source generates raw code then executes the code (all at once after code is fully processed). Effectively forth as a macro language and instruction generator, runtime assembler. **5/** @NOTimothyLottes -@noop_dev But for cold cache stuff it’s easy to burn more time in binary generation than it would cost to do simple interpreter. +@noop_dev + +But for cold cache stuff it’s easy to burn more time in binary generation than it would cost to do simple interpreter. **6/** @noop_dev -@NOTimothyLottes Not sure I can understand how cold cache matters for a linear transformation of a relatively small # of bytes. +@NOTimothyLottes + +Not sure I can understand how cold cache matters for a linear transformation of a relatively small # of bytes. **7/** @NOTimothyLottes -@noop_dev If it’s a byte that indexes into say a fixed size physical instruction, yeah it’s just a decompression of source code, sure easy to do fast. Im talking more the multi-branch miss per instruction stuff. +@noop_dev + +If it’s a byte that indexes into say a fixed size physical instruction, yeah it’s just a decompression of source code, sure easy to do fast. Im talking more the multi-branch miss per instruction stuff. **8/** @NOTimothyLottes -@noop_dev Meaning “mov edi,[rax-0x32]” could be generated from 4 symbol lookups (2 for regs, one for offset, one for instruction). Also my intent here is for GPU code generation for AMD GPUs where youd have sometimes 8+ bitfields in an opcode. So the simple stuff won’t work there … +@noop_dev + +Meaning “mov edi,[rax-0x32]” could be generated from 4 symbol lookups (2 for regs, one for offset, one for instruction). Also my intent here is for GPU code generation for AMD GPUs where youd have sometimes 8+ bitfields in an opcode. So the simple stuff won’t work there … ## Related diff --git a/archive/threads/SebAaltonen/2024-04-04-this-is-how-slow-code-feels-like/index.md b/archive/threads/SebAaltonen/2024-04-04-this-is-how-slow-code-feels-like/index.md index 70f29ca..f31ad40 100644 --- a/archive/threads/SebAaltonen/2024-04-04-this-is-how-slow-code-feels-like/index.md +++ b/archive/threads/SebAaltonen/2024-04-04-this-is-how-slow-code-feels-like/index.md @@ -39,14 +39,20 @@ And this is how clever you feel after finding the optimization: **3/** @MartinJIFuller -@SebAaltonen Sad that the compiler isn’t doing this for us in 2024 +@SebAaltonen + +Sad that the compiler isn’t doing this for us in 2024 **4/** @NOTimothyLottes -@MartinJIFuller @SebAaltonen On https://mastodon.gamedev.place/@NOTimothyLottes I'm collecting posts with AMD GPU disassembly dumps for a book on everything the shader compiler 'isn't doing'. Constant AMD GPU compiler perf bug SPAM is a key part of my online strategy to keep a low follower count. +@MartinJIFuller @SebAaltonen + +On https://mastodon.gamedev.place/@NOTimothyLottes I'm collecting posts with AMD GPU disassembly dumps for a book on everything the shader compiler 'isn't doing'. Constant AMD GPU compiler perf bug SPAM is a key part of my online strategy to keep a low follower count. ![](https://pbs.twimg.com/media/GKe8HDtXYAAOrfj?format=jpg&name=orig) **5/** @MartinJIFuller -@NOTimothyLottes @SebAaltonen A worthwhile project, knowledge well worth sharing, but is a book the right format? Perhaps yes, just thinking out loud. +@NOTimothyLottes @SebAaltonen + +A worthwhile project, knowledge well worth sharing, but is a book the right format? Perhaps yes, just thinking out loud. diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ASupersay-who-cares-do-what-makes-you-happiest-and.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ASupersay-who-cares-do-what-makes-you-happiest-and.md index db1fc83..fed0d27 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ASupersay-who-cares-do-what-makes-you-happiest-and.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ASupersay-who-cares-do-what-makes-you-happiest-and.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @ASupersay -@SebAaltonen Who cares? Do what makes you happiest and wealthiest. +@SebAaltonen + +Who cares? Do what makes you happiest and wealthiest. Just because everyone doesn’t understand how modern tires are made doesn’t mean they should have to use wooden wagon wheels diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-AronThoughts-i-wish-visual-studio-had-better-code-context.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-AronThoughts-i-wish-visual-studio-had-better-code-context.md index 09c49d1..eb5bfbc 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-AronThoughts-i-wish-visual-studio-had-better-code-context.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-AronThoughts-i-wish-visual-studio-had-better-code-context.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @AronThoughts -@SebAaltonen I wish visual studio had better code context colorization. At one point I was using a source editor called source insight. It had amazing code colorization and I had this theme where warm/cool colors meant certain things so I could instantly look at a variable know about it +@SebAaltonen + +I wish visual studio had better code context colorization. At one point I was using a source editor called source insight. It had amazing code colorization and I had this theme where warm/cool colors meant certain things so I could instantly look at a variable know about it ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-AronThoughts-static-globals-defines-were-warm-members-blue.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-AronThoughts-static-globals-defines-were-warm-members-blue.md index b62b142..b177794 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-AronThoughts-static-globals-defines-were-warm-members-blue.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-AronThoughts-static-globals-defines-were-warm-members-blue.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @AronThoughts -@SebAaltonen Static/globals/#defines were warm +@SebAaltonen + +Static/globals/#defines were warm Members blue hues Locals green Constants green/yellow @@ -39,11 +41,15 @@ etc **2/** @SebAaltonen -@AronThoughts Indeed. Good color coding is important for readability too. IDEs do this very well. +@AronThoughts + +Indeed. Good color coding is important for readability too. IDEs do this very well. **3/** @AronThoughts -@SebAaltonen Most IDEs I've used since dont have this level of specificity though but I've not used many different ones +@SebAaltonen + +Most IDEs I've used since dont have this level of specificity though but I've not used many different ones ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-BenQett-the-only-good-faith-reply-is-if-youre-a-systems.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-BenQett-the-only-good-faith-reply-is-if-youre-a-systems.md index e33050f..42c5f78 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-BenQett-the-only-good-faith-reply-is-if-youre-a-systems.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-BenQett-the-only-good-faith-reply-is-if-youre-a-systems.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @BenQett -@SebAaltonen The only good faith reply is if you’re a systems engineer and you have to work on remote servers with no ability to run an IDE/Desktop so you’re stuck with VIM (can’t reverse tunnel/mount) +@SebAaltonen + +The only good faith reply is if you’re a systems engineer and you have to work on remote servers with no ability to run an IDE/Desktop so you’re stuck with VIM (can’t reverse tunnel/mount) ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-BugoTheCat-nothing-wrong-with-new-tools-its-just-that-most.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-BugoTheCat-nothing-wrong-with-new-tools-its-just-that-most.md index 295f377..291916a 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-BugoTheCat-nothing-wrong-with-new-tools-its-just-that-most.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-BugoTheCat-nothing-wrong-with-new-tools-its-just-that-most.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @BugoTheCat -@SebAaltonen Nothing wrong with new tools, it's just that most people get used to them and can never go back. It then feels to them like the old ways were horrific or they have an exaggerated negative response about the past. +@SebAaltonen + +Nothing wrong with new tools, it's just that most people get used to them and can never go back. It then feels to them like the old ways were horrific or they have an exaggerated negative response about the past. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-CobraSwims-same-reason-some-large-corps-demand-that-we-have.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-CobraSwims-same-reason-some-large-corps-demand-that-we-have.md index f3e6872..e918a7f 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-CobraSwims-same-reason-some-large-corps-demand-that-we-have.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-CobraSwims-same-reason-some-large-corps-demand-that-we-have.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @CobraSwims -@SebAaltonen Same reason some large corps demand that we have specific paths for random shit we all use autocomplete for. +@SebAaltonen + +Same reason some large corps demand that we have specific paths for random shit we all use autocomplete for. It has nothing to do with skill, it's entirely about the optics and about what "kind" of dev you are diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-CptCrabhands-you-should-write-your-code-on-paper-by-hand.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-CptCrabhands-you-should-write-your-code-on-paper-by-hand.md index f4dc2e1..fa212c7 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-CptCrabhands-you-should-write-your-code-on-paper-by-hand.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-CptCrabhands-you-should-write-your-code-on-paper-by-hand.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @CptCrabhands -@SebAaltonen You should write your code on paper by hand 😤 totally +@SebAaltonen + +You should write your code on paper by hand 😤 totally ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-DarthJahus-being-able-to-code-without-assistant-is-a-good.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-DarthJahus-being-able-to-code-without-assistant-is-a-good.md index 312785c..bea7063 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-DarthJahus-being-able-to-code-without-assistant-is-a-good.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-DarthJahus-being-able-to-code-without-assistant-is-a-good.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @DarthJahus -@SebAaltonen Being able to code without assistant is a good thing, maybe? +@SebAaltonen + +Being able to code without assistant is a good thing, maybe? ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Desxon1-still-remember-how-my-technical-school-assigned-a.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Desxon1-still-remember-how-my-technical-school-assigned-a.md index e05992b..c7b6f9e 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Desxon1-still-remember-how-my-technical-school-assigned-a.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Desxon1-still-remember-how-my-technical-school-assigned-a.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Desxon1 -@SebAaltonen Still remember how my technical school assigned a literal psychopath to teach us do databases. The SQL was done ON FUCKING PAPER and he graded each and every point of it. A lack of "," could cost ya points. +@SebAaltonen + +Still remember how my technical school assigned a literal psychopath to teach us do databases. The SQL was done ON FUCKING PAPER and he graded each and every point of it. A lack of "," could cost ya points. Then he left, went to work for Intel and got fired for using drugs diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Enhex-because-high-arrogance-low-intelligence.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Enhex-because-high-arrogance-low-intelligence.md index 0fdf3b8..dd0c01b 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Enhex-because-high-arrogance-low-intelligence.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Enhex-because-high-arrogance-low-intelligence.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Enhex -@SebAaltonen because high arrogance + low intelligence +@SebAaltonen + +because high arrogance + low intelligence ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Floppie7th-cant-stand-ides-honestly-i-wouldnt-use-notepad.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Floppie7th-cant-stand-ides-honestly-i-wouldnt-use-notepad.md index 0330ddf..7c3e7c8 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Floppie7th-cant-stand-ides-honestly-i-wouldnt-use-notepad.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Floppie7th-cant-stand-ides-honestly-i-wouldnt-use-notepad.md @@ -28,17 +28,23 @@ parent_post_id: "1786346729547153794" **1/** @Floppie7th -@SebAaltonen Can't stand IDEs, honestly. I wouldn't use Notepad because its navigation is horrible, but autocomplete doesn't save any time (typing isn't really a bottleneck), gdb and debug prints are great for debugging, and finding a definition with CTRL+Z followed rg 'whatever' works great +@SebAaltonen + +Can't stand IDEs, honestly. I wouldn't use Notepad because its navigation is horrible, but autocomplete doesn't save any time (typing isn't really a bottleneck), gdb and debug prints are great for debugging, and finding a definition with CTRL+Z followed rg 'whatever' works great **2/** @SebAaltonen -@Floppie7th If your tool has code navigation (find symbols, find callers, etc) and color colorization then it is an IDE. +@Floppie7th + +If your tool has code navigation (find symbols, find callers, etc) and color colorization then it is an IDE. Autocomplete is not a big deal. Code navigation tools and code colorization are the most important things. Writing code is not as important as reading & browsing code. **3/** @Floppie7th -@SebAaltonen Starting by mentioning autocomplete and built-in debuggers, then defining IDE as "code colorization", seems like moving the goalposts pretty far. +@SebAaltonen + +Starting by mentioning autocomplete and built-in debuggers, then defining IDE as "code colorization", seems like moving the goalposts pretty far. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-GumboatDiplomat-i-pretty-much-agree-with-you-but-i-started-using.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-GumboatDiplomat-i-pretty-much-agree-with-you-but-i-started-using.md index bd700ad..d1445db 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-GumboatDiplomat-i-pretty-much-agree-with-you-but-i-started-using.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-GumboatDiplomat-i-pretty-much-agree-with-you-but-i-started-using.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @GumboatDiplomat -@SebAaltonen I pretty much agree with you, but I started using nvim recently, and it doesn't have an LSP for the a language that I already know very well (gml) And I did learn stuff forgoing the autocomplete, I feel like my knowledge deepened, if that makes sense. +@SebAaltonen + +I pretty much agree with you, but I started using nvim recently, and it doesn't have an LSP for the a language that I already know very well (gml) And I did learn stuff forgoing the autocomplete, I feel like my knowledge deepened, if that makes sense. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-IlyasHairline-to-flex-on-others.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-IlyasHairline-to-flex-on-others.md index 1d1e30b..07c97c1 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-IlyasHairline-to-flex-on-others.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-IlyasHairline-to-flex-on-others.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @IlyasHairline -@SebAaltonen To flex on others +@SebAaltonen + +To flex on others ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Jerroudi_Yass-i-remember-having-an-argument-with-one-of-the.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Jerroudi_Yass-i-remember-having-an-argument-with-one-of-the.md index da0e169..153841d 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Jerroudi_Yass-i-remember-having-an-argument-with-one-of-the.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Jerroudi_Yass-i-remember-having-an-argument-with-one-of-the.md @@ -28,7 +28,9 @@ parent_post_id: "1786349827669790823" **1/** @Jerroudi_Yass -@SebAaltonen I remember having an argument with one of the staffs of 42 about allowing the usage of debuggers in exams as he was totally against the idea leaving us with printf debugging in a 2h exam session. I never understood why there is so much hate/reluctance about the usage of debuggers +@SebAaltonen + +I remember having an argument with one of the staffs of 42 about allowing the usage of debuggers in exams as he was totally against the idea leaving us with printf debugging in a 2h exam session. I never understood why there is so much hate/reluctance about the usage of debuggers **2/** diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Junts-as-a-kid-i-thought-coding-seemed-cool-and-wrote-a.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Junts-as-a-kid-i-thought-coding-seemed-cool-and-wrote-a.md index 5f790ec..6c5d710 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Junts-as-a-kid-i-thought-coding-seemed-cool-and-wrote-a.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Junts-as-a-kid-i-thought-coding-seemed-cool-and-wrote-a.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Junts -@SebAaltonen As a kid I thought coding seemed cool and wrote a 30 second program in basic in a text file I renamed to an .exe. it was so aggravating that I decided programming was a pain +@SebAaltonen + +As a kid I thought coding seemed cool and wrote a 30 second program in basic in a text file I renamed to an .exe. it was so aggravating that I decided programming was a pain As an adult I now code for a living with modern tools. diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-KasperArnklit-gate-keeping-programming-and-thinking-it-makes.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-KasperArnklit-gate-keeping-programming-and-thinking-it-makes.md index 605815c..5f93ce2 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-KasperArnklit-gate-keeping-programming-and-thinking-it-makes.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-KasperArnklit-gate-keeping-programming-and-thinking-it-makes.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @KasperArnklit -@SebAaltonen Gate keeping programming and thinking it makes you special is incredibly sad. +@SebAaltonen + +Gate keeping programming and thinking it makes you special is incredibly sad. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Kinker_0-theres-a-big-difference-between-being-able-to-and.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Kinker_0-theres-a-big-difference-between-being-able-to-and.md index 93c7a88..3c4e6e3 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Kinker_0-theres-a-big-difference-between-being-able-to-and.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Kinker_0-theres-a-big-difference-between-being-able-to-and.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Kinker_0 -@SebAaltonen There's a big difference between "being able to" and actually doing it. +@SebAaltonen + +There's a big difference between "being able to" and actually doing it. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Lascif-people-have-a-superiority-complex-for-working-in.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Lascif-people-have-a-superiority-complex-for-working-in.md index 794fc7b..4b6bef7 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Lascif-people-have-a-superiority-complex-for-working-in.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Lascif-people-have-a-superiority-complex-for-working-in.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Lascif -@SebAaltonen People have a superiority complex for working in the hardest way possible because “that’s how I had to do it”. +@SebAaltonen + +People have a superiority complex for working in the hardest way possible because “that’s how I had to do it”. They forget that they should work smarter not harder. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-MacGyver1618-you-should-be-able-to-code-in-notepad-just-so-you.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-MacGyver1618-you-should-be-able-to-code-in-notepad-just-so-you.md index ce4dd24..fab5dd1 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-MacGyver1618-you-should-be-able-to-code-in-notepad-just-so-you.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-MacGyver1618-you-should-be-able-to-code-in-notepad-just-so-you.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @MacGyver1618 -@SebAaltonen You should be able to code in Notepad just so you can truly relish the joy of not having to. +@SebAaltonen + +You should be able to code in Notepad just so you can truly relish the joy of not having to. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Naam_Hai_Bulla-major-disagree-especially-if-youre-learning-a-new.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Naam_Hai_Bulla-major-disagree-especially-if-youre-learning-a-new.md index e601e9a..5da6cc4 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Naam_Hai_Bulla-major-disagree-especially-if-youre-learning-a-new.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Naam_Hai_Bulla-major-disagree-especially-if-youre-learning-a-new.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Naam_Hai_Bulla -@SebAaltonen MAJOR DISAGREE +@SebAaltonen + +MAJOR DISAGREE Especially if you're learning a new tech stack modern IDEs are too user friendly Had to switch off pretty much every setting in vscode when I was learning angular diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Natnew7-you-shouldnt-have-to-code-this-way-for-serious.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Natnew7-you-shouldnt-have-to-code-this-way-for-serious.md index 7825a2e..108f3f0 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Natnew7-you-shouldnt-have-to-code-this-way-for-serious.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Natnew7-you-shouldnt-have-to-code-this-way-for-serious.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Natnew7 -@SebAaltonen You shouldn’t have to code this way for serious projects. But you should be capable of it. +@SebAaltonen + +You shouldn’t have to code this way for serious projects. But you should be capable of it. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-NeutralRational-hes-a-boomer.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-NeutralRational-hes-a-boomer.md index 82cff85..506ca96 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-NeutralRational-hes-a-boomer.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-NeutralRational-hes-a-boomer.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @NeutralRational -@SebAaltonen He's a boomer. +@SebAaltonen + +He's a boomer. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Niko_sk2x-i-think-the-point-is-that-you-should-be-able-to.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Niko_sk2x-i-think-the-point-is-that-you-should-be-able-to.md index 3ef4962..db9e9bc 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Niko_sk2x-i-think-the-point-is-that-you-should-be-able-to.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Niko_sk2x-i-think-the-point-is-that-you-should-be-able-to.md @@ -28,35 +28,51 @@ parent_post_id: "1786346729547153794" **1/** @Niko_sk2x -@SebAaltonen I think the point is that you should be able to code well enough that IDE is a tool to help you and make you more efficient, not a tool that allows you to do it at all - you can still do it without an IDE, it's just slow and annoying. If you can't at all, that's not a good sign +@SebAaltonen + +I think the point is that you should be able to code well enough that IDE is a tool to help you and make you more efficient, not a tool that allows you to do it at all - you can still do it without an IDE, it's just slow and annoying. If you can't at all, that's not a good sign **2/** @SebAaltonen -@Barteks2x There's no real difference in practice. Of course I could write code on notepad and press space 4 times manually. The main problem with notepad is not writing code. It's reading code. And coding is 90% reading, 10% writing. Color coding, jumping to symbols, etc. +@Barteks2x + +There's no real difference in practice. Of course I could write code on notepad and press space 4 times manually. The main problem with notepad is not writing code. It's reading code. And coding is 90% reading, 10% writing. Color coding, jumping to symbols, etc. **3/** @SebAaltonen -@Barteks2x Reading a big code base with notepad is super painful, as you have to open the cmake file to see where the includes actually are and then find the .cpp files if you need to investigate further. That's over 10x slower reading experience in big code base. +@Barteks2x + +Reading a big code base with notepad is super painful, as you have to open the cmake file to see where the includes actually are and then find the .cpp files if you need to investigate further. That's over 10x slower reading experience in big code base. **4/** @SebAaltonen -@Barteks2x For a new junior programmer it is super important that their code reading experience is as good as possible so that they learn the big code base as quickly as possible. Thus they should use an IDE. Seniors should not ask them to use notepad instead to learn it. That's just stupid +@Barteks2x + +For a new junior programmer it is super important that their code reading experience is as good as possible so that they learn the big code base as quickly as possible. Thus they should use an IDE. Seniors should not ask them to use notepad instead to learn it. That's just stupid **5/** @SebAaltonen -@Barteks2x It doesn't really matter if a programmer can't write code on notepad, as they should never be doing that in any reasonably sized project. Their productivity when reading code is so much worse, and reading is 90% of the job. +@Barteks2x + +It doesn't really matter if a programmer can't write code on notepad, as they should never be doing that in any reasonably sized project. Their productivity when reading code is so much worse, and reading is 90% of the job. **6/** @Niko_sk2x -@SebAaltonen Yes you shouldn't ever need to do that for anything nontrivial. But I've seen people who could just about get by with an IDE and seemingly able to do some things but not able to write a "hello world" without an IDE. The IDE was hiding real issues here. +@SebAaltonen + +Yes you shouldn't ever need to do that for anything nontrivial. But I've seen people who could just about get by with an IDE and seemingly able to do some things but not able to write a "hello world" without an IDE. The IDE was hiding real issues here. **7/** @SebAaltonen -@Barteks2x When I am hiring a junior, I wouldn't want to make them code in notepad without Google, because nobody actually does that. If it was a code assignment, we can sit down and they can explain what their code does and why. I can also check their hobby projects in github. +@Barteks2x + +When I am hiring a junior, I wouldn't want to make them code in notepad without Google, because nobody actually does that. If it was a code assignment, we can sit down and they can explain what their code does and why. I can also check their hobby projects in github. **8/** @Niko_sk2x -@SebAaltonen Sure there definitely are easier and more reliable ways to judge someone's skill. It's not particularly good test of anything but still something you should be bake to do to some extent, at least a "hello world" and some other trivial programs. +@SebAaltonen + +Sure there definitely are easier and more reliable ways to judge someone's skill. It's not particularly good test of anything but still something you should be bake to do to some extent, at least a "hello world" and some other trivial programs. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-OscarBR92-to-assert-dominance.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-OscarBR92-to-assert-dominance.md index 555791c..6ec4b78 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-OscarBR92-to-assert-dominance.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-OscarBR92-to-assert-dominance.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @OscarBR92 -@SebAaltonen To assert dominance +@SebAaltonen + +To assert dominance ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-PurpleNinjaGrrl-nothing-has-more-forever-a-junior-level.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-PurpleNinjaGrrl-nothing-has-more-forever-a-junior-level.md index 86d2dc2..209619a 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-PurpleNinjaGrrl-nothing-has-more-forever-a-junior-level.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-PurpleNinjaGrrl-nothing-has-more-forever-a-junior-level.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @PurpleNinjaGrrl -@SebAaltonen Nothing has more forever-a-junior-level-programmer energy than “You should spend more time and energy looking up API calls and typing console commands instead of using that time to iterate on your design and improve your code” takes +@SebAaltonen + +Nothing has more forever-a-junior-level-programmer energy than “You should spend more time and energy looking up API calls and typing console commands instead of using that time to iterate on your design and improve your code” takes ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-RatherSnideBun-that-is-just-another-it-twitter-bait-just-mute-or.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-RatherSnideBun-that-is-just-another-it-twitter-bait-just-mute-or.md index 92b09fa..9759702 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-RatherSnideBun-that-is-just-another-it-twitter-bait-just-mute-or.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-RatherSnideBun-that-is-just-another-it-twitter-bait-just-mute-or.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @RatherSnideBun -@SebAaltonen That is just another IT-twitter bait, just mute or block him, he is fuckwad. +@SebAaltonen + +That is just another IT-twitter bait, just mute or block him, he is fuckwad. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Shrikanthabudya-chill-bro-its-an-engagement-bait.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Shrikanthabudya-chill-bro-its-an-engagement-bait.md index f263bb5..1a7ca63 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Shrikanthabudya-chill-bro-its-an-engagement-bait.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Shrikanthabudya-chill-bro-its-an-engagement-bait.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Shrikanthabudya -@SebAaltonen chill bro it's an engagement bait +@SebAaltonen + +chill bro it's an engagement bait ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Tankerbot-yeah-if-its-available-use-it-though-in-my-case-i.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Tankerbot-yeah-if-its-available-use-it-though-in-my-case-i.md index 40e3882..2e5a8d8 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Tankerbot-yeah-if-its-available-use-it-though-in-my-case-i.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Tankerbot-yeah-if-its-available-use-it-though-in-my-case-i.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Tankerbot -@SebAaltonen Yeah if it's available use it. Though in my case I end up using Notepad (Notepad++) for most of the C++ stuff I code mostly because it's Nintendo DS/DSi homebrew and setting them up in a IDE would be a pain given the build system they use so I've never bothered doing it. :P +@SebAaltonen + +Yeah if it's available use it. Though in my case I end up using Notepad (Notepad++) for most of the C++ stuff I code mostly because it's Nintendo DS/DSi homebrew and setting them up in a IDE would be a pain given the build system they use so I've never bothered doing it. :P ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-TechTolley-old-guys-trying-to-act-like-their-depreciating.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-TechTolley-old-guys-trying-to-act-like-their-depreciating.md index 28e8e85..9cfed30 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-TechTolley-old-guys-trying-to-act-like-their-depreciating.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-TechTolley-old-guys-trying-to-act-like-their-depreciating.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @TechTolley -@SebAaltonen Old guys trying to act like their depreciating skillset makes them more valuable... somehow... +@SebAaltonen + +Old guys trying to act like their depreciating skillset makes them more valuable... somehow... ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ThePunkHucker-its-a-showcase-of-the-im-stronger-than-you.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ThePunkHucker-its-a-showcase-of-the-im-stronger-than-you.md index 239ff70..28a71e1 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ThePunkHucker-its-a-showcase-of-the-im-stronger-than-you.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ThePunkHucker-its-a-showcase-of-the-im-stronger-than-you.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @ThePunkHucker -@SebAaltonen It’s a showcase of the « I’m stronger than you » syndrome so many programmers have. It’s stupid. +@SebAaltonen + +It’s a showcase of the « I’m stronger than you » syndrome so many programmers have. It’s stupid. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Tuuveee-for-the-first-few-months-of-my-first-web.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Tuuveee-for-the-first-few-months-of-my-first-web.md index 46f1e32..4293c8d 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Tuuveee-for-the-first-few-months-of-my-first-web.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-Tuuveee-for-the-first-few-months-of-my-first-web.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Tuuveee -@SebAaltonen For the first few months of my first web development job I was using notepad++. Which works fine for small projects, sure. But you'd have to threaten me with physical harm to make me go back. Using an IDE just makes the workflow so much better when working with more than one file +@SebAaltonen + +For the first few months of my first web development job I was using notepad++. Which works fine for small projects, sure. But you'd have to threaten me with physical harm to make me go back. Using an IDE just makes the workflow so much better when working with more than one file ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-WillGermany-i-was-once-interviewed-where-they-asked-me-to.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-WillGermany-i-was-once-interviewed-where-they-asked-me-to.md index 64742dc..c099575 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-WillGermany-i-was-once-interviewed-where-they-asked-me-to.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-WillGermany-i-was-once-interviewed-where-they-asked-me-to.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @WillGermany -@SebAaltonen I was once interviewed where they asked me to write code and diagram databases in Notepad 🤦‍♂️ +@SebAaltonen + +I was once interviewed where they asked me to write code and diagram databases in Notepad 🤦‍♂️ ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-XBigand-i-start-to-consider-to-go-back-to-a-simple-text.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-XBigand-i-start-to-consider-to-go-back-to-a-simple-text.md index 8da76d4..8789d73 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-XBigand-i-start-to-consider-to-go-back-to-a-simple-text.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-XBigand-i-start-to-consider-to-go-back-to-a-simple-text.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @XBigand -@SebAaltonen I start to consider to go back to a simple text editor, like when I was using emacs at school, juste because VS is getting worse. +@SebAaltonen + +I start to consider to go back to a simple text editor, like when I was using emacs at school, juste because VS is getting worse. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-XenoVoid112-you-shouldnt-actually-do-it-you-should-be-able-to.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-XenoVoid112-you-shouldnt-actually-do-it-you-should-be-able-to.md index 35d6a24..6aca6a1 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-XenoVoid112-you-shouldnt-actually-do-it-you-should-be-able-to.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-XenoVoid112-you-shouldnt-actually-do-it-you-should-be-able-to.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @XenoVoid112 -@SebAaltonen You shouldn't actually do it. You should be *ABLE* to do it. They mean you should be able to know a language enough that you don't need tools to assist. At least, that is my interpretation +@SebAaltonen + +You shouldn't actually do it. You should be *ABLE* to do it. They mean you should be able to know a language enough that you don't need tools to assist. At least, that is my interpretation ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ZoldenGames-some-people-feel-scared-to-give-up-lower-level.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ZoldenGames-some-people-feel-scared-to-give-up-lower-level.md index ee36062..e92c4d8 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ZoldenGames-some-people-feel-scared-to-give-up-lower-level.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ZoldenGames-some-people-feel-scared-to-give-up-lower-level.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @ZoldenGames -@SebAaltonen Some people feel scared to give up lower level tasks to automatization. But that's how progress works and productivity grows. +@SebAaltonen + +Some people feel scared to give up lower level tasks to automatization. But that's how progress works and productivity grows. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-_Felipe-blue-check-farming-engagement.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-_Felipe-blue-check-farming-engagement.md index 15c6056..3d40de5 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-_Felipe-blue-check-farming-engagement.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-_Felipe-blue-check-farming-engagement.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @_Felipe -@SebAaltonen blue check farming engagement +@SebAaltonen + +blue check farming engagement ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-_benwick-the-key-word-is-able-how-many-people-cannot.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-_benwick-the-key-word-is-able-how-many-people-cannot.md index 9799c11..aae5c86 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-_benwick-the-key-word-is-able-how-many-people-cannot.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-_benwick-the-key-word-is-able-how-many-people-cannot.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @_benwick -@SebAaltonen The key word is ABLE. How many people cannot compile a program without the visual studio ide? You're only cheating yourself if you don't understand how your toolchain does its work. +@SebAaltonen + +The key word is ABLE. How many people cannot compile a program without the visual studio ide? You're only cheating yourself if you don't understand how your toolchain does its work. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-atomlib-its-a-meme-from-a-person-who-posts-nothing-but.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-atomlib-its-a-meme-from-a-person-who-posts-nothing-but.md index de9dd98..99286d7 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-atomlib-its-a-meme-from-a-person-who-posts-nothing-but.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-atomlib-its-a-meme-from-a-person-who-posts-nothing-but.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @atomlib -@SebAaltonen It's a meme from a person who posts nothing but memes on Twitter. There's no meaningful debate here. Frankly, there's simply nothing worth paying attention to as this person is only interested in your engagement. +@SebAaltonen + +It's a meme from a person who posts nothing but memes on Twitter. There's no meaningful debate here. Frankly, there's simply nothing worth paying attention to as this person is only interested in your engagement. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-baris2c-its-bait.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-baris2c-its-bait.md index 0af3446..09ecd0e 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-baris2c-its-bait.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-baris2c-its-bait.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @baris2c -@SebAaltonen it's bait. +@SebAaltonen + +it's bait. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-bozoid-its-just-coder-bravado-to-show-off-toy-algorithms.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-bozoid-its-just-coder-bravado-to-show-off-toy-algorithms.md index 8745b35..56a477d 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-bozoid-its-just-coder-bravado-to-show-off-toy-algorithms.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-bozoid-its-just-coder-bravado-to-show-off-toy-algorithms.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @bozoid -@SebAaltonen it's just coder bravado to show off toy algorithms +@SebAaltonen + +it's just coder bravado to show off toy algorithms real production code is a shitshow Jenga tower that is 90% stupid boilerplate and copy-paste and calls to frameworks to do the thinking they don't want to do diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-burlapDD-they-are-signaling-but-its-like-being-proud-of.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-burlapDD-they-are-signaling-but-its-like-being-proud-of.md index 781b5bf..cd5055c 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-burlapDD-they-are-signaling-but-its-like-being-proud-of.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-burlapDD-they-are-signaling-but-its-like-being-proud-of.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @burlapDD -@SebAaltonen They are signaling +@SebAaltonen + +They are signaling But its like being proud of gluing frames in a film while the rest use capcut on their phone diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-coolkoon-because-when-you-have-to-fix-something-on-a.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-coolkoon-because-when-you-have-to-fix-something-on-a.md index 7b9debe..66c46f2 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-coolkoon-because-when-you-have-to-fix-something-on-a.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-coolkoon-because-when-you-have-to-fix-something-on-a.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @coolkoon -@SebAaltonen Because when you have to fix something on a customer system then usually notepad/vim/nano is literally the only option you have, that's why. +@SebAaltonen + +Because when you have to fix something on a customer system then usually notepad/vim/nano is literally the only option you have, that's why. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-damianGray-you-should-be-able-to-code-with-punch-cards.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-damianGray-you-should-be-able-to-code-with-punch-cards.md index aff8b11..b7a7144 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-damianGray-you-should-be-able-to-code-with-punch-cards.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-damianGray-you-should-be-able-to-code-with-punch-cards.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @damianGray -@SebAaltonen "You should be able to code with punch cards directly in binary" same energy +@SebAaltonen + +"You should be able to code with punch cards directly in binary" same energy ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-deejayyhu-debate-is-not-about-when-you-dont-want-to-use.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-deejayyhu-debate-is-not-about-when-you-dont-want-to-use.md index 86678c6..05998b4 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-deejayyhu-debate-is-not-about-when-you-dont-want-to-use.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-deejayyhu-debate-is-not-about-when-you-dont-want-to-use.md @@ -28,7 +28,9 @@ parent_post_id: "1786349827669790823" **1/** @deejayyhu -@SebAaltonen Debate is not about when you don't want to use notepad, but when you are not able to use it. +@SebAaltonen + +Debate is not about when you don't want to use notepad, but when you are not able to use it. New version of "copy con program.exe", there is truth hidden between the lines. diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-dmitriid-the-anti-tooling-discourse-in-programming-is.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-dmitriid-the-anti-tooling-discourse-in-programming-is.md index 2b3f907..9871b63 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-dmitriid-the-anti-tooling-discourse-in-programming-is.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-dmitriid-the-anti-tooling-discourse-in-programming-is.md @@ -28,7 +28,9 @@ parent_post_id: "1786349827669790823" **1/** @dmitriid -@SebAaltonen The anti-tooling discourse in programming is quite tiring +@SebAaltonen + +The anti-tooling discourse in programming is quite tiring ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-dorithegreat128-you-should-be-able-to-it-shows-that-you.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-dorithegreat128-you-should-be-able-to-it-shows-that-you.md index b8bffcf..c82e032 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-dorithegreat128-you-should-be-able-to-it-shows-that-you.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-dorithegreat128-you-should-be-able-to-it-shows-that-you.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @dorithegreat128 -@SebAaltonen You should be *able* to, it shows that you understand what you're writing, but you shouldn't *actually* do it because it's ridiculously inefficient +@SebAaltonen + +You should be *able* to, it shows that you understand what you're writing, but you shouldn't *actually* do it because it's ridiculously inefficient ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-fightuntil-real-programmers-use-a-magnetized-needle-and-a.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-fightuntil-real-programmers-use-a-magnetized-needle-and-a.md index f997aa2..803692a 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-fightuntil-real-programmers-use-a-magnetized-needle-and-a.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-fightuntil-real-programmers-use-a-magnetized-needle-and-a.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @fightuntil -@SebAaltonen Real programmers use a magnetized needle and a steady hand. +@SebAaltonen + +Real programmers use a magnetized needle and a steady hand. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-foudre_tempete-tbf-intelisense-is-just-a-faster-way-of-finding.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-foudre_tempete-tbf-intelisense-is-just-a-faster-way-of-finding.md index 20d8406..7d5ac5d 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-foudre_tempete-tbf-intelisense-is-just-a-faster-way-of-finding.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-foudre_tempete-tbf-intelisense-is-just-a-faster-way-of-finding.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @foudre_tempete -@SebAaltonen Tbf intelisense is just a faster way of finding the right code/method to do something instead of finding it online or in a book... +@SebAaltonen + +Tbf intelisense is just a faster way of finding the right code/method to do something instead of finding it online or in a book... ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-frostyfrog-i-started-in-notepad-now-i-use-vim-for-all-my.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-frostyfrog-i-started-in-notepad-now-i-use-vim-for-all-my.md index 9d03655..02663c0 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-frostyfrog-i-started-in-notepad-now-i-use-vim-for-all-my.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-frostyfrog-i-started-in-notepad-now-i-use-vim-for-all-my.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @frostyfrog -@SebAaltonen I started in notepad, now I use vim for all my programming needs +@SebAaltonen + +I started in notepad, now I use vim for all my programming needs ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-games_pants-i-had-that-at-an-interview-once-a-programming.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-games_pants-i-had-that-at-an-interview-once-a-programming.md index 77effa1..dd9304e 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-games_pants-i-had-that-at-an-interview-once-a-programming.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-games_pants-i-had-that-at-an-interview-once-a-programming.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @games_pants -@SebAaltonen I had that at an interview once. A programming test in Notepad. 90% of my time was spent battling the text editor! I probably should have got up and walked out.. it was a sign of worse things to come when I got the job :) +@SebAaltonen + +I had that at an interview once. A programming test in Notepad. 90% of my time was spent battling the text editor! I probably should have got up and walked out.. it was a sign of worse things to come when I got the job :) ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-gregrthenson-i-once-was-in-an-interview-where-they-handed-me-a.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-gregrthenson-i-once-was-in-an-interview-where-they-handed-me-a.md index 53e103f..44c848a 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-gregrthenson-i-once-was-in-an-interview-where-they-handed-me-a.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-gregrthenson-i-once-was-in-an-interview-where-they-handed-me-a.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @gregrthenson -@SebAaltonen I once was in an interview where they handed me a pen and paper and said "write this program" +@SebAaltonen + +I once was in an interview where they handed me a pen and paper and said "write this program" I started writing pseudo code and they stopped me and said "no, actually write it" I put the pen down, pushed the paper forward, and told them I would not do that. diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-h15panicatd-honestly-the-meme-works-infinitely-better-if-you.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-h15panicatd-honestly-the-meme-works-infinitely-better-if-you.md index f1d3727..91cae25 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-h15panicatd-honestly-the-meme-works-infinitely-better-if-you.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-h15panicatd-honestly-the-meme-works-infinitely-better-if-you.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @h15panicatd -@SebAaltonen Honestly the meme works infinitely better if you sub IntelliSense out for Copilot. +@SebAaltonen + +Honestly the meme works infinitely better if you sub IntelliSense out for Copilot. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-heyotetsuo-use-whatever-you-want.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-heyotetsuo-use-whatever-you-want.md index 8745cae..0dc6613 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-heyotetsuo-use-whatever-you-want.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-heyotetsuo-use-whatever-you-want.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @heyotetsuo -@SebAaltonen @SebAaltonen use whatever you want +@SebAaltonen @SebAaltonen + +use whatever you want ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-jmac_ai-the-meme-isnt-saying-you-shouldnt-use-it-its.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-jmac_ai-the-meme-isnt-saying-you-shouldnt-use-it-its.md index 039dcce..69e19e2 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-jmac_ai-the-meme-isnt-saying-you-shouldnt-use-it-its.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-jmac_ai-the-meme-isnt-saying-you-shouldnt-use-it-its.md @@ -28,37 +28,51 @@ parent_post_id: "1786346729547153794" **1/** @jmac_ai -@SebAaltonen The meme isn't saying you shouldn't use it, it's saying you should be *able* to still program without it. +@SebAaltonen + +The meme isn't saying you shouldn't use it, it's saying you should be *able* to still program without it. The implied meaning is that you should have a strong foundational understanding to build what you need that tools amplify. **2/** @SebAaltonen -@jmac_ai Yes. But programming is 90% reading code, and browsing though a big code base in notepad is just insanely slow. You open cmake files to multiple tabs and file browsers to others to find the files, etc. In good IDE you just click. Reading code is the problem, not writing. +@jmac_ai + +Yes. But programming is 90% reading code, and browsing though a big code base in notepad is just insanely slow. You open cmake files to multiple tabs and file browsers to others to find the files, etc. In good IDE you just click. Reading code is the problem, not writing. **3/** @jmac_ai -@SebAaltonen Of course it's slow. Again, that's not the point :p +@SebAaltonen + +Of course it's slow. Again, that's not the point :p **4/** @SebAaltonen -@jmac_ai Why would anybody want to learn a slow cumbersome practice that nobody should use in professional development? I still don't understand. +@jmac_ai + +Why would anybody want to learn a slow cumbersome practice that nobody should use in professional development? I still don't understand. **5/** @jmac_ai -@SebAaltonen Bc it forces you to build a foundational knowledge. That helps when tools have a bug; it helps you understand where to look for things; allows you to make better tools, etc. +@SebAaltonen + +Bc it forces you to build a foundational knowledge. That helps when tools have a bug; it helps you understand where to look for things; allows you to make better tools, etc. E.g., When an IDE isn't working right for someone I can help fix it, bc I understand the foundations. **6/** @the_vertigamer -@jmac_ai @SebAaltonen Does it really though? It never (at least for me) does much more than autocomplete particularly long types. That's not really doing the code for me, I'm still having to design the algorithm. +@jmac_ai @SebAaltonen + +Does it really though? It never (at least for me) does much more than autocomplete particularly long types. That's not really doing the code for me, I'm still having to design the algorithm. Further inteli often gets it wrong so you have to know what ur doing. It's !copilot. **7/** @jmac_ai -@the_vertigamer @SebAaltonen Plausibly you could learn all the foundations in different ways. The meme isn't prescriptive that you learn by doing it the hard way, only that you *could* do it the hard way. If you couldn't, then it suggests you haven't learned all the foundations. +@the_vertigamer @SebAaltonen + +Plausibly you could learn all the foundations in different ways. The meme isn't prescriptive that you learn by doing it the hard way, only that you *could* do it the hard way. If you couldn't, then it suggests you haven't learned all the foundations. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-leonpalafox-because-thats-how-we-learned-and-you-should-too.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-leonpalafox-because-thats-how-we-learned-and-you-should-too.md index 64d6af5..3128790 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-leonpalafox-because-thats-how-we-learned-and-you-should-too.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-leonpalafox-because-thats-how-we-learned-and-you-should-too.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @leonpalafox -@SebAaltonen Because that’s how we learned and you should too 😂 +@SebAaltonen + +Because that’s how we learned and you should too 😂 ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-lethal_guitar-its-like-telling-a-carpenter-you-should-be-able.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-lethal_guitar-its-like-telling-a-carpenter-you-should-be-able.md index 2ff54e2..84bcfd4 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-lethal_guitar-its-like-telling-a-carpenter-you-should-be-able.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-lethal_guitar-its-like-telling-a-carpenter-you-should-be-able.md @@ -28,11 +28,15 @@ parent_post_id: "1786346729547153794" **1/** @lethal_guitar -@SebAaltonen It's like telling a carpenter "You should be able to do all your work without power tools". Yeah it's possible, but it's extremely slow and exhausting so there's no good reason to do it when better alternatives exist. +@SebAaltonen + +It's like telling a carpenter "You should be able to do all your work without power tools". Yeah it's possible, but it's extremely slow and exhausting so there's no good reason to do it when better alternatives exist. **2/** @SebAaltonen -@lethal_guitar Yeah. You have done it manually a few times first and then you learn how to use tools. Technically you would still be able to do the thing manually, but you haven't done that in a few years. I could code with notepad, but it would just be much slower and more painful. +@lethal_guitar + +Yeah. You have done it manually a few times first and then you learn how to use tools. Technically you would still be able to do the thing manually, but you haven't done that in a few years. I could code with notepad, but it would just be much slower and more painful. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-maessof91-it-makes-old-people-feel-cool-because-they-at.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-maessof91-it-makes-old-people-feel-cool-because-they-at.md index 5548c0a..7043ae0 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-maessof91-it-makes-old-people-feel-cool-because-they-at.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-maessof91-it-makes-old-people-feel-cool-because-they-at.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @maessof91 -@SebAaltonen It makes old people feel cool, because they at some point were forced to code like that +@SebAaltonen + +It makes old people feel cool, because they at some point were forced to code like that ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-maisakal-you-are-an-intellisense-yourself-if-you-have-the.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-maisakal-you-are-an-intellisense-yourself-if-you-have-the.md index 30a08e4..ebeac0b 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-maisakal-you-are-an-intellisense-yourself-if-you-have-the.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-maisakal-you-are-an-intellisense-yourself-if-you-have-the.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @maisakal -@SebAaltonen You are an intellisense yourself if you have the references at your disposal. You just need to look it up. Don’t be a lazyass, go look it up. +@SebAaltonen + +You are an intellisense yourself if you have the references at your disposal. You just need to look it up. Don’t be a lazyass, go look it up. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-mbc0der-should-be-able-to-doesnt-mean-prefer-to-its-just.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-mbc0der-should-be-able-to-doesnt-mean-prefer-to-its-just.md index 5186731..3212e6b 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-mbc0der-should-be-able-to-doesnt-mean-prefer-to-its-just.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-mbc0der-should-be-able-to-doesnt-mean-prefer-to-its-just.md @@ -28,15 +28,21 @@ parent_post_id: "1786346729547153794" **1/** @mbc0der -@SebAaltonen "Should be able to" doesn't mean "prefer to." It's just a base line level of fluency that implies more experience and probably more competency. +@SebAaltonen + +"Should be able to" doesn't mean "prefer to." It's just a base line level of fluency that implies more experience and probably more competency. **2/** @SebAaltonen -@mbc0der I really can't read a big code base using notepad. It's so painful to manually juggle dozen of cmake files to find where every header is so that I can read them. Coding is 90% reading. Of course everybody can write on notepad. That's not the problem. +@mbc0der + +I really can't read a big code base using notepad. It's so painful to manually juggle dozen of cmake files to find where every header is so that I can read them. Coding is 90% reading. Of course everybody can write on notepad. That's not the problem. **3/** @mbc0der -@SebAaltonen Yes, I agree it's unwieldy to do so in a very large codebase or one that you are unfamiliar with. Obviously this is just a meme so there's not much nuance, and you can interpret it in different ways. +@SebAaltonen + +Yes, I agree it's unwieldy to do so in a very large codebase or one that you are unfamiliar with. Obviously this is just a meme so there's not much nuance, and you can interpret it in different ways. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-megaloid6-you-are-weak.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-megaloid6-you-are-weak.md index e6c1bae..e16ad2a 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-megaloid6-you-are-weak.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-megaloid6-you-are-weak.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @megaloid6 -@SebAaltonen You are weak +@SebAaltonen + +You are weak ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-officiallyninja-i-think-there-is-some-value-in-this-at-least-for.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-officiallyninja-i-think-there-is-some-value-in-this-at-least-for.md index 8446331..ff7b3d5 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-officiallyninja-i-think-there-is-some-value-in-this-at-least-for.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-officiallyninja-i-think-there-is-some-value-in-this-at-least-for.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @officiallyninja -@SebAaltonen I think there is some value in this. At least for a beginner. You should be able to use notepad + terminal to write simple programs. That doesn't mean it's practical. But any intermediate dev should be able to do it, it'll be annoying yes, but not *that* hard for small problems +@SebAaltonen + +I think there is some value in this. At least for a beginner. You should be able to use notepad + terminal to write simple programs. That doesn't mean it's practical. But any intermediate dev should be able to do it, it'll be annoying yes, but not *that* hard for small problems ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-pepite2choc-its-not-about-wanting-its-about-being-able-to.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-pepite2choc-its-not-about-wanting-its-about-being-able-to.md index 2189d4b..4fd1173 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-pepite2choc-its-not-about-wanting-its-about-being-able-to.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-pepite2choc-its-not-about-wanting-its-about-being-able-to.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @pepite2choc -@SebAaltonen It's not about wanting, it's about being able to. +@SebAaltonen + +It's not about wanting, it's about being able to. Just a car driver should be able to drive without driving assistance. If you NEED autocompletion and debugging to code... Something is off (ofc you may be 10x faster with all ide features, but that is not the point) diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-redhog_org-no-need-to-do-that-but-to-be-able-to-if-unable.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-redhog_org-no-need-to-do-that-but-to-be-able-to-if-unable.md index 0e3ebc3..8a18345 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-redhog_org-no-need-to-do-that-but-to-be-able-to-if-unable.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-redhog_org-no-need-to-do-that-but-to-be-able-to-if-unable.md @@ -28,23 +28,33 @@ parent_post_id: "1786346729547153794" **1/** @redhog_org -@SebAaltonen No need to do that. But to be able to. If unable, the tools are fooling you to think you understand the code better than you actually do. +@SebAaltonen + +No need to do that. But to be able to. If unable, the tools are fooling you to think you understand the code better than you actually do. **2/** @SebAaltonen -@redhog_org Is there really some benefit for finding each symbol in 10 million line code base by browsing directory structure manually? You could just click on a symbol to find the implementation in IDE, read it and continue. 10x+ faster. Coding is 90% reading. Notepad is not great for that. +@redhog_org + +Is there really some benefit for finding each symbol in 10 million line code base by browsing directory structure manually? You could just click on a symbol to find the implementation in IDE, read it and continue. 10x+ faster. Coding is 90% reading. Notepad is not great for that. **3/** @SebAaltonen -@redhog_org Anybody could write code in notepad. The problem is reading. Writing code is less than <10% of programmer's time. Reading and browsing the code base is what matters. For that you need code highlight and jump to symbols, caller graphs, etc. Step flow with debugger. +@redhog_org + +Anybody could write code in notepad. The problem is reading. Writing code is less than <10% of programmer's time. Reading and browsing the code base is what matters. For that you need code highlight and jump to symbols, caller graphs, etc. Step flow with debugger. **4/** @SebAaltonen -@redhog_org I would be much more concerned if a junior programmer would not be using IDE to boost their productivity. I don't need to know whether they could write the code in notepad, since nobody really does that. That's not the job. +@redhog_org + +I would be much more concerned if a junior programmer would not be using IDE to boost their productivity. I don't need to know whether they could write the code in notepad, since nobody really does that. That's not the job. **5/** @redhog_org -@SebAaltonen It is exactly the junior devs that need an IDE because their mental model of thew whole project is lacking, that build spaghetti across the project. Their productivity is only worth it if it doesn't cost more in PR review and reefaactoring. +@SebAaltonen + +It is exactly the junior devs that need an IDE because their mental model of thew whole project is lacking, that build spaghetti across the project. Their productivity is only worth it if it doesn't cost more in PR review and reefaactoring. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ruch483-they-just-gaslight-themselves-that-their-broken.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ruch483-they-just-gaslight-themselves-that-their-broken.md index ffbb903..f4d6039 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ruch483-they-just-gaslight-themselves-that-their-broken.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ruch483-they-just-gaslight-themselves-that-their-broken.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @ruch483 -@SebAaltonen they just gaslight themselves that their broken vim config is equivalent to a proper IDE +@SebAaltonen + +they just gaslight themselves that their broken vim config is equivalent to a proper IDE ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-saarw-simple-editors-tend-to-lead-to-other-bad-choices.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-saarw-simple-editors-tend-to-lead-to-other-bad-choices.md index 2fbd4da..940f607 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-saarw-simple-editors-tend-to-lead-to-other-bad-choices.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-saarw-simple-editors-tend-to-lead-to-other-bad-choices.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @saarw -@SebAaltonen Simple editors tend to lead to other bad choices to compensate. Such as preference for languages that have so little syntax and type information that they create maintenance nightmares +@SebAaltonen + +Simple editors tend to lead to other bad choices to compensate. Such as preference for languages that have so little syntax and type information that they create maintenance nightmares https://x.com/saarw/status/1755529704180720114?t=zfjfI-8BhZ915QDCMRRjAQ&s=19 ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-sksauli-this.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-sksauli-this.md index 4e625d9..9ad145b 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-sksauli-this.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-sksauli-this.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @sksauli -@SebAaltonen This? +@SebAaltonen + +This? ![](https://pbs.twimg.com/media/GMpuG5OWEAAk6z5?format=jpg&name=orig) diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-smurfpappa123-the-decel-mind-is-perplexing.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-smurfpappa123-the-decel-mind-is-perplexing.md index a93f0e3..8133aa2 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-smurfpappa123-the-decel-mind-is-perplexing.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-smurfpappa123-the-decel-mind-is-perplexing.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @smurfpappa123 -@SebAaltonen The decel mind is perplexing 🤔 +@SebAaltonen + +The decel mind is perplexing 🤔 ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-streetsofboston-folks-advocating-for-notepad-coding-is-much-like.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-streetsofboston-folks-advocating-for-notepad-coding-is-much-like.md index daad468..8f68f85 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-streetsofboston-folks-advocating-for-notepad-coding-is-much-like.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-streetsofboston-folks-advocating-for-notepad-coding-is-much-like.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @streetsofboston -@SebAaltonen Folks advocating for "notepad" coding is much like a grandfather boasting how he walked to school during a blizzard. +@SebAaltonen + +Folks advocating for "notepad" coding is much like a grandfather boasting how he walked to school during a blizzard. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-theogramme_dev-to-prove-twitter-theyre-good-coders.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-theogramme_dev-to-prove-twitter-theyre-good-coders.md index 6ed42d0..be87af1 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-theogramme_dev-to-prove-twitter-theyre-good-coders.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-theogramme_dev-to-prove-twitter-theyre-good-coders.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @theogramme_dev -@SebAaltonen To prove twitter they're good coders +@SebAaltonen + +To prove twitter they're good coders ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-thewillsykes-i-sort-of-agree-but-im-so-often-forced-to-code.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-thewillsykes-i-sort-of-agree-but-im-so-often-forced-to-code.md index b1f27d1..34adb83 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-thewillsykes-i-sort-of-agree-but-im-so-often-forced-to-code.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-thewillsykes-i-sort-of-agree-but-im-so-often-forced-to-code.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @thewillsykes -@SebAaltonen i sort of agree, but i'm so often forced to code with no functional IDE when teaching students (cos they haven't set up correctly) that i can say it's a helpful skill to keep. When i started coding C, I used "Edit" in Dos... I hugely prefer auto complete but it has made me weaker +@SebAaltonen + +i sort of agree, but i'm so often forced to code with no functional IDE when teaching students (cos they haven't set up correctly) that i can say it's a helpful skill to keep. When i started coding C, I used "Edit" in Dos... I hugely prefer auto complete but it has made me weaker ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-thr0wsException-its-obvious-engagement-farming-rage-bait-just.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-thr0wsException-its-obvious-engagement-farming-rage-bait-just.md index e8ed253..7b4f2a1 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-thr0wsException-its-obvious-engagement-farming-rage-bait-just.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-thr0wsException-its-obvious-engagement-farming-rage-bait-just.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @thr0wsException -@SebAaltonen It's obvious engagement farming / rage bait. Just ignore it tbh +@SebAaltonen + +It's obvious engagement farming / rage bait. Just ignore it tbh ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-unmodify-its-a-desire-to-appear-extraordinarily-competent.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-unmodify-its-a-desire-to-appear-extraordinarily-competent.md index 91b469f..d1b6edf 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-unmodify-its-a-desire-to-appear-extraordinarily-competent.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-unmodify-its-a-desire-to-appear-extraordinarily-competent.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @unmodify -@SebAaltonen It's a desire to appear extraordinarily competent without having worked enough for it. Ie. Youth. +@SebAaltonen + +It's a desire to appear extraordinarily competent without having worked enough for it. Ie. Youth. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-virtuallyfun-because-i-dont-want-the-distractions-i-dont-want.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-virtuallyfun-because-i-dont-want-the-distractions-i-dont-want.md index 481bebc..4963c9b 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-virtuallyfun-because-i-dont-want-the-distractions-i-dont-want.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-virtuallyfun-because-i-dont-want-the-distractions-i-dont-want.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @virtuallyfun -@SebAaltonen Because I don’t want the distractions, I don’t want my hand held, I just want to type, typos and all. +@SebAaltonen + +Because I don’t want the distractions, I don’t want my hand held, I just want to type, typos and all. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-wrd83-i-would-agree-with-the-original-poster-you-should.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-wrd83-i-would-agree-with-the-original-poster-you-should.md index 5cb9545..e281a17 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-wrd83-i-would-agree-with-the-original-poster-you-should.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-wrd83-i-would-agree-with-the-original-poster-you-should.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @wrd83 -@SebAaltonen I would agree with the original poster. You should be able to code in notepad. +@SebAaltonen + +I would agree with the original poster. You should be able to code in notepad. It does not imply you coding day to day in notepad. diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ytvizthex-hell-i-used-notepad-for-my-shitty-terraria-mods.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ytvizthex-hell-i-used-notepad-for-my-shitty-terraria-mods.md index 7c45319..8bbddb7 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ytvizthex-hell-i-used-notepad-for-my-shitty-terraria-mods.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-03-ytvizthex-hell-i-used-notepad-for-my-shitty-terraria-mods.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @ytvizthex -@SebAaltonen Hell, I used notepad++ for my shitty terraria mods and the TML discord act like I sacrificed them all to Satan lmfao +@SebAaltonen + +Hell, I used notepad++ for my shitty terraria mods and the TML discord act like I sacrificed them all to Satan lmfao Programmers are weirdly elitist about dumb shit. diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-AdmiralMemo-i-think-people-should-be-able-to-code-without.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-AdmiralMemo-i-think-people-should-be-able-to-code-without.md index 2f5f32d..6693277 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-AdmiralMemo-i-think-people-should-be-able-to-code-without.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-AdmiralMemo-i-think-people-should-be-able-to-code-without.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @AdmiralMemo -@SebAaltonen I think people should be able to code without tools, but I'm not going to try to take the tools away. If you can't code without it, you should git gud, but until then, keep coding at least. Something's better than nothing. +@SebAaltonen + +I think people should be able to code without tools, but I'm not going to try to take the tools away. If you can't code without it, you should git gud, but until then, keep coding at least. Something's better than nothing. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-Ancients-there-is-an-argument-where-people-build-systems.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-Ancients-there-is-an-argument-where-people-build-systems.md index ae315df..385e260 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-Ancients-there-is-an-argument-where-people-build-systems.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-Ancients-there-is-an-argument-where-people-build-systems.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Ancients -@SebAaltonen There is an argument where people build systems as complex and resource intensive as their tooling will allow. +@SebAaltonen + +There is an argument where people build systems as complex and resource intensive as their tooling will allow. I don't think people should be forced to code in notepad, but I don't think people should be ok with tons of indirection because *their* IDE covers it up for them. diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-CHChistris-i-guess-this-is-just-another-expression-of-the-if.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-CHChistris-i-guess-this-is-just-another-expression-of-the-if.md index da792ef..c180608 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-CHChistris-i-guess-this-is-just-another-expression-of-the-if.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-CHChistris-i-guess-this-is-just-another-expression-of-the-if.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @CHChistris -@SebAaltonen I guess this is just another expression of the "if I had to suffer, you should too. To give sense to why I had to suffer" school of thought. +@SebAaltonen + +I guess this is just another expression of the "if I had to suffer, you should too. To give sense to why I had to suffer" school of thought. I prefer the "this sucks, and I hope I can make it better for everyone" school of thought ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-FChapeau-its-gatekeeping-really-there-has-never-been-a.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-FChapeau-its-gatekeeping-really-there-has-never-been-a.md index 960dcad..8df1748 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-FChapeau-its-gatekeeping-really-there-has-never-been-a.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-FChapeau-its-gatekeeping-really-there-has-never-been-a.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @FChapeau -@SebAaltonen It’s gatekeeping really. There has never been a better time to learn programming, with fantastic free tools, but you apparently need to be able to work a specific way if you want to be a “real” programmer. +@SebAaltonen + +It’s gatekeeping really. There has never been a better time to learn programming, with fantastic free tools, but you apparently need to be able to work a specific way if you want to be a “real” programmer. Programmers write programs. diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-JasonKn99664124-honestly-a-lot-of-the-framework-and-transpiler.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-JasonKn99664124-honestly-a-lot-of-the-framework-and-transpiler.md index 0c2514d..4b18c30 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-JasonKn99664124-honestly-a-lot-of-the-framework-and-transpiler.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-JasonKn99664124-honestly-a-lot-of-the-framework-and-transpiler.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @JasonKn99664124 -@SebAaltonen Honestly a lot of the "framework" and "transpiler" idiocy is what makes you reliant on tooling you don't need. +@SebAaltonen + +Honestly a lot of the "framework" and "transpiler" idiocy is what makes you reliant on tooling you don't need. Y'all claim it makes things "easier" when all you're doing is adding extra steps. Things you'd recognize as a waste of time if you didn't have the IDE and tooling. diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-KlavsPeder-sometimes-we-are-limited-by-our-environment-which.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-KlavsPeder-sometimes-we-are-limited-by-our-environment-which.md index 201ce7e..d950402 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-KlavsPeder-sometimes-we-are-limited-by-our-environment-which.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-KlavsPeder-sometimes-we-are-limited-by-our-environment-which.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @KlavsPeder -@SebAaltonen Sometimes we are limited by our environment, which may limit us to the tools available on the device we are working on. This may be 'cat > file.c', ed, ex, notepad or whatever. +@SebAaltonen + +Sometimes we are limited by our environment, which may limit us to the tools available on the device we are working on. This may be 'cat > file.c', ed, ex, notepad or whatever. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-Matagi1996-its-not-like-you-should-only-code-without-support.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-Matagi1996-its-not-like-you-should-only-code-without-support.md index 9f76a43..1d1d719 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-Matagi1996-its-not-like-you-should-only-code-without-support.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-Matagi1996-its-not-like-you-should-only-code-without-support.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @Matagi1996 -@SebAaltonen Its not like you should only code without Support, but its nice to be able to. Sometimes you only are connected to a machine over a console via ssh and have to use Vim. +@SebAaltonen + +Its not like you should only code without Support, but its nice to be able to. Sometimes you only are connected to a machine over a console via ssh and have to use Vim. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-NohBody3-why-do-they-teach-arithmetic-we-all-have.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-NohBody3-why-do-they-teach-arithmetic-we-all-have.md index a94d13a..62d63dc 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-NohBody3-why-do-they-teach-arithmetic-we-all-have.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-NohBody3-why-do-they-teach-arithmetic-we-all-have.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @NohBody3 -@SebAaltonen Why do they teach arithmetic, we all have calculators +@SebAaltonen + +Why do they teach arithmetic, we all have calculators ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-RyanAlban1-not-notepad-but-i-have-done-a-non-zero-amount-of.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-RyanAlban1-not-notepad-but-i-have-done-a-non-zero-amount-of.md index 7c9c0e7..12b2c3e 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-RyanAlban1-not-notepad-but-i-have-done-a-non-zero-amount-of.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-RyanAlban1-not-notepad-but-i-have-done-a-non-zero-amount-of.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @RyanAlban1 -@SebAaltonen Not Notepad, but I have done a non-zero amount of programming in source control diff tools that have none of those features. It was the quickest way to solve the problem at the time.😅 +@SebAaltonen + +Not Notepad, but I have done a non-zero amount of programming in source control diff tools that have none of those features. It was the quickest way to solve the problem at the time.😅 I also have yet to use a code review tool that had IntelliSense. Wish I had one, though... diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-YohanOttie-people-will-justify-programming-c-c-on-linux-on.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-YohanOttie-people-will-justify-programming-c-c-on-linux-on.md index ed419b4..318cd82 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-YohanOttie-people-will-justify-programming-c-c-on-linux-on.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-YohanOttie-people-will-justify-programming-c-c-on-linux-on.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @YohanOttie -@SebAaltonen People will justify programming C/C++ on Linux. On leafpad. +@SebAaltonen + +People will justify programming C/C++ on Linux. On leafpad. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-andokal-if-you-cant-code-tcl-using-vi-through-a-bash.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-andokal-if-you-cant-code-tcl-using-vi-through-a-bash.md index 2e04371..2025d05 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-andokal-if-you-cant-code-tcl-using-vi-through-a-bash.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-andokal-if-you-cant-code-tcl-using-vi-through-a-bash.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @andokal -@SebAaltonen If you can’t code TCL using VI through a bash terminal on a remote Unix box with CVS SC, you can’t code. But seriously, more than half of the modern internet ran on that for about a decade (AOL). +@SebAaltonen + +If you can’t code TCL using VI through a bash terminal on a remote Unix box with CVS SC, you can’t code. But seriously, more than half of the modern internet ran on that for about a decade (AOL). ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-bmarci7-i-would-say-you-should-code-in-a-way-that-is.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-bmarci7-i-would-say-you-should-code-in-a-way-that-is.md index 574df4b..a088c5b 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-bmarci7-i-would-say-you-should-code-in-a-way-that-is.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-bmarci7-i-would-say-you-should-code-in-a-way-that-is.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @bmarci7 -@SebAaltonen I would say, you should code in a way that is readable even in notepad. +@SebAaltonen + +I would say, you should code in a way that is readable even in notepad. Using auto keyword and other modern stuff makes your code look like a cryptography without a good ide :/ ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-codesonpaper-the-skill-issue-is-strong-with-this-one.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-codesonpaper-the-skill-issue-is-strong-with-this-one.md index c7e40fb..2ed4c1d 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-codesonpaper-the-skill-issue-is-strong-with-this-one.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-codesonpaper-the-skill-issue-is-strong-with-this-one.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @codesonpaper -@SebAaltonen The skill issue is strong with this one +@SebAaltonen + +The skill issue is strong with this one ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-cpps93-i-learn-to-code-in-c-back-in-2011-and-my-teacher.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-cpps93-i-learn-to-code-in-c-back-in-2011-and-my-teacher.md index dbcf225..ca61d96 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-cpps93-i-learn-to-code-in-c-back-in-2011-and-my-teacher.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-cpps93-i-learn-to-code-in-c-back-in-2011-and-my-teacher.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @cpps93 -@SebAaltonen I learn to code in C++ back in 2011 and my teacher advised us to work for the moment in Notepad++ just to LEARN,for example,I remember when a function receives a pointer to try to call it placing a lot of '*' or '&' and wait for intellisense not to complain about what i'd written +@SebAaltonen + +I learn to code in C++ back in 2011 and my teacher advised us to work for the moment in Notepad++ just to LEARN,for example,I remember when a function receives a pointer to try to call it placing a lot of '*' or '&' and wait for intellisense not to complain about what i'd written ![](https://pbs.twimg.com/media/GMt1kNiWUAAC-Vp?format=png&name=orig) diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-daihaminkey-and-when-there-is-no-tool-for-something-they.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-daihaminkey-and-when-there-is-no-tool-for-something-they.md index 13edb79..c0d68ba 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-daihaminkey-and-when-there-is-no-tool-for-something-they.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-daihaminkey-and-when-there-is-no-tool-for-something-they.md @@ -28,7 +28,9 @@ parent_post_id: "1786349827669790823" **1/** @daihaminkey -@SebAaltonen And when there is no tool for something, they develop it. +@SebAaltonen + +And when there is no tool for something, they develop it. Especially in gamedev diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-fforw-you-never-know-when-a-time-machine-will-transport.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-fforw-you-never-know-when-a-time-machine-will-transport.md index 4f8267e..37fbfd1 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-fforw-you-never-know-when-a-time-machine-will-transport.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-fforw-you-never-know-when-a-time-machine-will-transport.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @fforw -@SebAaltonen You never know when a time machine will transport you back into the early 90s and you have to live there and earn a living as software developer. +@SebAaltonen + +You never know when a time machine will transport you back into the early 90s and you have to live there and earn a living as software developer. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-gengsterrebber-its-about-gatekeeping-and-feeling-superior.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-gengsterrebber-its-about-gatekeeping-and-feeling-superior.md index 7fd3bc2..7d3b04a 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-gengsterrebber-its-about-gatekeeping-and-feeling-superior.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-gengsterrebber-its-about-gatekeeping-and-feeling-superior.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @gengsterrebber -@SebAaltonen It's about gatekeeping and feeling superior, Sebastian. Duh. +@SebAaltonen + +It's about gatekeeping and feeling superior, Sebastian. Duh. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-kechogarcia-ctags-and-cscope-if-you-know-you-know.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-kechogarcia-ctags-and-cscope-if-you-know-you-know.md index 789b599..6e5a450 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-kechogarcia-ctags-and-cscope-if-you-know-you-know.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-kechogarcia-ctags-and-cscope-if-you-know-you-know.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @kechogarcia -@SebAaltonen ctags and cscope. If you know, you know. Unfortunately not many know how to use them. +@SebAaltonen + +ctags and cscope. If you know, you know. Unfortunately not many know how to use them. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-kinjalkishor-why-one-would-waste-time-do-things-in-more-error.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-kinjalkishor-why-one-would-waste-time-do-things-in-more-error.md index 2abb28f..74e3735 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-kinjalkishor-why-one-would-waste-time-do-things-in-more-error.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-kinjalkishor-why-one-would-waste-time-do-things-in-more-error.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @kinjalkishor -@SebAaltonen Why one would waste time & do things in more error prone ways, when good tools are available. +@SebAaltonen + +Why one would waste time & do things in more error prone ways, when good tools are available. Even best language will see very less adoption without good tools. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-ok_devesh-legends-use-nano-or-vim-as-well.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-ok_devesh-legends-use-nano-or-vim-as-well.md index 82d384c..233fcd0 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-ok_devesh-legends-use-nano-or-vim-as-well.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-ok_devesh-legends-use-nano-or-vim-as-well.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @ok_devesh -@SebAaltonen Legends use nano or vim as well! +@SebAaltonen + +Legends use nano or vim as well! ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-real7a-thread.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-real7a-thread.md index cfa15b7..eef37bf 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-real7a-thread.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-real7a-thread.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @real7a -@SebAaltonen :-) +@SebAaltonen + +:-) ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sagiritarius-using-codeblocks-instead-of-visual-studio-for.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sagiritarius-using-codeblocks-instead-of-visual-studio-for.md index 0a62ac8..b974a40 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sagiritarius-using-codeblocks-instead-of-visual-studio-for.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sagiritarius-using-codeblocks-instead-of-visual-studio-for.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @sagiritarius -@SebAaltonen Using CodeBlocks instead of Visual Studio for some time taught me that we created IntelliSense for a reason. +@SebAaltonen + +Using CodeBlocks instead of Visual Studio for some time taught me that we created IntelliSense for a reason. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sean_of_w-i-know-a-lot-of-professionals-who-cant-code-at.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sean_of_w-i-know-a-lot-of-professionals-who-cant-code-at.md index fb9ce1f..3b08e7e 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sean_of_w-i-know-a-lot-of-professionals-who-cant-code-at.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sean_of_w-i-know-a-lot-of-professionals-who-cant-code-at.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @sean_of_w -@SebAaltonen I know a lot of “professionals” who can’t code at all without an IDE, even on small projects. If you can’t work without it even at a low level of productivity, your ability to earn a living exists only at the whims of the IDE vendor. That’s one hell of a career risk. +@SebAaltonen + +I know a lot of “professionals” who can’t code at all without an IDE, even on small projects. If you can’t work without it even at a low level of productivity, your ability to earn a living exists only at the whims of the IDE vendor. That’s one hell of a career risk. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-simplex_fx-you-should-be-able-to-program-on-paper-thats-what.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-simplex_fx-you-should-be-able-to-program-on-paper-thats-what.md index 9ba8488..1d6e66f 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-simplex_fx-you-should-be-able-to-program-on-paper-thats-what.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-simplex_fx-you-should-be-able-to-program-on-paper-thats-what.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @simplex_fx -@SebAaltonen You should be able to program on paper! +@SebAaltonen + +You should be able to program on paper! That’s what I learned from very smart people teaching CS at uni for minimum wage told me, so it must be true! diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sylioning-ah-yes-high-school-memories-where-we-all-wrote.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sylioning-ah-yes-high-school-memories-where-we-all-wrote.md index 0c8f6fd..abfb5ec 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sylioning-ah-yes-high-school-memories-where-we-all-wrote.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-sylioning-ah-yes-high-school-memories-where-we-all-wrote.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @sylioning -@SebAaltonen Ah yes, high school memories where we all wrote HTML code in Notepad. +@SebAaltonen + +Ah yes, high school memories where we all wrote HTML code in Notepad. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-xusifob-if-you-wouldnt-be-able-to-do-your-job-without-an.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-xusifob-if-you-wouldnt-be-able-to-do-your-job-without-an.md index 63154a5..d5341eb 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-xusifob-if-you-wouldnt-be-able-to-do-your-job-without-an.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-04-xusifob-if-you-wouldnt-be-able-to-do-your-job-without-an.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @xusifob -@SebAaltonen If you wouldn't be able to do your job without an IDE there's a problem +@SebAaltonen + +If you wouldn't be able to do your job without an IDE there's a problem But ofc you're 10x more productive with your IDE diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-05-joimboim-it-could-be-a-good-idea-to-start-without.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-05-joimboim-it-could-be-a-good-idea-to-start-without.md index 34ccee9..53c0718 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-05-joimboim-it-could-be-a-good-idea-to-start-without.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-05-joimboim-it-could-be-a-good-idea-to-start-without.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @joimboim -@SebAaltonen It could be a good idea to start without intellisense. Just to learn and not get overwhelmed. It is also pretty distracting when it gets something wrong. +@SebAaltonen + +It could be a good idea to start without intellisense. Just to learn and not get overwhelmed. It is also pretty distracting when it gets something wrong. I mean there is no valid reason why someone shouldn't use it. But you should be able to make something without it, i guess. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-05-ren_metal_n_dev-its-about-leveraging-the-tools-to-be-as.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-05-ren_metal_n_dev-its-about-leveraging-the-tools-to-be-as.md index f944c64..a26b41a 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-05-ren_metal_n_dev-its-about-leveraging-the-tools-to-be-as.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/2024-05-05-ren_metal_n_dev-its-about-leveraging-the-tools-to-be-as.md @@ -28,7 +28,9 @@ parent_post_id: "1786346729547153794" **1/** @ren_metal_n_dev -@SebAaltonen It’s about leveraging the tools to be as productive as possible. Who cares if you use an IDE. If someone on my team is dragging behind because of their tool choice on the other hand, that would be annoying. +@SebAaltonen + +It’s about leveraging the tools to be as productive as possible. Who cares if you use an IDE. If someone on my team is dragging behind because of their tool choice on the other hand, that would be annoying. ## Related diff --git a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/index.md b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/index.md index bafc630..e0f536b 100644 --- a/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/index.md +++ b/archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-code-without/index.md @@ -33,26 +33,38 @@ Branches: [[archive/threads/SebAaltonen/2024-05-03-why-should-one-be-able-to-cod **2/** @NOTimothyLottes -@SebAaltonen i code in notepad2, i don't use debuggers, i don't create bugs, i don't use multiple files, the C code compiles faster than i can notice after saving the single file (via a shell script) ... why anyone wants the alternative insane code complexity, i'll never know +@SebAaltonen + +i code in notepad2, i don't use debuggers, i don't create bugs, i don't use multiple files, the C code compiles faster than i can notice after saving the single file (via a shell script) ... why anyone wants the alternative insane code complexity, i'll never know **3/** @SebAaltonen -@NOTimothyLottes Works for hobby projects. But not for big work projects with 50+ people teams. +@NOTimothyLottes + +Works for hobby projects. But not for big work projects with 50+ people teams. **4/** @Nerfoxingaround -@SebAaltonen @NOTimothyLottes No. It works for low level projects regardless of the team size. This whole discussion is yet another case of programmers taking their work as religion or their personality. +@SebAaltonen @NOTimothyLottes + +No. It works for low level projects regardless of the team size. This whole discussion is yet another case of programmers taking their work as religion or their personality. I wouldn't handle stepper motors in C# and I wouldn't code games in assembler. **5/** @NOTimothyLottes -@Nerfoxingaround @SebAaltonen Back in the day we would write everything, from the DOS extender (to 32bit mode) the sound blaster drivers, the VGA interface, etc, and the UI and audio synth and sequencer/editor ... all in assembly and it was dead easy, a lot easter than say bringing up a triangle in Vulkan. +@Nerfoxingaround @SebAaltonen + +Back in the day we would write everything, from the DOS extender (to 32bit mode) the sound blaster drivers, the VGA interface, etc, and the UI and audio synth and sequencer/editor ... all in assembly and it was dead easy, a lot easter than say bringing up a triangle in Vulkan. **6/** @NOTimothyLottes -@Nerfoxingaround @SebAaltonen There is nothing complex or hard about assembly with a good macro preprocessor. It's easier IMO than high level languages because you know exactly what you get out of it. Interrupts and syscalls are easy. +@Nerfoxingaround @SebAaltonen + +There is nothing complex or hard about assembly with a good macro preprocessor. It's easier IMO than high level languages because you know exactly what you get out of it. Interrupts and syscalls are easy. **7/** @NOTimothyLottes -@Nerfoxingaround @SebAaltonen It was only later when systems forced C ABI library interfaces with it's stacks and junk that things got messy and only because of the C. Then C++ happened and things got much worse. Pure ASM is easy, its interfacing with the bloat world that got hard. +@Nerfoxingaround @SebAaltonen + +It was only later when systems forced C ABI library interfaces with it's stacks and junk that things got messy and only because of the C. Then C++ happened and things got much worse. Pure ASM is easy, its interfacing with the bloat world that got hard. diff --git a/archive/threads/SebAaltonen/2025-03-08-stupid-hardware-question-why-does-amd-use-several/2025-03-08-NOTimothyLottes-actually-this-is-a-super-important-question-imo.md b/archive/threads/SebAaltonen/2025-03-08-stupid-hardware-question-why-does-amd-use-several/2025-03-08-NOTimothyLottes-actually-this-is-a-super-important-question-imo.md index c48f1ed..978aae9 100644 --- a/archive/threads/SebAaltonen/2025-03-08-stupid-hardware-question-why-does-amd-use-several/2025-03-08-NOTimothyLottes-actually-this-is-a-super-important-question-imo.md +++ b/archive/threads/SebAaltonen/2025-03-08-stupid-hardware-question-why-does-amd-use-several/2025-03-08-NOTimothyLottes-actually-this-is-a-super-important-question-imo.md @@ -28,7 +28,9 @@ parent_post_id: "1898272635277967509" **1/** @NOTimothyLottes -@SebAaltonen Actually this is a super important question IMO. +@SebAaltonen + +Actually this is a super important question IMO. For a review of how this works on NVIDIA: https://arxiv.org/pdf/1903.07486 6 physical dependency barriers @@ -38,133 +40,195 @@ So don't need a u64 bitmask **2/** @NOTimothyLottes -@SebAaltonen AMD pre-GCN was a fixed TEX/ALU clause based arch. GCN went to their counter system (decade+ back). So there is a very long compiler & HW design technical debt inertia probably keeping the HW design on this counter based evolutionary tract +@SebAaltonen + +AMD pre-GCN was a fixed TEX/ALU clause based arch. GCN went to their counter system (decade+ back). So there is a very long compiler & HW design technical debt inertia probably keeping the HW design on this counter based evolutionary tract **3/** @NOTimothyLottes -@SebAaltonen K$ loads are out of order, so the only counter that makes any sense is 0, ie waiting until all prior loads have finished. +@SebAaltonen + +K$ loads are out of order, so the only counter that makes any sense is 0, ie waiting until all prior loads have finished. VMEM loads had traditionally been in-order only so counter made more sense. AMD's compiler would trickle-feed waits so tiny bits of VALU could move forward.. **4/** @NOTimothyLottes -@SebAaltonen Vs say pre-GCN which was all-or-nothing. And vs NV which is all (for the mask of 6 barriers or nothing). So I think the counter design mixed with in-order VMEM was an attempt to reduce latency at the time +@SebAaltonen + +Vs say pre-GCN which was all-or-nothing. And vs NV which is all (for the mask of 6 barriers or nothing). So I think the counter design mixed with in-order VMEM was an attempt to reduce latency at the time **5/** @NOTimothyLottes -@SebAaltonen And also keep in mind TEX$ had traditionally been very small with respect to the number of clients (waves). So cacheline life was quite short, so in-order with counter like this might have had line-life benefits +@SebAaltonen + +And also keep in mind TEX$ had traditionally been very small with respect to the number of clients (waves). So cacheline life was quite short, so in-order with counter like this might have had line-life benefits **6/** @NOTimothyLottes -@SebAaltonen However in modern times TEX$ is bigger, and ALU issue is faster (compared to GCN's round robin wave64 on simd16). Also modern GPUs have operand caching. And trickle feeding waitcnts would break operand caching (more irregular switching to other waves) ... +@SebAaltonen + +However in modern times TEX$ is bigger, and ALU issue is faster (compared to GCN's round robin wave64 on simd16). Also modern GPUs have operand caching. And trickle feeding waitcnts would break operand caching (more irregular switching to other waves) ... **7/** @NOTimothyLottes -@SebAaltonen And at the point where vector memory requests can go out-of-order (hit-under-miss, etc), counters are just legacy baggage that might not really make sense any more ... +@SebAaltonen + +And at the point where vector memory requests can go out-of-order (hit-under-miss, etc), counters are just legacy baggage that might not really make sense any more ... **8/** @NOTimothyLottes -@SebAaltonen Also the elephant in the room, dynamic wave scheduling. In theory with a chunky granularity design like NVIDIA, NVIDIA could build in hardware wave scheduling something that tries to keep waves at similar barriers! -> +@SebAaltonen + +Also the elephant in the room, dynamic wave scheduling. In theory with a chunky granularity design like NVIDIA, NVIDIA could build in hardware wave scheduling something that tries to keep waves at similar barriers! -> **9/** @NOTimothyLottes -@SebAaltonen -> Meaning better uniform forward progress of groups of waves. Trying to keep higher cache reuse. Where as AMD oldest first does allow the older wave(s) to get extremely out-of-sync with possible cache reuse across waves +@SebAaltonen + +-> Meaning better uniform forward progress of groups of waves. Trying to keep higher cache reuse. Where as AMD oldest first does allow the older wave(s) to get extremely out-of-sync with possible cache reuse across waves **10/** @NOTimothyLottes -@SebAaltonen On AMD I've always wanted to try to play with waitcnt placement for better dynamic scheduling (chunky vs fine-granularity, etc) BUT AMD refuses to ever allow ASM shaders in CS VK (even though ROCm supports ASM shaders without VK) -> +@SebAaltonen + +On AMD I've always wanted to try to play with waitcnt placement for better dynamic scheduling (chunky vs fine-granularity, etc) BUT AMD refuses to ever allow ASM shaders in CS VK (even though ROCm supports ASM shaders without VK) -> **11/** @NOTimothyLottes -@SebAaltonen I do know traditionally that AMD often has a lot of trouble getting to 100% utilization of ALU-bound stuff. Typically sitting in the low 90%s instead, all due to wave scheduling (oldest first VALU base camping, preventing other waves to get VMEM issue out = bubbles) -> +@SebAaltonen + +I do know traditionally that AMD often has a lot of trouble getting to 100% utilization of ALU-bound stuff. Typically sitting in the low 90%s instead, all due to wave scheduling (oldest first VALU base camping, preventing other waves to get VMEM issue out = bubbles) -> **12/** @NOTimothyLottes -@SebAaltonen AMD also wouldn't provide any access to s_setprio via intrinsics. So the two most important scheduling tools {waitcnt placement/grouping,setprio} are simply non-accessible to us "idiots" (who could never actually responsibly use intrinsics) +@SebAaltonen + +AMD also wouldn't provide any access to s_setprio via intrinsics. So the two most important scheduling tools {waitcnt placement/grouping,setprio} are simply non-accessible to us "idiots" (who could never actually responsibly use intrinsics) **13/** @NOTimothyLottes -@SebAaltonen So what we actually do on AMD, is to do semi-persistent (or fully persistent) waves that instead of exiting, loop through groups of work instead. And this can sometimes actually fix HW scheduling issues by depending on oldest-first schedule behavior -> +@SebAaltonen + +So what we actually do on AMD, is to do semi-persistent (or fully persistent) waves that instead of exiting, loop through groups of work instead. And this can sometimes actually fix HW scheduling issues by depending on oldest-first schedule behavior -> **14/** @NOTimothyLottes -@SebAaltonen Effectively the more scheduling one takes away from the dynamic HW scheduler and places instead into the static scheduling of a compiler, often seriously improves behavior by removing the worst case dynamic irregular behavior at runtime -> +@SebAaltonen + +Effectively the more scheduling one takes away from the dynamic HW scheduler and places instead into the static scheduling of a compiler, often seriously improves behavior by removing the worst case dynamic irregular behavior at runtime -> **15/** @NOTimothyLottes -@SebAaltonen I say "sometimes" because if you get out of I$ you hit perf death. And if the compiler explodes VGPR count then typically it can also be perf-death too +@SebAaltonen + +I say "sometimes" because if you get out of I$ you hit perf death. And if the compiler explodes VGPR count then typically it can also be perf-death too **16/** @NOTimothyLottes -@SebAaltonen Historically the highest utilization stuff on AMD hardware would be 4-2 waves/SIMD actually [multiple work/wave] ... which will come to a surprise to UE material shader people who are dead in the water on performance at that wave count [single work/wave] ... +@SebAaltonen + +Historically the highest utilization stuff on AMD hardware would be 4-2 waves/SIMD actually [multiple work/wave] ... which will come to a surprise to UE material shader people who are dead in the water on performance at that wave count [single work/wave] ... **17/** @NOTimothyLottes -@SebAaltonen [IRONY] those who actually know what they are doing on AMD are fixed high-register-count low-wave-count persistent-wave folks with unrolling and static scheduling-focused (VS) the masses are lower-register-count high-wave-count non-persistent-wave dynamic-sched focused +@SebAaltonen + +[IRONY] those who actually know what they are doing on AMD are fixed high-register-count low-wave-count persistent-wave folks with unrolling and static scheduling-focused (VS) the masses are lower-register-count high-wave-count non-persistent-wave dynamic-sched focused **18/** @NOTimothyLottes -@SebAaltonen One other point: in HW, how many waves should one actually keep live? The answer is only enough to reach high highest perf. But how does one build hardware to do that? With NVIDIA's design I think it is a lot easier, with the chunky barriers +@SebAaltonen + +One other point: in HW, how many waves should one actually keep live? The answer is only enough to reach high highest perf. But how does one build hardware to do that? With NVIDIA's design I think it is a lot easier, with the chunky barriers **19/** @SebAaltonen -@NOTimothyLottes I said WG_RR_EN (round-robin arbitration) in the RDNA4 ISA-docs, but no explanation. Wondering what this is. +@NOTimothyLottes + +I said WG_RR_EN (round-robin arbitration) in the RDNA4 ISA-docs, but no explanation. Wondering what this is. **20/** @NOTimothyLottes -@SebAaltonen I think it means oldest-workgroup first scheduling with round-robin scheduling across waves in the workgroups at the given workgroup priorities. +@SebAaltonen + +I think it means oldest-workgroup first scheduling with round-robin scheduling across waves in the workgroups at the given workgroup priorities. **21/** @AgileJebrim -@NOTimothyLottes @SebAaltonen What about losing shader occupancy and the latency-hiding benefits it provides for memory ops? +@NOTimothyLottes @SebAaltonen + +What about losing shader occupancy and the latency-hiding benefits it provides for memory ops? **22/** @NOTimothyLottes -@AgileJebrim @SebAaltonen The higher the occupancy the higher the clients on the caches = the lower the cache/client. So you never actually want highest occupancy, you want lowest occupancy that enables just enough latency hiding to keep highest utilization ... +@AgileJebrim @SebAaltonen + +The higher the occupancy the higher the clients on the caches = the lower the cache/client. So you never actually want highest occupancy, you want lowest occupancy that enables just enough latency hiding to keep highest utilization ... **23/** @NOTimothyLottes -@AgileJebrim @SebAaltonen ... To be more detailed, what you really really want, is to keep the memory requests grouped by locality (for highest cache hit rate) and NO unnecessary bubbles in the memory request queues that would result in ALU stalling !!! - this is basic real-world supply chain management +@AgileJebrim @SebAaltonen + +... To be more detailed, what you really really want, is to keep the memory requests grouped by locality (for highest cache hit rate) and NO unnecessary bubbles in the memory request queues that would result in ALU stalling !!! - this is basic real-world supply chain management **24/** @AgileJebrim -@NOTimothyLottes @SebAaltonen Now what if you want to reuse the same shared memory buffer for a larger workgroup rather than needlessly duplicating it with many smaller workgroups? Wouldn’t that be an argument for a larger workgroup size than 64,1,1? +@NOTimothyLottes @SebAaltonen + +Now what if you want to reuse the same shared memory buffer for a larger workgroup rather than needlessly duplicating it with many smaller workgroups? Wouldn’t that be an argument for a larger workgroup size than 64,1,1? **25/** @NOTimothyLottes -@AgileJebrim @SebAaltonen Right, that is the CU-sized workgroup. Something that takes over the full CU. That is one of the persistent-wave usage models. But a CU-sized workgroup for non-persistent work is perf-death, because of the idle time during workgroup barriers (horrible with oldest-wave sched) +@AgileJebrim @SebAaltonen + +Right, that is the CU-sized workgroup. Something that takes over the full CU. That is one of the persistent-wave usage models. But a CU-sized workgroup for non-persistent work is perf-death, because of the idle time during workgroup barriers (horrible with oldest-wave sched) **26/** @AgileJebrim -@NOTimothyLottes @SebAaltonen I’m not as well versed in AMD. 4 SIMDs per CU, so do 64x4 = 256 invocations per workgroup? +@NOTimothyLottes @SebAaltonen + +I’m not as well versed in AMD. 4 SIMDs per CU, so do 64x4 = 256 invocations per workgroup? **27/** @NOTimothyLottes -@AgileJebrim @SebAaltonen That topic gets complex with RDNA: CU vs WGP mode, wave32 vs wave64, 8 vs 12 VGPRs per allocation granularity, etc +@AgileJebrim @SebAaltonen + +That topic gets complex with RDNA: CU vs WGP mode, wave32 vs wave64, 8 vs 12 VGPRs per allocation granularity, etc **28/** @AgileJebrim -@NOTimothyLottes @SebAaltonen Managed to get this info out of Grok. +@NOTimothyLottes @SebAaltonen + +Managed to get this info out of Grok. ![](https://pbs.twimg.com/media/GlhkzywXMAAQJQf?format=jpg&name=orig) **29/** @AgileJebrim -@NOTimothyLottes @SebAaltonen Oh. +@NOTimothyLottes @SebAaltonen + +Oh. ![](https://pbs.twimg.com/media/Glhl2ruXUAA1bhu?format=jpg&name=orig) **30/** @AgileJebrim -@NOTimothyLottes @SebAaltonen Seems like just using 128 is a safe bet for most hardware? +@NOTimothyLottes @SebAaltonen + +Seems like just using 128 is a safe bet for most hardware? **31/** @NOTimothyLottes -@AgileJebrim @SebAaltonen Yeah safe bet like one-size-fits-all unisex underwear +@AgileJebrim @SebAaltonen + +Yeah safe bet like one-size-fits-all unisex underwear **32/** @AgileJebrim -@NOTimothyLottes @SebAaltonen 😆 +@NOTimothyLottes @SebAaltonen + +😆 **33/** @AgileJebrim @@ -175,7 +239,9 @@ On the flip side, it appears that using 128 would only use half the register fil **34/** @AgileJebrim -@NOTimothyLottes @SebAaltonen I’m imagining scheduler going back and forth between the same two SIMDs but dunno if such even distribution is what would actually happen in practice? +@NOTimothyLottes @SebAaltonen + +I’m imagining scheduler going back and forth between the same two SIMDs but dunno if such even distribution is what would actually happen in practice? ## Related diff --git a/archive/threads/SebAaltonen/2025-03-28-indoor-scenes-in-hypehype-are-starting-to-look/2025-03-28-VoxelBoy-any-tips-or-existing-solutions-on-achieving.md b/archive/threads/SebAaltonen/2025-03-28-indoor-scenes-in-hypehype-are-starting-to-look/2025-03-28-VoxelBoy-any-tips-or-existing-solutions-on-achieving.md index 3501f0e..34992eb 100644 --- a/archive/threads/SebAaltonen/2025-03-28-indoor-scenes-in-hypehype-are-starting-to-look/2025-03-28-VoxelBoy-any-tips-or-existing-solutions-on-achieving.md +++ b/archive/threads/SebAaltonen/2025-03-28-indoor-scenes-in-hypehype-are-starting-to-look/2025-03-28-VoxelBoy-any-tips-or-existing-solutions-on-achieving.md @@ -28,55 +28,81 @@ parent_post_id: "1905523331496828964" **1/** @VoxelBoy -@SebAaltonen Any tips or existing solutions on achieving something similar in Unity? (in terms of indoor lighting) +@SebAaltonen + +Any tips or existing solutions on achieving something similar in Unity? (in terms of indoor lighting) **2/** @BenSimsTech -@VoxelBoy @SebAaltonen In Unity I do it this way: Custom EnvProbe component, capture gbuffer albedo normal and depth into cubemap on load. Pick 1 probe per frame and relight similar to deferred lighting using current sun/sky etc. Convolve to SH for diffuse and GGX for spec. Combine during deferred pass +@VoxelBoy @SebAaltonen + +In Unity I do it this way: Custom EnvProbe component, capture gbuffer albedo normal and depth into cubemap on load. Pick 1 probe per frame and relight similar to deferred lighting using current sun/sky etc. Convolve to SH for diffuse and GGX for spec. Combine during deferred pass **3/** @BenSimsTech -@VoxelBoy @SebAaltonen This is a custom pipeline though. You'll need a decent amount of graphics code/shaders to get it working, will be very hard to retrofit into HDRP, might be feasible in URP/BiRP. I'm still working on it, may switch to octmaps instead of cubemaps. Unity is still very behind with GI +@VoxelBoy @SebAaltonen + +This is a custom pipeline though. You'll need a decent amount of graphics code/shaders to get it working, will be very hard to retrofit into HDRP, might be feasible in URP/BiRP. I'm still working on it, may switch to octmaps instead of cubemaps. Unity is still very behind with GI **4/** @VoxelBoy -@BenSimsTech @SebAaltonen Also, with your custom render pipeline, how easy would you say it is to exceed URP performance if what’s being used are the most basic features such as Lit shader + lightmaps? Is there a lot of cruft in URP that causes overhead in your opinion? +@BenSimsTech @SebAaltonen + +Also, with your custom render pipeline, how easy would you say it is to exceed URP performance if what’s being used are the most basic features such as Lit shader + lightmaps? Is there a lot of cruft in URP that causes overhead in your opinion? **5/** @BenSimsTech -@VoxelBoy @SebAaltonen URP is reasonably lightweight, depends what you're targeting though. For low-end mobile/mobile VR there's a few uneccessary copies/blits etc for things like color grading, depth reads, MSAA resolves etc. Lights are only culled on per-object basis which can waste performance too. +@VoxelBoy @SebAaltonen + +URP is reasonably lightweight, depends what you're targeting though. For low-end mobile/mobile VR there's a few uneccessary copies/blits etc for things like color grading, depth reads, MSAA resolves etc. Lights are only culled on per-object basis which can waste performance too. **6/** @Alecazam123 -@BenSimsTech @VoxelBoy @SebAaltonen I don’t think msaa is worth it on TBDR. Too much bandwidth shuffling tiles on/off. And avoiding swapping out say depth is tough. +@BenSimsTech @VoxelBoy @SebAaltonen + +I don’t think msaa is worth it on TBDR. Too much bandwidth shuffling tiles on/off. And avoiding swapping out say depth is tough. **7/** @NOTimothyLottes -@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen MSAA+tiler makes sense if no post, assuming one does inline 4 sample tonemap before box summation (HW resolve). Have to super sample alpha test and set coverage mask, and super-sample depth for soft particle blend. Neither should require depth export if HW is good +@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen + +MSAA+tiler makes sense if no post, assuming one does inline 4 sample tonemap before box summation (HW resolve). Have to super sample alpha test and set coverage mask, and super-sample depth for soft particle blend. Neither should require depth export if HW is good **8/** @Alecazam123 -@NOTimothyLottes @BenSimsTech @VoxelBoy @SebAaltonen Gpu occlusion needs hierZ. Just not worth it IMHO. +@NOTimothyLottes @BenSimsTech @VoxelBoy @SebAaltonen + +Gpu occlusion needs hierZ. Just not worth it IMHO. **9/** @NOTimothyLottes -@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen Good HW in theory with wave ops on a full-screen triangle could read the MSAA depth and do an inline down-sample for the wave tile without ever needing to export MSAA depth, hierZ done with last frame's reduced depth and speculation should work for HZB occlusion +@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen + +Good HW in theory with wave ops on a full-screen triangle could read the MSAA depth and do an inline down-sample for the wave tile without ever needing to export MSAA depth, hierZ done with last frame's reduced depth and speculation should work for HZB occlusion **10/** @NOTimothyLottes -@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen On a tiler you don't do mid-frame readback feeding any kind of geometry because the tiler geo passes are too latent (do all VS for the view for tile chunking, then PS) +@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen + +On a tiler you don't do mid-frame readback feeding any kind of geometry because the tiler geo passes are too latent (do all VS for the view for tile chunking, then PS) **11/** @NOTimothyLottes -@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen The MSAA alternative I was pushing for at Unity for "general purpose" deferred g-buffer stuff was 1:2x2 nearest scaling mixed with 8x area STP (scaling-TAA), and hopefully eventually CS based index culling (to keep triangle, and thus chucker DRAM round trip bandwidth low) +@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen + +The MSAA alternative I was pushing for at Unity for "general purpose" deferred g-buffer stuff was 1:2x2 nearest scaling mixed with 8x area STP (scaling-TAA), and hopefully eventually CS based index culling (to keep triangle, and thus chucker DRAM round trip bandwidth low) **12/** @Alecazam123 -@NOTimothyLottes @BenSimsTech @VoxelBoy @SebAaltonen Still a lot of limitations on depth/stencil and color msaa resolves and iOS. Hw only has it all around A13. Nice sample shaders for tonemap prior to resolve. Still think TAA is the most flexible/affordable. Plus msaa lowers tile size from 32x32@1x to 16x16@4x. +@NOTimothyLottes @BenSimsTech @VoxelBoy @SebAaltonen + +Still a lot of limitations on depth/stencil and color msaa resolves and iOS. Hw only has it all around A13. Nice sample shaders for tonemap prior to resolve. Still think TAA is the most flexible/affordable. Plus msaa lowers tile size from 32x32@1x to 16x16@4x. **13/** @NOTimothyLottes -@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen MSAA/TAA doesn't change the problem with mid-frame CPU read back. Id still probably go with a mix of vintage precomputed clustered visibility (ratchet and clank style) and model LOD for the static geo of a tri based mobile engine +@Alecazam123 @BenSimsTech @VoxelBoy @SebAaltonen + +MSAA/TAA doesn't change the problem with mid-frame CPU read back. Id still probably go with a mix of vintage precomputed clustered visibility (ratchet and clank style) and model LOD for the static geo of a tri based mobile engine ## Related diff --git a/archive/threads/SebAaltonen/2025-03-28-indoor-scenes-in-hypehype-are-starting-to-look/index.md b/archive/threads/SebAaltonen/2025-03-28-indoor-scenes-in-hypehype-are-starting-to-look/index.md index e5ce7be..20b96f9 100644 --- a/archive/threads/SebAaltonen/2025-03-28-indoor-scenes-in-hypehype-are-starting-to-look/index.md +++ b/archive/threads/SebAaltonen/2025-03-28-indoor-scenes-in-hypehype-are-starting-to-look/index.md @@ -54,7 +54,9 @@ Game by @DanielPalmiArt **5/** @SebAaltonen -@DanielPalmiArt Old HypeHype indoor pictures before we landed screen space AO (GTAO) and oct-map indirect lighting. Old version had gradient based indirect lighting. Gradient is bad for indoors, since all wall normals face to horizon direction == same gradient color. And shadow masks sun out. +@DanielPalmiArt + +Old HypeHype indoor pictures before we landed screen space AO (GTAO) and oct-map indirect lighting. Old version had gradient based indirect lighting. Gradient is bad for indoors, since all wall normals face to horizon direction == same gradient color. And shadow masks sun out. ![](https://pbs.twimg.com/media/GnHLNt9WkAAabNR?format=jpg&name=orig) ![](https://pbs.twimg.com/media/GnHLO2zXEAAhygZ?format=jpg&name=orig) @@ -62,7 +64,9 @@ Game by @DanielPalmiArt **6/** @SebAaltonen -@DanielPalmiArt Exactly one-year-old build versus the latest build. Quite a massive improvement in one year in visuals. +@DanielPalmiArt + +Exactly one-year-old build versus the latest build. Quite a massive improvement in one year in visuals. Still runs smoothly on the same devices. diff --git a/archive/threads/Triang3l/2026-08-05-writes-have-write-only-caches-that-are/2026-08-05-NOTimothyLottes-that-clause-based-arch-was-interesting-in-many.md b/archive/threads/Triang3l/2026-08-05-writes-have-write-only-caches-that-are/2026-08-05-NOTimothyLottes-that-clause-based-arch-was-interesting-in-many.md index d3cfc08..1e07caa 100644 --- a/archive/threads/Triang3l/2026-08-05-writes-have-write-only-caches-that-are/2026-08-05-NOTimothyLottes-that-clause-based-arch-was-interesting-in-many.md +++ b/archive/threads/Triang3l/2026-08-05-writes-have-write-only-caches-that-are/2026-08-05-NOTimothyLottes-that-clause-based-arch-was-interesting-in-many.md @@ -28,27 +28,39 @@ parent_post_id: "2084985800836477433" **1/** @NOTimothyLottes -@Triang3l That clause based arch was interesting in many ways, mem clause articulates the boundary for write combining. Was also easy to engineer slow perf by fine granularity predication too. +@Triang3l + +That clause based arch was interesting in many ways, mem clause articulates the boundary for write combining. Was also easy to engineer slow perf by fine granularity predication too. **2/** @Triang3l -@NOTimothyLottes But what is even a memory clause when MEM_RAT is a control flow instruction, or did the GPU group consecutive MEM_RATs into an implicit "clause"? I also wonder when you can mix RAT and RAT_CACHELESS (the OpenCL compiler apparently just stops using DB at all if CB is ever needed). +@NOTimothyLottes + +But what is even a memory clause when MEM_RAT is a control flow instruction, or did the GPU group consecutive MEM_RATs into an implicit "clause"? I also wonder when you can mix RAT and RAT_CACHELESS (the OpenCL compiler apparently just stops using DB at all if CB is ever needed). **3/** @NOTimothyLottes -@Triang3l My understanding is that youd need UNCACHED for both write and read. So wouldn’t be all that useful perf wise. My guess is the transition from MEM_EXPORT to MEM_RD (where youd do UNCACHED) implicitly waits for uncached write visibility. +@Triang3l + +My understanding is that youd need UNCACHED for both write and read. So wouldn’t be all that useful perf wise. My guess is the transition from MEM_EXPORT to MEM_RD (where youd do UNCACHED) implicitly waits for uncached write visibility. **4/** @Triang3l -@NOTimothyLottes Yeah, I really hope so… But I guess I should just look at D3D11/GL/CL shader dumps. So many scary things involved, like WAIT_ACK, and that mention of SCOption_R800_UAV_NONUAV_SYNC_WORKAROUND_BUG216513_1 in disassembly. Unless they just fall back to RAT NOP_RTN for all loads 🤷‍♂️ +@NOTimothyLottes + +Yeah, I really hope so… But I guess I should just look at D3D11/GL/CL shader dumps. So many scary things involved, like WAIT_ACK, and that mention of SCOption_R800_UAV_NONUAV_SYNC_WORKAROUND_BUG216513_1 in disassembly. Unless they just fall back to RAT NOP_RTN for all loads 🤷‍♂️ **5/** @NOTimothyLottes -@Triang3l Haha oops, very foggy, sounds like it is explicit via WAIT_ACK, rather than implicit. Fees like the predecessor to s_waitcnt in many respects. +@Triang3l + +Haha oops, very foggy, sounds like it is explicit via WAIT_ACK, rather than implicit. Fees like the predecessor to s_waitcnt in many respects. **6/** @NOTimothyLottes -@Triang3l There are a lot of good cases to have the same memory bound as read and write simultaneously, but under an implicit contract of no r/w overlap for a given cache line . Then dont need uncached reads, but probly would need WAIT_ACK still if write order visibility matters. +@Triang3l + +There are a lot of good cases to have the same memory bound as read and write simultaneously, but under an implicit contract of no r/w overlap for a given cache line . Then dont need uncached reads, but probly would need WAIT_ACK still if write order visibility matters. ## Related diff --git a/archive/threads/VPCOMPRESSB/2025-11-10-im-not-familiar-with-your-problem/index.md b/archive/threads/VPCOMPRESSB/2025-11-10-im-not-familiar-with-your-problem/index.md index 2a76714..83ce588 100644 --- a/archive/threads/VPCOMPRESSB/2025-11-10-im-not-familiar-with-your-problem/index.md +++ b/archive/threads/VPCOMPRESSB/2025-11-10-im-not-familiar-with-your-problem/index.md @@ -29,4 +29,6 @@ in_reply_to: "1987733345628013014" **1/** @VPCOMPRESSB -@NOTimothyLottes i'm not familiar with your problem. +@NOTimothyLottes + +i'm not familiar with your problem. diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-0xAgathosDaimon-the-real-crime-is-those-idiots-not-knowing-who.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-0xAgathosDaimon-the-real-crime-is-those-idiots-not-knowing-who.md index b23cfe1..fb292a6 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-0xAgathosDaimon-the-real-crime-is-those-idiots-not-knowing-who.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-0xAgathosDaimon-the-real-crime-is-those-idiots-not-knowing-who.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @0xAgathosDaimon -@VictorTaelin the real crime is those idiots not knowing who you are or your work. +@VictorTaelin + +the real crime is those idiots not knowing who you are or your work. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-0xbadface1-what-do-you-mean-by-arguments-to-recursion.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-0xbadface1-what-do-you-mean-by-arguments-to-recursion.md index dfc5f1b..ece362a 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-0xbadface1-what-do-you-mean-by-arguments-to-recursion.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-0xbadface1-what-do-you-mean-by-arguments-to-recursion.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @0xbadface1 -@VictorTaelin What do you mean by arguments to recursion "decreasing"? ... that looks a bit too "specific" - is that just some layman description of something more general and rigorous? +@VictorTaelin + +What do you mean by arguments to recursion "decreasing"? ... that looks a bit too "specific" - is that just some layman description of something more general and rigorous? ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-An0o0o0o0n-im-not-going-to-read-all-that-im-happy-for-you-or.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-An0o0o0o0n-im-not-going-to-read-all-that-im-happy-for-you-or.md index 1b3c73b..535830b 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-An0o0o0o0n-im-not-going-to-read-all-that-im-happy-for-you-or.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-An0o0o0o0n-im-not-going-to-read-all-that-im-happy-for-you-or.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @An0o0o0o0n -@VictorTaelin Im not going to read all that, I'm happy for you or sorry that happened. +@VictorTaelin + +Im not going to read all that, I'm happy for you or sorry that happened. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-AutorRecomienda-fable-simplemente-hizo-de-placa-base-pitando-para.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-AutorRecomienda-fable-simplemente-hizo-de-placa-base-pitando-para.md index f13a040..66275b9 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-AutorRecomienda-fable-simplemente-hizo-de-placa-base-pitando-para.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-AutorRecomienda-fable-simplemente-hizo-de-placa-base-pitando-para.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @AutorRecomienda -@VictorTaelin Fable simplemente hizo de placa base pitando para avisar del error, pero la solución elegante y real requería a alguien al volante. +@VictorTaelin + +Fable simplemente hizo de placa base pitando para avisar del error, pero la solución elegante y real requería a alguien al volante. ¿puede esto tener solución con mejor hardware? diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Court_Reinland-this-is-an-s-tier-post-1-it-proves-non-slop.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Court_Reinland-this-is-an-s-tier-post-1-it-proves-non-slop.md index 0d231d0..4ec8144 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Court_Reinland-this-is-an-s-tier-post-1-it-proves-non-slop.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Court_Reinland-this-is-an-s-tier-post-1-it-proves-non-slop.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Court_Reinland -@VictorTaelin This is an S tier post! 1. It proves non-slop brained people exist 2. That they use this site successfully and it’s not all a bot minefield. 3. I don’t know what country you’re from but Happy American 4th! 🇺🇸 +@VictorTaelin + +This is an S tier post! 1. It proves non-slop brained people exist 2. That they use this site successfully and it’s not all a bot minefield. 3. I don’t know what country you’re from but Happy American 4th! 🇺🇸 ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-ETazou-i-understood-5-but-i-still-enjoyed-it.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-ETazou-i-understood-5-but-i-still-enjoyed-it.md index a8def7f..89edc3c 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-ETazou-i-understood-5-but-i-still-enjoyed-it.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-ETazou-i-understood-5-but-i-still-enjoyed-it.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @ETazou -@VictorTaelin i understood 5% but i still enjoyed it +@VictorTaelin + +i understood 5% but i still enjoyed it ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-EttoreMariotti-thanks.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-EttoreMariotti-thanks.md index f9fc1dd..b4a0c75 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-EttoreMariotti-thanks.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-EttoreMariotti-thanks.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @EttoreMariotti -@VictorTaelin Thanks +@VictorTaelin + +Thanks ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-IncidentNoodle-this-is-a-great-post-i-cant-pretend-that-i-really.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-IncidentNoodle-this-is-a-great-post-i-cant-pretend-that-i-really.md index ff98873..5f547dc 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-IncidentNoodle-this-is-a-great-post-i-cant-pretend-that-i-really.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-IncidentNoodle-this-is-a-great-post-i-cant-pretend-that-i-really.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @IncidentNoodle -@VictorTaelin This is a great post! I can’t pretend that I really get the math, but it’s obvious that you understand what you’re talking about. +@VictorTaelin + +This is a great post! I can’t pretend that I really get the math, but it’s obvious that you understand what you’re talking about. I especially appreciate the specific callouts for what Fable is good and bad at, in your context. diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Juanpinha11-i-never-thought-you-had-ai-psychosis-but-the-fact.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Juanpinha11-i-never-thought-you-had-ai-psychosis-but-the-fact.md index 1fcb1a1..5f4ec4a 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Juanpinha11-i-never-thought-you-had-ai-psychosis-but-the-fact.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Juanpinha11-i-never-thought-you-had-ai-psychosis-but-the-fact.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Juanpinha11 -@VictorTaelin I never thought you had AI psychosis, but the fact that others thought so led to this wonderful explanation. It makes me want to learn more about Bend2. +@VictorTaelin + +I never thought you had AI psychosis, but the fact that others thought so led to this wonderful explanation. It makes me want to learn more about Bend2. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Kinch_ahoy-i-got-interested-in-bend-for-its-prosaic.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Kinch_ahoy-i-got-interested-in-bend-for-its-prosaic.md index d050057..fb5d853 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Kinch_ahoy-i-got-interested-in-bend-for-its-prosaic.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Kinch_ahoy-i-got-interested-in-bend-for-its-prosaic.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Kinch_ahoy -@VictorTaelin I got interested in Bend for its prosaic capabilities. What’s the logic behind trying to make it a theorem prover? Language design should be a flight of fancy, so I approve, but I don’t think I’ve seen you write up why you are colliding these worlds. +@VictorTaelin + +I got interested in Bend for its prosaic capabilities. What’s the logic behind trying to make it a theorem prover? Language design should be a flight of fancy, so I approve, but I don’t think I’ve seen you write up why you are colliding these worlds. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Kmmer11133-i-enjoyed-reading-this-post-i-think-that-what.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Kmmer11133-i-enjoyed-reading-this-post-i-think-that-what.md index bb1c9bd..fc0cd05 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Kmmer11133-i-enjoyed-reading-this-post-i-think-that-what.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Kmmer11133-i-enjoyed-reading-this-post-i-think-that-what.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Kmmer11133 -@VictorTaelin I enjoyed reading this post. I think that what you're currently working on is the most profound and important thing next to AI. I believe that it will practically open the door to reaching kolmogorov complexity compression and as we all know: +@VictorTaelin + +I enjoyed reading this post. I think that what you're currently working on is the most profound and important thing next to AI. I believe that it will practically open the door to reaching kolmogorov complexity compression and as we all know: ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-LeeeeeeeeeT_-i-once-implemented-a-type-checker-for.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-LeeeeeeeeeT_-i-once-implemented-a-type-checker-for.md index e1e8560..f25b8b2 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-LeeeeeeeeeT_-i-once-implemented-a-type-checker-for.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-LeeeeeeeeeT_-i-once-implemented-a-type-checker-for.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @LeeeeeeeeeT_ -@VictorTaelin i once implemented a type checker for impredicative MLTT. i then tried to reproduce hurkens' paradox (simplified girard's paradox) - my type checker got stuck in an infinite loop. so.. you couldn't prove false in it, it just never terminated +@VictorTaelin + +i once implemented a type checker for impredicative MLTT. i then tried to reproduce hurkens' paradox (simplified girard's paradox) - my type checker got stuck in an infinite loop. so.. you couldn't prove false in it, it just never terminated ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-LusciousPear-i-love-this-shit.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-LusciousPear-i-love-this-shit.md index 5572cac..bc37dcd 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-LusciousPear-i-love-this-shit.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-LusciousPear-i-love-this-shit.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @LusciousPear -@VictorTaelin I love this shit +@VictorTaelin + +I love this shit ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-MancerAI_-its-lonely-sometimes-eh-im-excited-about-your.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-MancerAI_-its-lonely-sometimes-eh-im-excited-about-your.md index 00717fe..a7e3ac0 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-MancerAI_-its-lonely-sometimes-eh-im-excited-about-your.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-MancerAI_-its-lonely-sometimes-eh-im-excited-about-your.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @MancerAI_ -@VictorTaelin It's lonely sometimes eh? I'm excited about your stuff and love your posts but I don't know a lot about lambda calculus etc. Applications are amazing though +@VictorTaelin + +It's lonely sometimes eh? I'm excited about your stuff and love your posts but I don't know a lot about lambda calculus etc. Applications are amazing though ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-MoisasADR-os-caras-acham-que-s-eles-s-o-superinteligentes.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-MoisasADR-os-caras-acham-que-s-eles-s-o-superinteligentes.md index 399f1aa..53913e1 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-MoisasADR-os-caras-acham-que-s-eles-s-o-superinteligentes.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-MoisasADR-os-caras-acham-que-s-eles-s-o-superinteligentes.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @MoisasADR -@VictorTaelin os caras acham que só eles são superinteligentes mas não conseguem enxergar alem da bolha que ele mesmo se coloca entre os '' inteligentes '', que tipo de inteligência é essa ? é a vida de um engenheiro médio que trabalha em um lab de IA em SF kkkkk +@VictorTaelin + +os caras acham que só eles são superinteligentes mas não conseguem enxergar alem da bolha que ele mesmo se coloca entre os '' inteligentes '', que tipo de inteligência é essa ? é a vida de um engenheiro médio que trabalha em um lab de IA em SF kkkkk ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-NickChapmn-y-combinators-dont-have-valid-types-so-you-are.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-NickChapmn-y-combinators-dont-have-valid-types-so-you-are.md index bc4a81c..a12a1a1 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-NickChapmn-y-combinators-dont-have-valid-types-so-you-are.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-NickChapmn-y-combinators-dont-have-valid-types-so-you-are.md @@ -28,19 +28,27 @@ parent_post_id: "2073406569459368226" **1/** @NickChapmn -@VictorTaelin y-combinators don't have valid types, so you are safe from them in statically typed functional languages. +@VictorTaelin + +y-combinators don't have valid types, so you are safe from them in statically typed functional languages. **2/** @VictorTaelin -@NickChapmn that's absolutely false. you can construct the Y-Combinator and even λf.f(f) λf.f(f) in Haskell, Rust, TypeScript, and so on, even though these are statically typed functional language, through paradoxes like the ones I mentioned above. non-terminating languages are inconsistent +@NickChapmn + +that's absolutely false. you can construct the Y-Combinator and even λf.f(f) λf.f(f) in Haskell, Rust, TypeScript, and so on, even though these are statically typed functional language, through paradoxes like the ones I mentioned above. non-terminating languages are inconsistent **3/** @NickChapmn -@VictorTaelin Ok they are invalid if you don't allow recursive types +@VictorTaelin + +Ok they are invalid if you don't allow recursive types **4/** @VictorTaelin -@NickChapmn yes +@NickChapmn + +yes ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Pitometsu-impossibility-to-write-fast-interpreter-looks.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Pitometsu-impossibility-to-write-fast-interpreter-looks.md index f352ee7..86cad6f 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Pitometsu-impossibility-to-write-fast-interpreter-looks.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Pitometsu-impossibility-to-write-fast-interpreter-looks.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Pitometsu -@VictorTaelin Impossibility to write *fast* interpreter looks like a hardware architecture or compiler issue, not the language expressive power problem. +@VictorTaelin + +Impossibility to write *fast* interpreter looks like a hardware architecture or compiler issue, not the language expressive power problem. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Pitometsu-qtt-approach-for-this-is-very-elegant-indeed.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Pitometsu-qtt-approach-for-this-is-very-elegant-indeed.md index 65d4a83..7771f41 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Pitometsu-qtt-approach-for-this-is-very-elegant-indeed.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Pitometsu-qtt-approach-for-this-is-very-elegant-indeed.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Pitometsu -@VictorTaelin QTT approach for this is very elegant indeed! +@VictorTaelin + +QTT approach for this is very elegant indeed! Elegantly works in relevance setting as well. ❤️ for sharing, it's very interesting topic. diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Rafa_Schwinger-no-i-prefer-the-previous-angry-rhetoric-pls.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Rafa_Schwinger-no-i-prefer-the-previous-angry-rhetoric-pls.md index 4f41929..2160f7c 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Rafa_Schwinger-no-i-prefer-the-previous-angry-rhetoric-pls.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Rafa_Schwinger-no-i-prefer-the-previous-angry-rhetoric-pls.md @@ -28,11 +28,15 @@ parent_post_id: "2073406569459368226" **1/** @Rafa_Schwinger -@VictorTaelin No, I prefer the previous angry rhetoric pls revert the edit +@VictorTaelin + +No, I prefer the previous angry rhetoric pls revert the edit **2/** @VictorTaelin -@Rafa_Schwinger these are only for close followers, enjoy +@Rafa_Schwinger + +these are only for close followers, enjoy ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-RealSchmebulog-sorry-im-not-very-technical-did-you-mean-ai-good.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-RealSchmebulog-sorry-im-not-very-technical-did-you-mean-ai-good.md index 4c8d4cb..3c08287 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-RealSchmebulog-sorry-im-not-very-technical-did-you-mean-ai-good.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-RealSchmebulog-sorry-im-not-very-technical-did-you-mean-ai-good.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @RealSchmebulog -@VictorTaelin Sorry, im not very technical. Did you mean AI good or AI bad this time? +@VictorTaelin + +Sorry, im not very technical. Did you mean AI good or AI bad this time? ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-RizwanKhuharo-angry-ones-always-get-attention-on-internet.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-RizwanKhuharo-angry-ones-always-get-attention-on-internet.md index c44427a..b443f27 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-RizwanKhuharo-angry-ones-always-get-attention-on-internet.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-RizwanKhuharo-angry-ones-always-get-attention-on-internet.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @RizwanKhuharo -@VictorTaelin angry one's always get attention on internet +@VictorTaelin + +angry one's always get attention on internet ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-SdoGtnepreS-dont-let-them-get-you-down-they-can-barely-see.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-SdoGtnepreS-dont-let-them-get-you-down-they-can-barely-see.md index 02047cf..65a08d0 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-SdoGtnepreS-dont-let-them-get-you-down-they-can-barely-see.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-SdoGtnepreS-dont-let-them-get-you-down-they-can-barely-see.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @SdoGtnepreS -@VictorTaelin Don't let them get you down. They can barely see the now, much less the future. +@VictorTaelin + +Don't let them get you down. They can barely see the now, much less the future. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-SoritesMinor-keep-posting-and-ill-keep-reading-or-trying-to.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-SoritesMinor-keep-posting-and-ill-keep-reading-or-trying-to.md index d8582ae..64c9c9b 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-SoritesMinor-keep-posting-and-ill-keep-reading-or-trying-to.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-SoritesMinor-keep-posting-and-ill-keep-reading-or-trying-to.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @SoritesMinor -@VictorTaelin Keep posting and I'll keep reading. Or trying to. +@VictorTaelin + +Keep posting and I'll keep reading. Or trying to. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-ThePremiseOfIt-theres-an-emergent-ai-psychosis-psychosis-in.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-ThePremiseOfIt-theres-an-emergent-ai-psychosis-psychosis-in.md index dc654ad..3696dd7 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-ThePremiseOfIt-theres-an-emergent-ai-psychosis-psychosis-in.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-ThePremiseOfIt-theres-an-emergent-ai-psychosis-psychosis-in.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @ThePremiseOfIt -@VictorTaelin There's an emergent ai psychosis psychosis in which idiots can't understand what you're saying so they cry "AI psychosis." It's a good litmus test for someone's intelligence, imho. Twice someone has suggested I'm expressing AI psychosis, but it was a tell on them. +@VictorTaelin + +There's an emergent ai psychosis psychosis in which idiots can't understand what you're saying so they cry "AI psychosis." It's a good litmus test for someone's intelligence, imho. Twice someone has suggested I'm expressing AI psychosis, but it was a tell on them. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-TheeKruger-i-think-this-is-a-super-legible-digestible.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-TheeKruger-i-think-this-is-a-super-legible-digestible.md index 6d19150..bf787cd 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-TheeKruger-i-think-this-is-a-super-legible-digestible.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-TheeKruger-i-think-this-is-a-super-legible-digestible.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @TheeKruger -@VictorTaelin I think this is a super legible, digestible, accessible, and coherent take. Well said, exceptionally based. +@VictorTaelin + +I think this is a super legible, digestible, accessible, and coherent take. Well said, exceptionally based. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Trevor62271128-i-cant-really-comprehend-what-bend2-will-be.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Trevor62271128-i-cant-really-comprehend-what-bend2-will-be.md index 9bab4f1..6395224 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Trevor62271128-i-cant-really-comprehend-what-bend2-will-be.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Trevor62271128-i-cant-really-comprehend-what-bend2-will-be.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Trevor62271128 -@VictorTaelin I can't really comprehend what Bend2 will be useful for except helping to make bug free software. With AI constantly getting better and better that purpose sounds mundane to me now. However, I'm very interested to see what you come up with for symbolic AI. +@VictorTaelin + +I can't really comprehend what Bend2 will be useful for except helping to make bug free software. With AI constantly getting better and better that purpose sounds mundane to me now. However, I'm very interested to see what you come up with for symbolic AI. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Unblinking3Y3-bro-you-dont-hafta-grug-post-to-be-popular-with.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Unblinking3Y3-bro-you-dont-hafta-grug-post-to-be-popular-with.md index 192d7e4..46f1227 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Unblinking3Y3-bro-you-dont-hafta-grug-post-to-be-popular-with.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-Unblinking3Y3-bro-you-dont-hafta-grug-post-to-be-popular-with.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Unblinking3Y3 -@VictorTaelin Bro, you dont hafta Grug-post to be popular with the right people. +@VictorTaelin + +Bro, you dont hafta Grug-post to be popular with the right people. ![](https://pbs.twimg.com/media/HMZQa0UXUAA3ZJp?format=jpg&name=orig) ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-VincentLejeune-the-more-ai-advances-the-more-we-need-very-high.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-VincentLejeune-the-more-ai-advances-the-more-we-need-very-high.md index 2da7950..4b72079 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-VincentLejeune-the-more-ai-advances-the-more-we-need-very-high.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-VincentLejeune-the-more-ai-advances-the-more-we-need-very-high.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @VincentLejeune -@VictorTaelin The more AI advances, the more we need very high level experts in very very specialzed narrow fields, to check results ! ❤️ +@VictorTaelin + +The more AI advances, the more we need very high level experts in very very specialzed narrow fields, to check results ! ❤️ ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-WayneBrown6922-i-began-following-you-when-i-scrolled-across-an.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-WayneBrown6922-i-began-following-you-when-i-scrolled-across-an.md index 6996ef3..6bfe23a 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-WayneBrown6922-i-began-following-you-when-i-scrolled-across-an.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-WayneBrown6922-i-began-following-you-when-i-scrolled-across-an.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @WayneBrown6922 -@VictorTaelin I began following you when I scrolled across an image similar to that above, it is the highly technical stuff you post that I enjoy most. Just about everyone else in my timeline I have to "see fewer" but I'll search for yours. Keep up the amazing work, here for the long haul! +@VictorTaelin + +I began following you when I scrolled across an image similar to that above, it is the highly technical stuff you post that I enjoy most. Just about everyone else in my timeline I have to "see fewer" but I'll search for yours. Keep up the amazing work, here for the long haul! ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-YgorIsm-texto-mt-bem-escrito-ficou-bem-mais-f-cil-de.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-YgorIsm-texto-mt-bem-escrito-ficou-bem-mais-f-cil-de.md index 64a95f1..8fde313 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-YgorIsm-texto-mt-bem-escrito-ficou-bem-mais-f-cil-de.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-YgorIsm-texto-mt-bem-escrito-ficou-bem-mais-f-cil-de.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @YgorIsm -@VictorTaelin Texto mt bem escrito, ficou bem mais fácil de entender os seus objetivos +@VictorTaelin + +Texto mt bem escrito, ficou bem mais fácil de entender os seus objetivos ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-adelbucetta-sometimes-the-problem-isnt-explaining-something.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-adelbucetta-sometimes-the-problem-isnt-explaining-something.md index 3ee6ed8..44c1e34 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-adelbucetta-sometimes-the-problem-isnt-explaining-something.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-adelbucetta-sometimes-the-problem-isnt-explaining-something.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @adelbucetta -@VictorTaelin sometimes the problem isn't explaining something that's hard for people to grasp, but rather getting people to admit when they don't get it +@VictorTaelin + +sometimes the problem isn't explaining something that's hard for people to grasp, but rather getting people to admit when they don't get it ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-altansukhbatbay-high-quality-post.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-altansukhbatbay-high-quality-post.md index 985f21b..9426330 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-altansukhbatbay-high-quality-post.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-altansukhbatbay-high-quality-post.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @altansukhbatbay -@VictorTaelin high quality post! +@VictorTaelin + +high quality post! ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-anghel4d-im-a-big-fan-of-interaction-combinators-and-i.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-anghel4d-im-a-big-fan-of-interaction-combinators-and-i.md index 7b82f12..c5e9ad6 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-anghel4d-im-a-big-fan-of-interaction-combinators-and-i.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-anghel4d-im-a-big-fan-of-interaction-combinators-and-i.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @anghel4d -@VictorTaelin I'm a big fan of Interaction Combinators and I hope you keep going. Git push your changes to bend sometime :p +@VictorTaelin + +I'm a big fan of Interaction Combinators and I hope you keep going. Git push your changes to bend sometime :p ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-billylevin-this-is-so-cool-and-inspiring-not-that-i.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-billylevin-this-is-so-cool-and-inspiring-not-that-i.md index faccd59..761d9e0 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-billylevin-this-is-so-cool-and-inspiring-not-that-i.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-billylevin-this-is-so-cool-and-inspiring-not-that-i.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @billylevin -@VictorTaelin This is so cool and inspiring (not that I understand all of it; that’s part of what makes it inspiring!). I hope you won’t be dissuaded from posting this kind of thing if you want to in future. Many people (such as me who rarely engages with stuff on here) will be thankful! +@VictorTaelin + +This is so cool and inspiring (not that I understand all of it; that’s part of what makes it inspiring!). I hope you won’t be dissuaded from posting this kind of thing if you want to in future. Many people (such as me who rarely engages with stuff on here) will be thankful! ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-carmim_13-adorei-ler-esse-post-timo-poder-ler-de-voc-essas.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-carmim_13-adorei-ler-esse-post-timo-poder-ler-de-voc-essas.md index 2db6ed3..10ae283 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-carmim_13-adorei-ler-esse-post-timo-poder-ler-de-voc-essas.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-carmim_13-adorei-ler-esse-post-timo-poder-ler-de-voc-essas.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @carmim_13 -@VictorTaelin adorei ler esse post. é ótimo poder ler de você essas explicações. só uma pergunta. você diria que é *confortável* replicar o Mathlib do Lean para o Bend? acho o Bend muito interessante por conta do IC, acho a teoria elegante. mas, claro, gostaria que o Bend fosse bom em math. +@VictorTaelin + +adorei ler esse post. é ótimo poder ler de você essas explicações. só uma pergunta. você diria que é *confortável* replicar o Mathlib do Lean para o Bend? acho o Bend muito interessante por conta do IC, acho a teoria elegante. mas, claro, gostaria que o Bend fosse bom em math. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-charlesthefool-do-people-not-study-lambda-calculus-in-college-or.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-charlesthefool-do-people-not-study-lambda-calculus-in-college-or.md index 068c1e7..384db53 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-charlesthefool-do-people-not-study-lambda-calculus-in-college-or.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-charlesthefool-do-people-not-study-lambda-calculus-in-college-or.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @charlesthefool -@VictorTaelin Do people not study lambda calculus in college or at any other point when looking into programming languages? +@VictorTaelin + +Do people not study lambda calculus in college or at any other point when looking into programming languages? ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-dlbydq-these-guys-have-no-idea-what-theyre-talking-about.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-dlbydq-these-guys-have-no-idea-what-theyre-talking-about.md index 4be14c9..6ee5c2a 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-dlbydq-these-guys-have-no-idea-what-theyre-talking-about.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-dlbydq-these-guys-have-no-idea-what-theyre-talking-about.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @dlbydq -@VictorTaelin these guys have no idea what they're talking about. I've enjoyed following your work +@VictorTaelin + +these guys have no idea what they're talking about. I've enjoyed following your work ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-donalfellows-if-you-have-a-system-that-provably-must-terminate.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-donalfellows-if-you-have-a-system-that-provably-must-terminate.md index e07553d..14df90b 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-donalfellows-if-you-have-a-system-that-provably-must-terminate.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-donalfellows-if-you-have-a-system-that-provably-must-terminate.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @donalfellows -@VictorTaelin If you have a system that provably must terminate, what "interesting" statements are you unable to express? And what can only be stated in restricted form? +@VictorTaelin + +If you have a system that provably must terminate, what "interesting" statements are you unable to express? And what can only be stated in restricted form? Also, ω-regular languages (and related state machines) allow an escape hatch. Useful for servers. diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-esa_was_taken-is-another-good-example-this-is-happening-to-both.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-esa_was_taken-is-another-good-example-this-is-happening-to-both.md index 8e1bba0..9ec166a 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-esa_was_taken-is-another-good-example-this-is-happening-to-both.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-esa_was_taken-is-another-good-example-this-is-happening-to-both.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @esa_was_taken -@VictorTaelin @tsotchke is another good example this is happening to. Both so on the frontier people start erroring out when they read it lmfao +@VictorTaelin @tsotchke + +is another good example this is happening to. Both so on the frontier people start erroring out when they read it lmfao ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-fecklesstit-u-the-best-man-keep-it-up.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-fecklesstit-u-the-best-man-keep-it-up.md index 80170c9..bc642c7 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-fecklesstit-u-the-best-man-keep-it-up.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-fecklesstit-u-the-best-man-keep-it-up.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @fecklesstit -@VictorTaelin U the best man, keep it up 💙 +@VictorTaelin + +U the best man, keep it up 💙 ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-habibislop-this-is-a-very-naive-and-ignorant-question-but.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-habibislop-this-is-a-very-naive-and-ignorant-question-but.md index f57cad1..c4d7c96 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-habibislop-this-is-a-very-naive-and-ignorant-question-but.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-habibislop-this-is-a-very-naive-and-ignorant-question-but.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @habibislop -@VictorTaelin This is a very naive and ignorant question, but now that you've split Type into two sorts, is there anything that could be represented with both variants? and if so, what would happen if someone selected the wrong one for their use csse +@VictorTaelin + +This is a very naive and ignorant question, but now that you've split Type into two sorts, is there anything that could be represented with both variants? and if so, what would happen if someone selected the wrong one for their use csse ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-iabom-sigh-true-brother-we-smart-people-are-alone-no.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-iabom-sigh-true-brother-we-smart-people-are-alone-no.md index 7e4337c..d3bae37 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-iabom-sigh-true-brother-we-smart-people-are-alone-no.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-iabom-sigh-true-brother-we-smart-people-are-alone-no.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @iabom -@VictorTaelin *sigh* true brother. We smart people are alone, no one gets us. +@VictorTaelin + +*sigh* true brother. We smart people are alone, no one gets us. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-itisnotsavio-one-question-does-bend-have-an-unscoped-lambda.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-itisnotsavio-one-question-does-bend-have-an-unscoped-lambda.md index 2d5332f..0724207 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-itisnotsavio-one-question-does-bend-have-an-unscoped-lambda.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-itisnotsavio-one-question-does-bend-have-an-unscoped-lambda.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @itisnotsavio -@VictorTaelin One question: does bend have an unscoped lambda? +@VictorTaelin + +One question: does bend have an unscoped lambda? ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-kekmaomaster-taelin-ive-been-following-you-since-the-beginning.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-kekmaomaster-taelin-ive-been-following-you-since-the-beginning.md index a3105ed..c1bb107 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-kekmaomaster-taelin-ive-been-following-you-since-the-beginning.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-kekmaomaster-taelin-ive-been-following-you-since-the-beginning.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @kekmaomaster -@VictorTaelin Taelin I've been following you since the beginning: I think the problem is you need to aggressively position yourself and your program as a painkiller. People need to feel their pain ease as a result of formal + function discovery. You need the palantir-type deployed engineers. +@VictorTaelin + +Taelin I've been following you since the beginning: I think the problem is you need to aggressively position yourself and your program as a painkiller. People need to feel their pain ease as a result of formal + function discovery. You need the palantir-type deployed engineers. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-kylemarieb-this-write-up-was-really-well-done-thank-you-for.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-kylemarieb-this-write-up-was-really-well-done-thank-you-for.md index aa32fda..c7206c9 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-kylemarieb-this-write-up-was-really-well-done-thank-you-for.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-kylemarieb-this-write-up-was-really-well-done-thank-you-for.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @kylemarieb -@VictorTaelin This write up was really well done, thank you for taking the time to write it! Broke down the concepts well +@VictorTaelin + +This write up was really well done, thank you for taking the time to write it! Broke down the concepts well ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-marunarh-most-of-you-cant-understand-my-posts-of-course.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-marunarh-most-of-you-cant-understand-my-posts-of-course.md index 423da3a..bc9c9fd 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-marunarh-most-of-you-cant-understand-my-posts-of-course.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-marunarh-most-of-you-cant-understand-my-posts-of-course.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @marunarh -@VictorTaelin > most of you can’t understand my posts +@VictorTaelin + +> most of you can’t understand my posts of course! talk is cheap, show us the code! you’re selling meta stories instead of showing what you’re building. diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-misterclayt0n-many-such-cases-https-x-com-misterclayt0n-status.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-misterclayt0n-many-such-cases-https-x-com-misterclayt0n-status.md index 5c5902f..55859b9 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-misterclayt0n-many-such-cases-https-x-com-misterclayt0n-status.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-misterclayt0n-many-such-cases-https-x-com-misterclayt0n-status.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @misterclayt0n -@VictorTaelin many such cases +@VictorTaelin + +many such cases https://x.com/misterclayt0n/status/2072509913843065068?s=20 diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-mprado-loved-this-long-post-version-of-yours-you-should.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-mprado-loved-this-long-post-version-of-yours-you-should.md index fa971f5..770834c 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-mprado-loved-this-long-post-version-of-yours-you-should.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-mprado-loved-this-long-post-version-of-yours-you-should.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @mprado -@VictorTaelin Loved this long post version of yours. You should do this more often, where you break down a problem for people not familiar with your domain. Very fun read! Thanks +@VictorTaelin + +Loved this long post version of yours. You should do this more often, where you break down a problem for people not familiar with your domain. Very fun read! Thanks ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-noam_yy-i-presume-the-issue-was-in-duplication-inside-0.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-noam_yy-i-presume-the-issue-was-in-duplication-inside-0.md index 6b9d0c0..9270693 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-noam_yy-i-presume-the-issue-was-in-duplication-inside-0.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-noam_yy-i-presume-the-issue-was-in-duplication-inside-0.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @noam_yy -@VictorTaelin I presume the issue was in duplication inside 0-contexts? +@VictorTaelin + +I presume the issue was in duplication inside 0-contexts? ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-o1lo01ol1o-do-you-allow-for-non-termination-on-total.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-o1lo01ol1o-do-you-allow-for-non-termination-on-total.md index 5053a38..d38608b 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-o1lo01ol1o-do-you-allow-for-non-termination-on-total.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-o1lo01ol1o-do-you-allow-for-non-termination-on-total.md @@ -28,23 +28,33 @@ parent_post_id: "2073406569459368226" **1/** @o1lo01ol1o -@VictorTaelin Do you allow for non-termination on total functions on codata? +@VictorTaelin + +Do you allow for non-termination on total functions on codata? **2/** @VictorTaelin -@o1lo01ol1o no codata yet :( +@o1lo01ol1o + +no codata yet :( **3/** @o1lo01ol1o -@VictorTaelin You just use really big counters for services? +@VictorTaelin + +You just use really big counters for services? **4/** @VictorTaelin -@o1lo01ol1o ah, yes you could, but on V1 you'd just disable termination checking there. I don't think proving stuff about IO is a big demand, not a priority for V1. we can add support that later +@o1lo01ol1o + +ah, yes you could, but on V1 you'd just disable termination checking there. I don't think proving stuff about IO is a big demand, not a priority for V1. we can add support that later **5/** @o1lo01ol1o -@VictorTaelin Good +@VictorTaelin + +Good ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-okiwano-im-curious-what-comes-after-bend2-bend3-or-are.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-okiwano-im-curious-what-comes-after-bend2-bend3-or-are.md index 35b5aea..bfc759b 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-okiwano-im-curious-what-comes-after-bend2-bend3-or-are.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-okiwano-im-curious-what-comes-after-bend2-bend3-or-are.md @@ -28,19 +28,27 @@ parent_post_id: "2073406569459368226" **1/** @okiwano -@VictorTaelin I'm curious. What comes after Bend2? Bend3 or are you going to move onto smaller more personally satisfying projects after this? +@VictorTaelin + +I'm curious. What comes after Bend2? Bend3 or are you going to move onto smaller more personally satisfying projects after this? **2/** @VictorTaelin -@okiwano on HOC, 100% focus on Symbolic AI research +@okiwano + +on HOC, 100% focus on Symbolic AI research **3/** @Pitometsu -@VictorTaelin @okiwano Any possibility to join the party? 😅 +@VictorTaelin @okiwano + +Any possibility to join the party? 😅 **4/** @VictorTaelin -@Pitometsu @okiwano yess +@Pitometsu @okiwano + +yess we just need to become big first diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-pakatanatakata-lemme-aske-gpt-for-translating-your-hieroglyph.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-pakatanatakata-lemme-aske-gpt-for-translating-your-hieroglyph.md index b42ad36..ecd44d4 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-pakatanatakata-lemme-aske-gpt-for-translating-your-hieroglyph.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-pakatanatakata-lemme-aske-gpt-for-translating-your-hieroglyph.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @pakatanatakata -@VictorTaelin Lemme aske gpt for translating +@VictorTaelin + +Lemme aske gpt for translating Your hieroglyph ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-qonundrai-man-i-love-what-ur-doing-keep-going-one-of-the.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-qonundrai-man-i-love-what-ur-doing-keep-going-one-of-the.md index 51d7572..5853192 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-qonundrai-man-i-love-what-ur-doing-keep-going-one-of-the.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-qonundrai-man-i-love-what-ur-doing-keep-going-one-of-the.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @qonundrai -@VictorTaelin man I love what ur doing, keep going! one of the few good uses of AI! +@VictorTaelin + +man I love what ur doing, keep going! one of the few good uses of AI! ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-rom1504-very-cool-indeed-hard-but-important-to-pick-the.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-rom1504-very-cool-indeed-hard-but-important-to-pick-the.md index 0422e25..08ca25c 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-rom1504-very-cool-indeed-hard-but-important-to-pick-the.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-rom1504-very-cool-indeed-hard-but-important-to-pick-the.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @rom1504 -@VictorTaelin Very cool. Indeed hard but important to pick the right line on what coding model do vs what you do. One way to think about it is what requires being able to see the consequences 10 years away of some design choices and keep those to yourself. +@VictorTaelin + +Very cool. Indeed hard but important to pick the right line on what coding model do vs what you do. One way to think about it is what requires being able to see the consequences 10 years away of some design choices and keep those to yourself. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-taxilogiker-russel-antinomy.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-taxilogiker-russel-antinomy.md index f7c6df3..1a1936e 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-taxilogiker-russel-antinomy.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-taxilogiker-russel-antinomy.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @taxilogiker -@VictorTaelin russel antinomy •_• +@VictorTaelin + +russel antinomy •_• ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-trinitotolukeno-karpathy-said-he-had-ai-psychosis-for-a-while-and.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-trinitotolukeno-karpathy-said-he-had-ai-psychosis-for-a-while-and.md index 19de754..f15edc9 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-trinitotolukeno-karpathy-said-he-had-ai-psychosis-for-a-while-and.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-trinitotolukeno-karpathy-said-he-had-ai-psychosis-for-a-while-and.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @trinitotolukeno -@VictorTaelin karpathy said he had AI psychosis for a while and everyone knows he's very competent +@VictorTaelin + +karpathy said he had AI psychosis for a while and everyone knows he's very competent AI psychosis is about getting super excited about SOTA models, overestimate their usefulness and feel empowered to undertake massive loads of work, which for some, is beyond their capacities diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-willyrgf-wow-thats-impressive-best-argument-on-the-quality.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-willyrgf-wow-thats-impressive-best-argument-on-the-quality.md index dd740f2..004ed90 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-willyrgf-wow-thats-impressive-best-argument-on-the-quality.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-willyrgf-wow-thats-impressive-best-argument-on-the-quality.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @willyrgf -@VictorTaelin Wow, that's impressive! Best argument on the quality of Fable I have read by far. +@VictorTaelin + +Wow, that's impressive! Best argument on the quality of Fable I have read by far. So, would be enough to find the non-linear statements? Or is it still too restrictive? diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-yacineMTB-its-not-how-many-likes-you-get-its-likes-from-who.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-yacineMTB-its-not-how-many-likes-you-get-its-likes-from-who.md index 445ba67..255e9d0 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-yacineMTB-its-not-how-many-likes-you-get-its-likes-from-who.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-yacineMTB-its-not-how-many-likes-you-get-its-likes-from-who.md @@ -28,11 +28,15 @@ parent_post_id: "2073406569459368226" **1/** @yacineMTB -@VictorTaelin It's not how many likes you get, it's likes from who that matter. Less likes from better people is my preference +@VictorTaelin + +It's not how many likes you get, it's likes from who that matter. Less likes from better people is my preference **2/** @VictorTaelin -@yacineMTB true +@yacineMTB + +true ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-zyansheep-in-my-language-im-trying-to-do-termination-by.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-zyansheep-in-my-language-im-trying-to-do-termination-by.md index 1a69ea2..7b124e7 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-zyansheep-in-my-language-im-trying-to-do-termination-by.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-04-zyansheep-in-my-language-im-trying-to-do-termination-by.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @zyansheep -@VictorTaelin In my language I'm trying to do termination by proxy, I.e. if type checking terminates for a certain validated set of type predicates than the typed program should be guaranteed to not terminate. Thoughts on this strategy? +@VictorTaelin + +In my language I'm trying to do termination by proxy, I.e. if type checking terminates for a certain validated set of type predicates than the typed program should be guaranteed to not terminate. Thoughts on this strategy? ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-IanCSU-sure-i-read-all-that.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-IanCSU-sure-i-read-all-that.md index 7c80f33..8976971 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-IanCSU-sure-i-read-all-that.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-IanCSU-sure-i-read-all-that.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @IanCSU -@VictorTaelin sure, I read all that +@VictorTaelin + +sure, I read all that `2073570162427437168_HMbNEcdW8AAfftl.mp4_orig.mp4` diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-JaredC1728-quality-over-quantity.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-JaredC1728-quality-over-quantity.md index ce98595..d81d935 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-JaredC1728-quality-over-quantity.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-JaredC1728-quality-over-quantity.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @JaredC1728 -@VictorTaelin Quality over quantity. +@VictorTaelin + +Quality over quantity. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-KleeneAlgebra-i-disagree-on-the-consistency-is-enough-to-do.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-KleeneAlgebra-i-disagree-on-the-consistency-is-enough-to-do.md index ebeadee..1a75e73 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-KleeneAlgebra-i-disagree-on-the-consistency-is-enough-to-do.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-KleeneAlgebra-i-disagree-on-the-consistency-is-enough-to-do.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @KleeneAlgebra -@VictorTaelin I disagree on the consistency is enough to do mathematics, you can very weird stuff to MLTT like Nat iso Nat -> Nat and still be consistent. I would like to see you convincing a mathematician to do math in that system. +@VictorTaelin + +I disagree on the consistency is enough to do mathematics, you can very weird stuff to MLTT like Nat iso Nat -> Nat and still be consistent. I would like to see you convincing a mathematician to do math in that system. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-MadisonP94618-it-was-easy-to-read-and-i-think-i-understood-most.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-MadisonP94618-it-was-easy-to-read-and-i-think-i-understood-most.md index fa6a5c8..0e3bff9 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-MadisonP94618-it-was-easy-to-read-and-i-think-i-understood-most.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-MadisonP94618-it-was-easy-to-read-and-i-think-i-understood-most.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @MadisonP94618 -@VictorTaelin It was easy to read and I think I understood most of it. +@VictorTaelin + +It was easy to read and I think I understood most of it. I'm pretty sure you would be a good educator if you haven't been. diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Orbiter777-fable-is-educated-c.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Orbiter777-fable-is-educated-c.md index cd30278..170b6dd 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Orbiter777-fable-is-educated-c.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Orbiter777-fable-is-educated-c.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Orbiter777 -@VictorTaelin Fable is educated c +@VictorTaelin + +Fable is educated c ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Siggis_Man-this-is-the-antidote-i-found-to-ai-psychosis-i.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Siggis_Man-this-is-the-antidote-i-found-to-ai-psychosis-i.md index a0b8b67..c6fc7fc 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Siggis_Man-this-is-the-antidote-i-found-to-ai-psychosis-i.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Siggis_Man-this-is-the-antidote-i-found-to-ai-psychosis-i.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Siggis_Man -@VictorTaelin > this is the antidote I found to AI psychosis. I call it "competency" +@VictorTaelin + +> this is the antidote I found to AI psychosis. I call it "competency" Thanks for calling this out. Fable will not suddenly make you a 10x engineer. And using it in a mindless way where you don't truly understand the output will yield no gains long term. diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-SinghSwapneil-are-languages-built-on-bend-incapable-of.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-SinghSwapneil-are-languages-built-on-bend-incapable-of.md index 2c5ad64..483bd68 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-SinghSwapneil-are-languages-built-on-bend-incapable-of.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-SinghSwapneil-are-languages-built-on-bend-incapable-of.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @SinghSwapneil -@VictorTaelin Are languages built on Bend incapable of representing “eval” then? And/or disallowed from looping possibly-infinitely based on an external signal? +@VictorTaelin + +Are languages built on Bend incapable of representing “eval” then? And/or disallowed from looping possibly-infinitely based on an external signal? (In-practice both of those are useful operations to interface with reality outside the language VM) ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Snafxemp-loved-ur-rant-these-types-of-posts-deserves.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Snafxemp-loved-ur-rant-these-types-of-posts-deserves.md index 5ed0783..fe17883 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Snafxemp-loved-ur-rant-these-types-of-posts-deserves.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-Snafxemp-loved-ur-rant-these-types-of-posts-deserves.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @Snafxemp -@VictorTaelin loved ur rant. these types of posts deserves attention +@VictorTaelin + +loved ur rant. these types of posts deserves attention ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-SteveMoraco-legend.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-SteveMoraco-legend.md index 79bec34..220b413 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-SteveMoraco-legend.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-SteveMoraco-legend.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @SteveMoraco -@VictorTaelin Legend +@VictorTaelin + +Legend ![](https://pbs.twimg.com/media/HMb6HlXacAAgdAN?format=jpg&name=orig) ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-_machi47-im-not-reading-all-that-but-damn-hope-it-works.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-_machi47-im-not-reading-all-that-but-damn-hope-it-works.md index 4688a2d..d626559 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-_machi47-im-not-reading-all-that-but-damn-hope-it-works.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-_machi47-im-not-reading-all-that-but-damn-hope-it-works.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @_machi47 -@VictorTaelin I’m not reading all that but damn hope it works out for ya +@VictorTaelin + +I’m not reading all that but damn hope it works out for ya ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-ant1m4tt3r-stupid-question-alert-in-bends-syntax-what-is-the.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-ant1m4tt3r-stupid-question-alert-in-bends-syntax-what-is-the.md index e07522a..7da2e6a 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-ant1m4tt3r-stupid-question-alert-in-bends-syntax-what-is-the.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-ant1m4tt3r-stupid-question-alert-in-bends-syntax-what-is-the.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @ant1m4tt3r -@VictorTaelin stupid question alert. in bends syntax, what is the difference between -> , ~> and +> ? +@VictorTaelin + +stupid question alert. in bends syntax, what is the difference between -> , ~> and +> ? also, isn’t a little uncomfortable to type the lambda character every time? diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-bewajitolulope-feels-like-the-precise-symbolic-analogue-of.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-bewajitolulope-feels-like-the-precise-symbolic-analogue-of.md index 7577231..a27a003 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-bewajitolulope-feels-like-the-precise-symbolic-analogue-of.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-bewajitolulope-feels-like-the-precise-symbolic-analogue-of.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @bewajitolulope -@VictorTaelin Feels like the precise, symbolic analogue of implementing LLM guard rails that aren't too strict and aren't too lax. +@VictorTaelin + +Feels like the precise, symbolic analogue of implementing LLM guard rails that aren't too strict and aren't too lax. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-dan_tiema-i-didnt-expect-id-read-all-of-this-but-i-did-cant.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-dan_tiema-i-didnt-expect-id-read-all-of-this-but-i-did-cant.md index ee31141..20ecb7e 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-dan_tiema-i-didnt-expect-id-read-all-of-this-but-i-did-cant.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-dan_tiema-i-didnt-expect-id-read-all-of-this-but-i-did-cant.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @dan_tiema -@VictorTaelin i didn't expect i'd read all of this, but i did.....can't pretend i understand it, but i'm starting to get the picture..... +@VictorTaelin + +i didn't expect i'd read all of this, but i did.....can't pretend i understand it, but i'm starting to get the picture..... ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-eshear-to-someone-who-doesnt-understand-the-actual.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-eshear-to-someone-who-doesnt-understand-the-actual.md index 1dc6f73..0e70fca 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-eshear-to-someone-who-doesnt-understand-the-actual.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-eshear-to-someone-who-doesnt-understand-the-actual.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @eshear -@VictorTaelin To someone who doesn’t understand the actual content, AI psychosis and expert use of AI to drive a breakthrough look the same (modulo institutional credentials). It’s not their fault, it’s literally impossible for them to tell the two cases apart. +@VictorTaelin + +To someone who doesn’t understand the actual content, AI psychosis and expert use of AI to drive a breakthrough look the same (modulo institutional credentials). It’s not their fault, it’s literally impossible for them to tell the two cases apart. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-n3ovice-dont-try-to-market-yourself-youre-not-running-for.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-n3ovice-dont-try-to-market-yourself-youre-not-running-for.md index e2cc610..2109010 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-n3ovice-dont-try-to-market-yourself-youre-not-running-for.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-n3ovice-dont-try-to-market-yourself-youre-not-running-for.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @n3ovice -@VictorTaelin Don't try to market yourself. You're not running for public office. +@VictorTaelin + +Don't try to market yourself. You're not running for public office. "When I write honestly, people don't react to it" is not a problem. Just have the 2 reactions and a pleasant exchange in the comments. diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-nudistofdespair-you-gave-it-a-great-shot-thanks-for-an-engaging.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-nudistofdespair-you-gave-it-a-great-shot-thanks-for-an-engaging.md index f463b0b..7ed78de 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-nudistofdespair-you-gave-it-a-great-shot-thanks-for-an-engaging.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-nudistofdespair-you-gave-it-a-great-shot-thanks-for-an-engaging.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @nudistofdespair -@VictorTaelin You gave it a great shot, thanks for an engaging read. +@VictorTaelin + +You gave it a great shot, thanks for an engaging read. ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-phtn458-bro-keep-posting-like-you-do-one-day-well-have.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-phtn458-bro-keep-posting-like-you-do-one-day-well-have.md index b785f85..0c24775 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-phtn458-bro-keep-posting-like-you-do-one-day-well-have.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-phtn458-bro-keep-posting-like-you-do-one-day-well-have.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @phtn458 -@VictorTaelin Bro keep posting like you do. One day we'll have the courage to learn it +@VictorTaelin + +Bro keep posting like you do. One day we'll have the courage to learn it ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-real_philogy-dont-you-want-to-be-able-to-copy-lambdas-though.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-real_philogy-dont-you-want-to-be-able-to-copy-lambdas-though.md index f7b312f..e7826fb 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-real_philogy-dont-you-want-to-be-able-to-copy-lambdas-though.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-real_philogy-dont-you-want-to-be-able-to-copy-lambdas-though.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @real_philogy -@VictorTaelin don't you want to be able to copy lambdas though? Or how do you do a lot of the typical FP stuff if you can't pass around and copy functions as you otherwise would? +@VictorTaelin + +don't you want to be able to copy lambdas though? Or how do you do a lot of the typical FP stuff if you can't pass around and copy functions as you otherwise would? ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-theodorvaryag-this-post-is-not-a-rebuttal-to-a-query-about-ai.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-theodorvaryag-this-post-is-not-a-rebuttal-to-a-query-about-ai.md index 64d985e..f0cc349 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-theodorvaryag-this-post-is-not-a-rebuttal-to-a-query-about-ai.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-theodorvaryag-this-post-is-not-a-rebuttal-to-a-query-about-ai.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @theodorvaryag -@VictorTaelin this post is not a rebuttal to a query about ai psychosis regardless of the merits and robust technical details behind it +@VictorTaelin + +this post is not a rebuttal to a query about ai psychosis regardless of the merits and robust technical details behind it ## Related diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-waefrebeorn-i-have-an-entire-math-proofs-section-in-my-maths.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-waefrebeorn-i-have-an-entire-math-proofs-section-in-my-maths.md index 5f26c7c..b512fa1 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-waefrebeorn-i-have-an-entire-math-proofs-section-in-my-maths.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-05-waefrebeorn-i-have-an-entire-math-proofs-section-in-my-maths.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @waefrebeorn -@VictorTaelin i have an entire math proofs section in my maths repos +@VictorTaelin + +i have an entire math proofs section in my maths repos so “+1” diff --git a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-06-SGuergachi-hopefully-useful-data-point.md b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-06-SGuergachi-hopefully-useful-data-point.md index 5356224..3e87eb8 100644 --- a/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-06-SGuergachi-hopefully-useful-data-point.md +++ b/archive/threads/VictorTaelin/2026-07-04-sighs/2026-07-06-SGuergachi-hopefully-useful-data-point.md @@ -28,7 +28,9 @@ parent_post_id: "2073406569459368226" **1/** @SGuergachi -@VictorTaelin @Jonathan_Blow hopefully useful data point. +@VictorTaelin @Jonathan_Blow + +hopefully useful data point. ## Related diff --git a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-25-abductee_org-asimov-vibes-intensify.md b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-25-abductee_org-asimov-vibes-intensify.md index c1af682..b479253 100644 --- a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-25-abductee_org-asimov-vibes-intensify.md +++ b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-25-abductee_org-asimov-vibes-intensify.md @@ -28,7 +28,9 @@ parent_post_id: "1650678968255913985" **1/** @abductee_org -@kenpex [Asimov vibes intensify] +@kenpex + +[Asimov vibes intensify] ## Related diff --git a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-25-streleav-indeed-any-thoughts-on-how-agi-could-help-the.md b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-25-streleav-indeed-any-thoughts-on-how-agi-could-help-the.md index babde82..243c4ce 100644 --- a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-25-streleav-indeed-any-thoughts-on-how-agi-could-help-the.md +++ b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-25-streleav-indeed-any-thoughts-on-how-agi-could-help-the.md @@ -28,7 +28,9 @@ parent_post_id: "1650678968255913985" **1/** @streleav -@kenpex Indeed. Any thoughts on how AGI could help the situation? +@kenpex + +Indeed. Any thoughts on how AGI could help the situation? ## Related diff --git a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-ChristerEricson-i-was-curious-about-what-it-would-take-to.md b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-ChristerEricson-i-was-curious-about-what-it-would-take-to.md index 236c48d..b433c57 100644 --- a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-ChristerEricson-i-was-curious-about-what-it-would-take-to.md +++ b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-ChristerEricson-i-was-curious-about-what-it-would-take-to.md @@ -28,7 +28,9 @@ parent_post_id: "1650678968255913985" **1/** @ChristerEricson -@kenpex I was curious about what it would take to recreate today’s tech “from scratch” if a giant EMP went off. It’s clearly a crazy number of bootstrap steps needed. +@kenpex + +I was curious about what it would take to recreate today’s tech “from scratch” if a giant EMP went off. It’s clearly a crazy number of bootstrap steps needed. It took me to this book, which doesn’t answer my Q but a related Q. Fascinating, but oh so depressing. @@ -38,21 +40,29 @@ No EMPs pls! **2/** @kenpex -@ChristerEricson Reminds me of when people used/could to write engines from scratch at every new game/project. Perhaps it's the best way to improve though. +@ChristerEricson + +Reminds me of when people used/could to write engines from scratch at every new game/project. Perhaps it's the best way to improve though. **3/** @npatsiouras -@kenpex @ChristerEricson There's an anime series called 7 seeds, where civ ends due to predicted meteorite shower. Each gov selects a bunch of people based on their knowledge, including trained guides, in an attempt to repopulate earth in the aftermath.......and not one of them, knew Forth......amateurs! +@kenpex @ChristerEricson + +There's an anime series called 7 seeds, where civ ends due to predicted meteorite shower. Each gov selects a bunch of people based on their knowledge, including trained guides, in an attempt to repopulate earth in the aftermath.......and not one of them, knew Forth......amateurs! **4/** @ChristerEricson -@npatsiouras @kenpex Don’t get me wrong, I have fondness for Forth, but if my generation had grown up on Forth instead of Basic, I suspect this would be our world today. +@npatsiouras @kenpex + +Don’t get me wrong, I have fondness for Forth, but if my generation had grown up on Forth instead of Basic, I suspect this would be our world today. ![](https://pbs.twimg.com/media/FutX-exaMAAag8N?format=jpg&name=orig) **5/** @ChristerEricson -@npatsiouras @kenpex Also, it “almost” happened. One of my friends had one of these: +@npatsiouras @kenpex + +Also, it “almost” happened. One of my friends had one of these: ![](https://pbs.twimg.com/media/FutYySWaEAEU5se?format=jpg&name=orig) diff --git a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-ErikHaliewicz-this-is-actually-a-fantastic-project-though.md b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-ErikHaliewicz-this-is-actually-a-fantastic-project-though.md index 9593dbc..4f9a98f 100644 --- a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-ErikHaliewicz-this-is-actually-a-fantastic-project-though.md +++ b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-ErikHaliewicz-this-is-actually-a-fantastic-project-though.md @@ -28,7 +28,9 @@ parent_post_id: "1650678968255913985" **1/** @ErikHaliewicz -@kenpex This is actually a fantastic project though. +@kenpex + +This is actually a fantastic project though. ## Related diff --git a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-SebAaltonen-some-people-have-too-much-time-for-hobby-projects.md b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-SebAaltonen-some-people-have-too-much-time-for-hobby-projects.md index 019398a..87b07b8 100644 --- a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-SebAaltonen-some-people-have-too-much-time-for-hobby-projects.md +++ b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-SebAaltonen-some-people-have-too-much-time-for-hobby-projects.md @@ -28,11 +28,15 @@ parent_post_id: "1650678968255913985" **1/** @SebAaltonen -@kenpex Some people have too much time for hobby projects. +@kenpex + +Some people have too much time for hobby projects. **2/** @HostOfMeta -@SebAaltonen @kenpex Where else can someone learn Forth nowadays? +@SebAaltonen @kenpex + +Where else can someone learn Forth nowadays? Would place Forth knowledge above C++ in an interview, shows an understanding of a live coded programmable compiler bootstrapped from assembly. @@ -40,17 +44,23 @@ These are the people you want to help break tradition. They see the schlep, if y **3/** @kenpex -@Lambda_Coder @SebAaltonen I wouldn't. Forth today is hyper-niche, and even the programming model it teaches you about is. Lastly, the best way to learn forth is probably to make your own forth. +@Lambda_Coder @SebAaltonen + +I wouldn't. Forth today is hyper-niche, and even the programming model it teaches you about is. Lastly, the best way to learn forth is probably to make your own forth. **4/** @HostOfMeta -@kenpex @SebAaltonen What of the distinction between Forth the syntactic language and the semantic programming model? +@kenpex @SebAaltonen + +What of the distinction between Forth the syntactic language and the semantic programming model? The way I see modern software, an insane amount of tooling and scaffolding is maintained to achieve what Forth and Lisp had emerging from their architecture. And usually not reusable **5/** @HostOfMeta -@kenpex @SebAaltonen The fact that the model is obscure should turn it into a superpower. +@kenpex @SebAaltonen + +The fact that the model is obscure should turn it into a superpower. I'd agree for an existing company it would be a risk, but for a startup its how you end up running circles around the competition. @@ -58,17 +68,23 @@ Not forth/lisp themselves, but adapting their models with modern hindsights. **6/** @kenpex -@Lambda_Coder @SebAaltonen I doubt it. I doubt that languages or paradigms make any difference in practice (never saw any study showing significant advantages). And the lisp paradigm is in my opinion, niche for reasonable reasons. In general, the lack of strong semantics is a liability, not a strength. +@Lambda_Coder @SebAaltonen + +I doubt it. I doubt that languages or paradigms make any difference in practice (never saw any study showing significant advantages). And the lisp paradigm is in my opinion, niche for reasonable reasons. In general, the lack of strong semantics is a liability, not a strength. **7/** @HostOfMeta -@kenpex @SebAaltonen What if there existed a way to get the live coding, programmable programming of Lisp/Forth, scale it to support AAA game engines, and keep most modern PLT developments in the process? +@kenpex @SebAaltonen + +What if there existed a way to get the live coding, programmable programming of Lisp/Forth, scale it to support AAA game engines, and keep most modern PLT developments in the process? I agree languages and paradigms are compile-time concerns and as such make the runtime complex. **8/** @HostOfMeta -@kenpex @SebAaltonen Its no different than a game engine moving from one scene to the next; a few layers of abstraction deeper. +@kenpex @SebAaltonen + +Its no different than a game engine moving from one scene to the next; a few layers of abstraction deeper. Level designers would go insane having to reboot the editor between each change, yet when it comes to code it seems a perfectly normal thing to do. @@ -76,26 +92,36 @@ I want this to change. **9/** @HostOfMeta -@kenpex @SebAaltonen I also appreciate how weird and niche this position is. +@kenpex @SebAaltonen + +I also appreciate how weird and niche this position is. It's one of these situations where the thing is already executing in my mind, but translating this to software and everyday terms is another story. **10/** @kenpex -@Lambda_Coder @SebAaltonen Live-coding is indeed (and provably so, there is science) a superpower, but does not have much to do with language semantics. It's tooling and "tradition". Lisps are usually VM-based, REPLs etc, but you can do that with C or whatever, and similarly, you can "offline" compile lisp +@Lambda_Coder @SebAaltonen + +Live-coding is indeed (and provably so, there is science) a superpower, but does not have much to do with language semantics. It's tooling and "tradition". Lisps are usually VM-based, REPLs etc, but you can do that with C or whatever, and similarly, you can "offline" compile lisp **11/** @HostOfMeta -@kenpex @SebAaltonen I would say it's deeply connected to language design, in that doing it elsewhere is more complex and yields less power. +@kenpex @SebAaltonen + +I would say it's deeply connected to language design, in that doing it elsewhere is more complex and yields less power. Lisp has the most powerful REPL for this reason, but then it needs more semantic info to use it safely in a stateful simulation. Needs Erlang's supervision too. **12/** @HostOfMeta -@kenpex @SebAaltonen The runtime architecture I'm interested in keeps track of its systems, generates the wires between them, handles snapshots and replay logging from non-deterministic inputs, supervises and restores crashed systems and is aware of frame boundaries to know when live coding is safe. +@kenpex @SebAaltonen + +The runtime architecture I'm interested in keeps track of its systems, generates the wires between them, handles snapshots and replay logging from non-deterministic inputs, supervises and restores crashed systems and is aware of frame boundaries to know when live coding is safe. **13/** @HostOfMeta -@kenpex @SebAaltonen Too often in Lisp I crash something at the REPL, or lose track of a connected socket, or whatever else happening which causes me to reboot the entire runtime tower, and I see every second waiting to get back to the previous state as wasted time where the mental context fades away +@kenpex @SebAaltonen + +Too often in Lisp I crash something at the REPL, or lose track of a connected socket, or whatever else happening which causes me to reboot the entire runtime tower, and I see every second waiting to get back to the previous state as wasted time where the mental context fades away ## Related diff --git a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-wadetb-i-find-the-context-hilarious-but-forth-as-asm.md b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-wadetb-i-find-the-context-hilarious-but-forth-as-asm.md index 38e2211..c35024d 100644 --- a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-wadetb-i-find-the-context-hilarious-but-forth-as-asm.md +++ b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-26-wadetb-i-find-the-context-hilarious-but-forth-as-asm.md @@ -28,11 +28,15 @@ parent_post_id: "1650678968255913985" **1/** @wadetb -@kenpex I find the context hilarious, but Forth as asm-level-yet-very-usable-mini-OS has been done, as the boot firmware for OLPC (http://laptop.org) for many years. Looks like it's currently open sourced as https://github.com/openbios/openbios. +@kenpex + +I find the context hilarious, but Forth as asm-level-yet-very-usable-mini-OS has been done, as the boot firmware for OLPC (http://laptop.org) for many years. Looks like it's currently open sourced as https://github.com/openbios/openbios. **2/** @kenpex -@wadetb Yes of course. Forth is a language that took me a while to grok (re:the why it makes sense) - but once I understood the context it totally does. @NOTimothyLottes experiments w/it are also fun. +@wadetb + +Yes of course. Forth is a language that took me a while to grok (re:the why it makes sense) - but once I understood the context it totally does. @NOTimothyLottes experiments w/it are also fun. ## Related diff --git a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-27-JaceCear-the-what-if-were-in-an-apocalypse-part-is-very.md b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-27-JaceCear-the-what-if-were-in-an-apocalypse-part-is-very.md index 9404341..591cbc6 100644 --- a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-27-JaceCear-the-what-if-were-in-an-apocalypse-part-is-very.md +++ b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/2023-04-27-JaceCear-the-what-if-were-in-an-apocalypse-part-is-very.md @@ -28,13 +28,17 @@ parent_post_id: "1650678968255913985" **1/** @JaceCear -@kenpex The "What if we're in an apocalypse?" part is very 'whatever' to me, but in general I find this and similar projects really cool! +@kenpex + +The "What if we're in an apocalypse?" part is very 'whatever' to me, but in general I find this and similar projects really cool! And it looks like the main dev creates it on a 75MHz Pentium, with 16MB of RAM, which is awesome! ^^ **2/** @kenpex -@JaceCear Of course, the grandfather of "cool OS - minus the crazy" is TempleOS +@JaceCear + +Of course, the grandfather of "cool OS - minus the crazy" is TempleOS ## Related diff --git a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/index.md b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/index.md index f2b3397..29ca6ae 100644 --- a/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/index.md +++ b/archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vdupras-duskos/index.md @@ -33,16 +33,24 @@ Branches: [[archive/threads/kenpex/2023-04-25-nerds-are-crazy-https-git-sr-ht-vd **2/** @wadetb -@kenpex I find the context hilarious, but Forth as asm-level-yet-very-usable-mini-OS has been done, as the boot firmware for OLPC (http://laptop.org) for many years. Looks like it's currently open sourced as https://github.com/openbios/openbios. +@kenpex + +I find the context hilarious, but Forth as asm-level-yet-very-usable-mini-OS has been done, as the boot firmware for OLPC (http://laptop.org) for many years. Looks like it's currently open sourced as https://github.com/openbios/openbios. **3/** @kenpex -@wadetb Yes of course. Forth is a language that took me a while to grok (re:the why it makes sense) - but once I understood the context it totally does. @NOTimothyLottes experiments w/it are also fun. +@wadetb + +Yes of course. Forth is a language that took me a while to grok (re:the why it makes sense) - but once I understood the context it totally does. @NOTimothyLottes experiments w/it are also fun. **4/** @NOTimothyLottes -@kenpex @wadetb Can make a custom forth to binary in a few K. Bring up a runtime assembler in the language and do anything fast and simple from that point, load libraries, make system/dll C calls. 100,000x complexity reduction in compiler toolchain size. +@kenpex @wadetb + +Can make a custom forth to binary in a few K. Bring up a runtime assembler in the language and do anything fast and simple from that point, load libraries, make system/dll C calls. 100,000x complexity reduction in compiler toolchain size. **5/** @wvo -@NOTimothyLottes @kenpex @wadetb A few K? Why not just 1K? https://strlen.com/false-language/ +@NOTimothyLottes @kenpex @wadetb + +A few K? Why not just 1K? https://strlen.com/false-language/ diff --git a/archive/threads/mmalex/2025-06-28-i-vibe-coded-something-horrendous-and-i-love-it-a/index.md b/archive/threads/mmalex/2025-06-28-i-vibe-coded-something-horrendous-and-i-love-it-a/index.md index 3f84b28..35fd0db 100644 --- a/archive/threads/mmalex/2025-06-28-i-vibe-coded-something-horrendous-and-i-love-it-a/index.md +++ b/archive/threads/mmalex/2025-06-28-i-vibe-coded-something-horrendous-and-i-love-it-a/index.md @@ -31,12 +31,18 @@ i vibe coded something horrendous and I love it: a python c preprocessor that f **2/** @seflless -@mmalex There was a python tool for this remember as far back as 2000ish when working on a large c/c++ game codebase. Ah found it, it’s called Cog: https://cog.readthedocs.io/en/latest/ +@mmalex + +There was a python tool for this remember as far back as 2000ish when working on a large c/c++ game codebase. Ah found it, it’s called Cog: https://cog.readthedocs.io/en/latest/ **3/** @mmalex -@seflless ah yes ! I knew it existed - it wasnt an original idea after all, but like a faint memory stirring in my brain - but couldn't find it. thanks for the link! +@seflless + +ah yes ! I knew it existed - it wasnt an original idea after all, but like a faint memory stirring in my brain - but couldn't find it. thanks for the link! **4/** @NOTimothyLottes -@mmalex @seflless Many of my forth-like languages worked via nested runtime code gen, so it was possible to generate+run code to build either code or data, then repeat. The system would bootstrap its own assembler/etc that way. +@mmalex @seflless + +Many of my forth-like languages worked via nested runtime code gen, so it was possible to generate+run code to build either code or data, then repeat. The system would bootstrap its own assembler/etc that way. diff --git a/archive/threads/rianflo/2022-11-29-the-road-to-16-bit-floats-gpu-is-paved-with-our/index.md b/archive/threads/rianflo/2022-11-29-the-road-to-16-bit-floats-gpu-is-paved-with-our/index.md index a44e350..5b750f5 100644 --- a/archive/threads/rianflo/2022-11-29-the-road-to-16-bit-floats-gpu-is-paved-with-our/index.md +++ b/archive/threads/rianflo/2022-11-29-the-road-to-16-bit-floats-gpu-is-paved-with-our/index.md @@ -34,26 +34,38 @@ https://www.yosoygames.com.ar/wp/2022/01/the-road-to-16-bit-floats-gpu-is-paved- **2/** @NOTimothyLottes -@rianflo Explicit packed 16-bit works on AMD Vulkan Vega and up. I typically get up to 30% improvement on ALU bound stuff. Lots of occupancy wins. I don't use {HLSL, RenderDoc, Reflection, RADV, or VS/PS}. All constants are packed and aliased as UINT, so no coversion overheads. +@rianflo + +Explicit packed 16-bit works on AMD Vulkan Vega and up. I typically get up to 30% improvement on ALU bound stuff. Lots of occupancy wins. I don't use {HLSL, RenderDoc, Reflection, RADV, or VS/PS}. All constants are packed and aliased as UINT, so no coversion overheads. **3/** @rianflo -@NOTimothyLottes Oh I know the benefits. Just no simple clear way to write it in GLSL for vulkan. +@NOTimothyLottes + +Oh I know the benefits. Just no simple clear way to write it in GLSL for vulkan. **4/** @NOTimothyLottes -@rianflo Sure there is. CAS/FSR1/etc all shipped with fantastic GLSL versions using 16-bit packed math (I wrote those), all which at the time got fantastic code generation using AMD's drivers. +@rianflo + +Sure there is. CAS/FSR1/etc all shipped with fantastic GLSL versions using 16-bit packed math (I wrote those), all which at the time got fantastic code generation using AMD's drivers. **5/** @rianflo -@NOTimothyLottes What GLSL extension did you use? +@NOTimothyLottes + +What GLSL extension did you use? **6/** @rianflo -@NOTimothyLottes Oh wait, you're saying you wrote the fp16 math manually? +@NOTimothyLottes + +Oh wait, you're saying you wrote the fp16 math manually? **7/** @NOTimothyLottes -@rianflo Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-Effects/FidelityFX-FSR/blob/master/ffx-fsr/ffx_fsr1.h - There are different 'F' (32-bit) and 'H' and 'Hx2' (packed 16-bit) functions. +@rianflo + +Explicit packed 16-bit code. FSR1 example: https://github.com/GPUOpen-Effects/FidelityFX-FSR/blob/master/ffx-fsr/ffx_fsr1.h - There are different 'F' (32-bit) and 'H' and 'Hx2' (packed 16-bit) functions. diff --git a/archive/threads/rianflo/2025-12-17-significant-amount-of-bloat-dropped/2025-12-17-rianflo-question-is-how-much-overhead-of-course-even-not.md b/archive/threads/rianflo/2025-12-17-significant-amount-of-bloat-dropped/2025-12-17-rianflo-question-is-how-much-overhead-of-course-even-not.md index 4a58a53..dd1958c 100644 --- a/archive/threads/rianflo/2025-12-17-significant-amount-of-bloat-dropped/2025-12-17-rianflo-question-is-how-much-overhead-of-course-even-not.md +++ b/archive/threads/rianflo/2025-12-17-significant-amount-of-bloat-dropped/2025-12-17-rianflo-question-is-how-much-overhead-of-course-even-not.md @@ -28,15 +28,21 @@ parent_post_id: "2001106069238563204" **1/** @rianflo -@NOTimothyLottes question is how much overhead. of course even not knowing how it was implemented, its obviously complex. but i’d take a bit of overhead in favor of writing a “program” top down on the gpu. +@NOTimothyLottes + +question is how much overhead. of course even not knowing how it was implemented, its obviously complex. but i’d take a bit of overhead in favor of writing a “program” top down on the gpu. **2/** @rianflo -@NOTimothyLottes you already know we’re on the same page wrt to rendering stuff differently, but it would be fun to show a proof of concept for rendering trad stuff this way, even just to proof a point. like load and render any gltf. :-) +@NOTimothyLottes + +you already know we’re on the same page wrt to rendering stuff differently, but it would be fun to show a proof of concept for rendering trad stuff this way, even just to proof a point. like load and render any gltf. :-) **3/** @NOTimothyLottes -@rianflo I just need to get off the R&D train at some point and actually ship something :) +@rianflo + +I just need to get off the R&D train at some point and actually ship something :) ## Related diff --git a/archive/threads/rianflo/2025-12-17-significant-amount-of-bloat-dropped/index.md b/archive/threads/rianflo/2025-12-17-significant-amount-of-bloat-dropped/index.md index 9c76451..f194ff9 100644 --- a/archive/threads/rianflo/2025-12-17-significant-amount-of-bloat-dropped/index.md +++ b/archive/threads/rianflo/2025-12-17-significant-amount-of-bloat-dropped/index.md @@ -33,34 +33,50 @@ I’d move it all to the GPU though. A single kernel that launches your pipeline **2/** @NOTimothyLottes -@rianflo From my perspective being compute-only for graphics, few reasons to launch kernels because I'd always use a fixed amount of VGPRs. The larger problem is compilers that cannot keep up with the large program sizes (in compile time or register allocation). +@rianflo + +From my perspective being compute-only for graphics, few reasons to launch kernels because I'd always use a fixed amount of VGPRs. The larger problem is compilers that cannot keep up with the large program sizes (in compile time or register allocation). Branches: [[archive/threads/rianflo/2025-12-17-significant-amount-of-bloat-dropped/2025-12-17-rianflo-question-is-how-much-overhead-of-course-even-not]] **3/** @NOTimothyLottes -@rianflo Huge amount of pitfalls with compute-side dynamic dispatch of work (NV had it back when I worked there BTW), from long latency chains, to overheads tracking work completion, preemption, state restore, etc. It's not the golden answer people think it is. It is a slow path. +@rianflo + +Huge amount of pitfalls with compute-side dynamic dispatch of work (NV had it back when I worked there BTW), from long latency chains, to overheads tracking work completion, preemption, state restore, etc. It's not the golden answer people think it is. It is a slow path. **4/** @NOTimothyLottes -@rianflo There are however a bunch of things we could trivially do GPU side that are currently CPU side, like computing best tiling modes for images, computing image {size, alignment, etc}, building descriptors, etc. Lots of other driver stuff could be done on the GPU for sure. +@rianflo + +There are however a bunch of things we could trivially do GPU side that are currently CPU side, like computing best tiling modes for images, computing image {size, alignment, etc}, building descriptors, etc. Lots of other driver stuff could be done on the GPU for sure. **5/** @NOTimothyLottes -@rianflo My plan for 2026 is actually to build my open source AMD SteamOS/Linux driver for a future compute-graphics API, and it will be doing some radical stuff since I'm also doing shader binary code generation too :) Hopefully you all get live examples. +@rianflo + +My plan for 2026 is actually to build my open source AMD SteamOS/Linux driver for a future compute-graphics API, and it will be doing some radical stuff since I'm also doing shader binary code generation too :) Hopefully you all get live examples. **6/** @bkaradzic -@NOTimothyLottes @rianflo Can't wait! This compute-graphics API is something like compute + meshlets + fragment shaders only graphics API? +@NOTimothyLottes @rianflo + +Can't wait! This compute-graphics API is something like compute + meshlets + fragment shaders only graphics API? **7/** @NOTimothyLottes -@bkaradzic @rianflo Compute as in only compute shader dispatches, no fixed function graphics (no fragment/etc). And graphics via pure compute. +@bkaradzic @rianflo + +Compute as in only compute shader dispatches, no fixed function graphics (no fragment/etc). And graphics via pure compute. **8/** @Nicolas_Lopez_ -@NOTimothyLottes @bkaradzic @rianflo Considering how much we already software rasterize, we are not so far from it :) +@NOTimothyLottes @bkaradzic @rianflo + +Considering how much we already software rasterize, we are not so far from it :) **9/** @rianflo -@Nicolas_Lopez_ @NOTimothyLottes @bkaradzic yeah but then someone insists on a couple of large triangles and wants to access the rasterizer hw again, which is supposedly too small of die area to be even worth ripping it out. +@Nicolas_Lopez_ @NOTimothyLottes @bkaradzic + +yeah but then someone insists on a couple of large triangles and wants to access the rasterizer hw again, which is supposedly too small of die area to be even worth ripping it out. diff --git a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-NOTimothyLottes-yeah-its-a-common-problem-thin-wrapper-interfaces.md b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-NOTimothyLottes-yeah-its-a-common-problem-thin-wrapper-interfaces.md index 7d766e7..0007362 100644 --- a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-NOTimothyLottes-yeah-its-a-common-problem-thin-wrapper-interfaces.md +++ b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-NOTimothyLottes-yeah-its-a-common-problem-thin-wrapper-interfaces.md @@ -28,94 +28,132 @@ parent_post_id: "1890348863287943363" **1/** @NOTimothyLottes -@simplex_fx @SebAaltonen Yeah it's a common problem, thin wrapper interfaces reduced to the worst platform's caps then called at high frequency ... it's the recipe for poor software engineering +@simplex_fx @SebAaltonen + +Yeah it's a common problem, thin wrapper interfaces reduced to the worst platform's caps then called at high frequency ... it's the recipe for poor software engineering **2/** @NOTimothyLottes -@simplex_fx @SebAaltonen Arguments like: we cannot do bindless at the engine interface level because our Intel iGPU binding limits are too low, etc. Just another sign the engine interface failed when all platforms are crippled for the LCD, better if only the LCD platforms are crippled +@simplex_fx @SebAaltonen + +Arguments like: we cannot do bindless at the engine interface level because our Intel iGPU binding limits are too low, etc. Just another sign the engine interface failed when all platforms are crippled for the LCD, better if only the LCD platforms are crippled **3/** @NOTimothyLottes -@simplex_fx @SebAaltonen My interfaces are like @simplex_fx perhaps, I only do either extremely high-level, or extremely low-level. So my graphics API is just this below ... +@simplex_fx @SebAaltonen + +My interfaces are like @simplex_fx perhaps, I only do either extremely high-level, or extremely low-level. So my graphics API is just this below ... ![](https://pbs.twimg.com/media/GjwlQgIXMAAu8Va?format=png&name=orig) **4/** @simplex_fx -@NOTimothyLottes @SebAaltonen what is the mark-unmark thing? +@NOTimothyLottes @SebAaltonen + +what is the mark-unmark thing? **5/** @NOTimothyLottes -@simplex_fx @SebAaltonen It is a 1:1 map to VkEvents. Mark:set signal after all prior launched dispatches have completed, unmark:clear signal, wait: wait for signal +@simplex_fx @SebAaltonen + +It is a 1:1 map to VkEvents. Mark:set signal after all prior launched dispatches have completed, unmark:clear signal, wait: wait for signal **6/** @simplex_fx -@NOTimothyLottes @SebAaltonen Do you have plans to publish your render? +@NOTimothyLottes @SebAaltonen + +Do you have plans to publish your render? Seems like some super nice and lightweight stuff. **7/** @NOTimothyLottes -@simplex_fx @SebAaltonen The game/rendering side of my current project is too wild/game-specific to be of general usage, but the shell of the engine without the content, that I might release at some point into open source as an example +@simplex_fx @SebAaltonen + +The game/rendering side of my current project is too wild/game-specific to be of general usage, but the shell of the engine without the content, that I might release at some point into open source as an example **8/** @AgileJebrim -@NOTimothyLottes @simplex_fx @SebAaltonen What’s the game? +@NOTimothyLottes @simplex_fx @SebAaltonen + +What’s the game? **9/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen Across many years of working for IHVs and ISVs, I've been doing my own side project personal R&D prototypes geared towards solving all the key systems of a game I'd like to actually put into production some day +@AgileJebrim @simplex_fx @SebAaltonen + +Across many years of working for IHVs and ISVs, I've been doing my own side project personal R&D prototypes geared towards solving all the key systems of a game I'd like to actually put into production some day **10/** @AgileJebrim -@NOTimothyLottes @simplex_fx @SebAaltonen A combat flight sim MMO? +@NOTimothyLottes @simplex_fx @SebAaltonen + +A combat flight sim MMO? **11/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen Probably split it up into two: a single player vs world (low scope), then use that to fund what I really want to do which involves multi-player (high scope). +@AgileJebrim @simplex_fx @SebAaltonen + +Probably split it up into two: a single player vs world (low scope), then use that to fund what I really want to do which involves multi-player (high scope). **12/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen FPS-like (more like 3D Descent [DOS], instead of fixed planar), trying to break ground more in world-scope simulation/thinking/destruction but not just thin on-planet-surface stuff, more like full planetoid interior [BLAME! style, an out-of-control world-building machine] +@AgileJebrim @simplex_fx @SebAaltonen + +FPS-like (more like 3D Descent [DOS], instead of fixed planar), trying to break ground more in world-scope simulation/thinking/destruction but not just thin on-planet-surface stuff, more like full planetoid interior [BLAME! style, an out-of-control world-building machine] **13/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen Rewinding time, there have been some interesting milestones in PC gaming +@AgileJebrim @simplex_fx @SebAaltonen + +Rewinding time, there have been some interesting milestones in PC gaming (1.) Command HQ (and similar) - Modem connected real-time multi-player world scale battle simulation with fog of war ... ![](https://pbs.twimg.com/media/Gj133GjXAAEjf7m?format=png&name=orig) **14/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen (2.) Starflight https://www.filfre.net/2014/10/starflight/ - procedural universe generation, but with persistent interaction, they actually saved game state back to the floppy disk ... might say today "No Man's Sky" is like a modern version of that procedural universe generation +@AgileJebrim @simplex_fx @SebAaltonen + +(2.) Starflight https://www.filfre.net/2014/10/starflight/ - procedural universe generation, but with persistent interaction, they actually saved game state back to the floppy disk ... might say today "No Man's Sky" is like a modern version of that procedural universe generation ![](https://pbs.twimg.com/media/Gj15ToNWMAI5q9d?format=png&name=orig) **15/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen Forwarding in time a lot +@AgileJebrim @simplex_fx @SebAaltonen + +Forwarding in time a lot (3.) Teardown - expanding the lego-style chunky voxel engine with fully dynamic destruction, while still maintaining a high quality render ![](https://pbs.twimg.com/media/Gj16icuW4AArsmT?format=jpg&name=orig) **16/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen But there are a lot of barriers that feel like speed-of-sound barriers (possible) vs speed-of-light (impossible) with PC game tech, examples +@AgileJebrim @simplex_fx @SebAaltonen + +But there are a lot of barriers that feel like speed-of-sound barriers (possible) vs speed-of-light (impossible) with PC game tech, examples (1.) Voxel games - they stay mostly chunky (you have games like Voxile pushing this a little, with in-voxel details) ![](https://pbs.twimg.com/media/Gj17wiCXEAAyyfh?format=jpg&name=orig) **17/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen (2.) Physical simulation. NV PhyX had some absolutely amazing demos of destruction, but not really anything that went all in on massive destruction BECAUSE the game is still on the CPU, and the GPU is limited to just graphics ... seems like still a massive opportunity +@AgileJebrim @simplex_fx @SebAaltonen + +(2.) Physical simulation. NV PhyX had some absolutely amazing demos of destruction, but not really anything that went all in on massive destruction BECAUSE the game is still on the CPU, and the GPU is limited to just graphics ... seems like still a massive opportunity **18/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen (3.) And the biggest one IMO: many do procedural generation and stop there. But it is the MIX of procedural rules and simulation that actually generates interesting behavior and content, that is very under-explored +@AgileJebrim @simplex_fx @SebAaltonen + +(3.) And the biggest one IMO: many do procedural generation and stop there. But it is the MIX of procedural rules and simulation that actually generates interesting behavior and content, that is very under-explored **19/** @NOTimothyLottes -@AgileJebrim @simplex_fx @SebAaltonen So the inflection point IMO was GPUs getting fast enough compute where triangle rendering wasn't required, and then getting large enough memory, where one could devote it to {high/low frequency simulation,persistence,etc} instead of "textures" +@AgileJebrim @simplex_fx @SebAaltonen + +So the inflection point IMO was GPUs getting fast enough compute where triangle rendering wasn't required, and then getting large enough memory, where one could devote it to {high/low frequency simulation,persistence,etc} instead of "textures" ## Related diff --git a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-SebAaltonen-i-briefly-discussed-this-topic-in-my-siggraph.md b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-SebAaltonen-i-briefly-discussed-this-topic-in-my-siggraph.md index bc379a2..e8254ad 100644 --- a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-SebAaltonen-i-briefly-discussed-this-topic-in-my-siggraph.md +++ b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-SebAaltonen-i-briefly-discussed-this-topic-in-my-siggraph.md @@ -28,29 +28,41 @@ parent_post_id: "1890348863287943363" **1/** @SebAaltonen -@simplex_fx @NOTimothyLottes I briefly discussed this topic in my SIGGRAPH 2022 talk. The problem is that if you write a completely custom renderer for each platform, you have LOTS of platform specific code, which is super hard to maintain when your requirements change. 5x work for refactor is not fun. +@simplex_fx @NOTimothyLottes + +I briefly discussed this topic in my SIGGRAPH 2022 talk. The problem is that if you write a completely custom renderer for each platform, you have LOTS of platform specific code, which is super hard to maintain when your requirements change. 5x work for refactor is not fun. **2/** @SebAaltonen -@simplex_fx @NOTimothyLottes Also with good design, you can almost 1:1 wrap Vulkan/Metal/DX12 under the same thin wrapper, so you don't end up wasting performance in a wrapper. Now you can write your low level rendering code once. +@simplex_fx @NOTimothyLottes + +Also with good design, you can almost 1:1 wrap Vulkan/Metal/DX12 under the same thin wrapper, so you don't end up wasting performance in a wrapper. Now you can write your low level rendering code once. **3/** @SebAaltonen -@simplex_fx @NOTimothyLottes Good design == use placement heaps everywhere, use argument buffers (also in Metal) so that your memory management and binding model is identical. This way you don't need to send any data though the API wrapper. Write data directly to GPU memory, then call the wrapper to draw. +@simplex_fx @NOTimothyLottes + +Good design == use placement heaps everywhere, use argument buffers (also in Metal) so that your memory management and binding model is identical. This way you don't need to send any data though the API wrapper. Write data directly to GPU memory, then call the wrapper to draw. **4/** @SebAaltonen -@simplex_fx @NOTimothyLottes Also separating CPU->GPU data upload completely from drawing allows you to upload data at change frequency instead of draw frequency. Many big engines are slow as they upload data per draw call. That's bad design. Couples upload/draw tightly together. Must pay for both. +@simplex_fx @NOTimothyLottes + +Also separating CPU->GPU data upload completely from drawing allows you to upload data at change frequency instead of draw frequency. Many big engines are slow as they upload data per draw call. That's bad design. Couples upload/draw tightly together. Must pay for both. **5/** @yuusakumenka -@SebAaltonen @simplex_fx @NOTimothyLottes I've seen advised to use graphics queue (supporting transfer) for cpu write once gpu draw once data (immediate data recreated every frame). +@SebAaltonen @simplex_fx @NOTimothyLottes + +I've seen advised to use graphics queue (supporting transfer) for cpu write once gpu draw once data (immediate data recreated every frame). Then use separate data upload for data that suffers less frequent update (like per-instance scene data of a level editor). Is it bad advice? **6/** @yetmania -@SebAaltonen @simplex_fx @NOTimothyLottes Would this work for mobile phones? +@SebAaltonen @simplex_fx @NOTimothyLottes + +Would this work for mobile phones? I thought that keeping the scene resident on the GPU relies on indirect draws with a count buffer (filled by a GPU culling computer shader) and bindless resources. IIRC, these two are not well supported on mobile phones. diff --git a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-count_mascetti-every-time-i-abstract-at-a-higher-level-i-end-up.md b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-count_mascetti-every-time-i-abstract-at-a-higher-level-i-end-up.md index ab16679..1dbe018 100644 --- a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-count_mascetti-every-time-i-abstract-at-a-higher-level-i-end-up.md +++ b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-count_mascetti-every-time-i-abstract-at-a-higher-level-i-end-up.md @@ -28,7 +28,9 @@ parent_post_id: "1890348863287943363" **1/** @count_mascetti -@simplex_fx @SebAaltonen @NOTimothyLottes Every time I abstract at a higher-level I end up precluding some use-case that I didn't anticipate, perhaps because I'm still learning and lack the whole picture. I find it very hard to write high-level graphics abstractions that are performant and flexible enough. +@simplex_fx @SebAaltonen @NOTimothyLottes + +Every time I abstract at a higher-level I end up precluding some use-case that I didn't anticipate, perhaps because I'm still learning and lack the whole picture. I find it very hard to write high-level graphics abstractions that are performant and flexible enough. ## Related diff --git a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-matiasgoldberg-you-can-do-whatever-you-want-the-api-just-because.md b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-matiasgoldberg-you-can-do-whatever-you-want-the-api-just-because.md index 693a98f..1c02f71 100644 --- a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-matiasgoldberg-you-can-do-whatever-you-want-the-api-just-because.md +++ b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-14-matiasgoldberg-you-can-do-whatever-you-want-the-api-just-because.md @@ -28,7 +28,9 @@ parent_post_id: "1890348863287943363" **1/** @matiasgoldberg -@simplex_fx @SebAaltonen @NOTimothyLottes You can do whatever you want the API. Just because you can read from a GPU buffer you just wrote doesn't mean you should. +@simplex_fx @SebAaltonen @NOTimothyLottes + +You can do whatever you want the API. Just because you can read from a GPU buffer you just wrote doesn't mean you should. A thin wrapper allows enforcing certain guarantees and good practices to avoid race conditions or common corruption pitfalls diff --git a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-RyDawgE256-i-dont-disagree-but-the-reason-is-that-99-of.md b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-RyDawgE256-i-dont-disagree-but-the-reason-is-that-99-of.md index 9975e3a..539a081 100644 --- a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-RyDawgE256-i-dont-disagree-but-the-reason-is-that-99-of.md +++ b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-RyDawgE256-i-dont-disagree-but-the-reason-is-that-99-of.md @@ -28,7 +28,9 @@ parent_post_id: "1890348863287943363" **1/** @RyDawgE256 -@simplex_fx @SebAaltonen @NOTimothyLottes I don't disagree... but the reason is that 99% of programmers don't gaf about the specifics of their renderer... which is a shame... but an unambiguous fact nonetheless +@simplex_fx @SebAaltonen @NOTimothyLottes + +I don't disagree... but the reason is that 99% of programmers don't gaf about the specifics of their renderer... which is a shame... but an unambiguous fact nonetheless ## Related diff --git a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-pagedeux-the-render-pipeline-is-basically-a-full-piece-of.md b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-pagedeux-the-render-pipeline-is-basically-a-full-piece-of.md index 0527feb..82f0ae7 100644 --- a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-pagedeux-the-render-pipeline-is-basically-a-full-piece-of.md +++ b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-pagedeux-the-render-pipeline-is-basically-a-full-piece-of.md @@ -28,7 +28,9 @@ parent_post_id: "1890348863287943363" **1/** @pagedeux -@simplex_fx @SebAaltonen @NOTimothyLottes the render pipeline is basically a full piece of software trapped in inside of another software +@simplex_fx @SebAaltonen @NOTimothyLottes + +the render pipeline is basically a full piece of software trapped in inside of another software i guess that's why they call the compiled shader a "program" diff --git a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-vanderschnarzen-i-have-exactly-that-my-abstraction-is-basically.md b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-vanderschnarzen-i-have-exactly-that-my-abstraction-is-basically.md index 6466824..0995d75 100644 --- a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-vanderschnarzen-i-have-exactly-that-my-abstraction-is-basically.md +++ b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/2025-02-15-vanderschnarzen-i-have-exactly-that-my-abstraction-is-basically.md @@ -28,7 +28,9 @@ parent_post_id: "1890348863287943363" **1/** @vanderschnarzen -@simplex_fx @SebAaltonen @NOTimothyLottes I have exactly that. My abstraction is basically just mesh and material. If you abstract on a low level you usually have to go with the smallest common denom- which prevents you from really taking advantage of a specific api. Opinions might differ, but that's just my two cents... +@simplex_fx @SebAaltonen @NOTimothyLottes + +I have exactly that. My abstraction is basically just mesh and material. If you abstract on a low level you usually have to go with the smallest common denom- which prevents you from really taking advantage of a specific api. Opinions might differ, but that's just my two cents... ## Related diff --git a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/index.md b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/index.md index a21e205..bd2a4c3 100644 --- a/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/index.md +++ b/archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen-notimothylottes-why/index.md @@ -37,4 +37,6 @@ Branches: [[archive/threads/simplex_fx/2025-02-14-hey-gpu-guys-like-sebaaltonen- **2/** @songohab -@simplex_fx @SebAaltonen @NOTimothyLottes Exactly the question I was asking myself lol. Always felt like 3D apis SHOULD be specific. But I’m just a noob +@simplex_fx @SebAaltonen @NOTimothyLottes + +Exactly the question I was asking myself lol. Always felt like 3D apis SHOULD be specific. But I’m just a noob diff --git a/archive/threads/valigo/2025-11-17-people-who-say-c-is-modern-day-assembly-usually/2025-11-17-Cheezaight-if-this-is-not-timothy-lottes-then-who-is-it.md b/archive/threads/valigo/2025-11-17-people-who-say-c-is-modern-day-assembly-usually/2025-11-17-Cheezaight-if-this-is-not-timothy-lottes-then-who-is-it.md index 07887be..76ceb8a 100644 --- a/archive/threads/valigo/2025-11-17-people-who-say-c-is-modern-day-assembly-usually/2025-11-17-Cheezaight-if-this-is-not-timothy-lottes-then-who-is-it.md +++ b/archive/threads/valigo/2025-11-17-people-who-say-c-is-modern-day-assembly-usually/2025-11-17-Cheezaight-if-this-is-not-timothy-lottes-then-who-is-it.md @@ -28,7 +28,9 @@ parent_post_id: "1990462184170926463" **1/** @Cheezaight -@valigo @NOTimothyLottes If this is not Timothy Lottes then who is it? +@valigo @NOTimothyLottes + +If this is not Timothy Lottes then who is it? ## Related diff --git a/archive/threads/valigo/2025-11-17-people-who-say-c-is-modern-day-assembly-usually/2025-11-17-mrsteyk1-his-style-goes-a-bit-beyond-that-judging-by-the.md b/archive/threads/valigo/2025-11-17-people-who-say-c-is-modern-day-assembly-usually/2025-11-17-mrsteyk1-his-style-goes-a-bit-beyond-that-judging-by-the.md index 5e209d0..d00bf66 100644 --- a/archive/threads/valigo/2025-11-17-people-who-say-c-is-modern-day-assembly-usually/2025-11-17-mrsteyk1-his-style-goes-a-bit-beyond-that-judging-by-the.md +++ b/archive/threads/valigo/2025-11-17-people-who-say-c-is-modern-day-assembly-usually/2025-11-17-mrsteyk1-his-style-goes-a-bit-beyond-that-judging-by-the.md @@ -28,11 +28,15 @@ parent_post_id: "1990462184170926463" **1/** @mrsteyk1 -@valigo His style goes a bit beyond that, judging by the defines used it’s similar to some form of literate programming but with C preprocessor. And the whole RAM thing iirc was for when he was hot reloading C, he said he later switched to GPU and it’s not exactly required anymore? +@valigo + +His style goes a bit beyond that, judging by the defines used it’s similar to some form of literate programming but with C preprocessor. And the whole RAM thing iirc was for when he was hot reloading C, he said he later switched to GPU and it’s not exactly required anymore? **2/** @NOTimothyLottes -@mrsteyk1 @valigo Oh I still use the RAM global struct and pointer even without using CPU side hot reload. +@mrsteyk1 @valigo + +Oh I still use the RAM global struct and pointer even without using CPU side hot reload. ## Related diff --git a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-Ron172892111531-wouldnt-this-make-working-with-arrays-more.md b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-Ron172892111531-wouldnt-this-make-working-with-arrays-more.md index a0a341e..44b2d32 100644 --- a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-Ron172892111531-wouldnt-this-make-working-with-arrays-more.md +++ b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-Ron172892111531-wouldnt-this-make-working-with-arrays-more.md @@ -28,15 +28,21 @@ parent_post_id: "1990506460531601538" **1/** @Ron172892111531 -@valigo Wouldn't this make working with arrays more difficult? Array[1] would have to be Array[sizeof(data)] etc +@valigo + +Wouldn't this make working with arrays more difficult? Array[1] would have to be Array[sizeof(data)] etc **2/** @valigo -@Ron172892111531 As I said somewhere else, it makes sense sizeof pointer math to be the default. I was just saying that it's confusing because "+1" is not actually "plus one" +@Ron172892111531 + +As I said somewhere else, it makes sense sizeof pointer math to be the default. I was just saying that it's confusing because "+1" is not actually "plus one" **3/** @Ron172892111531 -@valigo Ptr+1. It's not plus one byte (or int addition), it's plus one object. I think it's only confusing when people assume pointers are just fancy integers. They're meant to work with arrays, and they do flawlessly as long as one remembers that they are an extension of the array +@valigo + +Ptr+1. It's not plus one byte (or int addition), it's plus one object. I think it's only confusing when people assume pointers are just fancy integers. They're meant to work with arrays, and they do flawlessly as long as one remembers that they are an extension of the array ## Related diff --git a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-attamayte1-pointer-arithmetic-based-on-type-sizes-makes.md b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-attamayte1-pointer-arithmetic-based-on-type-sizes-makes.md index d0880a5..498b67b 100644 --- a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-attamayte1-pointer-arithmetic-based-on-type-sizes-makes.md +++ b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-attamayte1-pointer-arithmetic-based-on-type-sizes-makes.md @@ -28,13 +28,17 @@ parent_post_id: "1990506460531601538" **1/** @attamayte1 -@valigo Pointer arithmetic based on type sizes makes sense when considering aligned load/store memory operations. +@valigo + +Pointer arithmetic based on type sizes makes sense when considering aligned load/store memory operations. I’d argue that even today, with relaxed rules, we commonly use typed arrays and calculate offsets in bytes only when working with generic buffers, like binary data blobs. **2/** @valigo -@attamayte1 Yeah it makes sense for it to be the default. It's still confusing :) +@attamayte1 + +Yeah it makes sense for it to be the default. It's still confusing :) ## Related diff --git a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-furiouswhopper-for-real-im-parsing-through-a-binary-array-and.md b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-furiouswhopper-for-real-im-parsing-through-a-binary-array-and.md index 9d14e7e..67b88f7 100644 --- a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-furiouswhopper-for-real-im-parsing-through-a-binary-array-and.md +++ b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-furiouswhopper-for-real-im-parsing-through-a-binary-array-and.md @@ -28,7 +28,9 @@ parent_post_id: "1990506460531601538" **1/** @furiouswhopper -@valigo For real I'm parsing through a binary array and trying to say "the next byte is a uint8_t, the next two bytes are a uint16_t" and the most elegant way to do it is mind-numbingly ugly pointer bullshit. +@valigo + +For real I'm parsing through a binary array and trying to say "the next byte is a uint8_t, the next two bytes are a uint16_t" and the most elegant way to do it is mind-numbingly ugly pointer bullshit. ## Related diff --git a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-mrsteyk1-i-had-the-displeasure-of-being-exposed-to-hex.md b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-mrsteyk1-i-had-the-displeasure-of-being-exposed-to-hex.md index c7a7115..97fa8cb 100644 --- a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-mrsteyk1-i-had-the-displeasure-of-being-exposed-to-hex.md +++ b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-18-mrsteyk1-i-had-the-displeasure-of-being-exposed-to-hex.md @@ -28,7 +28,9 @@ parent_post_id: "1990506460531601538" **1/** @mrsteyk1 -@valigo I had the displeasure of being exposed to Hex-Ray’s decompiler for years so I have gotten used to it, but it is annoying ye… +@valigo + +I had the displeasure of being exposed to Hex-Ray’s decompiler for years so I have gotten used to it, but it is annoying ye… ## Related diff --git a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-25-levs57-interestingly-if-you-try-to-write-rust-in-this.md b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-25-levs57-interestingly-if-you-try-to-write-rust-in-this.md index 7cc0657..0ab5c92 100644 --- a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-25-levs57-interestingly-if-you-try-to-write-rust-in-this.md +++ b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/2025-11-25-levs57-interestingly-if-you-try-to-write-rust-in-this.md @@ -28,7 +28,9 @@ parent_post_id: "1990506460531601538" **1/** @levs57 -@valigo Interestingly, if you try to write Rust in this way, pointer provenance will cause misoptimizations that break everything. +@valigo + +Interestingly, if you try to write Rust in this way, pointer provenance will cause misoptimizations that break everything. ## Related diff --git a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/index.md b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/index.md index d418348..3d9fced 100644 --- a/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/index.md +++ b/archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use-64-bit-integer/index.md @@ -33,14 +33,20 @@ Branches: [[archive/threads/valigo/2025-11-17-when-it-comes-to-pointers-just-use **2/** @onelivesleft -@valigo Distinct syntax for pointer arithmetic would be good. i.e. +@valigo + +Distinct syntax for pointer arithmetic would be good. i.e. ptr += 1; // ptr = ptr + 1; ptr ++= 1; // ptr = ptr + 1 * size_of(type_of(ptr)); **3/** @valigo -@onelivesleft Not sure I agree with specific sign choice but I kinda dig the concept +@onelivesleft + +Not sure I agree with specific sign choice but I kinda dig the concept **4/** @onelivesleft -@valigo Well, you know, only applicable for languages that don't have a ++ :P +@valigo + +Well, you know, only applicable for languages that don't have a ++ :P diff --git a/archive/threads/winning_tactic/2026-06-07-i-see/index.md b/archive/threads/winning_tactic/2026-06-07-i-see/index.md index 9d49876..bbe229b 100644 --- a/archive/threads/winning_tactic/2026-06-07-i-see/index.md +++ b/archive/threads/winning_tactic/2026-06-07-i-see/index.md @@ -29,4 +29,6 @@ in_reply_to: "2063730754861822129" **1/** @winning_tactic -@NOTimothyLottes I see! +@NOTimothyLottes + +I see! diff --git a/notes/How threads are organized.md b/notes/How threads are organized.md index ca96b5f..455d7f2 100644 --- a/notes/How threads are organized.md +++ b/notes/How threads are organized.md @@ -20,7 +20,7 @@ archive/threads/// ## Spine -`index.md` is the opening author's chain. Posts are numbered **1/** **2/**. Each number line names who spoke: `**1/** @SebAaltonen`. A mention inside the tweet is not the author. +`index.md` is the opening author's chain. Posts are numbered **1/** **2/**. Each number line names who spoke: `**1/** @SebAaltonen`. Reply `@handles` sit on the next line. The tweet text starts after that. A mention inside the tweet is not the author. Cross-author spines list every post in time order. The handle on the number line is who spoke. diff --git a/scripts/twitter/emit_archive.py b/scripts/twitter/emit_archive.py index 45a5e72..1c1287b 100644 --- a/scripts/twitter/emit_archive.py +++ b/scripts/twitter/emit_archive.py @@ -33,7 +33,13 @@ try: from twitter.media_refs import remote_markup from twitter.models import MediaItem, ThreadData, load_thread from twitter.paths import FROZEN, SCRATCH - from twitter.render import render_branch, render_spine, title_text + from twitter.render import ( + format_post_text, + render_branch, + render_spine, + split_leading_mentions, + title_text, + ) from twitter.slug import branch_file_name, date_prefix, thread_dir_name from twitter.tree import ( by_id, @@ -58,7 +64,13 @@ except ImportError: # pragma: no cover - script-mode import from media_refs import remote_markup from models import MediaItem, ThreadData, load_thread from paths import FROZEN, SCRATCH - from render import render_branch, render_spine, title_text + from render import ( + format_post_text, + render_branch, + render_spine, + split_leading_mentions, + title_text, + ) from slug import branch_file_name, date_prefix, thread_dir_name from tree import ( by_id, @@ -846,24 +858,55 @@ def _frontmatter_handle(text: str) -> str: return "" +def _body_match_keys(body: str) -> set[str]: + """Keys used to pair a note body with ``post.text`` before or after mention split.""" + mentions, rest = split_leading_mentions(body) + keys: set[str] = set() + if rest: + rest_first = _first_nonempty_line(rest) + if rest_first: + keys.add(rest_first) + if mentions: + keys.add(f"{mentions} {rest_first}") + else: + first = _first_nonempty_line(body) + if first: + keys.add(first) + return keys + + +def _post_match_keys(text: str) -> set[str]: + mentions, rest = split_leading_mentions(text) + keys: set[str] = set() + first = _first_nonempty_line(text) + if first: + keys.add(first) + if rest: + rest_first = _first_nonempty_line(rest) + if rest_first: + keys.add(rest_first) + if mentions: + keys.add(f"{mentions} {rest_first}") + return keys + + def match_post_for_body( body: str, posts: tuple, used: set[str], ) -> object | None: - """Return one unused post whose first line matches ``body``. + """Return one unused post whose text matches ``body``. Duplicate first lines are fine when every hit has the same handle. Mixed-handle collisions return ``None``. """ - first = _first_nonempty_line(body) - if not first: + keys = _body_match_keys(body) + if not keys: return None hits = [ post for post in posts - if post.post_id not in used - and _first_nonempty_line(post.text) == first + if post.post_id not in used and keys & _post_match_keys(post.text) ] if not hits: return None @@ -898,16 +941,23 @@ def patch_note_text(text: str, posts: tuple) -> tuple[str, str, str]: used.add(post.post_id) if not handle and index == 0 and root_handle: handle = root_handle + region = text[match.end():end] if not handle: unmatched.append(f"**{number}/**") pieces.append(match.group(0).rstrip()) - last = match.end() + pieces.append(region) + last = end continue new_line = f"**{number}/** @{handle}" if new_line != match.group(0).rstrip(): changed = True + formatted = format_post_text(body) + if body and formatted != body: + region = region.replace(body, formatted, 1) + changed = True pieces.append(new_line) - last = match.end() + pieces.append(region) + last = end pieces.append(text[last:]) new_text = "".join(pieces) reason = ",".join(unmatched) diff --git a/scripts/twitter/render.py b/scripts/twitter/render.py index d5d2ab6..ec33b9e 100644 --- a/scripts/twitter/render.py +++ b/scripts/twitter/render.py @@ -2,6 +2,7 @@ from __future__ import annotations +import re import sys from pathlib import Path @@ -100,6 +101,35 @@ def _source_block(post: PostData) -> str: ) +_LEADING_MENTIONS: re.Pattern[str] = re.compile( + r"^((?:@[A-Za-z0-9_]+(?:[ \t]+@[A-Za-z0-9_]+)*)[ \t]*)(.*)$", + re.DOTALL, +) + + +def split_leading_mentions(text: str) -> tuple[str, str]: + """Split reply ``@handles`` at the start of a tweet from the rest.""" + raw = text or "" + match = _LEADING_MENTIONS.match(raw) + if match is None: + return "", raw + mentions = " ".join(match.group(1).split()) + rest = match.group(2).lstrip(" \t") + if rest.startswith("\n"): + rest = rest.lstrip("\n") + return mentions, rest + + +def format_post_text(text: str) -> str: + """Put leading reply mentions on their own line, then the tweet body.""" + mentions, rest = split_leading_mentions(text) + if not mentions: + return text + if not rest: + return mentions + return f"{mentions}\n\n{rest}" + + def _post_block( n: int, post: PostData, @@ -109,7 +139,7 @@ def _post_block( """Render one post body (``**N/** @handle`` + text + media + branch links).""" if not post.handle: raise ValueError(f"empty handle on post {post.post_id}") - parts = [f"**{n}/** @{post.handle}", "", post.text] + parts = [f"**{n}/** @{post.handle}", "", format_post_text(post.text)] media = (media_by_post or {}).get(post.post_id) or () if media: parts.append("") diff --git a/scripts/twitter/tests/test_reply_attribution.py b/scripts/twitter/tests/test_reply_attribution.py index 955a835..4c6739f 100644 --- a/scripts/twitter/tests/test_reply_attribution.py +++ b/scripts/twitter/tests/test_reply_attribution.py @@ -7,7 +7,13 @@ from unittest.mock import patch from twitter.emit_archive import apply_relabel, format_relabel_plan, plan_relabel from twitter.models import PostData, PostMetrics, ThreadData -from twitter.render import _post_block, render_branch, render_spine +from twitter.render import ( + _post_block, + format_post_text, + render_branch, + render_spine, + split_leading_mentions, +) from twitter.tw import build_parser, cmd_relabel @@ -44,6 +50,26 @@ class PostBlockAttributionTests(unittest.TestCase): with self.assertRaises(ValueError): _post_block(1, post("1", "", "text", None), None) + def test_leading_mentions_are_their_own_line(self) -> None: + block = _post_block( + 19, + post( + "1898440015182729598", + "SebAaltonen", + "@NOTimothyLottes I said WG_RR_EN", + "1", + ), + None, + ) + self.assertIn("**19/** @SebAaltonen\n\n@NOTimothyLottes\n\nI said WG_RR_EN", block) + + def test_format_post_text_is_idempotent(self) -> None: + original = "@AgileJebrim @SebAaltonen The higher the occupancy" + once = format_post_text(original) + self.assertEqual(once, "@AgileJebrim @SebAaltonen\n\nThe higher the occupancy") + self.assertEqual(format_post_text(once), once) + self.assertEqual(split_leading_mentions("holy truthnuke")[0], "") + class RenderAttributionTests(unittest.TestCase): def test_mixed_spine_labels_each_post(self) -> None: @@ -223,7 +249,8 @@ class RelabelPatchTests(unittest.TestCase): (notes / "branch.md").write_text( "---\ndraft: false\n---\n\n" "**19/** @SebAaltonen\n\n" - "@NOTimothyLottes I said WG_RR_EN\n\n" + "@NOTimothyLottes\n\n" + "I said WG_RR_EN\n\n" "**33/** @AgileJebrim\n\n" "On the flip side, it appears that using 128\n", encoding="utf-8", @@ -235,6 +262,29 @@ class RelabelPatchTests(unittest.TestCase): apply_relabel(plan) self.assertEqual((notes / "index.md").read_bytes(), before) + def test_patch_splits_leading_mentions(self) -> None: + from twitter.emit_archive import patch_note_text + + posts = ( + post( + "1898440015182729598", + "SebAaltonen", + "@NOTimothyLottes I said WG_RR_EN", + None, + ), + ) + text = ( + "**19/** @SebAaltonen\n\n" + "@NOTimothyLottes I said WG_RR_EN\n" + ) + new, state, reason = patch_note_text(text, posts) + self.assertEqual(state, "rewrite") + self.assertEqual(reason, "") + self.assertIn("@NOTimothyLottes\n\nI said WG_RR_EN", new) + again, state2, _reason = patch_note_text(new, posts) + self.assertEqual(state2, "noop") + self.assertEqual(again, new) + def test_duplicate_first_line_same_handle_rewrites(self) -> None: from twitter.emit_archive import patch_note_text