article thumbnail

The Roots of Today's Modern Backend Engineering Practices

The Pragmatic Engineer

Backend code I wrote and pushed to prod took down Amazon.com for several hours. and hand-rolled C -code. To update code, we flipped a symlink ( a symbolic link is a file whose purpose is to point to a file or directory ) to swap between the code and HTML files contained in these directories.

article thumbnail

AVIF for Next-Generation Image Coding

Netflix Tech

The goal is to have the compressed image look as close to the original as possible while reducing the number of bytes required. Brief overview of image coding formats The JPEG format was introduced in 1992 and is widely popular. This is followed by quantization and entropy coding. Advanced Video Coding ( AVC ) format.

Coding 88
Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

article thumbnail

Life of a Netflix Partner Engineer?—?The case of extra 40 ms

Netflix Tech

Next I started reading the Ninja source code. I wanted to find the precise code that delivers the audio data. I recognized a lot, but I started to lose the plot in the playback code and I needed help. You can see three distinct behaviors in this chart: The two, tall spiky parts where the data rate reaches 500 bytes/ms.

Bytes 142
article thumbnail

Separating debug symbols from executables

Tweag

In short, debug symbols are extra “stuff” in your intermediate object files — and ultimately in your executables — that help your debugger map the machine code being executed back into higher-level source code concepts like variables and functions. corresponds to which part of the source code (variables, functions, etc.).

Bytes 125
article thumbnail

Top 20+ Cyber Security Projects for 2023 [With Source Code]

Knowledge Hut

Source code 2. Source code 3. Source code 4. Source Code Cyber Security Final Year Projects 1. Source code 2. Source code 3. The project will focus on creating a user-friendly interface as a web / Desktop application and incorporating robust algorithms to assess password strength accurately.

Coding 98
article thumbnail

Fault Tolerance in Distributed Systems: Tracing with Apache Kafka and Jaeger

Confluent

But even after configuring Jaeger, you may need to update the consumer application code as well to ensure that the correlated information is appropriately propagated whenever the application produces new Kafka messages. The source code for the example project that was configured in my earlier blog post is available on GitHub.

Kafka 54
article thumbnail

Post-quantum readiness for TLS at Meta

Engineering at Meta

Challenges Large packet size One of the main challenges is the size of the Kyber768 public key share, which is 1184 bytes. This is close to the typical TCP/IPv6 maximum segment size (MSS) of 1440 bytes, but is still fine for a full TLS handshake. However, the key size becomes an issue during TLS resumption.

Bytes 108