Techletter #104 | December 21, 2024
This week I did go through several interesting articles, here is the brief info about it.
How does an EC2 instance get an IP address?
When an Amazon EC2 (Elastic Compute Cloud) instance is launched, it is assigned an IP address, but how?
Amazon uses DHCP(Dynamic Host Configuration Protocol) to assign the IP address to the instance within the subnet’s IP range.
When the instance boots up, it sends a DHCP request message seeking an IP address and other network configuration details.
The DHCP servers in Amazon’s infrastructure receive the request and assign an IP address based on the subnet’s address range, a default gateway, DNS server details, and other necessary configurations.
Migrating over one million lines of code from Python 2 to Python 3
- Unit tests and typing are invaluable. We were able to discover the majority of the compatibility issues early on through our unit tests and static Mypy type-checking, and they allowed us to create a clear and concurrently actionable list of issues to fix.
- String encoding in Python is hard. Python 3 is significantly more sane in this respect, and if your Python logic handles Unicode strings, this is in and of itself a good reason to switch from Python 2 to Python 3. However, the drastic changes made in Python 3 to fix string behavior means that most issues you’ll find during the migration will be related to the difference in how strings are handled between the versions.
Programming Advice
TL;DR; I finally have the feeling that I’m a decent programmer, so I thought it would be fun to write some advice with the idea of “What would have gotten me to this point faster?” I’m not claiming this is great advice for everyone, just that it would have been good advice for me.
Problem driven development
An easy playbook for technical roadmap development is Problem-driven Development. In short, it means you develop your technical roadmap based on fixing things that are going wrong. It sounds simple, but it can be very empowering.
Behind the platform: the journey to create the LinkedIn GenAI application tech stack
LinkedIn’s journey of building a GenAI application tech stack began in early 2023. It initially used a Java-based midtier but transitioned to a Python-based framework using LangChain for both offline development and online serving. Prompt management evolved from simple string interpolation to a standardized system using Jinja templates and a prompt source of truth.