GeistHaus
log in · sign up

Encoding

developers.google.com

Explains how Protocol Buffers encodes data to files or to the wire.

41 pages link to this URL
Taras Gritsenko - Software Engineer

The personal website of Taras Gritsenko.

0 inbound links website en tarasgritsenkotaras gritsenkoresumeportfoliogithubsoftware engineertwitchc++full stackprogrammerresearchcomputer sciencecubengineer
Introduction to Inertia.JS

Modern SPA frameworks add drawbacks to workflows. Inertia.JS allows building modern SPAs, easily integrating with backend frameworks.

2 inbound links article en EngineeringTutorialsJavaScriptFrontend
How to use Google.Protobuf without code generation in C#

The Google.Protobuf NuGet package is the recommended protobuf serializer for .NET. The documented way of using it is to code gen both C# models and serializers from .proto files using the protoc tool. However, sometimes it’s more convenient to do serialization/deserialization on an ad-hoc basis without code generation. The Google.Protobuf NuGet package provides APIs to do this, but they are poorly documented. This post gives a code example for a simple “no-code-gen” serializer.

0 inbound links article en
The run-up to v1.0 for Postcard

Quoting from the README: Postcard is a #![no_std] focused serializer and deserializer for Serde. Postcard aims to be convenient for developers in constrained environments, while allowing for flexibility to customize behavior as needed. I first published postcard back in 2019, as a way to get "all the good stuff from Serde" in a format that would work for embedded systems. Since then, people all over Rust are using Postcard as a general purpose, compact, and flexible Serde format, not just embedded folks! Now, 3 years later or so, it's about time to take it to v1.0. Thanks to a bunch of accumulated experience over the years, and a generous sponsor, I'll be releasing the 1.0 version of Postcard in June of 2022. Read on for more details on what's planned!

OTLP Specification 1.10.0

Status: Stable for the trace, metric and log signals. Development for the profiles signal. The OpenTelemetry Protocol (OTLP) specification describes the encoding, transport, and delivery mechanism of telemetry data between telemetry sources, intermediate nodes such as collectors and telemetry backends. OTLP is a general-purpose telemetry data delivery protocol designed in the scope of the OpenTelemetry project. Protocol Details OTLP defines the encoding of telemetry data and the protocol used to exchange data between the client and the server.

17 inbound links website en CC BY 4.0
Turning Google smart speakers into wiretaps for $100k

I was recently rewarded a total of $107,500 by Google for responsibly disclosing security issues in the Google Home smart speaker that allowed an attacker within wireless proximity to install a "backdoor" account on the device, enabling them to send commands to it remotely over the Internet, access its microphone feed, and make arbitrary HTTP requests within the victim's LAN (which could potentially expose the Wi-Fi password or provide the attacker direct access to the victim's other devices). These issues have since been fixed.

0 inbound links article en
binary

Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.

binary

Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.

Faster Protocol Buffers

Fast Encoding Using Pre-serialization Protocol Buffers is a popular serialization mechanism with implementations available for most major languages that allows to easily model complex data structures and has good performance characteristics. However, for performance critical applications one always wishes for faster encoding and decoding, especially when the application performs minimal processing and serialization dominates the performance profile. This post shows how it is possible to increase encoding and decoding speed several times for certain special cases.

0 inbound links article en
Encodings

Parquet encoding definitions This file contains the specification of all supported encodings. Unless otherwise stated in page or encoding documentation, any encoding can be used with any page type. Supported Encodings For details on current implementation status, see the Implementation Status page. Encoding type Encoding enum Supported Types Plain PLAIN = 0 All Physical Types Dictionary Encoding PLAIN_DICTIONARY = 2 (Deprecated) RLE_DICTIONARY = 8 All Physical Types Run Length Encoding / Bit-Packing Hybrid RLE = 3 BOOLEAN, Dictionary Indices Delta Encoding DELTA_BINARY_PACKED = 5 INT32, INT64 Delta-length byte array DELTA_LENGTH_BYTE_ARRAY = 6 BYTE_ARRAY Delta Strings DELTA_BYTE_ARRAY = 7 BYTE_ARRAY, FIXED_LEN_BYTE_ARRAY Byte Stream Split BYTE_STREAM_SPLIT = 9 INT32, INT64, FLOAT, DOUBLE, FIXED_LEN_BYTE_ARRAY Deprecated Encodings Encoding type Encoding enum Bit-packed (Deprecated) BIT_PACKED = 4

8 inbound links article en docs
Performance Tuning for .NET Core - reublog

Some of you may know I've been spending whatever time I can scrounge together grinding away at a new serialization library for .NET. Serializers can be complicated beasts. They have to be reliable, flexible, and fast beyond reproach. I won't convince you that serialization libraries have to be quick — in this post, that's a given. These are some tips from my experience in optimizing Hagar's performance. Most of this advice is applicable to other types of libraries or applications.

1 inbound link article en distributed-systemsdotnetsoftwareprojectsserializationhagarperformance
Understanding Protobuf Compatibility

In a recent article, I presented rules for evolving JSON Schemas in a backward, forward, and fully compatible manner. The backward compatibility rules for Protocol Buffers (Protobuf) are much simpl…

1 inbound link article en
A Warm Welcome to ASN.1 and DER

This document provides a gentle introduction to the data structures and formats that define the certificates used in HTTPS. It should be accessible to anyone with a little bit of computer science experience and a bit of familiarity with certificates. An HTTPS certificate is a type of file, like any other file. Its contents follow a format defined by RFC 5280. The definitions are expressed in ASN.1, which is a language used to define file formats or (equivalently) data structures. For instance, in C you might write:

8 inbound links website en
Wire Support For Swift, Part 1

We’re excited to announce support for Swift in Wire. Wire already supports compiling your protocol buffer files into Java and Kotlin, and today Swift joins that family.

0 inbound links article en
Twinagle

Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.

3 inbound links website en
binary

Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.