Querying Parquet with Millisecond Latency

When to use gRPC vs GraphQL

Bitmovin Ad Placements

Delimiter-first code

Issue #306



Hope you all had a lovely weekend. I had my first day of snowboarding and oof am I sore. Also spent some time working on an email to json API, which was pretty fun. The basic premise is that you can forward any emails you want to a custom email you get for the API (most email clients provide a pretty simple way to forward emails with specific subject lines/from addresses/bodies to another email of your choice) and you'll get a webhook notification of delivery + access to the emails in json format. It's something I want to use myself for this newsletter, but if there's enough interest, I might open it up as a service. Most of the work is done through AWS and I've been considering trying to make it completely "serverless" via lambdas, but have been having a bit too much fun hacking away in clojure locally. Also I'm not sure if clojure is a good fit for lambdas, because it doesn't seem very practical to start up the JVM every time the function runs, but maybe they have some practical system that I'm not aware of.
Anyway, here's the issue.


Today's Sponsor: Bitmovin

Bitmovin just published their 6th annual video developer report which shares global insights on what video technologies industry professionals routinely use, changes they anticipate in the next 12 months, and the biggest pain points currently experienced with video streaming. Insights are gathered from a number of developers and engineers from around the world.


Querying Parquet with Millisecond Latency

Published: 7 December 2022
Tags: data, data processing, database

In the article, the authors discuss how querying data stored in the Parquet format can be done quickly and efficiently.
Some highlights:

  • Apache Parquet is an increasingly popular open format for storing analytic datasets, and has become the de-facto standard for cost-effective, DBMS-agnostic data storage
  • data in a Parquet file is broken into horizontal slices called RowGroups, and each RowGroup contains a single ColumnChunk for each column in the schema
  • "Parquet achieves impressive compression ratios by using sophisticated encoding techniques such as run length compression, dictionary encoding, delta encoding, and others"


When to use gRPC vs GraphQL

Published: 28 November 2022
Tags: graphql, grpc

Loren Sands-Ramshaw compares the two protocols gRPC and GraphQL in terms of interface design, message format, and overfetching.
Some highlights:

  • gRPC was released in 2016 by Google as an efficient and developer-friendly method of server-to-server communication
  • GraphQL was released in 2015 by Meta as an efficient and developer-friendly method of client-server communication
  • While gRPC is better suited for server-to-server communication, GraphQL is better for client-server communication, with some exceptions


Bitmovin Video Developer Report

Published: 12 December 2022
Tags: sponsored, streaming, video

The report dives deeply into a number of topics surrounding the streaming industry, including the biggest challenges faced by developers, where the future opportunities are, and how engineers are optimizing video delivery.


Delimiter-first code

Published: 29 November 2022
Tags: language design, philosophy

A new top-level syntax for programming languages is proposed by Alex Rogozhnikov to show advantages of this method.
Some highlights:

  • Write all code with the delimiter first
  • New syntax is arguably as simple, but more consistent, better preserves visual structure and solves some issues in code formatting
  • Exploring new ideas like this is helpful for the evolution of programming language design


How did I do?

* Amazing
* Articles not relevant to me
* Articles were relevant, but badly written
* Summaries told me everything I wanted to know
* I like turtles

Want to help?

Thank you for reading! If you enjoy the newsletter, I would really appreciate you helping me spread the word by forwarding this to your friends and colleagues or sharing it on social media! Get cool stuff for your referrals using your link https://abyteofcoding.com.

Your referrals:

If you want to discuss or comment on this issue, head on over to this page at A Byte of Coding. You can also subscribe there if you're new!

Have comments or feedback? Just reply to this email or hit me up on Twitter @AByteOfCoding.

Email landed in your promotions tab? Please move it over to primary so you don't miss the latest issues in the future.
Thanks for your Support! 

Big thanks to all of the Patreon supports and company sponsors. If you want to support the newsletter you can checkout the Patreon page. It's not necessary, but it lets me know that I'm doing a good job and that you're finding value in the content.

Stats (updated daily)

Sent: 2990

Opens: 1436

Clicks: 454

Link Clicks Clicks % Unique Clicks Unique Clicks %
Querying Parquet with Millisecond Latency 71 21.71% 83 23.06
When to use gRPC vs GraphQL 93 28.44% 104 28.89
Bitmovin Ad Placements Awaiting Update Awaiting Update Awaiting Update Awaiting Update
Delimiter-first code 163 49.85% 173 48.06


Back to Issues