Vivek Galatage
banner
vivekgalatage.bsky.social
Vivek Galatage
@vivekgalatage.bsky.social
buillding browsers for 20+ years • ❤️ languages, os, compilers • contributed to #chromium, #webkit • founding engineer browsercompany • views are personal
Did you know you can flush the CPU caches with special intrinsic operations (on x86-64) and use DC CIVAC on the ARM?

More details in 🧵
December 2, 2024 at 5:43 PM
🧵 Visualizing struct memory layout in C

- Default: Natural alignment with padding
- Packed: No padding, minimal size
- Aligned: Specified alignment affects padding!

See how memory layout attributes affect the way memory is laid out

godbolt.org/z/c11Mzesa7
November 28, 2024 at 9:27 AM
A visual explanation of priority inversion and inheritance: primarily used in real-time operating systems.

Source: wiki.linuxfoundation.org/realtime/doc...
November 20, 2024 at 1:11 PM
Godbolt shows control graph for each function: Use `+ Add new... > Control Flow Graph`

You can see how the conditionals, loops, etc are generated.
godbolt.org/z/Mq3TesbaE

💡 Sometimes, it takes just a moment to fix hard-to-debug issues merely by looking at some of these visualizations.
November 20, 2024 at 12:48 PM
I came across this fantastic playlist that talks about High-Performance Computer Architecture.

Videos are short to watch but rich in scope! Enjoyed the talks about CPU pipelines along with others.

www.youtube.com/playlist?lis...
High Performance Computer Architecture: Part 1 - YouTube
The course begins with a lesson on performance measurement, which leads to a discussion on the necessity of performance improvement. Pipelining, the first le...
www.youtube.com
November 20, 2024 at 12:43 PM
The state of language interop; C ABI drives it all.

💡 Remix the diagram with any language, and it still conveys perfectly.
November 20, 2024 at 4:24 AM
A search engine for finding websites using a specific W3C API would be cool! Does it exist already?
November 18, 2024 at 7:11 AM
Heard this often?- Browsers are multi-process and use Inter-Process Communication.
This guide provides the foundations of IPC in general; a must-read!

beej.us/guide/bgipc/
November 13, 2024 at 8:15 AM
When a light drizzle wakes you up in the morning...
November 13, 2024 at 5:19 AM
💡 Folks new to programming can use visualization to understand it better. One such way is to explore generated machine code for a given concept.

Sample code: godbolt.org/z/hPj6z6arT
November 11, 2024 at 4:19 PM
Reminiscing over the years, I realized there are two key growth aspects: curiosity and discipline.

And what better than a bicycle to represent this journey?
November 11, 2024 at 6:05 AM