Issue #449

19 September 2023


Issue #449
pointer.io


Tuesday 19th September’s issue is presented by Influxdata

InfluxDB: A High-Performance Time Series Database For Your Real-Time Analytics Needs


Manage high volumes of time series data, reduce complexity in data pipeline architectures, and scale storage based on workload. Trusted by engineering managers for its superior data compression and low latency queries.

Currencies (On Motivating Different People)

— Ed Batista


tl;dr: Ed dicusses conventional approaches to motivation, referred to as "kicks in the ass" or KITA. These can be both negative (i.e. criticism) or positive (i.e. rewards). While rewards might induce “movement” or compliance, they don't necessarily equate to genuine motivation e.g. increasing compensation. Leadership experts introduce the concept of "currencies" as resources that can be exchanged to “gain influence.” Examples of these currencies include inspiration-related ones like "Vision" and "Values," task-related ones such as "Resources" and "Challenge," and personal ones like "Gratitude" and "Comfort." Ed emphasizes that while these currencies can be powerful tools, it's essential to discern if they lead to compliance or deeper commitment.

Leadership Management

My Approach To Coding Interviews: Optimize For Iteration


tl;dr: “I didn’t encounter this question in an interview personally. I’ll be pretending to go through a ~60 minute interview with an imaginary interviewer. And what you will read here is how I would tackle this question and how I predict the interview would go, informed by my experience in interviews. While reading all of this, it’s important to remember that the most important part of an interview is communication. Keep your interviewer in the loop! Not only tell them what you are currently doing, but also what you are working towards. Think out loud and describe what your ideas are and how you plan to implement them. Most interviewers want to help and will reinforce good ideas and try and prevent you from going down the wrong path. A coder that can’t articulate what they are doing is likely not going to do well in a team environment.”


InterviewAdvice

Best Practices For Collecting And Querying Data From Multiple Sources

— Zoe Steinkamp


tl;dr:  In a data-centric era, efficiently collecting and querying data from diverse sources is paramount. Zoe Steinkamp emphasizes the importance of best practices in data collection, such as optimizing ingestion pipelines and advanced querying. With varied data streams like IoT and cloud computing, single-database storage is outdated. Instead, strategies like effective data modeling and understanding data sources are vital. Tools like InfluxDB, a time series database, and Pandas, a Python library, facilitate data management and analysis. Leveraging multiple data sources optimizes cost, efficiency, and user experience.


Promoted by Influxdata

Data BestPractices

Asking Questions The Right Way

— Vadim Kravcenko


tl;dr: Vadim differentiates between technical questions that address code and processes, with project management questions that deal with team dynamics. Key advice includes: (1) Conducting thorough research before posing a question to ensure you're not asking something readily available. (2) Ensuring clarity and precision in question formulation to get meaningful answers. (3) Avoiding the XY problem, where a perceived solution might overshadow the actual issue at hand. (4) Utilizing the "rubber duck method" as a tool for clarity, where explaining a problem aloud to an inanimate object can help in understanding and structuring thoughts. (5) Recognizing the importance of the medium and tone when asking questions, choosing the right platform and approach based on the nature of the query. And more.

CareerAdvice

"Software is a great combination between artistry and engineering."


– Bill Gates

How Instagram Scaled To 14 million Users With Only 3 Engineers

— Leonardo Creed


tl;dr: Instagram scaled from 0 to 14 million users within a year (October 2010 to December 2011) with three engineers. The success was attributed to three guiding principles: simplicity, not reinventing the wheel and using proven technologies. The article provides a detailed walkthrough of the tech stack. Instagram relied on AWS, using EC2 and Ubuntu Linux, with the frontend developed in Objective-C. They utilized Amazon’s Elastic Load Balancer, Django for the backend, PostgreSQL for data storage, and Amazon S3 for photo storage, caching using Redis and Memcached.

 

Architecture Design Scale

Death By A Thousand Microservices


tl;dr: “It’s a simple question - what problem are you solving? Is it scale? How do you know how to break it all up for scale and performance? Do you have enough data to show what needs to be a separate service and why? Distributed systems are built for size and resilience. Can your system scale and be resilient at the same time? What happens if one of the services goes down or comes to a crawl? Just scale it up? What about the other services that are going to get hit with traffic? Did you war-game the endless permutations of things that can and will go wrong? Is there back pressure? Circuit breakers? Queues? Jitter? Sensible timeouts on every endpoint? Are there fool-proof guards to make sure a simple change does not bring everything down? The knobs you need to be aware of and tune are endless, and they are all specific to your system’s particular signature of usage and load.“


ThoughtPiece Architecture

Inside New Query Engine Of MongoDB

— Nikita Lapkov


tl;dr: A significant overhaul of the Query Execution Engine has been announced. The article provides an in-depth look into the technical aspects of this change. The previous engine, termed "Classic," was built around JSON documents, leading to inefficiencies in complex queries. The new Slot Based Engine (SBE) introduces "slots" as a means to pass data, optimizing the process. Nikita delves into the architecture, data flow, and challenges faced during the transition.

DeepDive Database

In A Git Repository, Where Do Your Files Live?

— Julia Evans


tl;dr: Julia explores the inner workings of git, specifically how it stores files in the .git/objects directory. Through Python programs, Julia investigates the location of specific files and their older versions discovering "content addressed storage," where the filename is the hash of the file's content. The article also demystifies the encoding process, showing that files are zlib compressed, and emphasizes that git stores complete files, not just the differences.


DeepDive Git

Notable Links


ChatDev: Communicative agents for software development.


Electric: Sync layer for web and mobile apps.


HyperDX: Open source observability platform.


Open Interpreter: Lets LLMs run code locally.


TTS: Toolkit for text-to-speech.


Click the below and shoot me an email!


1 = Didn't enjoy it all // 5 = Really enjoyed it


12345