Software Engineering
Hopefully, at this point, you see where I’m going with this. What I’ve concluded, based on experience, is that positioning your project as an alternative implementation of something is a losing proposition. It doesn’t matter how smart you are. It doesn’t matter how hard you work. The problem is, when you build an alternative implementation, you’ve... See more
The Alternative Implementation Problem
Here's a list of those log levels from lowest precedence to highest:
notset (0) - Indicates that ancestor loggers should be consulted for the log level or that all events are logged (default setting)
debug (10) - Detailed information that would be of interest to the developer for diagnostic purposes
info (20) - Information that confirms that your... See more
notset (0) - Indicates that ancestor loggers should be consulted for the log level or that all events are logged (default setting)
debug (10) - Detailed information that would be of interest to the developer for diagnostic purposes
info (20) - Information that confirms that your... See more
Shortwave — The smartest email app on planet Earth
We ship early
We constantly review the scope of a project and work toward a v0, not a v1.
That means identifying the most crucial part of a functionality , and pushing the smallest pull request possible to make that happen. In fact, a PR should always be optimized for the speed with which we can merge it in.
We constantly review the scope of a project and work toward a v0, not a v1.
That means identifying the most crucial part of a functionality , and pushing the smallest pull request possible to make that happen. In fact, a PR should always be optimized for the speed with which we can merge it in.
How we ship new features · Resend
Loose Coupling and High Cohesion: How To Avoid Tight Coupling and Low Cohesion?
Cohesion is a measure of the number of relationships that parts of a component have with each other.
High cohesion means that : All of the parts that are needed to deliver the component's functionality are included in the component.
Coupling is a measure of the number of... See more
Cohesion is a measure of the number of relationships that parts of a component have with each other.
High cohesion means that : All of the parts that are needed to deliver the component's functionality are included in the component.
Coupling is a measure of the number of... See more
Muaath Bin Ali • Microservices Design Principles
Build & Deployments
Our build process starts by pushing changes to a repository on GitHub. When code is pushed to a repository through a pull request, it triggers a job to build the changes made to the branch and deploy them in isolation. This worklow happens interactively within the pull request, where the author has visibility of all steps.
Some... See more
Our build process starts by pushing changes to a repository on GitHub. When code is pushed to a repository through a pull request, it triggers a job to build the changes made to the branch and deploy them in isolation. This worklow happens interactively within the pull request, where the author has visibility of all steps.
Some... See more
How we approach CI/CD · Resend
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
Coz: Finding Code that Counts with Causal Profiling
by Charlie Curtsinger and Emery Berger
Coz is a profiler for native code (C/C++/Rust) that unlocks optimization opportunities missed by traditional profilers. Coz employs a novel technique called causal profiling that measures optimization potential. It predicts what the impact of optimizing code... See more
by Charlie Curtsinger and Emery Berger
Coz is a profiler for native code (C/C++/Rust) that unlocks optimization opportunities missed by traditional profilers. Coz employs a novel technique called causal profiling that measures optimization potential. It predicts what the impact of optimizing code... See more
plasma-umass • GitHub - plasma-umass/coz: Coz: Causal Profiling
Before you start working, figure out:
After you’ve finished your work, check:
4. Did I miss anything?
- What does the business want?
- Which criteria should I fulfill to call my work “good”?
- What do I need to do to complete this particular task?
After you’ve finished your work, check:
4. Did I miss anything?
It’s time to upgrade from “hard-working” to “highly efficient”
Some important formatting rules available in this style guide:
But remember: The formatting rules should make the code more readable. Sometimes,... See more
- Use four spaces for code indentation
- Limit all lines to a maximum of 79 characters
- Avoid extraneous whitespace in certain situations (i.e., inside brackets, between trailing comma and close parenthesis, ...)
But remember: The formatting rules should make the code more readable. Sometimes,... See more