Issue #8
New Popover API, a new programming language for AI, an interesting system design mock interview.
I’m calling this issue “Bright” because I like where things like Web Dev (first entry) and AI (second entry) are headed. A lot of great tools are being created and I can’t wait to work with them. Let’s check out this week’s entries!
Web Dev: new Popover API
Una published a new article on the Chrome Developers blog showcasing the new Popover API that’s coming in Chromium 114. It’s a set of HTML attributes that allow you to define the appearance and behavior of the popovers in your app. The popovers will also be automatically promoted to the #top-layer
so we don’t need to mess around with the z-index
. Their focus will be automatically handled: the next tab stop will be inside of the popover, and clicking outside will close it and return focus, also hitting the esc
button will close it and return focus. I like this API. I like how convenient it will be to define popovers and have all the accessibility handled for us. Here’s a code snippet to give you an idea:
<button popovertarget="my-popover"> Open Popover </button>
<div id="my-popover" popover>
<p>I am a popover with more information.<p>
</div>
We annotate the popover element with the popover
attribute, and we set the popovertarget
attribute to the trigger. No JavaScript, no third-party libraries! There are also more options like anchor positioning, overriding defaults etc… Check out Una’s article to get the whole picture.
Mojo: new AI language
Recently I found out about Modular, a company that had a lot of contributions in AI, and one of its founders being Chris Lattner, the guy behind LLVM and the Swift programming language. Modular have released a new programming language called Mojo that’s designed for AI applications. Here’s the problem: AI researchers and data scientists use Python because it’s intuitive and it has a rich ecosystem, but production engineers want to deploy their models in more performant and scalable languages like C++. It takes them months to bring their new research to production because they have to rewrite their models from Python to C++ and CUDA. Modular designed Mojo to have all the good parts of Python and adds its systems programming features that it’s missing. I won’t get into detail in this newsletter, so I’m going to let you check out its features from the official language website and sign up for access to the Mojo Playground.
System Design mock interview
I found this interesting YouTube video where Tom (host) performs a mock interview to Mark (ex Google EM) and asks him to design Telegram. They start off with clarifying the requirements, and went on to design the API, system components, database etc… It was cool to see how a Google Engineering Manager goes through the process of designing a huge platform like Telegram. Here’s the YouTube video: