I have created a survey to get feedback from you. It is really short and anonymous. I would really appreciate if you take 2 minutes to help me make this site better.
Links of the week
I think inventing better notation is a cheap, universally useful way to increase our effective intelligence in many domains. Better notations let us work more easily with more complex abstractions, and enable us to solve new complex problems. When faced with a new seemingly intractable problem, it’s worth asking not only “What tools and discoveries might help us understand this?” but also “What notation can we use to describe this problem domain, that might help us understand this?” While better tools can help us work more efficiently or precisely with ideas we already have, better notation can enable us to imagine and discover new ideas entirely.
Your Brain on Inversion of Control and Dependency Injection
All lower-level layers are restricted from depending on higher-level layers. This causes a problem when an interface defined in a higher-level layer needs to be implemented in a lower-level layer such as the infrastructure. Yes, you can implement the interface in the same layer as the interface is defined, but then why use layers at all if concerns can’t be consistently separated? And anyway, do you really want technology in your domain model? Answer: No. No, you do not.
However, the satellites are just a part of what makes GPS possible. While I’ll discuss their motion in depth, over the course of this blog post I’ll also explain how the satellites help a GPS receiver determine where it is, and I’ll dive into the clever methods the system uses to make sure the signals sent all the way from space are reliably decoded on Earth.
The Engineering behind Figma's Vector Networks
Figma felt like they could improve some aspects of how the pen tool worked, so they had a go at redesigning it. Instead of it being used to work with traditional paths, they improved the pen tool by creating what they call Vector Networks.
In this post we will go through what Vector Networks are and what problems they try to solve. After we've defined what Vector Networks are, we will take a look at some of the engineering challenges you would face if you were to take a stab at implementing them.
To facilitate this collaborative process, Pixar has developed many technologies, some of which are open source. Two critical ones are Pixar’s Universal Scene Description, or USD for short, which allows us to describe all of our 3D work in a simple way across departments. The other is OpenSubdiv, which is a very efficient way to represent smooth surfaces, a critical part of representing cartoony looks. These technologies have not only revolutionized the way we work at Pixar, they power some of the biggest movies, series, and products in the world.
How is a binary executable organized? Let's explore it!
Executable file formats are regular file formats that you can understand. I’ll explain some simple tools to start! We’ll be working on Linux, with ELF binaries. (binaries are kind of the definition of platform-specific, so this is all platform-specific.) We’ll be using C, but you could just as easily look at output from any compiled language.
Book of the Week
Implementing Domain-Driven Design
Do you have any more links our community should read? Feel free to post them on the comments.
Have a nice week. 😉
Have you read last week's post? Check the archive.