I am reading about Conflict-free Replicated Data Types (CRDT). And I came across these fantastic implementations by Evan Wallace!
It's interesting to see how real-world collaborative applications work with the help of these data structures and algorithms!
Links in 🧵
I came across the paper: Parsing Gigabytes of JSON per Second
A fascinating read indeed; it helps understand the intricacies of using if-else branches & their impact on performance - especially while parsing JSON files. A usual suspect in browsers!
Moved to a co-working space after 3.5 years of WFH!!!
Let's catch up about Arc, browser internals, or just about anything if you're in BLR. My DMs are open. Happy to connect! 👋
Almost all modern browsers are multi-process by design.
To understand what this means for chromium, look at this fun-filled illustration series by
@kosamari
, which takes us through the journey of a web page:
from bytes -> rendering -> interaction
The security architecture of Chromium is described in this paper (from 2008).
If you are keen on understanding the evolution of multi-process browsers, this would be a good read!
Almost all modern browsers are multi-process by design.
To understand what this means for chromium, look at this fun-filled illustration series by
@kosamari
, which takes us through the journey of a web page:
from bytes -> rendering -> interaction
Sneak peek: I'll discuss CPU pipeline, branch prediction, speculative execution, & Spectre security vulnerability from the browser's perspective.
Read more in these fantastic articles:
PS: Keynote has amazing capabilities
Sneak peek: I'll discuss CPU pipeline, branch prediction, speculative execution, & Spectre security vulnerability from the browser's perspective.
Read more in these fantastic articles:
PS: Keynote has amazing capabilities
I will be talking about the browser's performance engineering at the upcoming and first-ever Bengaluru Systems Meetup.
I am looking forward to meeting and connecting with you all!
I came across this fantastic playlist that talks about
𝙃𝙞𝙜𝙝 𝙋𝙚𝙧𝙛𝙤𝙧𝙢𝙖𝙣𝙘𝙚 𝘾𝙤𝙢𝙥𝙪𝙩𝙚𝙧 𝘼𝙧𝙘𝙝𝙞𝙩𝙚𝙘𝙩𝙪𝙧𝙚
Videos are short to watch but rich in scope! Enjoyed the talks about CPU pipelines along with others.
After my last post, many folks reached out to understand in-depth technical details of browsers. I would suggest going through book. It is an incredible resource and gives a structured approach. Highly recommended!
Since the paper struck a chord with many, I also found the video by
@lemire
, talking about many aspects of this paper in his talk!
The ~45 minutes you'll cherish. Do watch!
I came across the paper: Parsing Gigabytes of JSON per Second
A fascinating read indeed; it helps understand the intricacies of using if-else branches & their impact on performance - especially while parsing JSON files. A usual suspect in browsers!
I've been talking to many engineering students & realized some of them would highly benefit from these projects by
@ben_eater
, especially building the 8-bit computer from scratch series.
I highly recommend it if you're keen on low-level system design!
Learn Rust from scratch with this comprehensive guide: .
From the basics of the language to more advanced topics like concurrency & bare-metal programming, you'll find everything you need to start with Rust.
PS: The table of contents is well structured!
When
@amodm
talks about Systems Engineering, you’ll want to dive right in!
Catch his insightful talk on systems, computational thinking, abstractions, & more.
Check out the "Computational Thinking" paper he referenced:
Does CPU branch prediction always result in faster execution?
Let's analyze how certain scenarios affect the branch prediction and a specific example using C++ virtual method calls in the 🧵
Many folks requested the slides of my talk - "The Browser Backstage: Tour-de-Internals."
Here is the link to the PDF
PS: The audio/video clips have been modified for PDF exporting.
🕗 Periodic revision of Event Loops for Web Developers!
When a talk simplifies JS event loops with many visualizations, you'll want to watch (and re-watch)!
#JavaScript
#WebDev
The "full-stack" 📚 developer!
With more than 23 years passed, seeing these books brings back memories of the "learning" days!
And the learning continues!
I'm considering hosting a regular, in-person office hour for 3-4 people at a Whitefield co-working space - to discuss tech, products, and ideas.
Would that be interesting? What topics would you like to discuss?
I'm still working on the logistics, but wanted to share the idea.
And here is a collection of all things CRDT - resources, papers, implementations, etc.!
Re-post to share with others... The exciting engineering behind all of these is worth spreading!
I will be talking about the browser's performance engineering at the upcoming and first-ever Bengaluru Systems Meetup.
I am looking forward to meeting and connecting with you all!
CPU pipeline has different stages for each instruction, and compilers can take advantage of this by using optimizations like "Instruction Scheduling."
In this, the compiler may schedule longer running instructions first to optimize the CPU throughput.
Let's explore in 🧵
During my talk, I presented a diagram (in the thread), and many folks asked which tool I used for that. It's Keynote and its fantastic drawing capabilities. Here is a fun little tribute to the legacy of the bird!
I shared about "Instruction Scheduling" by compilers a few weeks ago.
Fast forward a few days, and luckily, I came across
@bekket_mcclane
's post on how this is done in LLVM - fantastic insights!!
It's a must-read if you are keen on compiler technology.
CPU pipeline has different stages for each instruction, and compilers can take advantage of this by using optimizations like "Instruction Scheduling."
In this, the compiler may schedule longer running instructions first to optimize the CPU throughput.
Let's explore in 🧵
The groundbreaking achievements and talented team on this project have redefined what's possible, leaving all of us energized and eager to push boundaries further.
Dive into the roots of
#LLVM
, the framework that redefined compilers!
Chris Lattner's 2002 thesis laid the groundwork for multi-stage optimization - imagine optimizing your code at compile-time, link-time, and even run-time!
Read more in this thesis
Tech Talks by
@Peerlist
is happening in Bangalore this week!
Join us this Saturday, June 22nd, for some interesting tech conversations, project demo and lots of networking!
You can register for the event here ⤵️
P.S limited seats available
If you are in Bangalore on Saturday, 22nd July, I will discuss "The Browser Backstage: Juggling JavaScript"
@jslovers_del
meetup. It will focus on how the browser handles the JS? and the performance considerations? Along with a few techniques to optimize your JS.
I ❤️ the tech meetups for their casual atmosphere.
Anyone can just walk in, join the group discussions, and actively participate by sharing thoughts—all without discussing who's who.
The names, workplaces, and individual identities just blur into curious conversations.
Ending the week on a high note: While using one of the C++20's features, I found a potential security issue with the C++ compiler and filed a bug report, which was accepted as a security vulnerability - all within 6 hours!
Grateful to the compiler team for their prompt response!
Browser engines employ intricate design choices for seemingly simple tasks like text layouts!
Heard about dynamic programming, and greedy algorithms?
See how these choices impact millions of pages rendered across engines. 🧵
Excited to be at
@ReactNexus
on 7 th and 8th July in Bangalore. Happy to share browser internals, performance insights, DevTools and more. Also looking forward to the breakout sessions. Let's meet!
If you're intrigued by the post and want to dive deeper, explore the intricacies of low-level optimization on Intel architecture with this excellent resource:
CPU pipeline has different stages for each instruction, and compilers can take advantage of this by using optimizations like "Instruction Scheduling."
In this, the compiler may schedule longer running instructions first to optimize the CPU throughput.
Let's explore in 🧵
A revolution is taking place in the way we write programs and teach programming, because we are beginning to understand the associated mental processes more deeply: Knuth, 1974
A good read from the history: Structured Programming with goto Statements
If you use a standing desk, I highly recommend getting an anti-fatigue mat ✨
I could barely stand for 15 minutes without it before my legs gave out. Now, I can go as long as I want!
This article from a few years ago set the foundations of figma's multiplayer technology. It has detailed analysis of OT, CRDT, Figma's document structure, and lot more! Give it a read.
I am reading about Conflict-free Replicated Data Types (CRDT). And I came across these fantastic implementations by Evan Wallace!
It's interesting to see how real-world collaborative applications work with the help of these data structures and algorithms!
Links in 🧵
Wow! I just found the Byte - May 1985 issue with the central theme: multiprocessing! 🖥️
I bet these articles sparked significant curiosity back then! Print media has its charm, for sure!
Introducing the ultimate dark mode hack for amazon in
@arcinternet
from
@browsercompany
! With just 6 lines of code (in 🧵), say goodbye to harsh bright screens and hello to eye-friendly shopping! 🌙✨
Create a style boost specific to amazon using the code below & see the magic.
When passion knows no bounds
"I retired early because I realized that I would need at least 20 years of full-time work to complete The Art of Computer Programming (TAOCP), which I have always viewed as the most important project of my life."
- Donald Knuth
Experience
@ReactNexus
was really great. I met amazing folks with incredible work that they are doing on the web. Feedback about Arc & how they use various workflows with it was just wow! In case you missed it, here is the invite code
@ReactBangalore
Wanna log a JS function every time it's called? Instead of console.log, you can use monitor!!!
In one of the chromium-dev discussions,
@mathias
referred to the monitor/unmonitor APIs: convenient while debugging on the Web!
"The opportunity to start over, to take a browser, a search engine and web pages, and blur them together into a brand new category of software, a new type of browser that browses for you!"
Browsers have become a de-facto tool for experiencing high-res videos & live streams, thanks to browser engines that magically integrate various video technologies.
I came across this insightful post on
#VideoEncoding
and more providing glimpses. Worth a read and RT! ↙︎
When I first saw the new handwritten font on
@tldraw
beta, I felt a conversation had begun!
The typeface "Shantell Sans" is indeed intriguing and feels personal. Thank you for this beautiful gift
@shantell_martin
Read the fascinating journey here
a little Sunday surprise for you...
meet
@browsercompany
's 2nd product:
🔍Arc Search🔎
it's a default browser for your iPhone
...that BROWSES FOR YOU
the origin story is a bit unusual so I wanted to give you the full backstory:
Many developers reached out asking how to start contributing to
#chromium
. Here are a couple of the links which will get you started.
* Some links may be old/broken - but the high-level architecture remains the same.
I came across
@addyosmani
's post (thank you) on LinkedIn listing all the free tier resources for side projects on .
This came in just in time: I spoke to a few college students and early engineers this morning, and they had this exact question.
If you stumbled upon this question, "How browsers work," this is an excellent reference.
Provides a high-level overview of various subsystems within browsers and additional resources to go deeper.
If you have questions like
* How do LLMs work?
* What are CNNs, GANs?
* What are transformers?
* What is a knowledge graph?
then, this amazing playlist provides a high-level overview of all these questions & more, which will help in exploring further.
Found this presentation that I did at Nokia in 2008.
It showed how Symbian OS revolutionised mobile devices by bringing the power of the
#web
- through web runtime.
Witnessing the web's potential during those exciting times was truly magical!
And even today!
Discover how compilers optimize your code with
@CompileExplore
.
Used C++ and Rust examples to show before/after optimization flags.
It is fascinating to see how the low-level system performs against these flags.
4 years ago, we built an automotive 360° camera with a fisheye for object detection, aiding slow maneuvers like park assist. The final stitch showed great results (e.g. ground tiles) & texture blending.
Today, it showed up on my YouTube feed: a nostalgic & proud piece of work.
For many of us
student life = linux terminals + telnet + lynx browser
Lynx is a terminal browser, still active, and works great with
❌ javascript, images, CSS
✅ pure HTML text rendering
Tried it again today after years - nostalgia all around!!
Marking a year - filled with learning and growth; it's incredibly fulfilling!
I met many new folks and loved all the interactions; looking forward to many such discussions!
Moved to a co-working space after 3.5 years of WFH!!!
Let's catch up about Arc, browser internals, or just about anything if you're in BLR. My DMs are open. Happy to connect! 👋
‼️ 𝐀𝐫𝐜 𝐟𝐨𝐫 𝐖𝐈𝐍𝐃𝐎𝐖𝐒 𝐢𝐬 ~𝐚𝐥𝐢𝐯𝐞~ ‼️
(very WIP UI but this screenshot is a real live app)
more news soon... we'll send out the first invites before the end of the year, and really ramp early next!
Starting the Office hour: <hello/> in ~30 minutes.
As this is the 1st event, it will be an ice-breaking session to understand the participants' backgrounds, ideas, and expectations. I have capped it to 20 seats to start off.
I'm considering hosting a regular, in-person office hour for 3-4 people at a Whitefield co-working space - to discuss tech, products, and ideas.
Would that be interesting? What topics would you like to discuss?
I'm still working on the logistics, but wanted to share the idea.
Okay, let's try this..
Announcing the first-ever Browser Jam! 🫐🌐
(Like a weekend game jam but instead of games, we build web browsers!)
When: Sep 13-15, 2024, 4pm UTC thru 4pm UTC
Where: The Browser Jam repo & Discord server
Who: Anyone! 🤓
Info:
Randomly came across this video (thanks, YT algorithm) that talks about bézier curves.
For anyone interested in
#ComputerGraphics
courses, this is a great resource for the concept and understanding!!
Thank you
@FreyaHolmer
for this gem.
We are excited about the progress on Arc for Windows and incredibly grateful for the faith and anticipation of over 1M people! 🚀
Your support fuels our journey forward. Thank you!
🪟Arc for Windows Update🪟
🧪 ~100k beta testers onboarded
📈 ~1 million people on waitlist
📅 Opening to GA before Summer
🥇 1st major Windows app built in Swift
Shoutout to
@alexandracoding
and the team!
Did you notice Google Meet's improved background effects?
It utilizes WebGL (and soon, WebGPU) to do the exciting segmentation within the browser.
Read more 👇🏼
Seeing Rahul Dravid displaying emotions like never before - only for the 2nd time.
The first one being the cred traffic ad!!!
What a game of cricket 🏏
#INDvsSA
Pleasantly surprised to see what a simple line drawing can do in
@excalidraw
. Amazed to see how far they have come, and looking forward to what 2023 brings in it!