Software Engineering
Whenever you write a log, it’s important you choose the correct log level.
I personally mostly use ERROR, WARNING, INFO, or DEBUG (yes there are a few more).
Log levels TLDR
I personally mostly use ERROR, WARNING, INFO, or DEBUG (yes there are a few more).
Log levels TLDR
- ERROR: Parts of the flow failed, we want to send alerts to our on-call for this failures.
- WARNING: Doesn’t necessarily point to a failure, but an unexpected behavior that should
Logging practices I follow
Developer environments you can take with you
Discourse | Documentation | Blog | Twitter
Flox is a virtual environment and package manager all in one. With Flox you create environments that layer and replace dependencies just where it matters, making them portable across the full software lifecycle
Install packages from the biggest open source... See more
Discourse | Documentation | Blog | Twitter
Flox is a virtual environment and package manager all in one. With Flox you create environments that layer and replace dependencies just where it matters, making them portable across the full software lifecycle
Install packages from the biggest open source... See more
flox • GitHub - flox/flox: Developer environments you can take with you
Pyinstrument is a Python profiler. A profiler is a tool to help you optimize your code - make it faster. To get the biggest speed increase you should focus on the slowest part of your program. Pyinstrument helps you find it!
Installation
pip install pyinstrument
Pyinstrument... See more
☕️ Not sure where to start? Check out this video tutorial from calmcode.io!
Installation
pip install pyinstrument
Pyinstrument... See more
joerick • GitHub - joerick/pyinstrument: 🚴Call stack profiler for Python. Shows you why your code is slow!
Pydantic Logfire — Uncomplicated Observability
From the team behind Pydantic, Logfire is an observability platform built on the same belief as our open source library — that the most powerful tools can be easy to use.
What sets Logfire apart:
From the team behind Pydantic, Logfire is an observability platform built on the same belief as our open source library — that the most powerful tools can be easy to use.
What sets Logfire apart:
- Simple and Powerful: Logfire's dashboard is simple relative to the power it provides, ensuring your entire
GitHub - pydantic/logfire: Uncomplicated Observability for Python and beyond! 🪵🔥
For high-priority tasks , like designing the main user interface content or creating content for a major product launch, you might spend 10–20 hours a week. These tasks need detailed planning and close collaboration with your team.
Medium-priority tasks , such as updating help center articles or creating content for minor feature updates, might take... See more
Medium-priority tasks , such as updating help center articles or creating content for minor feature updates, might take... See more
It’s time to upgrade from “hard-working” to “highly efficient”
When a test fails, you should be able to begin investigation with nothing more than the test’s name and its failure messages —no need to add more information and rerun the test.
Effective use of unit test frameworks and assertion libraries (JUnit, Truth, pytest, GoogleTest, etc.) serves two important purposes. Firstly, the more precisely we express... See more
Effective use of unit test frameworks and assertion libraries (JUnit, Truth, pytest, GoogleTest, etc.) serves two important purposes. Firstly, the more precisely we express... See more
Test Failures Should Be Actionable
The complete Protobuf platform
Accelerate gRPC adoption with the Buf Schema Registry — built by the world's Protobuf experts.
Accelerate gRPC adoption with the Buf Schema Registry — built by the world's Protobuf experts.
Buf
Problem : Tight coupling leads to fragility - a change in one microservice breaks connected services.
Low cohesion results in unclear responsibilities.
Low cohesion results in unclear responsibilities.
- Solution : Apply loose coupling and high cohesion. In a loosely coupled system, each component is independent and changes in one will not affect the others. High cohesion means that each component
Muaath Bin Ali • Microservices Design Principles
What is Hatchet?
Hatchet replaces difficult to manage legacy queues or pub/sub systems so you can design durable workloads that recover from failure and solve for problems like concurrency , fairness , and rate limiting . Instead of managing your own task queue or pub/sub system, you can use Hatchet to distribute your functions between a set of... See more
Hatchet replaces difficult to manage legacy queues or pub/sub systems so you can design durable workloads that recover from failure and solve for problems like concurrency , fairness , and rate limiting . Instead of managing your own task queue or pub/sub system, you can use Hatchet to distribute your functions between a set of... See more