docs(twitter): add 1950860870818439202 corpus (NOTimothyLottes 'build engine from asm' announcement)

55-post thread, HIGHEST engagement NOTimothyLottes thread in corpus
(312 likes, 15 reposts, 20147 views), 1 MP4 video. The canonical
project-announcement thread: 'people claim assembly is hard; a good
counter would be showing how to build a x86-64 WIN32 Vulkan engine
from scratch in ASM.' Posts 2-3 lay out the rationale (game logic
on GPU = no point avoiding asm; re-arch argument-gather for cold-
cache via store multicast + linear prefetch). Post 7+ defend the
WIN32-as-Linux-strategy (Valve/Proton + Wine). Post 22 reveals CRT
setup (low-res, bitmap fonts). Post 50 the punchline: no triangles,
PS-free, CS-only, all gfx generated vintage-PC-style on compute GPUs.
Post 51: VK wins for compute because VkEvents pipelinable vs DX12's
serializing barriers vs GL's lack of pipelining. Post 55: live
systems as 'the IDE' with function keys as save/restore pallet,
snapshot the entire project as one file.
This commit is contained in:
ed
2026-07-27 00:13:11 -04:00
parent fcf70065e6
commit 1dbcafd8c2
3 changed files with 1135 additions and 0 deletions
+247
View File
@@ -0,0 +1,247 @@
---
title: "People claim assembly is hard. A good counter to that would be showing how to bu"
author: "NOTimothyLottes"
handle: "@NOTimothyLottes"
post_url: "https://x.com/NOTimothyLottes/status/1950860870818439202"
post_id: "1950860870818439202"
timestamp: "2025-07-31 10:07:31"
post_count: 55
reply_count: 37
repost_count: 15
like_count: 312
view_count: 20147
---
# @NOTimothyLottes — People claim assembly is hard. A good counter to that would be showing how to bu
## Post 1 (2025-07-31 10:07:31)
People claim assembly is hard. A good counter to that would be showing how to build a x86-64 WIN32 Vulkan based engine from scratch in ASM. Not sure how many people would find that worth watching though.
## Post 2 (2025-07-31 10:11:15) — reply to Post 1
If game logic is GPU side there is little point in NOT doing assembly, since the CPU side stuff would always be platform specific.
## Post 3 (2025-07-31 10:15:53) — reply to Post 2
ASM provides a good opportunity to show how to convert typical function argument gather into store multicast with linear prefetch for arguments to API calls. Effectively re-arch for cold cache efficiency. And other radically cool stuff that nobody does.
## Post 4 (2025-07-31 10:19:15) — reply to Post 1
@NOTimothyLottes I would definitely watch that 🙂
## Post 5 (2025-07-31 10:21:03) — reply to Post 1
@NOTimothyLottes definitely interested in anything you put out
## Post 6 (2025-07-31 10:26:41) — reply to Post 1
@NOTimothyLottes I would so love that!
## Post 7 (2025-07-31 10:30:42) — reply to Post 3
Linux has been all down hill over the years. OSS was fantastic, easy portable Linux system call interface. Also it's easy to do direct X11 with just syscalls. Now with Wayland you are stuck with linking to a garbage library. So might as well do WIN32 for Linux and depend on Wine.
## Post 8 (2025-07-31 10:35:00) — reply to Post 7
So Valve standardizing on Proton saves a lot of trouble with porting across ABIs/etc, just do WIN32 as it's way easier to interface with than Wayland and whatever horrible userland audio interface Linux monkeys switch to this era.
## Post 9 (2025-07-31 10:39:17) — reply to Post 8
Few probably remember the old Unix before pthreads and ELF. It was better then. Much easier to use fork and shm to do platform audio than today. And that holds for all the vintage workstations (which I did implement back in the day)
## Post 10 (2025-07-31 10:44:11) — reply to Post 1
@NOTimothyLottes Please!
## Post 11 (2025-07-31 10:53:48) — reply to Post 1
@NOTimothyLottes That'd rock!
## Post 12 (2025-07-31 11:48:39) — reply to Post 1
@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
## Post 13 (2025-07-31 12:00:37) — reply to Post 1
@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 :)
## Post 14 (2025-07-31 12:21:44) — reply to Post 1
@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.
## Post 15 (2025-07-31 12:40:58) — reply to Post 1
@NOTimothyLottes I'm sure it would be invaluable
## Post 16 (2025-07-31 12:45:52) — reply to Post 1
@NOTimothyLottes
<video controls src="./media/1950900720770625916_1.mp4"></video>
## Post 17 (2025-07-31 12:52:38) — reply to Post 1
@NOTimothyLottes i would!
## Post 18 (2025-07-31 13:04:50) — reply to Post 1
@NOTimothyLottes Unrelated, but I would also love a look at your CRTs and how you use them in everyday stuff.
## Post 19 (2025-07-31 13:34:45) — reply to Post 1
@NOTimothyLottes I would enjoy watching that.
## Post 20 (2025-07-31 13:40:08) — reply to Post 1
@NOTimothyLottes I am interested
## Post 21 (2025-07-31 13:45:08) — reply to Post 1
@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?
## Post 22 (2025-07-31 14:24:22) — reply to Post 13
@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
## Post 23 (2025-07-31 14:27:42) — reply to Post 18
@Karyuutensei Showing that setup would be fun. Most of my active CRTs are hooked up to vintage consoles though.
## Post 24 (2025-07-31 14:30:00) — reply to Post 21
@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.
## Post 25 (2025-07-31 14:33:31) — reply to Post 1
@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
## Post 26 (2025-07-31 14:40:20) — reply to Post 1
@NOTimothyLottes I would, and I think more people would be interested.
## Post 27 (2025-07-31 15:04:24) — reply to Post 1
@NOTimothyLottes It was never hard, just tedious.
## Post 28 (2025-07-31 15:21:15) — reply to Post 1
@NOTimothyLottes I'm staying maybe for Vulkan, depending on how manageable it gets to me. (Assembly or not)
## Post 29 (2025-07-31 15:25:50) — reply to Post 1
@NOTimothyLottes I'd love to watch that.
## Post 30 (2025-07-31 15:55:04) — reply to Post 1
@NOTimothyLottes Im learning assembly in my spare time
## Post 31 (2025-07-31 16:25:07) — reply to Post 1
@NOTimothyLottes There are a lot of "watch me write this app in assembly" yt videos
## Post 32 (2025-07-31 16:25:33) — reply to Post 1
@NOTimothyLottes would watch though
## Post 33 (2025-07-31 16:26:16) — reply to Post 1
@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.
## Post 34 (2025-07-31 16:48:25) — reply to Post 1
@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.
And meh.
## Post 35 (2025-07-31 16:56:08) — reply to Post 1
@NOTimothyLottes Very interested!
## Post 36 (2025-07-31 17:24:35) — reply to Post 1
@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.
## Post 37 (2025-07-31 20:05:38) — reply to Post 1
@NOTimothyLottes Is it already aprils fools again?
## Post 38 (2025-07-31 20:32:49) — reply to Post 1
@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 its doable, but portability between CPU architecture alone makes assembly only worth doing when warranted.
## Post 39 (2025-07-31 22:34:52) — reply to Post 1
@NOTimothyLottes Assembly isn't hard, it's just platform specific, which makes it tedious.
## Post 40 (2025-08-01 01:31:29) — reply to Post 1
@NOTimothyLottes I would watch that. So, count me in.
## Post 41 (2025-08-01 01:39:01) — reply to Post 1
@NOTimothyLottes VIDEO LINK NOW
## Post 42 (2025-08-01 01:53:20) — reply to Post 38
@CUDAHandbook I'm hoping to show how to make it less tedious than C
## Post 43 (2025-08-01 01:56:31) — reply to Post 37
@simplex_fx Would it be interesting any other way
## Post 44 (2025-08-01 02:06:10) — reply to Post 36
@Stererence Inline assembly in GCC has been a cornerstone of my C code for a long time.
## Post 45 (2025-08-01 02:08:33) — reply to Post 34
@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.
## Post 46 (2025-08-01 06:17:46) — reply to Post 43
@NOTimothyLottes Worst part of this is not even the asm, but the choice of Vulkan 🤣
## Post 47 (2025-08-01 06:38:21) — reply to Post 1
@NOTimothyLottes I know someone who'd be excited @opdroid1234
## Post 48 (2025-08-01 08:28:43) — reply to Post 1
@NOTimothyLottes It doesn't really matter what language you call Vulkan from, the pain is all in the API...
## Post 49 (2025-08-01 14:02:26) — reply to Post 22
@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!
## Post 50 (2025-08-01 14:43:56) — reply to Post 49
@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.
## Post 51 (2025-08-01 14:53:19) — reply to Post 46
@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.
## Post 52 (2025-08-01 15:28:08) — reply to Post 50
@NOTimothyLottes it's even better! (at least to me)
## Post 53 (2025-08-01 15:51:58) — reply to Post 51
@NOTimothyLottes Highly depends on ones goals.
## Post 54 (2025-08-01 17:46:39) — reply to Post 42
@NOTimothyLottes @CUDAHandbook My major problem with programming is the tedium.
GLSL Sandbox is still the best IDE I've ever used...
Live code with instant update, simple automatic version control, cross platform web deployment, basic stripped down math language...
## Post 55 (2025-08-01 17:59:16) — reply to Post 54
@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).
@@ -0,0 +1,888 @@
{
"root_post_id": "1950860870818439202",
"posts": [
{
"post_id": "1950860870818439202",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "People claim assembly is hard. A good counter to that would be showing how to build a x86-64 WIN32 Vulkan based engine from scratch in ASM. Not sure how many people would find that worth watching though.",
"timestamp": "2025-07-31 10:07:31",
"media_urls": [],
"reply_to_id": null,
"quote_of_id": null,
"metrics": {
"reply_count": 37,
"repost_count": 15,
"like_count": 312,
"view_count": 20147
}
},
{
"post_id": "1950861811982434738",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "If game logic is GPU side there is little point in NOT doing assembly, since the CPU side stuff would always be platform specific.",
"timestamp": "2025-07-31 10:11:15",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 2,
"repost_count": 1,
"like_count": 27,
"view_count": 1836
}
},
{
"post_id": "1950862975193292928",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "ASM provides a good opportunity to show how to convert typical function argument gather into store multicast with linear prefetch for arguments to API calls. Effectively re-arch for cold cache efficiency. And other radically cool stuff that nobody does.",
"timestamp": "2025-07-31 10:15:53",
"media_urls": [],
"reply_to_id": "1950861811982434738",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 2,
"like_count": 30,
"view_count": 3338
}
},
{
"post_id": "1950863824522739861",
"author": "David Sena",
"handle": "biovf",
"text": "@NOTimothyLottes I would definitely watch that 🙂",
"timestamp": "2025-07-31 10:19:15",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 359
}
},
{
"post_id": "1950864277624979480",
"author": "Chrinovic Mukanya",
"handle": "mu_chrinovic",
"text": "@NOTimothyLottes definitely interested in anything you put out",
"timestamp": "2025-07-31 10:21:03",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 6,
"view_count": 672
}
},
{
"post_id": "1950865695140364456",
"author": "Michael Spector",
"handle": "nullspector",
"text": "@NOTimothyLottes I would so love that!",
"timestamp": "2025-07-31 10:26:41",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 251
}
},
{
"post_id": "1950866703342088407",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "Linux has been all down hill over the years. OSS was fantastic, easy portable Linux system call interface. Also it's easy to do direct X11 with just syscalls. Now with Wayland you are stuck with linking to a garbage library. So might as well do WIN32 for Linux and depend on Wine.",
"timestamp": "2025-07-31 10:30:42",
"media_urls": [],
"reply_to_id": "1950862975193292928",
"quote_of_id": null,
"metrics": {
"reply_count": 3,
"repost_count": 0,
"like_count": 28,
"view_count": 6186
}
},
{
"post_id": "1950867786424598890",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "So Valve standardizing on Proton saves a lot of trouble with porting across ABIs/etc, just do WIN32 as it's way easier to interface with than Wayland and whatever horrible userland audio interface Linux monkeys switch to this era.",
"timestamp": "2025-07-31 10:35:00",
"media_urls": [],
"reply_to_id": "1950866703342088407",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 2,
"like_count": 27,
"view_count": 2457
}
},
{
"post_id": "1950868863836410096",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "Few probably remember the old Unix before pthreads and ELF. It was better then. Much easier to use fork and shm to do platform audio than today. And that holds for all the vintage workstations (which I did implement back in the day)",
"timestamp": "2025-07-31 10:39:17",
"media_urls": [],
"reply_to_id": "1950867786424598890",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 23,
"view_count": 2249
}
},
{
"post_id": "1950870099809681578",
"author": "Vlad Erium 🇯🇵",
"handle": "ssh4net",
"text": "@NOTimothyLottes Please!",
"timestamp": "2025-07-31 10:44:11",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 2,
"view_count": 638
}
},
{
"post_id": "1950872517700206902",
"author": "unevenprankster",
"handle": "pranksterware",
"text": "@NOTimothyLottes That'd rock!",
"timestamp": "2025-07-31 10:53:48",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 233
}
},
{
"post_id": "1950886322341630045",
"author": "𝖒𝖒𝖆𝖑𝖊𝖝",
"handle": "mmalex",
"text": "@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",
"timestamp": "2025-07-31 11:48:39",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 2,
"repost_count": 0,
"like_count": 9,
"view_count": 766
}
},
{
"post_id": "1950889332375470135",
"author": "Arnaud Carré",
"handle": "leonard_coder",
"text": "@NOTimothyLottes I'm still doing assembly as hobby :) ( 68k assembly, x64 assembly is not as fun to write).\nI'm interested to see such a tutorial, but please change a bit your font size and coding style :)",
"timestamp": "2025-07-31 12:00:37",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 4,
"view_count": 830
}
},
{
"post_id": "1950894646881611793",
"author": "Rúben Cabaço",
"handle": "ruben_cabaco",
"text": "@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.",
"timestamp": "2025-07-31 12:21:44",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 208
}
},
{
"post_id": "1950899486059851961",
"author": "vulkan tamer",
"handle": "NickDrisc0ll",
"text": "@NOTimothyLottes I'm sure it would be invaluable",
"timestamp": "2025-07-31 12:40:58",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 3,
"view_count": 192
}
},
{
"post_id": "1950900720770625916",
"author": "Alonne",
"handle": "totalwert",
"text": "@NOTimothyLottes",
"timestamp": "2025-07-31 12:45:52",
"media_urls": [
"https://video.twimg.com/tweet_video/GxL93LLW8AA-5hM.mp4"
],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 119
}
},
{
"post_id": "1950902422362046528",
"author": "opdroid1234",
"handle": "opdroid1234",
"text": "@NOTimothyLottes i would!",
"timestamp": "2025-07-31 12:52:38",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 163
}
},
{
"post_id": "1950905493053923408",
"author": "Nick Tasios",
"handle": "Karyuutensei",
"text": "@NOTimothyLottes Unrelated, but I would also love a look at your CRTs and how you use them in everyday stuff.",
"timestamp": "2025-07-31 13:04:50",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 0,
"view_count": 855
}
},
{
"post_id": "1950913023851278616",
"author": "Manuel Montoto",
"handle": "m6502",
"text": "@NOTimothyLottes I would enjoy watching that.",
"timestamp": "2025-07-31 13:34:45",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 349
}
},
{
"post_id": "1950914379412566114",
"author": " ",
"handle": "roasted6read",
"text": "@NOTimothyLottes I am interested",
"timestamp": "2025-07-31 13:40:08",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 114
}
},
{
"post_id": "1950915633811534012",
"author": "Robert William Cummings",
"handle": "SquaredApe",
"text": "@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?",
"timestamp": "2025-07-31 13:45:08",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 0,
"view_count": 547
}
},
{
"post_id": "1950925507266007332",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@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",
"timestamp": "2025-07-31 14:24:22",
"media_urls": [],
"reply_to_id": "1950889332375470135",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 1,
"view_count": 597
}
},
{
"post_id": "1950926350174351566",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@Karyuutensei Showing that setup would be fun. Most of my active CRTs are hooked up to vintage consoles though.",
"timestamp": "2025-07-31 14:27:42",
"media_urls": [],
"reply_to_id": "1950905493053923408",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 3,
"view_count": 689
}
},
{
"post_id": "1950926927985770680",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@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.",
"timestamp": "2025-07-31 14:30:00",
"media_urls": [],
"reply_to_id": "1950915633811534012",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 3,
"view_count": 457
}
},
{
"post_id": "1950927812401004774",
"author": "VicThor Dev",
"handle": "VicThorDev6",
"text": "@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",
"timestamp": "2025-07-31 14:33:31",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 146
}
},
{
"post_id": "1950929528131326083",
"author": "PunteroCrudo",
"handle": "PunteroCrudo",
"text": "@NOTimothyLottes I would, and I think more people would be interested.",
"timestamp": "2025-07-31 14:40:20",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 105
}
},
{
"post_id": "1950935584714654191",
"author": "Matthew Rusch",
"handle": "2Sexy4MyGPU",
"text": "@NOTimothyLottes It was never hard, just tedious.",
"timestamp": "2025-07-31 15:04:24",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 85
}
},
{
"post_id": "1950939824183001106",
"author": "Boga",
"handle": "o__boga",
"text": "@NOTimothyLottes I'm staying maybe for Vulkan, depending on how manageable it gets to me. (Assembly or not)",
"timestamp": "2025-07-31 15:21:15",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 116
}
},
{
"post_id": "1950940978229236154",
"author": "D J",
"handle": "cyberbemon",
"text": "@NOTimothyLottes I'd love to watch that.",
"timestamp": "2025-07-31 15:25:50",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 87
}
},
{
"post_id": "1950948334002159684",
"author": "Naf 👨🏽‍💻",
"handle": "_naf_90",
"text": "@NOTimothyLottes Im learning assembly in my spare time",
"timestamp": "2025-07-31 15:55:04",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 62
}
},
{
"post_id": "1950955895351083303",
"author": "Ian Hanschen",
"handle": "furan",
"text": "@NOTimothyLottes There are a lot of \"watch me write this app in assembly\" yt videos",
"timestamp": "2025-07-31 16:25:07",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 194
}
},
{
"post_id": "1950956007737463015",
"author": "Ian Hanschen",
"handle": "furan",
"text": "@NOTimothyLottes would watch though",
"timestamp": "2025-07-31 16:25:33",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 192
}
},
{
"post_id": "1950956186783895852",
"author": "Mark Coleman",
"handle": "thecolemanthe",
"text": "@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.",
"timestamp": "2025-07-31 16:26:16",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 3,
"view_count": 74
}
},
{
"post_id": "1950961762419044639",
"author": "NEOAethyr",
"handle": "konigssohne",
"text": "@NOTimothyLottes If you're got a blank `canvas` go for it.\nInterfacing to a kernel interrupt is one thing, hooking up to a toolkit ui is another I haven't ever seen, in asm.\n\nThat leaves it all to command lines.\nAnd meh.",
"timestamp": "2025-07-31 16:48:25",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 0,
"view_count": 154
}
},
{
"post_id": "1950963702569771336",
"author": "PlasmaBitcoin",
"handle": "plasmabitcoin",
"text": "@NOTimothyLottes Very interested!",
"timestamp": "2025-07-31 16:56:08",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 60
}
},
{
"post_id": "1950970860694913461",
"author": "Sterence",
"handle": "Stererence",
"text": "@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.",
"timestamp": "2025-07-31 17:24:35",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 1,
"view_count": 168
}
},
{
"post_id": "1951011391827010009",
"author": "Simplex",
"handle": "simplex_fx",
"text": "@NOTimothyLottes Is it already aprils fools again?",
"timestamp": "2025-07-31 20:05:38",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 3,
"view_count": 412
}
},
{
"post_id": "1951018231856312578",
"author": "Nicholas Wilt",
"handle": "CUDAHandbook",
"text": "@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 its doable, but portability between CPU architecture alone makes assembly only worth doing when warranted.",
"timestamp": "2025-07-31 20:32:49",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 9,
"view_count": 421
}
},
{
"post_id": "1951048949667619280",
"author": "0x44",
"handle": "0x44_",
"text": "@NOTimothyLottes Assembly isn't hard, it's just platform specific, which makes it tedious.",
"timestamp": "2025-07-31 22:34:52",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 72
}
},
{
"post_id": "1951093394786361833",
"author": "Ben Schulz",
"handle": "schulzb589",
"text": "@NOTimothyLottes I would watch that. So, count me in.",
"timestamp": "2025-08-01 01:31:29",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 66
}
},
{
"post_id": "1951095292377571395",
"author": "Anshuman Khanna",
"handle": "AnshumanKhanna5",
"text": "@NOTimothyLottes VIDEO LINK NOW",
"timestamp": "2025-08-01 01:39:01",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 29
}
},
{
"post_id": "1951098891396645052",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@CUDAHandbook I'm hoping to show how to make it less tedious than C",
"timestamp": "2025-08-01 01:53:20",
"media_urls": [],
"reply_to_id": "1951018231856312578",
"quote_of_id": null,
"metrics": {
"reply_count": 2,
"repost_count": 0,
"like_count": 6,
"view_count": 269
}
},
{
"post_id": "1951099694156792065",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@simplex_fx Would it be interesting any other way",
"timestamp": "2025-08-01 01:56:31",
"media_urls": [],
"reply_to_id": "1951011391827010009",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 0,
"view_count": 335
}
},
{
"post_id": "1951102123686457463",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@Stererence Inline assembly in GCC has been a cornerstone of my C code for a long time.",
"timestamp": "2025-08-01 02:06:10",
"media_urls": [],
"reply_to_id": "1950970860694913461",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 2,
"view_count": 113
}
},
{
"post_id": "1951102721832133016",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@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.",
"timestamp": "2025-08-01 02:08:33",
"media_urls": [],
"reply_to_id": "1950961762419044639",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 1,
"like_count": 1,
"view_count": 124
}
},
{
"post_id": "1951165438311756272",
"author": "Simplex",
"handle": "simplex_fx",
"text": "@NOTimothyLottes Worst part of this is not even the asm, but the choice of Vulkan 🤣",
"timestamp": "2025-08-01 06:17:46",
"media_urls": [],
"reply_to_id": "1951099694156792065",
"quote_of_id": null,
"metrics": {
"reply_count": 2,
"repost_count": 0,
"like_count": 2,
"view_count": 169
}
},
{
"post_id": "1951170620542296537",
"author": "Karthik Kumar Viswanathan",
"handle": "_vkaku",
"text": "@NOTimothyLottes I know someone who'd be excited @opdroid1234",
"timestamp": "2025-08-01 06:38:21",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 2,
"view_count": 85
}
},
{
"post_id": "1951198394329829393",
"author": "Ægis Stranding",
"handle": "John31625320803",
"text": "@NOTimothyLottes It doesn't really matter what language you call Vulkan from, the pain is all in the API...",
"timestamp": "2025-08-01 08:28:43",
"media_urls": [],
"reply_to_id": "1950860870818439202",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 22
}
},
{
"post_id": "1951282375997993089",
"author": "Arnaud Carré",
"handle": "leonard_coder",
"text": "@NOTimothyLottes oh you're on low res CRT? that explain a lot, I was always really surprised by your 3x5 pixels look-alike font :) \nBut yeah Vulkan triangle setup code in assembly is something, I'm in!",
"timestamp": "2025-08-01 14:02:26",
"media_urls": [],
"reply_to_id": "1950925507266007332",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 1,
"view_count": 101
}
},
{
"post_id": "1951292823258398746",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@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.",
"timestamp": "2025-08-01 14:43:56",
"media_urls": [],
"reply_to_id": "1951282375997993089",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 0,
"view_count": 117
}
},
{
"post_id": "1951295183611670741",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@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.",
"timestamp": "2025-08-01 14:53:19",
"media_urls": [],
"reply_to_id": "1951165438311756272",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 1,
"view_count": 164
}
},
{
"post_id": "1951303945122423099",
"author": "Arnaud Carré",
"handle": "leonard_coder",
"text": "@NOTimothyLottes it's even better! (at least to me)",
"timestamp": "2025-08-01 15:28:08",
"media_urls": [],
"reply_to_id": "1951292823258398746",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 83
}
},
{
"post_id": "1951309944441151891",
"author": "Simplex",
"handle": "simplex_fx",
"text": "@NOTimothyLottes Highly depends on ones goals.",
"timestamp": "2025-08-01 15:51:58",
"media_urls": [],
"reply_to_id": "1951295183611670741",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 0,
"view_count": 87
}
},
{
"post_id": "1951338802250932340",
"author": "Chris Birke",
"handle": "Alleycatsphinx",
"text": "@NOTimothyLottes @CUDAHandbook My major problem with programming is the tedium.\n\nGLSL Sandbox is still the best IDE I've ever used... \n\nLive code with instant update, simple automatic version control, cross platform web deployment, basic stripped down math language...",
"timestamp": "2025-08-01 17:46:39",
"media_urls": [],
"reply_to_id": "1951098891396645052",
"quote_of_id": null,
"metrics": {
"reply_count": 1,
"repost_count": 0,
"like_count": 1,
"view_count": 118
}
},
{
"post_id": "1951341979289497943",
"author": "NOTimothyLottes",
"handle": "NOTimothyLottes",
"text": "@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).",
"timestamp": "2025-08-01 17:59:16",
"media_urls": [],
"reply_to_id": "1951338802250932340",
"quote_of_id": null,
"metrics": {
"reply_count": 0,
"repost_count": 0,
"like_count": 1,
"view_count": 87
}
}
],
"source_url": "https://x.com/NOTimothyLottes/status/1950860870818439202"
}