Here's a simple fallback implementation in Go. Instead of failing the request when one provider is down or rate-limited, it just tries the next provider in the chain until one succeeds. It's a small pattern, but it makes a huge difference in production where outages and rate limits are normal. Graceful degradation is almost always better than showing your users an error.
@devwitheyob
#TechVibe #go #LLMIntegration
@devwitheyob
#TechVibe #go #LLMIntegration
β€4
Btw guys, today I sat at my desk at 2 PM, and it's almost 2 AM now. I literally worked for almost 12 hours straight.
I think this is the longest work session I've had this break. The good part is I finally finished the project.
The bad part... I'm not feeling my back π.
never had this kind of back pain before thoπ
@devwitheyob
#TechVibe #project #WorkSession
I think this is the longest work session I've had this break. The good part is I finally finished the project.
The bad part... I'm not feeling my back π.
never had this kind of back pain before thoπ
@devwitheyob
#TechVibe #project #WorkSession
π₯7
I realized something about myself over the past few months: when I truly believe something is necessary, I'll do whatever it takes to make it happen. I'll sacrifice my sleep, my comfort, my time, and even my money. Doing that has shown me how much I'm actually capable of in such a short amount of time, and it's boosted my confidence more than anything else.
Anyways, GN guys. βοΈ
@devwitheyob
#TechVibe #random
Anyways, GN guys. βοΈ
@devwitheyob
#TechVibe #random
β€6π3π₯3β‘1π€1
POV: Me after listening to American conspiracy theorists. π
Who built America into this great nation then? π Their arguments are wild, " the U.S. government secretly killed all the birds decades ago and replaced them with surveillance drones that spy on Americans".
@devwitheyob
#TechVibe #random
Who built America into this great nation then? π Their arguments are wild, " the U.S. government secretly killed all the birds decades ago and replaced them with surveillance drones that spy on Americans".
@devwitheyob
#TechVibe #random
π1π1
Let me share some of themπ
1. Lizard People Rule the World
2. The Earth is completely hollow inside, with hidden civilizations, giant creatures, and entrances at the North and South Poles.
3. Australia Doesn't Exist
4. The Titanic Never Sank
@devwitheyob
#TechVibe #random
1. Lizard People Rule the World
2. The Earth is completely hollow inside, with hidden civilizations, giant creatures, and entrances at the North and South Poles.
3. Australia Doesn't Exist
4. The Titanic Never Sank
@devwitheyob
#TechVibe #random
π3
Article of the day
A few years ago, I loved writing code that made me feel smart. Dense abstractions. Fancy design patterns. Generic types nested inside more generic types. APIs that looked elegant, at least until I came back six months later and couldnβt remember what I was thinking.
These days, my philosophy is much simpler...
Read full article π [ LINK ]
@devwitheyob
#TechVibe #ArticleOfTheDay #SWE
A few years ago, I loved writing code that made me feel smart. Dense abstractions. Fancy design patterns. Generic types nested inside more generic types. APIs that looked elegant, at least until I came back six months later and couldnβt remember what I was thinking.
These days, my philosophy is much simpler...
Read full article π [ LINK ]
@devwitheyob
#TechVibe #ArticleOfTheDay #SWE
Forwarded from SSC
βOur fellow student, Abel, urgently needs our help as he recovers from a severe injury. Let's come together as a school community to support him in his time of need.
Please contribute whatever you can using the bank account in the poster above and share this post across your groups and networks to help spread the word.
βEvery donation and share counts! π
Please contribute whatever you can using the bank account in the poster above and share this post across your groups and networks to help spread the word.
βEvery donation and share counts! π
β€3π1
Finished building and deploying an LMS for a client today. It's now live for testing, so hopefully they like it. One of my favorite parts was adding AI course and quiz generation. You can create an entire course from a prompt, generate quizzes from the content, save drafts, manage courses with a markdown editor, track learner progress through analytics, and issue certificates after completion. It was a fun project to build, it took me almost 6 days now
@devwitheyob
#TechVibe #project #LMS #upwork
@devwitheyob
#TechVibe #project #LMS #upwork
π₯6π2β€1
Article of the day
Rate limiting isn't just about picking an algorithm. There are three problems to solve, how you count requests, what identity you rate limit on(API key, userId), and distributed coordination. Get any one of these wrong and you'll either block legitimate users or leave the door open for attackers.
A common mistake is rate limiting by IP alone. It works until a large company sits behind a NAT where hundreds of employees share the same public IP. One busy user can cause everyone else to hit the limit even though they're behaving normally. For authenticated APIs, user IDs or API keys are usually much better keys than IP addresses.
For the algorithm itself, Token Bucket is a great choice when clients need to send short bursts of requests while staying within an average rate over time. Sliding Window Counter provides more consistent enforcement without storing every request, making it a good fit for high-traffic APIs.
In distributed systems, every server needs to enforce the same limits. That's why many production systems store rate limit state in Redis and use Lua scripts to make the check-and-update operation atomic. This prevents race conditions where multiple servers could allow more requests than intended.
Read the full article π [ LINK ]
@devwitheyob
#TechVibe #RateLimiting #SystemDesign #ArticleOfTheDay
Rate limiting isn't just about picking an algorithm. There are three problems to solve, how you count requests, what identity you rate limit on(API key, userId), and distributed coordination. Get any one of these wrong and you'll either block legitimate users or leave the door open for attackers.
A common mistake is rate limiting by IP alone. It works until a large company sits behind a NAT where hundreds of employees share the same public IP. One busy user can cause everyone else to hit the limit even though they're behaving normally. For authenticated APIs, user IDs or API keys are usually much better keys than IP addresses.
For the algorithm itself, Token Bucket is a great choice when clients need to send short bursts of requests while staying within an average rate over time. Sliding Window Counter provides more consistent enforcement without storing every request, making it a good fit for high-traffic APIs.
In distributed systems, every server needs to enforce the same limits. That's why many production systems store rate limit state in Redis and use Lua scripts to make the check-and-update operation atomic. This prevents race conditions where multiple servers could allow more requests than intended.
Read the full article π [ LINK ]
@devwitheyob
#TechVibe #RateLimiting #SystemDesign #ArticleOfTheDay
β€2
Take a look at this client-side code. When the API returns a rate limit response, the backend sends a
The reason is simple. If every client uses only exponential backoff, they'll often retry at nearly the same time, creating a thundering herd that can overwhelm the server again. Full jitter adds a random delay, spreading retries more evenly and smoothing out traffic spikes. Always use the
@devwitheyob
#TechVibe #RateLimiting #CodeSnippet #go
Retry-After header, and the client waits for that duration before trying again. One thing you might notice is the use of jitter. Why do we add randomization here?The reason is simple. If every client uses only exponential backoff, they'll often retry at nearly the same time, creating a thundering herd that can overwhelm the server again. Full jitter adds a random delay, spreading retries more evenly and smoothing out traffic spikes. Always use the
Retry-After header when it's provided; otherwise, calculate the delay yourself using exponential backoff with jitter.@devwitheyob
#TechVibe #RateLimiting #CodeSnippet #go
β€1π1
TechVibe
Photo
They liked it guys
Also was on interview and it was good they liked how I approach problems and deliver in short amou t of time
@devwitheyob
#TechVibe #project
Also was on interview and it was good they liked how I approach problems and deliver in short amou t of time
@devwitheyob
#TechVibe #project
π₯11β€1
"Thinking of talent as innate makes our world more manageable, more confortable. It relieves a person of the burner of expectation"
From Limitless book.
@devwitheyob
#TechVibe #books #random
From Limitless book.
@devwitheyob
#TechVibe #books #random
My linkedin engagement for the past 7 days
Let's connwct and help me grow my acc on linkedin guysπ, this is my 4th acc, they keep banning my accounts ππ
My LinkedIn: https://linkedin.com/in/eyob-simachew
@devwitheyob
#TechVibe #linkedin
Let's connwct and help me grow my acc on linkedin guysπ, this is my 4th acc, they keep banning my accounts ππ
My LinkedIn: https://linkedin.com/in/eyob-simachew
@devwitheyob
#TechVibe #linkedin
π5